>>>>> "Richard" == Richard Stallman <[EMAIL PROTECTED]> writes:
>> Could you tell me, at the level of user-visible behavior, how its >> currently differs from the usual history functionality? > No. It basically works the same, although maybe it doesn't skip > things in quite the same order. > Could you show me that patch again? The code you're removing > must have had some motivation. It might not be a good motivation, > but we can't judge it without seeing what it was. Here you go, Stefan --- orig/lisp/isearch.el +++ mod/lisp/isearch.el @@ -405,12 +403,6 @@ (let ((map (make-sparse-keymap))) (set-keymap-parent map minibuffer-local-map) (define-key map "\r" 'isearch-nonincremental-exit-minibuffer) - (define-key map "\M-n" 'isearch-ring-advance-edit) - (define-key map [next] 'isearch-ring-advance-edit) - (define-key map [down] 'isearch-ring-advance-edit) - (define-key map "\M-p" 'isearch-ring-retreat-edit) - (define-key map [prior] 'isearch-ring-retreat-edit) - (define-key map [up] 'isearch-ring-retreat-edit) (define-key map "\M-\t" 'isearch-complete-edit) (define-key map "\C-s" 'isearch-forward-exit-minibuffer) (define-key map "\C-r" 'isearch-reverse-exit-minibuffer) @@ -937,8 +903,6 @@ \\[isearch-nonincremental-exit-minibuffer] to do one nonincremental search. \\[isearch-forward-exit-minibuffer] to resume isearching forward. \\[isearch-reverse-exit-minibuffer] to resume isearching backward. -\\[isearch-ring-advance-edit] to replace the search string with the next item in the search ring. -\\[isearch-ring-retreat-edit] to replace the search string with the previous item in the search ring. \\[isearch-complete-edit] to complete the search string using the search ring. \\<isearch-mode-map> If first char entered is \\[isearch-yank-word-or-char], then do word search instead." @@ -1024,12 +1024,12 @@ (isearch-unread e)) (setq cursor-in-echo-area nil) (setq isearch-new-string - (let (junk-ring) (read-from-minibuffer (isearch-message-prefix nil isearch-nonincremental) isearch-string minibuffer-local-isearch-map nil - 'junk-ring nil t)) + (if isearch-regexp 'regexp-search-ring 'search-ring) + nil t) isearch-new-message (mapconcat 'isearch-text-char-description isearch-new-string ""))) @@ -1860,49 +1890,6 @@ (interactive) (isearch-ring-adjust nil)) -(defun isearch-ring-advance-edit (n) - "Insert the next element of the search history into the minibuffer. -With prefix arg N, insert the Nth element." - (interactive "p") - (let* ((yank-pointer-name (if isearch-regexp - 'regexp-search-ring-yank-pointer - 'search-ring-yank-pointer)) - (yank-pointer (eval yank-pointer-name)) - (ring (if isearch-regexp regexp-search-ring search-ring)) - (length (length ring))) - (if (zerop length) - () - (set yank-pointer-name - (setq yank-pointer - (mod (- (or yank-pointer 0) n) - length))) - - (delete-field) - (insert (nth yank-pointer ring)) - (goto-char (point-max))))) - -(defun isearch-ring-retreat-edit (n) - "Insert the previous element of the search history into the minibuffer. -With prefix arg N, insert the Nth element." - (interactive "p") - (isearch-ring-advance-edit (- n))) - -;;(defun isearch-ring-adjust-edit (advance) -;; "Use the next or previous search string in the ring while in minibuffer." -;; (isearch-ring-adjust1 advance) -;; (erase-buffer) -;; (insert isearch-string)) - -;;(defun isearch-ring-advance-edit () -;; (interactive) -;; (isearch-ring-adjust-edit 'advance)) - -;;(defun isearch-ring-retreat-edit () -;; "Retreat to the previous search string in the ring while in the minibuffer." -;; (interactive) -;; (isearch-ring-adjust-edit nil)) - - (defun isearch-complete1 () ;; Helper for isearch-complete and isearch-complete-edit ;; Return t if completion OK, nil if no completion exists. _______________________________________________ Emacs-devel mailing list Emacs-devel@gnu.org http://lists.gnu.org/mailman/listinfo/emacs-devel