Move lisp/emacs-lisp/authors.el to admin/
[bpt/emacs.git] / lisp / forms.el
index 9ae8241..b1eb388 100644 (file)
@@ -1,6 +1,7 @@
 ;;; forms.el --- Forms mode: edit a file as a form to fill in
 
-;; Copyright (C) 1991, 1994-1997, 2001-2011 Free Software Foundation, Inc.
+;; Copyright (C) 1991, 1994-1997, 2001-2014 Free Software Foundation,
+;; Inc.
 
 ;; Author: Johan Vromans <jvromans@squirrel.nl>
 
@@ -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.")
 \f
+(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)
@@ -709,7 +712,7 @@ Commands:                        Equivalent keys in read-only mode:
       (forms-first-record))
     )
 
-  ;; user customising
+  ;; user customizing
   ;;(message "forms: proceeding setup (user hooks)...")
   (run-mode-hooks 'forms-mode-hook 'forms-mode-hooks)
   ;;(message "forms: setting up... done.")
@@ -845,7 +848,7 @@ Commands:                        Equivalent keys in read-only mode:
 (defvar forms--iif-properties nil
   "Original properties of the character being overridden.")
 
-(defun forms--iif-hook (begin end)
+(defun forms--iif-hook (_begin _end)
   "`insert-in-front-hooks' function for read-only segments."
 
   ;; Note start location.  By making it a marker that points one
@@ -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))
@@ -1293,7 +1296,7 @@ Commands:                        Equivalent keys in read-only mode:
   )
 
 (defun forms--mode-menu-ro (map)
-;;; Menu initialisation
+;;; Menu initialization
 ;  (define-key map [menu-bar] (make-sparse-keymap))
   (define-key map [menu-bar forms]
     (cons "Forms" (make-sparse-keymap "Forms")))
@@ -1339,7 +1342,7 @@ Commands:                        Equivalent keys in read-only mode:
   (put 'forms-delete-record 'menu-enable '(not forms-read-only))
 )
 (defun forms--mode-menu-edit (map)
-;;; Menu initialisation
+;;; Menu initialization
 ;  (define-key map [menu-bar] (make-sparse-keymap))
   (define-key map [menu-bar forms]
     (cons "Forms" (make-sparse-keymap "Forms")))
@@ -1566,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.
@@ -1577,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
@@ -1776,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)
@@ -1919,7 +1918,7 @@ after writing out the data."
     (forms-jump-record cur))
   t)
 
-(defun forms--revert-buffer (&optional arg noconfirm)
+(defun forms--revert-buffer (&optional _arg noconfirm)
   "Reverts current form to un-modified."
   (interactive "P")
   (if (or noconfirm
@@ -2028,8 +2027,10 @@ Usage: (setq forms-number-of-fields
 \f
 ;;; 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."