diff options
Diffstat (limited to 'lisp/replace.el')
| -rw-r--r-- | lisp/replace.el | 53 |
1 files changed, 28 insertions, 25 deletions
diff --git a/lisp/replace.el b/lisp/replace.el index 8820a768006..82b2a993fdb 100644 --- a/lisp/replace.el +++ b/lisp/replace.el | |||
| @@ -64,6 +64,27 @@ strings or patterns." | |||
| 64 | :group 'matching | 64 | :group 'matching |
| 65 | :version "21.4") | 65 | :version "21.4") |
| 66 | 66 | ||
| 67 | (defcustom query-replace-highlight t | ||
| 68 | "*Non-nil means to highlight matches during query replacement." | ||
| 69 | :type 'boolean | ||
| 70 | :group 'matching) | ||
| 71 | |||
| 72 | (defcustom query-replace-lazy-highlight t | ||
| 73 | "*Controls the lazy-highlighting during query replacements. | ||
| 74 | When non-nil, all text in the buffer matching the current match | ||
| 75 | is highlighted lazily using isearch lazy highlighting (see | ||
| 76 | `lazy-highlight-initial-delay' and `lazy-highlight-interval')." | ||
| 77 | :type 'boolean | ||
| 78 | :group 'lazy-highlight | ||
| 79 | :group 'matching | ||
| 80 | :version "21.4") | ||
| 81 | |||
| 82 | (defface query-replace | ||
| 83 | '((t (:inherit isearch))) | ||
| 84 | "Face for highlighting query replacement matches." | ||
| 85 | :group 'matching | ||
| 86 | :version "21.4") | ||
| 87 | |||
| 67 | (defun query-replace-descr (string) | 88 | (defun query-replace-descr (string) |
| 68 | (mapconcat 'isearch-text-char-description string "")) | 89 | (mapconcat 'isearch-text-char-description string "")) |
| 69 | 90 | ||
| @@ -802,9 +823,10 @@ If the value is nil, don't highlight the buffer names specially." | |||
| 802 | (setq count (+ count (if forwardp -1 1))) | 823 | (setq count (+ count (if forwardp -1 1))) |
| 803 | (setq beg (line-beginning-position) | 824 | (setq beg (line-beginning-position) |
| 804 | end (line-end-position)) | 825 | end (line-end-position)) |
| 805 | (if (and keep-props (boundp 'jit-lock-mode) jit-lock-mode | 826 | (if (and keep-props (if (boundp 'jit-lock-mode) jit-lock-mode) |
| 806 | (text-property-not-all beg end 'fontified t)) | 827 | (text-property-not-all beg end 'fontified t)) |
| 807 | (jit-lock-fontify-now beg end)) | 828 | (if (fboundp 'jit-lock-fontify-now) |
| 829 | (jit-lock-fontify-now beg end))) | ||
| 808 | (push | 830 | (push |
| 809 | (funcall (if keep-props | 831 | (funcall (if keep-props |
| 810 | #'buffer-substring | 832 | #'buffer-substring |
| @@ -1008,9 +1030,11 @@ See also `multi-occur'." | |||
| 1008 | endpt (line-end-position))) | 1030 | endpt (line-end-position))) |
| 1009 | (setq marker (make-marker)) | 1031 | (setq marker (make-marker)) |
| 1010 | (set-marker marker matchbeg) | 1032 | (set-marker marker matchbeg) |
| 1011 | (if (and keep-props (boundp 'jit-lock-mode) jit-lock-mode | 1033 | (if (and keep-props |
| 1034 | (if (boundp 'jit-lock-mode) jit-lock-mode) | ||
| 1012 | (text-property-not-all begpt endpt 'fontified t)) | 1035 | (text-property-not-all begpt endpt 'fontified t)) |
| 1013 | (jit-lock-fontify-now begpt endpt)) | 1036 | (if (fboundp 'jit-lock-fontify-now) |
| 1037 | (jit-lock-fontify-now begpt endpt))) | ||
| 1014 | (setq curstring (buffer-substring begpt endpt)) | 1038 | (setq curstring (buffer-substring begpt endpt)) |
| 1015 | ;; Depropertize the string, and maybe | 1039 | ;; Depropertize the string, and maybe |
| 1016 | ;; highlight the matches | 1040 | ;; highlight the matches |
| @@ -1258,27 +1282,6 @@ passed in. If LITERAL is set, no checking is done, anyway." | |||
| 1258 | (replace-match newtext fixedcase literal) | 1282 | (replace-match newtext fixedcase literal) |
| 1259 | noedit) | 1283 | noedit) |
| 1260 | 1284 | ||
| 1261 | (defcustom query-replace-highlight t | ||
| 1262 | "*Non-nil means to highlight matches during query replacement." | ||
| 1263 | :type 'boolean | ||
| 1264 | :group 'matching) | ||
| 1265 | |||
| 1266 | (defcustom query-replace-lazy-highlight t | ||
| 1267 | "*Controls the lazy-highlighting during query replacements. | ||
| 1268 | When non-nil, all text in the buffer matching the current match | ||
| 1269 | is highlighted lazily using isearch lazy highlighting (see | ||
| 1270 | `isearch-lazy-highlight-initial-delay' and | ||
| 1271 | `isearch-lazy-highlight-interval')." | ||
| 1272 | :type 'boolean | ||
| 1273 | :group 'matching | ||
| 1274 | :version "21.4") | ||
| 1275 | |||
| 1276 | (defface query-replace | ||
| 1277 | '((t (:inherit isearch))) | ||
| 1278 | "Face for highlighting query replacement matches." | ||
| 1279 | :group 'matching | ||
| 1280 | :version "21.4") | ||
| 1281 | |||
| 1282 | (defun perform-replace (from-string replacements | 1285 | (defun perform-replace (from-string replacements |
| 1283 | query-flag regexp-flag delimited-flag | 1286 | query-flag regexp-flag delimited-flag |
| 1284 | &optional repeat-count map start end) | 1287 | &optional repeat-count map start end) |