]> code.delx.au - gnu-emacs/blobdiff - lisp/abbrev.el
(display-time-string-forms): Test display-time-day-and-date
[gnu-emacs] / lisp / abbrev.el
index 9bd311290fb872b90869271d6fc78be238d7c554..ff6ae3ac672495173cbf117c43c2b671b4cb68ed 100644 (file)
@@ -1,12 +1,14 @@
-;; Abbrev mode commands for Emacs
+;;; abbrev.el --- abbrev mode commands for Emacs
 
-;; Copyright (C) 1985-1991 Free Software Foundation, Inc.
+;; Copyright (C) 1985, 1986, 1987, 1992 Free Software Foundation, Inc.
+
+;; Keywords: abbrev
 
 ;; This file is part of GNU Emacs.
 
 ;; GNU Emacs is free software; you can redistribute it and/or modify
 ;; it under the terms of the GNU General Public License as published by
-;; the Free Software Foundation; either version 1, or (at your option)
+;; the Free Software Foundation; either version 2, or (at your option)
 ;; any later version.
 
 ;; GNU Emacs is distributed in the hope that it will be useful,
 ;; GNU General Public License for more details.
 
 ;; You should have received a copy of the GNU General Public License
-;; along with GNU Emacs; see the file COPYING.  If not, write to
-;; the Free Software Foundation, 675 Mass Ave, Cambridge, MA 02139, USA.
+;; along with GNU Emacs; see the file COPYING.  If not, write to the
+;; Free Software Foundation, Inc., 59 Temple Place - Suite 330,
+;; Boston, MA 02111-1307, USA.
+
+;;; Commentary:
 
+;; This facility is documented in the Emacs Manual.
 
-;;;###autoload
-(defconst only-global-abbrevs nil "\
+;;; Code:
+
+(defvar only-global-abbrevs nil "\
 *t means user plans to use global abbrevs only.
 Makes the commands to define mode-specific abbrevs define global ones instead.")
 
 (defun abbrev-mode (arg)
   "Toggle abbrev mode.
-With arg, turn abbrev mode on iff arg is positive.
+With argument ARG, turn abbrev mode on iff ARG is positive.
 In abbrev mode, inserting an abbreviation causes it to expand
 and be replaced by its expansion."
   (interactive "P")
   (setq abbrev-mode
        (if (null arg) (not abbrev-mode)
          (> (prefix-numeric-value arg) 0)))
-  (set-buffer-modified-p (buffer-modified-p))) ;No-op, but updates mode line.
+  (force-mode-line-update))
 \f
 (defvar edit-abbrevs-map nil
   "Keymap used in edit-abbrevs.")
@@ -123,7 +130,7 @@ the ones defined from the buffer now."
    (while (and (not (eobp)) (re-search-forward "^(" nil t))
      (let* ((buf (current-buffer))
            (table (read buf))
-           abbrevs)
+           abbrevs name hook exp count)
        (forward-line 1)
        (while (progn (forward-line 1)
                     (not (eolp)))
@@ -153,7 +160,7 @@ Does not print anything."
   (read-abbrev-file file t))
 
 (defun write-abbrev-file (file)
-  "Write all abbrev definitions to file of Lisp code.
+  "Write all abbrev definitions to file of Lisp code.
 The file written can be loaded in another session to define the same abbrevs.
 The argument FILE is the file name to write."
   (interactive
@@ -161,7 +168,6 @@ The argument FILE is the file name to write."
     (read-file-name "Write abbrev file: "
                    (file-name-directory (expand-file-name abbrev-file-name))
                    abbrev-file-name)))
-  (interactive "FWrite abbrev file: ")
   (or (and file (> (length file) 0))
       (setq file abbrev-file-name))
   (save-excursion
@@ -212,6 +218,7 @@ Don't use this function in a Lisp program; use `define-abbrev' instead."
          (read-string (format (if exp "%s abbrev for \"%s\": "
                                 "Undefine %s abbrev: ")
                               type exp)))
+    (set-text-properties 0 (length name) nil name)
     (if (or (null exp)
            (not (abbrev-expansion name table))
            (y-or-n-p (format "%s expands to \"%s\"; redefine? "
@@ -245,6 +252,7 @@ Expands the abbreviation after defining it."
      (forward-word (- arg))
      (setq name (buffer-substring (point) (progn (forward-word 1)
                                               (setq nameloc (point))))))
+    (set-text-properties 0 (length name) nil name)
     (setq exp (read-string (format "%s expansion for \"%s\": "
                                   type name)))
     (if (or (not (abbrev-expansion name table))
@@ -287,3 +295,5 @@ If called from a Lisp program, arguments are START END &optional NOQUERY."
                    pnt)))
            (if (or noquery (y-or-n-p (format "Expand `%s'? " string)))
                (expand-abbrev)))))))
+
+;;; abbrev.el ends here