;ELC ;;; compiled by jwz@thalidomide on Sun Jan 2 21:09:08 1994 ;;; from file /th/jwz/emacs19/lisp/utils/forms.el ;;; emacs version 19.9 Lucid (beta10). ;;; bytecomp version 2.22; 22-dec-93. ;;; optimization is on. ;;; this file uses opcodes which do not exist in Emacs 18. (if (and (boundp 'emacs-version) (or (and (boundp 'epoch::version) epoch::version) (string-lessp emacs-version "19"))) (error "This file was compiled for Emacs 19.")) (byte-code "!!" [provide forms forms-mode] 2) (defconst forms-version (substring "!Revision: 2.3 !" 11 -2) "\ The version number of forms-mode (as string). The complete RCS id is: !Id: forms.el,v 2.3 1993/10/21 00:43:51 rms Exp !") (defvar forms-mode-hooks nil "\ Hook functions to be run upon entering Forms mode.") (defvar forms-file nil "\ Name of the file holding the data.") (defvar forms-format-list nil "\ List of formatting specifications.") (defvar forms-number-of-fields nil "\ Number of fields per record.") (defvar forms-field-sep " " "\ Field separator character (default TAB).") (defvar forms-read-only nil "\ Non-nil means: visit the file in view (read-only) mode. (Defaults to the write access on the data file).") (defvar forms-multi-line "" "\ If not nil: use this character to separate multi-line fields (default C-k).") (defvar forms-forms-scroll nil "\ *Non-nil means replace scroll-up/down commands in Forms mode. The replacement commands performs forms-next/prev-record.") (defvar forms-forms-jump nil "\ *Non-nil means redefine beginning/end-of-buffer in Forms mode. The replacement commands performs forms-first/last-record.") (defvar forms-new-record-filter nil "\ The name of a function that is called when a new record is created.") (defvar forms-modified-record-filter nil "\ The name of a function that is called when a record has been modified.") (defvar forms-fields nil "\ List with fields of the current forms. First field has number 1. This variable is for use by the filter routines only. The contents may NOT be modified.") (defvar forms-use-extents (fboundp 'set-extent-property) "\ *Non-nil means: use Lucid Emacs extents. Defaults to t if this emacs is capable of handling text properties.") (defvar forms-use-text-properties (byte-code "!\n?" [fboundp set-text-properties forms-use-extents] 2) "\ *Non-nil means: use emacs-19 text properties. Defaults to t if this emacs is capable of handling text properties.") (defvar forms-ro-face (byte-code "\n\"Çć" [string-match "Lucid" emacs-version forms-label-face default] 3) "\ The face (a symbol) that is used to display read-only text on the screen.") (defvar forms-rw-face (byte-code "\n\"Çć" [string-match "Lucid" emacs-version forms-field-face region] 3) "\ The face (a symbol) that is used to display read-write text on the screen.") (byte-code "!\"" [boundp forms--lemacs-p string-match "Lucid" emacs-version] 3) (defvar forms--file-buffer nil "\ Buffer which holds the file data") (defvar forms--total-records 0 "\ Total number of records in the data file.") (defvar forms--current-record 0 "\ Number of the record currently on the screen.") (defvar forms-mode-map nil "\ Keymap for form buffer.") (defvar forms-mode-ro-map nil "\ Keymap for form buffer in view mode.") (defvar forms-mode-edit-map nil "\ Keymap for form buffer in edit mode.") (defvar forms--markers nil "\ Field markers in the screen.") (defvar forms--dyntexts nil "\ Dynamic texts (resulting from function calls) on the screen.") (defvar forms--the-record-list nil "\ List of strings of the current record, as parsed from the file.") (defvar forms--search-regexp nil "\ Last regexp used by forms-search.") (defvar forms--format nil "\ Formatting routine.") (defvar forms--parser nil "\ Forms parser routine.") (defvar forms--mode-setup nil "\ To keep track of forms-mode being set-up.") (make-variable-buffer-local 'forms--mode-setup) (defvar forms--dynamic-text nil "\ Array that holds dynamic texts to insert between fields.") (defvar forms--elements nil "\ Array with the order in which the fields are displayed.") (defvar forms--ro-face nil "\ Face used to represent read-only data on the screen.") (defvar forms--rw-face nil "\ Face used to represent read-write data on the screen.") (byte-code "!!!\"" [forms--lemacs-p make-face forms-field-face forms-label-face face-differs-from-default-p copy-face bold] 3) (fset 'forms-mode #[(&optional primary) " !!!!!!!!!! !!! P! P! VP!;P! ; G= P!P! !!!! ! !P! !P!!!*!, !!!././!!!!!5 !080qp!,8ed\")18)=?Á@ !ȁA DC@B C D !2W2E 2!F G !H " [primary forms--mode-setup kill-all-local-variables make-local-variable forms-file forms-number-of-fields forms-format-list forms-field-sep forms-read-only forms-multi-line forms-forms-scroll forms-forms-jump forms-new-record-filter forms-modified-record-filter nil fboundp make-face forms-ro-face forms-rw-face eval-current-buffer error "Forms control file error: " "'forms-file' has not been set" "'forms-number-of-fields' has not been set" 0 "'forms-number-of-fields' must be a number > 0" "'forms-field-sep' is not a string" 1 "'forms-multi-line' is equal to 'forms-field-sep'" "'forms-multi-line' must be nil or a one-character string" forms--process-format-list forms--format forms--markers forms--dyntexts forms--elements forms--make-format forms--parser forms--make-parser "'forms-new-record-filter' is not a function" "'forms-modified-record-filter' is not a function" forms-fields forms--dynamic-text buffer-file-name auto-save-mode buffer-read-only erase-buffer forms--ro-face forms--rw-face forms--file-buffer forms--total-records forms--current-record forms--the-record-list forms--search-regexp forms-mode-map forms--mode-commands find-file-noselect ro bury-buffer count-lines t forms-mode major-mode "Forms" mode-name minor-mode-alist " View" forms--set-keymaps forms--change-commands set-buffer-modified-p forms-jump-record run-hooks forms-mode-hooks forms--help] 3 "\ Major mode to visit files in a field-structured manner using a form. Commands: Equivalent keys in read-only mode: TAB forms-next-field TAB C-c TAB forms-next-field C-c < forms-first-record < C-c > forms-last-record > C-c ? describe-mode ? C-c C-k forms-delete-record C-c C-q forms-toggle-read-only q C-c C-o forms-insert-record C-c C-l forms-jump-record l C-c C-n forms-next-record n C-c C-p forms-prev-record p C-c C-s forms-search s C-c C-x forms-exit x" nil]) (fset 'forms--process-format-list #[nil "P!