Function: isearch-edit-string

isearch-edit-string is an interactive and byte-compiled function defined in isearch.el.gz.

Signature

(isearch-edit-string)

Documentation

Edit the search string in the minibuffer.

The following additional command keys are active while editing. RET (exit-minibuffer) to resume incremental searching with the edited string. C-s (isearch-forward-exit-minibuffer) to resume isearching forward. C-r (isearch-reverse-exit-minibuffer) to resume isearching backward. C-M-i (isearch-complete-edit) to complete the search string using the search ring.

Key Bindings

Source Code

;; Defined in /usr/src/emacs/lisp/isearch.el.gz
(defvar minibuffer-history-symbol) ;; from external package gmhist.el

(defun isearch-edit-string ()
  "Edit the search string in the minibuffer.
The following additional command keys are active while editing.
\\<minibuffer-local-isearch-map>
\\[exit-minibuffer] to resume incremental searching with the edited string.
\\[isearch-forward-exit-minibuffer] to resume isearching forward.
\\[isearch-reverse-exit-minibuffer] to resume isearching backward.
\\[isearch-complete-edit] to complete the search string using the search ring."
  (interactive)
  (with-isearch-suspended
   (let* ((message-log-max nil)
	  ;; Don't add a new search string to the search ring here
	  ;; in `read-from-minibuffer'. It should be added only
	  ;; by `isearch-update-ring' called from `isearch-done'.
	  (history-add-new-input nil)
	  ;; Binding minibuffer-history-symbol to nil is a work-around
	  ;; for some incompatibility with gmhist.
	  (minibuffer-history-symbol)
	  ;; Search string might have meta information on text properties.
	  (minibuffer-allow-text-properties t))
     (setq isearch-new-string
	   (read-from-minibuffer
	    (isearch-message-prefix nil isearch-nonincremental)
	    (cons isearch-string (1+ (or (isearch-fail-pos)
					 (length isearch-string))))
	    minibuffer-local-isearch-map nil
	    (if isearch-regexp
		(cons 'regexp-search-ring
		      (1+ (or regexp-search-ring-yank-pointer -1)))
	      (cons 'search-ring
		    (1+ (or search-ring-yank-pointer -1))))
	    nil t)
	   isearch-new-message
	   (mapconcat 'isearch-text-char-description
		      isearch-new-string "")))))