(Fexpand_file_name): In the no-handler case, after
[bpt/emacs.git] / lisp / tempo.el
index 0b86784..f5a592f 100644 (file)
@@ -2,7 +2,7 @@
 
 ;; Copyright (C) 1994, 1995 Free Software Foundation, Inc.
 
-;; Author: David K}gedal <davidk@lysator.liu.se >
+;; Author: David K}gedal <davidk@lysator.liu.se>
 ;; Created: 16 Feb 1994
 ;; K}gedal's last version number: 1.2.4
 ;; Keywords: extensions, languages, tools
@@ -52,7 +52,7 @@
 ;; a non-nil argument).
 
 ;; More flexible templates can be created by including lisp symbols,
-;; which will be evaluated as variables, or lists, which will will be
+;; which will be evaluated as variables, or lists, which will be
 ;; evaluated as lisp expressions.
 
 ;; See the documentation for tempo-define-template for the different
 
 ;;; Code:
 
-;; (provide 'tempo)
-
 ;;; User options
 
 (defgroup tempo nil
@@ -125,22 +123,22 @@ user for text to insert in the templates"
 
 (defcustom tempo-insert-region nil
   "*Automatically insert current region when there is a `r' in the template
-If this variable is NIL, `r' elements will be treated just like `p'
+If this variable is nil, `r' elements will be treated just like `p'
 elements, unless the template function is given a prefix (or a non-nil
-argument). If this variable is non-NIL, the behaviour is reversed.
+argument).  If this variable is non-nil, the behaviour is reversed.
 
 In Transient Mark mode, this option is unused."
   :type 'boolean
   :group 'tempo)
 
 (defcustom tempo-show-completion-buffer t
-  "*If non-NIL, show a buffer with possible completions, when only
+  "*If non-nil, show a buffer with possible completions, when only
 a partial completion can be found"
   :type 'boolean
   :group 'tempo)
 
 (defcustom tempo-leave-completion-buffer nil
-  "*If NIL, a completion buffer generated by \\[tempo-complete-tag]
+  "*If nil, a completion buffer generated by \\[tempo-complete-tag]
 disappears at the next keypress; otherwise, it remains forever."
   :type 'boolean
   :group 'tempo)
@@ -197,16 +195,16 @@ should be replaced with a template.")
   "Element handlers for user-defined elements.
 A list of symbols which are bound to functions that take one argument.
 This function should return something to be sent to `tempo-insert' if
-it recognizes the argument, and NIL otherwise")
+it recognizes the argument, and nil otherwise.")
 
 (defvar tempo-named-insertions nil
-  "Temporary storage for named insertions")
+  "Temporary storage for named insertions.")
 
 (defvar tempo-region-start (make-marker)
-  "Region start when inserting around the region")
+  "Region start when inserting around the region.")
 
 (defvar tempo-region-stop (make-marker)
-  "Region stop when inserting around the region")
+  "Region stop when inserting around the region.")
 
 ;; Make some variables local to every buffer
 
@@ -218,23 +216,6 @@ it recognizes the argument, and NIL otherwise")
 
 ;;; Functions
 
-;;; First some useful functions and macros
-
-(defun tempo-mapc (fun lst)
-  (if (null lst) nil
-    (funcall fun (car lst))
-    (tempo-mapc fun (cdr lst))))
-
-(defmacro tempo-dolist (il &rest forms)
-  (let ((i (car il))
-       (l (car (cdr il))))
-    (list 'tempo-mapc
-         (list 'function (append (list 'lambda
-                                       (list i))
-                                 forms))
-         l)))
-(put 'tempo-dolist 'lisp-indent-function 1)
-
 ;;
 ;; tempo-define-template
 
@@ -259,7 +240,7 @@ The elements in ELEMENTS can be of several types:
  - The symbol 'r. If `tempo-insert' is called with ON-REGION non-nil
    the current region is placed here. Otherwise it works like 'p.
  - (p PROMPT <NAME> <NOINSERT>) If `tempo-interactive' is non-nil, the
-   user is prompted in the minbuffer with PROMPT for a string to be
+   user is prompted in the minibuffer with PROMPT for a string to be
    inserted. If the optional parameter NAME is non-nil, the text is
    saved for later insertion with the `s' tag. If there already is
    something saved under NAME that value is used instead and no
@@ -298,7 +279,7 @@ The elements in ELEMENTS can be of several types:
         (command-name template-name))
     (set template-name elements)
     (fset command-name (list 'lambda (list '&optional 'arg)
-                            (or documentation 
+                            (or documentation
                                 (concat "Insert a " name "."))
                             (list 'interactive "*P")
                             (list 'tempo-insert-template (list 'quote
@@ -421,7 +402,7 @@ possible."
   "Compatibility hack for tempo-insert-prompt.
 PROMPT can be either a prompt string, or a list of arguments to
 tempo-insert-prompt, or nil."
-  (if (consp prompt)                   ; not NIL either
+  (if (consp prompt)                   ; not nil either
       (apply 'tempo-insert-prompt prompt)
     (tempo-insert-prompt prompt)))
 
@@ -539,7 +520,7 @@ and insert the results."
         (setq string
               (funcall tempo-insert-string-functions string)))
        ((listp tempo-insert-string-functions)
-        (tempo-dolist (fn tempo-insert-string-functions)
+        (dolist (fn tempo-insert-string-functions)
           (setq string (funcall fn string))))
        (t
         (error "Bogus value in tempo-insert-string-functions: %s"
@@ -559,7 +540,7 @@ and insert the results."
               (setq lp (cdr lp)))
             (if (not (= mark (car lp)))
                 (setcdr lp (cons mark (cdr lp))))))))
-         
+
 ;;;
 ;;; tempo-forward-mark
 
@@ -596,7 +577,7 @@ and insert the results."
                       last))))
     (if prev-mark
        (goto-char prev-mark))))
-       
+
 ;;;
 ;;; tempo-add-tag
 
@@ -647,7 +628,7 @@ Whenever it is needed again it will be rebuilt."
 
 (defun tempo-build-collection ()
   "Build a collection of all the tags and return it.
-If `tempo-dirty-collection' is NIL, the old collection is reused."
+If `tempo-dirty-collection' is nil, the old collection is reused."
   (prog1
       (or (and (not tempo-dirty-collection)
               tempo-collection)
@@ -698,10 +679,10 @@ If a single match is found, the corresponding template is expanded in
 place of the matching string.
 
 If a partial completion or no match at all is found, and SILENT is
-non-NIL, the function will give a signal.
+non-nil, the function will give a signal.
 
 If a partial completion is found and `tempo-show-completion-buffer' is
-non-NIL, a buffer containing possible completions is displayed."
+non-nil, a buffer containing possible completions is displayed."
 
   ;; This function may look like a hack, but this is how I want it to
   ;; work.
@@ -754,7 +735,7 @@ Returns non-nil if an expansion was made and nil otherwise.
 This could as an example be used in a command that is bound to the
 space bar, and looks something like this:
 
-(defun tempo-space ()
+\(defun tempo-space ()
   (interactive \"*\")
   (or (tempo-expand-if-complete)
       (insert \" \")))"