# HG changeset patch # User Stefan Monnier # Date 1080314379 0 # Node ID 9e27d826339c34c7f9e0a37590ac9255b2f4c832 # Parent 664f8942b3c872e8354d00bee164ec5e4aba6ff0 (dabbrev-expand): Fix regexp construction. (dabbrev--find-expansion): Use pop. (dabbrev--search): Use match-string-no-properties. diff -r 664f8942b3c8 -r 9e27d826339c lisp/dabbrev.el --- a/lisp/dabbrev.el Fri Mar 26 15:17:50 2004 +0000 +++ b/lisp/dabbrev.el Fri Mar 26 15:19:39 2004 +0000 @@ -1,6 +1,6 @@ ;;; dabbrev.el --- dynamic abbreviation package -;; Copyright (C) 1985, 86, 92, 94, 96, 1997, 2000, 01, 2003 +;; Copyright (C) 1985, 86, 92, 94, 96, 1997, 2000, 01, 03, 2004 ;; Free Software Foundation, Inc. ;; Author: Don Morrison @@ -529,7 +529,7 @@ ;; Take the following word, with intermediate separators, ;; as our expansion this time. (re-search-forward - (concat "\\(\\(" dabbrev--abbrev-char-regexp "\\)+\\)")) + (concat "\\(?:" dabbrev--abbrev-char-regexp "\\)+")) (setq expansion (buffer-substring-no-properties dabbrev--last-expansion-location (point))) @@ -793,10 +793,7 @@ ;; Walk through the buffers till we find a match. (let (expansion) (while (and (not expansion) dabbrev--friend-buffer-list) - (setq dabbrev--last-buffer - (car dabbrev--friend-buffer-list)) - (setq dabbrev--friend-buffer-list - (cdr dabbrev--friend-buffer-list)) + (setq dabbrev--last-buffer (pop dabbrev--friend-buffer-list)) (set-buffer dabbrev--last-buffer) (dabbrev--scanning-message) (setq dabbrev--last-expansion-location (point-min)) @@ -1000,8 +997,7 @@ nil ;; We have a truly valid match. Find the end. (re-search-forward pattern2) - (setq found-string (buffer-substring-no-properties - (match-beginning 0) (match-end 0))) + (setq found-string (match-string-no-properties 0)) (setq result found-string) (and ignore-case (setq found-string (downcase found-string))) ;; Ignore this match if it's already in the table. @@ -1010,9 +1006,7 @@ (string= found-string table-string)) (setq found-string nil))) ;; Prepare to continue searching. - (if reverse - (goto-char (match-beginning 0)) - (goto-char (match-end 0)))) + (goto-char (if reverse (match-beginning 0) (match-end 0)))) ;; If we found something, use it. (when found-string ;; Put it into `dabbrev--last-table'