Function: isearch-ring-adjust1
isearch-ring-adjust1 is a byte-compiled function defined in
isearch.el.gz.
Signature
(isearch-ring-adjust1 ADVANCE)
Source Code
;; Defined in /usr/src/emacs/lisp/isearch.el.gz
;; Search Ring
(defun isearch-ring-adjust1 (advance)
;; Helper for isearch-ring-adjust
(let* ((ring (if isearch-regexp regexp-search-ring search-ring))
(length (length ring))
(yank-pointer-name (if isearch-regexp
'regexp-search-ring-yank-pointer
'search-ring-yank-pointer))
(yank-pointer (eval yank-pointer-name)))
(if (zerop length)
()
(set yank-pointer-name
(setq yank-pointer
(mod (+ (or yank-pointer (if advance 0 -1))
(if advance -1 1))
length)))
(setq isearch-string (nth yank-pointer ring)
isearch-message (mapconcat 'isearch-text-char-description
isearch-string ""))
(isearch-update-from-string-properties isearch-string))))