Add `wdired-isearch-filter-read-only' to lisp/wdired.el.

* lisp/wdired.el (wdired-change-to-wdired-mode): Set buffer-local
`isearch-filter-predicate' to `wdired-isearch-filter-read-only'.
(wdired-isearch-filter-read-only): New function.

Fixes: debbugs:6362
This commit is contained in:
Juri Linkov 2011-09-09 18:49:00 +03:00
parent 0861eb2e39
commit 5e68ce4ab9
2 changed files with 13 additions and 0 deletions

View file

@ -1,3 +1,9 @@
2011-09-09 Juri Linkov <juri@jurta.org>
* wdired.el (wdired-change-to-wdired-mode): Set buffer-local
`isearch-filter-predicate' to `wdired-isearch-filter-read-only'.
(wdired-isearch-filter-read-only): New function. (Bug#6362)
2011-09-09 Alan Mackenzie <acm@muc.de>
* progmodes/cc-mode.el (awk-mode): Prevent `define-derived-mode'

View file

@ -216,6 +216,8 @@ See `wdired-mode'."
(buffer-substring (point-min) (point-max)))
(set (make-local-variable 'wdired-old-point) (point))
(set (make-local-variable 'query-replace-skip-read-only) t)
(set (make-local-variable 'isearch-filter-predicate)
'wdired-isearch-filter-read-only)
(use-local-map wdired-mode-map)
(force-mode-line-update)
(setq buffer-read-only nil)
@ -241,6 +243,11 @@ See `wdired-mode'."
"Press \\[wdired-finish-edit] when finished \
or \\[wdired-abort-changes] to abort changes")))
(defun wdired-isearch-filter-read-only (beg end)
"Skip matches that have a read-only property."
(and (isearch-filter-visible beg end)
(not (text-property-not-all (min beg end) (max beg end)
'read-only nil))))
;; Protect the buffer so only the filenames can be changed, and put
;; properties so filenames (old and new) can be easily found.