From 466840685febd3b615821df7ca789aef4fb6478f Mon Sep 17 00:00:00 2001 From: Gerd Moellmann Date: Fri, 17 Mar 2000 22:32:39 +0000 Subject: [PATCH] (inverse-add-abbrev): Identify word by first moving forward then moving backward. Reindent. --- lisp/abbrev.el | 31 ++++++++++++++++--------------- 1 file changed, 16 insertions(+), 15 deletions(-) diff --git a/lisp/abbrev.el b/lisp/abbrev.el index 83d4a86a2d7..5111fc59013 100644 --- a/lisp/abbrev.el +++ b/lisp/abbrev.el @@ -263,22 +263,23 @@ Expands the abbreviation after defining it." (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. -- 2.39.5