* bug#13348: 24.3.50; `C-s', `C-r', `RET' in `minibuffer-local-isearch-map'
@ 2013-01-03 18:45 Drew Adams
2013-01-04 0:04 ` Juri Linkov
2013-05-15 23:22 ` Juri Linkov
0 siblings, 2 replies; 6+ messages in thread
From: Drew Adams @ 2013-01-03 18:45 UTC (permalink / raw)
To: 13348
`M-e' in Isearch is `isearch-edit-string'. Here is its doc:
Edit the search string in the minibuffer.
The following additional command keys are active while editing.
M-x exit-minibuffer to resume incremental searching with the edited string.
RET to do one nonincremental search.
C-s to resume isearching forward.
C-r to resume isearching backward.
C-M-i to complete the search string using the search ring.
C-x 8 RET to insert a Unicode character by name (with completion).
If first char entered is C-w, then do word search instead.
Now do this: `C-s M-e C-h k C-s'. You see this:
C-s runs the command isearch-forward-exit-minibuffer, which is an
interactive compiled Lisp function in `isearch.el'.
It is bound to C-s.
(isearch-forward-exit-minibuffer)
Not documented.
Not documented? Why not? Emacs users deserve better.
These commands (for keys `C-s', `C-r', `RET') are explicitly called out
in the doc for `isearch-edit-string'. They should have doc strings.
`C-M-i' (`isearch-complete-edit') does, and so should all of the other
keys mentioned in the doc of `isearch-edit-string'.
In GNU Emacs 24.3.50.1 (i386-mingw-nt5.1.2600)
of 2012-12-31 on ODIEONE
Bzr revision: 111388 rudalics@gmx.at-20121231113513-subz2dazg6yjukzh
Windowing system distributor `Microsoft Corp.', version 5.1.2600
Configured using:
`configure --with-gcc (4.7) --no-opt --enable-checking --cflags
-IC:/Devel/emacs/build/include --ldflags -LC:/Devel/emacs/build/lib'
^ permalink raw reply [flat|nested] 6+ messages in thread
* bug#13348: 24.3.50; `C-s', `C-r', `RET' in `minibuffer-local-isearch-map'
2013-01-03 18:45 bug#13348: 24.3.50; `C-s', `C-r', `RET' in `minibuffer-local-isearch-map' Drew Adams
@ 2013-01-04 0:04 ` Juri Linkov
2013-01-04 0:42 ` Drew Adams
2013-05-15 23:22 ` Juri Linkov
1 sibling, 1 reply; 6+ messages in thread
From: Juri Linkov @ 2013-01-04 0:04 UTC (permalink / raw)
To: Drew Adams; +Cc: 13348
> (isearch-forward-exit-minibuffer)
>
> Not documented.
>
> Not documented? Why not? Emacs users deserve better.
Is this what you expected?
=== modified file 'lisp/isearch.el'
--- lisp/isearch.el 2013-01-02 16:13:04 +0000
+++ lisp/isearch.el 2013-01-04 00:03:23 +0000
@@ -1291,11 +1293,13 @@ (defun isearch-nonincremental-exit-minib
(exit-minibuffer))
(defun isearch-forward-exit-minibuffer ()
+ "Resume isearching forward."
(interactive)
(setq isearch-new-forward t)
(exit-minibuffer))
(defun isearch-reverse-exit-minibuffer ()
+ "Resume isearching backward."
(interactive)
(setq isearch-new-forward nil)
(exit-minibuffer))
^ permalink raw reply [flat|nested] 6+ messages in thread
* bug#13348: 24.3.50; `C-s', `C-r', `RET' in `minibuffer-local-isearch-map'
2013-01-04 0:04 ` Juri Linkov
@ 2013-01-04 0:42 ` Drew Adams
2013-05-07 8:49 ` Juri Linkov
0 siblings, 1 reply; 6+ messages in thread
From: Drew Adams @ 2013-01-04 0:42 UTC (permalink / raw)
To: 'Juri Linkov'; +Cc: 13348
> Is this what you expected?
> (defun isearch-forward-exit-minibuffer ()
> + "Resume isearching forward."
>
> (defun isearch-reverse-exit-minibuffer ()
> + "Resume isearching backward."
Sure, but why not say also what the searching is resuming _from_?
It's not necessarily the case that someone checking this documentation gets
there from `C-h k' from within an Isearch edit.
^ permalink raw reply [flat|nested] 6+ messages in thread
* bug#13348: 24.3.50; `C-s', `C-r', `RET' in `minibuffer-local-isearch-map'
2013-01-04 0:42 ` Drew Adams
@ 2013-05-07 8:49 ` Juri Linkov
2013-05-08 21:04 ` Juri Linkov
0 siblings, 1 reply; 6+ messages in thread
From: Juri Linkov @ 2013-05-07 8:49 UTC (permalink / raw)
To: Drew Adams; +Cc: 13348
>> Is this what you expected?
>
>> (defun isearch-forward-exit-minibuffer ()
>> + "Resume isearching forward."
>>
>> (defun isearch-reverse-exit-minibuffer ()
>> + "Resume isearching backward."
>
> Sure, but why not say also what the searching is resuming _from_?
It would be more helpful if you wrote these docstrings
as you want instead of explaining your wishes.
Now I added your additions below.
Also I noticed that `isearch-nonincremental-exit-minibuffer'
has no effect, so I removed it instead of adding a docstring
to this unused function:
=== modified file 'lisp/isearch.el'
--- lisp/isearch.el 2013-05-01 08:10:12 +0000
+++ lisp/isearch.el 2013-05-07 08:48:31 +0000
@@ -528,7 +528,7 @@ (defvar isearch-mode-map
(defvar minibuffer-local-isearch-map
(let ((map (make-sparse-keymap)))
(set-keymap-parent map minibuffer-local-map)
- (define-key map "\r" 'isearch-nonincremental-exit-minibuffer)
+ (define-key map "\r" 'exit-minibuffer)
(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)
@@ -1273,7 +1274,6 @@ (defun isearch-edit-string ()
The following additional command keys are active while editing.
\\<minibuffer-local-isearch-map>
\\[exit-minibuffer] to resume incremental searching with the edited string.
-\\[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-complete-edit] to complete the search string using the search ring."
@@ -1303,17 +1303,14 @@ (defun isearch-edit-string ()
(mapconcat 'isearch-text-char-description
isearch-new-string "")))))
-(defun isearch-nonincremental-exit-minibuffer ()
- (interactive)
- (setq isearch-nonincremental t)
- (exit-minibuffer))
-
(defun isearch-forward-exit-minibuffer ()
+ "Resume isearching forward from the minibuffer that edits the search string."
(interactive)
(setq isearch-new-forward t)
(exit-minibuffer))
(defun isearch-reverse-exit-minibuffer ()
+ "Resume isearching backward from the minibuffer that edits the search string."
(interactive)
(setq isearch-new-forward nil)
(exit-minibuffer))
^ permalink raw reply [flat|nested] 6+ messages in thread
* bug#13348: 24.3.50; `C-s', `C-r', `RET' in `minibuffer-local-isearch-map'
2013-05-07 8:49 ` Juri Linkov
@ 2013-05-08 21:04 ` Juri Linkov
0 siblings, 0 replies; 6+ messages in thread
From: Juri Linkov @ 2013-05-08 21:04 UTC (permalink / raw)
To: Drew Adams; +Cc: 13348
> Also I noticed that `isearch-nonincremental-exit-minibuffer'
> has no effect, so I removed it instead of adding a docstring
> to this unused function:
Better than removing is to mark it obsolete.
I propose also to rename the recently added function
`isearch-insert-char-by-name' to `isearch-char-by-name'
(using naming convention like in `isearch-other-meta-char'
and `isearch-printing-char') because it doesn't insert a character
to the buffer but adds a character to the search string:
=== modified file 'lisp/isearch.el'
--- lisp/isearch.el 2013-05-01 08:10:12 +0000
+++ lisp/isearch.el 2013-05-08 20:49:59 +0000
@@ -47,7 +47,7 @@
;; modify the search string before executing the search. There are
;; three commands to terminate the editing: C-s and C-r exit the
;; minibuffer and search forward and reverse respectively, while C-m
-;; exits and does a nonincremental search.
+;; exits and searches in the last search direction.
;; Exiting immediately from isearch uses isearch-edit-string instead
;; of nonincremental-search, if search-nonincremental-instead is non-nil.
@@ -515,12 +515,12 @@ (defvar isearch-mode-map
(define-key map "\M-so" 'isearch-occur)
(define-key map "\M-shr" 'isearch-highlight-regexp)
- ;; The key translations defined in the C-x 8 prefix should insert
- ;; characters into the search string. See iso-transl.el.
+ ;; The key translations defined in the C-x 8 prefix should add
+ ;; characters to the search string. See iso-transl.el.
(define-key map "\C-x" nil)
(define-key map [?\C-x t] 'isearch-other-control-char)
(define-key map "\C-x8" nil)
- (define-key map "\C-x8\r" 'isearch-insert-char-by-name)
+ (define-key map "\C-x8\r" 'isearch-char-by-name)
map)
"Keymap for `isearch-mode'.")
@@ -528,7 +528,7 @@ (defvar isearch-mode-map
(defvar minibuffer-local-isearch-map
(let ((map (make-sparse-keymap)))
(set-keymap-parent map minibuffer-local-map)
- (define-key map "\r" 'isearch-nonincremental-exit-minibuffer)
+ (define-key map "\r" 'exit-minibuffer)
(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)
@@ -679,6 +679,8 @@ (defun isearch-forward (&optional regexp
Type \\[isearch-yank-pop] to replace string just yanked into search prompt
with string killed before it.
Type \\[isearch-quote-char] to quote control character to search for it.
+Type \\[isearch-char-by-name] to add a character to search by Unicode name,\
+ with completion.
\\[isearch-abort] while searching or when search has failed cancels input\
back to what has
been found successfully.
@@ -1273,7 +1275,6 @@ (defun isearch-edit-string ()
The following additional command keys are active while editing.
\\<minibuffer-local-isearch-map>
\\[exit-minibuffer] to resume incremental searching with the edited string.
-\\[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-complete-edit] to complete the search string using the search ring."
@@ -1307,13 +1308,18 @@ (defun isearch-nonincremental-exit-minib
(interactive)
(setq isearch-nonincremental t)
(exit-minibuffer))
+;; Changing the value of `isearch-nonincremental' has no effect here,
+;; because `isearch-edit-string' ignores this change. Thus marked as obsolete.
+(make-obsolete 'isearch-nonincremental-exit-minibuffer 'exit-minibuffer "24.4")
(defun isearch-forward-exit-minibuffer ()
+ "Resume isearching forward from the minibuffer that edits the search string."
(interactive)
(setq isearch-new-forward t)
(exit-minibuffer))
(defun isearch-reverse-exit-minibuffer ()
+ "Resume isearching backward from the minibuffer that edits the search string."
(interactive)
(setq isearch-new-forward nil)
(exit-minibuffer))
@@ -1866,11 +1872,12 @@ (defun isearch-yank-line ()
(lambda () (let ((inhibit-field-text-motion t))
(line-end-position (if (eolp) 2 1))))))
-(defun isearch-insert-char-by-name ()
- "Read a character by its Unicode name and insert it into search string."
+(defun isearch-char-by-name ()
+ "Read a character by its Unicode name and add it to the search string.
+Completion is available like in `read-char-by-name' used by `insert-char'."
(interactive)
(with-isearch-suspended
- (let ((char (read-char-by-name "Insert character (Unicode name or hex): ")))
+ (let ((char (read-char-by-name "Add character to search (Unicode name or hex): ")))
(when char
(setq isearch-new-string (concat isearch-string (string char))
isearch-new-message (concat isearch-message
=== modified file 'doc/emacs/search.texi'
--- doc/emacs/search.texi 2013-01-01 09:11:05 +0000
+++ doc/emacs/search.texi 2013-05-08 20:52:42 +0000
@@ -175,7 +175,7 @@ (@pxref{Faces}). The current search str
@kindex M-e @r{(Incremental search)}
To edit the current search string in the minibuffer without
-replacing it with items from the search ring, type @kbd{M-e}. Type
+replacing it with items from the search ring, type @kbd{M-e}. Type @key{RET},
@kbd{C-s} or @kbd{C-r} to finish editing the string and search for it.
@node Error in Isearch
^ permalink raw reply [flat|nested] 6+ messages in thread
* bug#13348: 24.3.50; `C-s', `C-r', `RET' in `minibuffer-local-isearch-map'
2013-01-03 18:45 bug#13348: 24.3.50; `C-s', `C-r', `RET' in `minibuffer-local-isearch-map' Drew Adams
2013-01-04 0:04 ` Juri Linkov
@ 2013-05-15 23:22 ` Juri Linkov
1 sibling, 0 replies; 6+ messages in thread
From: Juri Linkov @ 2013-05-15 23:22 UTC (permalink / raw)
To: Drew Adams; +Cc: 13348-done
> Not documented? Why not? Emacs users deserve better.
It is documented now.
^ permalink raw reply [flat|nested] 6+ messages in thread
end of thread, other threads:[~2013-05-15 23:22 UTC | newest]
Thread overview: 6+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2013-01-03 18:45 bug#13348: 24.3.50; `C-s', `C-r', `RET' in `minibuffer-local-isearch-map' Drew Adams
2013-01-04 0:04 ` Juri Linkov
2013-01-04 0:42 ` Drew Adams
2013-05-07 8:49 ` Juri Linkov
2013-05-08 21:04 ` Juri Linkov
2013-05-15 23:22 ` Juri Linkov
Code repositories for project(s) associated with this external index
https://git.savannah.gnu.org/cgit/emacs.git
https://git.savannah.gnu.org/cgit/emacs/org-mode.git
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.