This variable makes a difference when `search-invisible' is set to `open'.
It means that after search makes some invisible text visible
to show the match, it makes the text invisible again when the match moves.
-Ordinarily the text becomes invisible again at the end of the search."
- :type 'boolean
+Ordinarily the text becomes invisible again at the end of the search."
+ :type 'boolean
:group 'isearch)
(defvar isearch-mode-hook nil
(defun isearch-update-ring (string &optional regexp)
"Add STRING to the beginning of the search ring.
REGEXP says which ring to use."
- (if regexp
+ (if regexp
(if (or (null regexp-search-ring)
(not (string= string (car regexp-search-ring))))
(progn
(set yank-pointer-name
(setq yank-pointer
(mod (+ (or yank-pointer 0)
- (if advance -1 1))
+ ;; XEmacs change
+ (if advance -1 (if yank-pointer 1 0)))
length)))
(setq isearch-string (nth yank-pointer ring)
isearch-message (mapconcat 'isearch-text-char-description
(put extent 'invisible nil)
(put extent 'intangible nil))
-(defun isearch-range-invisible (beg end)
- "Return t if all the text from BEG to END is invisible.
+(defun isearch-range-invisible (start end)
+ "Return t if all the text from START to END is invisible.
Before that, if search-invisible is `open', unhide the extents with an
`isearch-open-invisible' property."
;; isearch-search uses this to skip the extents that are invisible,
;; but don't have `isearch-open-invisible' set. It is unclear
- ;; what's supposed to happen if only a part of [BEG, END) overlaps
+ ;; what's supposed to happen if only a part of [START, END) overlaps
;; the extent.
(let (to-be-unhidden)
(if (map-extents
(lambda (extent ignored)
- (if (and (<= (extent-start-position extent) beg)
+ (if (and (<= (extent-start-position extent) start)
(>= (extent-end-position extent) end))
;; All of the region is covered by the extent.
(if (and (eq search-invisible 'open)
t)
;; Else, keep looking.
nil))
- nil beg end nil 'all-extents-closed 'invisible)
+ nil start end nil 'all-extents-closed 'invisible)
;; The whole match must be skipped. Signal it by returning t
;; to the caller.
t
(remprop extent 'isearch-intangible))
;; FSF calls this function `isearch-clean-overlays'.
-(defun isearch-restore-invisible-extents (beg end)
+(defun isearch-restore-invisible-extents (start end)
(cond
- ((null beg)
+ ((null start)
;; Delete all -- this is called at the end of isearch.
(mapc #'isearch-restore-extent isearch-unhidden-extents)
(setq isearch-unhidden-extents nil))
;; restored to their hidden state.
(setq isearch-unhidden-extents
(delete-if (lambda (extent)
- (unless (extent-in-region-p extent beg end
+ (unless (extent-in-region-p extent start end
'all-extents-closed)
(isearch-restore-extent extent)
t))
;; buffer.
(mapc #'delete-extent isearch-highlight-extents)
(setq isearch-highlight-extents nil)
- (setq isearch-highlight-all-start nil
- isearch-window-end nil
+ (setq isearch-window-end nil
isearch-highlight-last-string nil))
(defun isearch-highlight-all-update ()