emacs-diffs
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

master 4239c27f386: * lisp/register.el (register-read-with-preview-fancy


From: Stefan Monnier
Subject: master 4239c27f386: * lisp/register.el (register-read-with-preview-fancy): Fit in 80 columns
Date: Wed, 20 Dec 2023 22:41:47 -0500 (EST)

branch: master
commit 4239c27f3867b558ae2e26950d5153d496b02d8f
Author: Stefan Monnier <monnier@iro.umontreal.ca>
Commit: Stefan Monnier <monnier@iro.umontreal.ca>

    * lisp/register.el (register-read-with-preview-fancy): Fit in 80 columns
---
 lisp/register.el | 130 +++++++++++++++++++++++++++----------------------------
 1 file changed, 64 insertions(+), 66 deletions(-)

diff --git a/lisp/register.el b/lisp/register.el
index fe7e9282244..ac4f48d23ce 100644
--- a/lisp/register.el
+++ b/lisp/register.el
@@ -496,13 +496,13 @@ display such a window regardless."
     (when (and (memq act '(insert jump view)) (null strs))
       (error "No register suitable for `%s'" act))
     (dolist (k (cons help-char help-event-list))
-      (define-key map
-          (vector k) (lambda ()
-                       (interactive)
-                       ;; Do nothing when buffer1 is in use.
-                       (unless (get-buffer-window buf)
-                         (with-selected-window (minibuffer-selected-window)
-                           (register-preview-1 buffer 'show-empty types))))))
+      (define-key map (vector k)
+                  (lambda ()
+                    (interactive)
+                    ;; Do nothing when buffer1 is in use.
+                    (unless (get-buffer-window buf)
+                      (with-selected-window (minibuffer-selected-window)
+                        (register-preview-1 buffer 'show-empty types))))))
     (define-key map (kbd "<down>") 'register-preview-next)
     (define-key map (kbd "<up>")   'register-preview-previous)
     (define-key map (kbd "C-n")    'register-preview-next)
@@ -510,67 +510,65 @@ display such a window regardless."
     (unless (or executing-kbd-macro (eq register-use-preview 'never))
       (register-preview-1 buf nil types))
     (unwind-protect
-         (progn
-           (minibuffer-with-setup-hook
+        (let ((setup
                (lambda ()
-                 (add-hook 'post-command-hook
-                           (lambda ()
+                 (with-selected-window (minibuffer-window)
+                   (let ((input (minibuffer-contents)))
+                     (when (> (length input) 1)
+                       (let ((new (substring input 1))
+                             (old (substring input 0 1)))
+                         (setq input (if (or (null smatch)
+                                             (member new strs))
+                                         new old))
+                         (delete-minibuffer-contents)
+                         (insert input)))
+                     (when (and smatch (not (string= input ""))
+                                (not (member input strs)))
+                       (setq input "")
+                       (delete-minibuffer-contents)
+                       (minibuffer-message "Not matching"))
+                     (when (not (string= input pat))
+                       (setq pat input))))
+                 (if (setq win (get-buffer-window buffer))
+                     (with-selected-window win
+                       (let ((ov (make-overlay
+                                  (point-min) (point-min)))
+                             ;; Allow upper-case and lower-case letters
+                             ;; to refer to different registers.
+                             (case-fold-search nil))
+                         (goto-char (point-min))
+                         (remove-overlays)
+                         (unless (string= pat "")
+                           (if (re-search-forward (concat "^" pat) nil t)
+                               (progn (move-overlay
+                                       ov
+                                       (match-beginning 0) (pos-eol))
+                                      (overlay-put ov 'face 'match)
+                                      (when msg
+                                        (with-selected-window
+                                            (minibuffer-window)
+                                          (minibuffer-message msg pat))))
                              (with-selected-window (minibuffer-window)
-                               (let ((input (minibuffer-contents)))
-                                 (when (> (length input) 1)
-                                   (let ((new (substring input 1))
-                                         (old (substring input 0 1)))
-                                     (setq input (if (or (null smatch)
-                                                         (member new strs))
-                                                     new old))
-                                     (delete-minibuffer-contents)
-                                     (insert input)))
-                                 (when (and smatch (not (string= input ""))
-                                            (not (member input strs)))
-                                   (setq input "")
-                                   (delete-minibuffer-contents)
-                                   (minibuffer-message "Not matching"))
-                                 (when (not (string= input pat))
-                                   (setq pat input))))
-                             (if (setq win (get-buffer-window buffer))
-                                 (with-selected-window win
-                                   (let ((ov (make-overlay
-                                              (point-min) (point-min)))
-                                         ;; Allow upper-case and
-                                         ;; lower-case letters to refer
-                                         ;; to different registers.
-                                         (case-fold-search nil))
-                                     (goto-char (point-min))
-                                     (remove-overlays)
-                                     (unless (string= pat "")
-                                       (if (re-search-forward (concat "^" pat) 
nil t)
-                                           (progn (move-overlay
-                                                   ov
-                                                   (match-beginning 0) 
(pos-eol))
-                                                  (overlay-put ov 'face 'match)
-                                                  (when msg
-                                                    (with-selected-window 
(minibuffer-window)
-                                                      (minibuffer-message msg 
pat))))
-                                         (with-selected-window 
(minibuffer-window)
-                                           (minibuffer-message
-                                            "Register `%s' is empty" pat))))))
-                               (unless (string= pat "")
-                                 (with-selected-window (minibuffer-window)
-                                   (if (and (member pat strs)
-                                            (null noconfirm))
-                                       (with-selected-window 
(minibuffer-window)
-                                         (minibuffer-message msg pat))
-                                     ;; :noconfirm is specifed
-                                     ;; explicitely, don't ask for
-                                     ;; confirmation and exit immediately 
(bug#66394).
-                                     (setq result pat)
-                                     (exit-minibuffer))))))
-                           nil 'local))
-             (setq result (read-from-minibuffer
-                           prompt nil map nil nil 
(register-preview-get-defaults act))))
-           (cl-assert (and result (not (string= result "")))
-                      nil "No register specified")
-           (string-to-char result))
+                               (minibuffer-message
+                                "Register `%s' is empty" pat))))))
+                   (unless (string= pat "")
+                     (with-selected-window (minibuffer-window)
+                       (if (and (member pat strs)
+                                (null noconfirm))
+                           (with-selected-window (minibuffer-window)
+                             (minibuffer-message msg pat))
+                         ;; `:noconfirm' is specified explicitly, don't ask for
+                         ;; confirmation and exit immediately (bug#66394).
+                         (setq result pat)
+                         (exit-minibuffer))))))))
+          (minibuffer-with-setup-hook
+              (lambda () (add-hook 'post-command-hook setup nil 'local))
+            (setq result (read-from-minibuffer
+                          prompt nil map nil nil
+                          (register-preview-get-defaults act))))
+          (cl-assert (and result (not (string= result "")))
+                     nil "No register specified")
+          (string-to-char result))
       (let ((w (get-buffer-window buf)))
         (and (window-live-p w) (delete-window w)))
       (and (get-buffer buf) (kill-buffer buf)))))



reply via email to

[Prev in Thread] Current Thread [Next in Thread]