]> git.eshelyaron.com Git - emacs.git/commitdiff
Unbreak dabbrev
authorDaniel Colascione <dancol@dancol.org>
Tue, 19 Jun 2018 03:41:25 +0000 (20:41 -0700)
committerDaniel Colascione <dancol@dancol.org>
Tue, 19 Jun 2018 14:34:07 +0000 (07:34 -0700)
This commit partially reverts
edb1f85a27817a3fac38bb85752671414819203b, which results in dabbev
expansion failing due to trying to switch to the null buffer.

* lisp/dabbrev.el (dabbrev--progress-reporter): Restore variable.
(dabbrev--find-expansion): Restore original code.

lisp/dabbrev.el

index 4af22e61409f66177ae1160e2d0d23e3a69531ff..57ee9a526a9ec1ad719675b7b77969a353f17115 100644 (file)
@@ -327,6 +327,9 @@ this list."
 ;; The regexp for recognizing a character in an abbreviation.
 (defvar dabbrev--abbrev-char-regexp nil)
 
+;; The progress reporter for buffer-scanning progress.
+(defvar dabbrev--progress-reporter nil)
+
 ;;----------------------------------------------------------------
 ;; Macros
 ;;----------------------------------------------------------------
@@ -736,19 +739,21 @@ of the start of the occurrence."
         ;; Put that list in dabbrev--friend-buffer-list.
         (unless dabbrev--friend-buffer-list
            (setq dabbrev--friend-buffer-list
-                 (dabbrev--make-friend-buffer-list))))
+                 (dabbrev--make-friend-buffer-list))
+           (setq dabbrev--progress-reporter
+                 (make-progress-reporter
+                  "Scanning for dabbrevs..."
+                  (- (length dabbrev--friend-buffer-list)) 0 0 1 1.5))))
        ;; Walk through the buffers till we find a match.
        (let (expansion)
-        (dolist-with-progress-reporter
-            (_ dabbrev--friend-buffer-list)
-            (make-progress-reporter
-             "Scanning for dabbrevs..."
-             0 (length dabbrev--friend-buffer-list) 0 1 1.5)
+        (while (and (not expansion) dabbrev--friend-buffer-list)
           (setq dabbrev--last-buffer (pop dabbrev--friend-buffer-list))
           (set-buffer dabbrev--last-buffer)
+           (progress-reporter-update dabbrev--progress-reporter
+                                     (- (length dabbrev--friend-buffer-list)))
           (setq dabbrev--last-expansion-location (point-min))
-          (setq expansion (dabbrev--try-find abbrev nil 1 ignore-case))
-          (unless expansion (setq dabbrev--friend-buffer-list '())))
+          (setq expansion (dabbrev--try-find abbrev nil 1 ignore-case)))
+        (progress-reporter-done dabbrev--progress-reporter)
         expansion)))))
 
 ;; Compute the list of buffers to scan.