diff options
| author | Juri Linkov <juri@linkov.net> | 2020-12-23 11:30:04 +0200 |
|---|---|---|
| committer | Juri Linkov <juri@linkov.net> | 2020-12-23 11:30:04 +0200 |
| commit | 268a3d32fb5a26c09787627d12a4dfc61ba059ff (patch) | |
| tree | 5a0fad34c30355e01ec8921cab879fb989f4b1d7 | |
| parent | 5c86a5329664cd5fd3b81fe991c8d7dc18815e07 (diff) | |
Show image as text when trying to search/replace in image buffer (bug#25905)
* lisp/image-mode.el (image-mode-isearch-filter): New function.
(image-mode--setup-mode): Use it to add it as :before-while to
isearch-filter-predicate.
| -rw-r--r-- | lisp/image-mode.el | 11 |
1 files changed, 11 insertions, 0 deletions
diff --git a/lisp/image-mode.el b/lisp/image-mode.el index 465bf867627..143b68f52e7 100644 --- a/lisp/image-mode.el +++ b/lisp/image-mode.el @@ -667,6 +667,9 @@ Key bindings: (when image-auto-resize-on-window-resize (add-hook 'window-state-change-functions #'image--window-state-change nil t)) + (add-function :before-while (local 'isearch-filter-predicate) + #'image-mode-isearch-filter) + (run-mode-hooks 'image-mode-hook) (let ((image (image-get-display-property)) (msg1 (substitute-command-keys @@ -782,6 +785,14 @@ Remove text properties that display the image." (if (called-interactively-p 'any) (message "Repeat this command to go back to displaying the image")))) +(defun image-mode-isearch-filter (_beg _end) + "Show image as text when trying to search/replace in the image buffer." + (save-match-data + (when (and (derived-mode-p 'image-mode) + (image-get-display-property)) + (image-mode-as-text))) + t) + (defvar archive-superior-buffer) (defvar tar-superior-buffer) (declare-function image-flush "image.c" (spec &optional frame)) |
