X-Git-Url: http://git.hcoop.net/bpt/emacs.git/blobdiff_plain/678fb7066698ebfe3aecba722294025ed26da01b..f1e06f7bffc1407f7e597f714b2969fc6d1d8eed:/lisp/forms.el diff --git a/lisp/forms.el b/lisp/forms.el index 8527038080..b1eb3883c2 100644 --- a/lisp/forms.el +++ b/lisp/forms.el @@ -1,6 +1,7 @@ ;;; forms.el --- Forms mode: edit a file as a form to fill in -;; Copyright (C) 1991, 1994-1997, 2001-2012 Free Software Foundation, Inc. +;; Copyright (C) 1991, 1994-1997, 2001-2014 Free Software Foundation, +;; Inc. ;; Author: Johan Vromans @@ -21,7 +22,7 @@ ;;; Commentary: -;; Visit a file using a form. See forms-d2.el for examples. +;; Visit a file using a form. See etc/forms for examples. ;; ;; === Naming conventions ;; @@ -438,6 +439,8 @@ Also, initial position is at last record." (defvar forms--rw-face nil "Face used to represent read-write data on the screen.") +(defvar read-file-filter) ; bound in forms--intuit-from-file + ;;;###autoload (defun forms-mode (&optional primary) "Major mode to visit files in a field-structured manner using a form. @@ -581,7 +584,7 @@ Commands: Equivalent keys in read-only mode: (error (concat "Forms control file error: " "`forms-modified-record-filter' is not a function"))) - ;; The filters acces the contents of the forms using `forms-fields'. + ;; The filters access the contents of the forms using `forms-fields'. (make-local-variable 'forms-fields) ;; Dynamic text support. @@ -669,7 +672,7 @@ Commands: Equivalent keys in read-only mode: ;;(message "forms: proceeding setup...") - ;; Since we aren't really implementing a minor mode, we hack the modeline + ;; Since we aren't really implementing a minor mode, we hack the mode line ;; directly to get the text " View " into forms-read-only form buffers. For ;; that reason, this variable must be buffer only. (make-local-variable 'minor-mode-alist) @@ -912,7 +915,7 @@ Commands: Equivalent keys in read-only mode: `(lambda (arg) (let ((inhibit-read-only t)) ,@(apply 'append - (mapcar 'forms--make-format-elt-using-text-properties + (mapcar #'forms--make-format-elt-using-text-properties forms-format-list)) ;; Prevent insertion before the first text. ,@(if (numberp (car forms-format-list)) @@ -925,7 +928,7 @@ Commands: Equivalent keys in read-only mode: (setq forms--iif-start nil)) `(lambda (arg) ,@(apply 'append - (mapcar 'forms--make-format-elt forms-format-list))))) + (mapcar #'forms--make-format-elt forms-format-list))))) ;; We have tallied the number of markers and dynamic texts, ;; so we can allocate the arrays now. @@ -1097,7 +1100,7 @@ Commands: Equivalent keys in read-only mode: (goto-char (point-min)) ,@(apply 'append (mapcar - 'forms--make-parser-elt + #'forms--make-parser-elt (append forms-format-list (list nil))))))))) (forms--debug 'forms--parser)) @@ -1197,8 +1200,6 @@ Commands: Equivalent keys in read-only mode: (setq forms--field nil))) )) -(defvar read-file-filter) ; bound in forms--intuit-from-file - (defun forms--intuit-from-file () "Get number of fields and a default form using the data file." @@ -1568,10 +1569,10 @@ As a side effect: sets `forms--the-record-list'." ;; Build new record. (setq forms--the-record-list (forms--parse-form)) (setq the-record - (mapconcat 'identity forms--the-record-list forms-field-sep)) + (mapconcat #'identity forms--the-record-list forms-field-sep)) - (if (string-match (regexp-quote forms-field-sep) - (mapconcat 'identity forms--the-record-list "")) + (if (string-match-p (regexp-quote forms-field-sep) + (mapconcat #'identity forms--the-record-list "")) (error "Field separator occurs in record - update refused")) ;; Handle multi-line fields, if allowed. @@ -1579,7 +1580,7 @@ As a side effect: sets `forms--the-record-list'." (forms--trans the-record "\n" forms-multi-line)) ;; A final sanity check before updating. - (if (string-match "\n" the-record) + (if (string-match-p "\n" the-record) (error "Multi-line fields in this record - update refused")) (with-current-buffer forms--file-buffer @@ -1778,11 +1779,7 @@ after the current record." (setq the-list (cdr (append the-fields nil)))) (setq the-list (make-list forms-number-of-fields ""))) - (setq the-record - (mapconcat - 'identity - the-list - forms-field-sep)) + (setq the-record (mapconcat #'identity the-list forms-field-sep)) (with-current-buffer forms--file-buffer (forms--goto-record ln) @@ -2030,8 +2027,10 @@ Usage: (setq forms-number-of-fields ;;; Debugging -(defvar forms--debug nil - "*Enables forms-mode debugging if not nil.") +(defcustom forms--debug nil + "If non-nil, enable Forms mode debugging." + :type 'boolean + :group 'forms) (defun forms--debug (&rest args) "Internal debugging routine."