• Home
  • History
  • Annotate
  • Raw
  • Download
  • only in /macosx-10.9.5/emacs-92/emacs/lisp/

Lines Matching defs:record

46 ;; When shown, a record is transferred to an Emacs buffer and
47 ;; presented using a user-defined form. One record is shown at a
74 ;; The number of fields in each record.
110 ;; a record is found that does not have the number
131 ;; perform, respectively, `forms-first-record' and
132 ;; `forms-last-record' instead.
136 ;; current record, also initial position is at the
137 ;; last record. The default is to insert before the
138 ;; current record and the initial position is at the
139 ;; first record.
154 ;; forms-new-record-filter [symbol, default nil]
157 ;; record is created. It can be used to fill in
158 ;; the new record with default fields, for example.
160 ;; forms-modified-record-filter [symbol, default nil]
162 ;; function that is called when a record has
200 ;; Normal operation is to transfer one line (record) from the data file,
201 ;; split it into fields (into `forms--the-record-list'), and display it
206 ;; When a form is changed the record is updated as soon as this form
210 ;; retain their original values. The newly formed record then
211 ;; replaces the contents of the old record in `forms--file-buffer'.
223 ;; paging (forward, backward) by record
231 ;; As a documented side-effect: jumping to the last record in the
232 ;; file (using forms-last-record) will adjust forms--total-records if
243 ;; \C-c < forms-first-record
244 ;; \C-c > forms-last-record
246 ;; \C-c \C-k forms-delete-record
248 ;; \C-c \C-o forms-insert-record
249 ;; \C-c \C-l forms-jump-record
250 ;; \C-c \C-n forms-next-record
251 ;; \C-c \C-p forms-prev-record
258 ;; SPC forms-next-record
259 ;; DEL forms-prev-record
262 ;; l forms-jump-record
263 ;; n forms-next-record
264 ;; p forms-prev-record
274 ;; [next] forms-next-record
275 ;; [prior] forms-prev-record
276 ;; [begin] forms-first-record
277 ;; [end] forms-last-record
287 ;; forms mode functions next/prev record and first/last
288 ;; record.
321 "Number of fields per record.")
343 The replacement commands performs forms-next/prev-record."
349 The replacement commands performs forms-first/last-record."
362 (defvar forms-new-record-filter nil
363 "The name of a function that is called when a new record is created.")
365 (defvar forms-modified-record-filter nil
366 "The name of a function that is called when a record has been modified.")
380 "*Non-nil means: inserts of new records go after current record.
381 Also, initial position is at last record."
404 (defvar forms--current-record 0
405 "Number of the record currently on the screen.")
420 (defvar forms--the-record-list nil
421 "List of strings of the current record, as parsed from the file.")
456 C-c < forms-first-record <
457 C-c > forms-last-record >
459 C-c C-k forms-delete-record
461 C-c C-o forms-insert-record
462 C-c C-l forms-jump-record l
463 C-c C-n forms-next-record n
464 C-c C-p forms-prev-record p
505 (make-local-variable 'forms-new-record-filter)
506 (make-local-variable 'forms-modified-record-filter)
511 (setq forms-new-record-filter nil)
512 (setq forms-modified-record-filter nil)
581 ;; Check if record filters are defined.
582 (if (and forms-new-record-filter
583 (not (fboundp forms-new-record-filter)))
585 "`forms-new-record-filter' is not a function")))
587 (if (and forms-modified-record-filter
588 (not (fboundp forms-modified-record-filter)))
590 "`forms-modified-record-filter' is not a function")))
626 (make-local-variable 'forms--current-record)
627 (make-local-variable 'forms--the-record-list)
701 (format "Creating new file `%s'\nwith %d field%s per record\n\n"
704 "Use " (substitute-command-keys "\\[forms-insert-record]")
706 (setq forms--current-record 1)
710 ;; setup the first (or current) record to show
711 (if (< forms--current-record 1)
712 (setq forms--current-record 1))
713 (forms-jump-record forms--current-record)
716 (forms-last-record)
717 (forms-first-record))
1223 ;; Visit the file and extract the first record.
1226 (the-record))
1227 (setq the-record
1232 (forms--get-record)))
1238 ;; Count the number of fields in `the-record'.
1244 (string-match forms-field-sep the-record start-pos))
1271 (define-key forms-mode-map "\C-k" 'forms-delete-record)
1273 (define-key forms-mode-map "\C-o" 'forms-insert-record)
1274 (define-key forms-mode-map "\C-l" 'forms-jump-record)
1275 (define-key forms-mode-map "\C-n" 'forms-next-record)
1276 (define-key forms-mode-map "\C-p" 'forms-prev-record)
1280 (define-key forms-mode-map "<" 'forms-first-record)
1281 (define-key forms-mode-map ">" 'forms-last-record)
1282 (define-key forms-mode-map "\C-?" 'forms-prev-record)
1289 (define-key forms-mode-ro-map "l" 'forms-jump-record)
1290 (define-key forms-mode-ro-map "n" 'forms-next-record)
1291 (define-key forms-mode-ro-map "p" 'forms-prev-record)
1295 (define-key forms-mode-ro-map "<" 'forms-first-record)
1296 (define-key forms-mode-ro-map ">" 'forms-last-record)
1298 (define-key forms-mode-ro-map " " 'forms-next-record)
1326 (define-key map [menu-bar forms menu-forms-jump-record]
1327 '("Jump" . forms-jump-record))
1332 (define-key map [menu-bar forms menu-forms-delete-record]
1333 '("Delete" . forms-delete-record))
1334 (define-key map [menu-bar forms menu-forms-insert-record]
1335 '("Insert" . forms-insert-record))
1338 (define-key map [menu-bar forms menu-forms-last-record]
1339 '("Last Record" . forms-last-record))
1340 (define-key map [menu-bar forms menu-forms-first-record]
1341 '("First Record" . forms-first-record))
1342 (define-key map [menu-bar forms menu-forms-prev-record]
1343 '("Previous Record" . forms-prev-record))
1344 (define-key map [menu-bar forms menu-forms-next-record]
1345 '("Next Record" . forms-next-record))
1352 (put 'forms-insert-record 'menu-enable '(not forms-read-only))
1353 (put 'forms-delete-record 'menu-enable '(not forms-read-only))
1372 (define-key map [menu-bar forms menu-forms-edit-jump-record]
1373 '("Jump" . forms-jump-record))
1378 (define-key map [menu-bar forms menu-forms-edit-delete-record]
1379 '("Delete" . forms-delete-record))
1380 (define-key map [menu-bar forms menu-forms-edit-insert-record]
1381 '("Insert" . forms-insert-record))
1384 (define-key map [menu-bar forms menu-forms-edit-last-record]
1385 '("Last Record" . forms-last-record))
1386 (define-key map [menu-bar forms menu-forms-edit-first-record]
1387 '("First Record" . forms-first-record))
1388 (define-key map [menu-bar forms menu-forms-edit-prev-record]
1389 '("Previous Record" . forms-prev-record))
1390 (define-key map [menu-bar forms menu-forms-edit-next-record]
1391 '("Next Record" . forms-next-record))
1398 (put 'forms-insert-record 'menu-enable '(not forms-read-only))
1399 (put 'forms-delete-record 'menu-enable '(not forms-read-only))
1406 (define-key map [next] 'forms-next-record)
1407 (define-key map [prior] 'forms-prev-record)
1408 (define-key map [begin] 'forms-first-record)
1409 (define-key map [last] 'forms-last-record)
1419 ;; scroll-down -> forms-prev-record
1420 ;; scroll-up -> forms-next-record
1423 (local-set-key [remap scroll-up] 'forms-next-record)
1424 (local-set-key [remap scroll-down] 'forms-prev-record)))
1426 ;; beginning-of-buffer -> forms-first-record
1427 ;; end-of-buffer -> forms-end-record
1430 (local-set-key [remap beginning-of-buffer] 'forms-first-record)
1431 (local-set-key [remap end-of-buffer] 'forms-last-record)))
1445 "\\[forms-next-record]:next"
1446 " \\[forms-prev-record]:prev"
1447 " \\[forms-first-record]:first"
1448 " \\[forms-last-record]:last"
1478 (defun forms--get-record ()
1479 "Fetch the current record from the file buffer."
1491 (defun forms--show-record (the-record)
1494 ;; Split the-record.
1500 (forms--trans the-record forms-multi-line "\n"))
1502 (setq the-record (concat the-record forms-field-sep))
1503 (while (setq found-pos (string-match forms-field-sep the-record start-pos))
1504 (let ((ent (substring the-record start-pos found-pos)))
1508 (setq forms--the-record-list the-result))
1516 ;; Verify the number of fields, extend forms--the-record-list if needed.
1517 (if (= (length forms--the-record-list) forms-number-of-fields)
1521 (message "Warning: this record has %d fields instead of %d"
1522 (length forms--the-record-list) forms-number-of-fields))
1523 (if (< (length forms--the-record-list) forms-number-of-fields)
1524 (setq forms--the-record-list
1525 (append forms--the-record-list
1528 (length forms--the-record-list))
1532 (setq forms-fields (append (list nil) forms--the-record-list nil))
1533 (funcall forms--format forms--the-record-list)
1540 (concat " " (int-to-string forms--current-record)
1547 ;; A vector with the strings from the original record is
1555 (setq forms--recordv (vconcat forms--the-record-list))
1561 (if forms-modified-record-filter
1565 (setq the-fields (funcall forms-modified-record-filter the-fields))
1572 "Update current record with contents of form.
1573 As a side effect: sets `forms--the-record-list'."
1578 (let (the-record)
1579 ;; Build new record.
1580 (setq forms--the-record-list (forms--parse-form))
1581 (setq the-record
1582 (mapconcat 'identity forms--the-record-list forms-field-sep))
1585 (mapconcat 'identity forms--the-record-list ""))
1586 (error "Field separator occurs in record - update refused"))
1590 (forms--trans the-record "\n" forms-multi-line))
1593 (if (string-match "\n" the-record)
1594 (error "Multi-line fields in this record - update refused"))
1600 (insert the-record)
1645 (defun forms-next-record (arg)
1646 "Advance to the ARGth following record."
1648 (forms-jump-record (+ forms--current-record (prefix-numeric-value arg)) t))
1650 (defun forms-prev-record (arg)
1651 "Advance to the ARGth previous record."
1653 (forms-jump-record (- forms--current-record (prefix-numeric-value arg)) t))
1655 (defun forms--goto-record (rn &optional current)
1656 "Goto record number RN.
1657 If CURRENT is provided, it specifies the current record and can be used
1665 (defun forms-jump-record (arg &optional relative)
1666 "Jump to a random record."
1669 ;; Verify that the record number is within range.
1683 (let ((cur forms--current-record))
1685 ;; `forms--show-record' needs it now.
1686 (setq forms--current-record arg)
1688 ;; Get the record and show it.
1689 (forms--show-record
1694 (setq cur (- arg (forms--goto-record arg (if relative cur))))
1696 (forms--get-record)))
1699 (if (/= forms--current-record cur)
1701 (setq forms--current-record cur)
1702 (error "Stuck at record %d" cur)))))
1704 (defun forms-first-record ()
1705 "Jump to first record."
1707 (forms-jump-record 1))
1709 (defun forms-last-record ()
1710 "Jump to last record.
1721 (forms-jump-record forms--total-records))
1759 ;; (defun my-new-record-filter (the-fields)
1764 ;; (setq forms-new-record-filter 'my-new-record-filter)
1766 (defun forms-insert-record (arg)
1767 "Create a new record before the current one.
1768 With ARG: store the record after the current one.
1769 If `forms-new-record-filter' contains the name of a function,
1772 after the current record."
1779 (let (ln the-list the-record)
1783 (setq ln forms--current-record)
1784 (setq ln (1+ forms--current-record)))
1787 (if forms-new-record-filter
1791 (setq the-fields (funcall forms-new-record-filter the-fields))
1795 (setq the-record
1802 (forms--goto-record ln)
1804 (insert the-record)
1807 (setq forms--current-record ln))
1810 (forms-jump-record forms--current-record))
1812 (defun forms-delete-record (arg)
1813 "Deletes a record. With a prefix argument: don't ask."
1821 (y-or-n-p "Really delete this record? "))
1822 (let ((ln forms--current-record))
1824 (forms--goto-record ln)
1830 (if (> forms--current-record forms--total-records)
1831 (setq forms--current-record forms--total-records))
1832 (forms-jump-record forms--current-record)))
1836 "Search forward for record containing REGEXP."
1848 (let (the-line the-record here)
1858 (setq the-record (forms--get-record))
1864 (setq forms--current-record the-line)
1865 (forms--show-record the-record))
1870 "Search backward for record containing REGEXP."
1882 (let (the-line the-record here)
1892 (setq the-record (forms--get-record))
1898 (setq forms--current-record the-line)
1899 (forms--show-record the-record))
1912 (cur forms--current-record))
1932 ;; Make sure we end up with the same record number as we started.
1935 (forms-jump-record cur))
1945 (forms-jump-record forms--current-record))))
2002 "Send the records to the printer with `print-buffer', one record per page."
2005 (save-record forms--current-record)
2007 (nb-record 1)
2008 (record nil))
2009 (while (<= nb-record forms--total-records)
2010 (forms-jump-record nb-record)
2011 (setq record (buffer-string))
2014 (insert record)
2016 (if (< nb-record total-nb-records)
2019 (setq nb-record (1+ nb-record)))
2024 (forms-jump-record save-record)))