Mercurial > emacs
changeset 28186:a552a942b327
(inverse-add-abbrev): Identify word by first moving
forward then moving backward. Reindent.
author | Gerd Moellmann <gerd@gnu.org> |
---|---|
date | Fri, 17 Mar 2000 22:32:39 +0000 |
parents | 586eaf504de7 |
children | 507041681c73 |
files | lisp/abbrev.el |
diffstat | 1 files changed, 16 insertions(+), 15 deletions(-) [+] |
line wrap: on
line diff
--- a/lisp/abbrev.el Fri Mar 17 21:29:09 2000 +0000 +++ b/lisp/abbrev.el Fri Mar 17 22:32:39 2000 +0000 @@ -263,22 +263,23 @@ (inverse-add-abbrev global-abbrev-table "Global" arg)) (defun inverse-add-abbrev (table type arg) - (let (name nameloc exp) + (let (name exp start end) (save-excursion - (forward-word (- arg)) - (setq name (buffer-substring-no-properties - (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) nil nil nil t)) - (if (or (not (abbrev-expansion name table)) - (y-or-n-p (format "%s expands to \"%s\"; redefine? " - name (abbrev-expansion name table)))) - (progn - (define-abbrev table (downcase name) exp) - (save-excursion - (goto-char nameloc) - (expand-abbrev)))))) + (forward-word (1+ (- arg))) + (setq end (point)) + (backward-word 1) + (setq start (point) + name (buffer-substring-no-properties start end))) + + (setq exp (read-string (format "%s expansion for \"%s\": " type name) + nil nil nil t)) + (when (or (not (abbrev-expansion name table)) + (y-or-n-p (format "%s expands to \"%s\"; redefine? " + name (abbrev-expansion name table)))) + (define-abbrev table (downcase name) exp) + (save-excursion + (goto-char end) + (expand-abbrev))))) (defun abbrev-prefix-mark (&optional arg) "Mark current point as the beginning of an abbrev.