Commit graph

506 commits

Author SHA1 Message Date
Juri Linkov
eb2deaffd1 * lisp/replace.el (query-replace-read-from): Use `read-regexp' instead
of `read-from-minibuffer' when `regexp-flag' is non-nil.
(occur-read-primary-args): Use `read-regexp' instead of
`read-string'.
(multi-occur-in-matching-buffers): Use `read-regexp' instead of
`read-from-minibuffer'.
* lisp/isearch.el (isearch-occur): Use `read-regexp' instead of
`read-string'.
* lisp/dired.el (dired-read-regexp): Use `read-regexp' instead of
`read-from-minibuffer'.
* lisp/progmodes/grep.el (grep-read-regexp): Use `read-regexp' instead
of `read-string'.

Fixes: debbugs:7567
2012-09-21 00:57:13 +03:00
Juri Linkov
3231d532c7 * lisp/replace.el (replace-regexp-lax-whitespace): New defcustom.
(replace-lax-whitespace, query-replace-regexp)
(query-replace-regexp-eval, replace-regexp): Doc fix.
(perform-replace, replace-highlight): Let-bind
isearch-lax-whitespace to replace-lax-whitespace and
isearch-regexp-lax-whitespace to replace-regexp-lax-whitespace.

* lisp/isearch.el (isearch-query-replace): Let-bind
replace-lax-whitespace to isearch-lax-whitespace and
replace-regexp-lax-whitespace to
isearch-regexp-lax-whitespace.

Fixes: debbugs:10885
2012-09-10 01:15:24 +03:00
Juri Linkov
826b323577 * lisp/replace.el (replace-lax-whitespace): New defcustom.
(query-replace, query-replace-regexp, query-replace-regexp-eval)
(replace-string, replace-regexp): Mention it in docstrings.
(perform-replace, replace-highlight): Let-bind
isearch-lax-whitespace and isearch-regexp-lax-whitespace according
to the values of replace-lax-whitespace and regexp-flag.
Don't let-bind search-whitespace-regexp. 

* lisp/isearch.el (isearch-query-replace): Let-bind
replace-lax-whitespace instead of let-binding
replace-search-function and replace-re-search-function.
(isearch-lazy-highlight-search): Let-bind isearch-lax-whitespace
and isearch-regexp-lax-whitespace to lazy-highlight variables.
(isearch-toggle-symbol): Set isearch-regexp to nil
in isearch-word mode (like in isearch-toggle-word).

Fixes: debbugs:10885
2012-09-06 11:49:40 +03:00
Juri Linkov
63dd1c6fa4 Toggle whitespace matching mode with M-s SPC.
http://lists.gnu.org/archive/html/emacs-devel/2012-09/msg00008.html

* lisp/isearch.el (search-whitespace-regexp): Doc fix.
Remove cons cell customization.
(isearch-mode-map): Bind "\M-s " to isearch-toggle-lax-whitespace.
(isearch-lax-whitespace, isearch-regexp-lax-whitespace):
New variables.
(isearch-forward, isearch-forward-regexp): Doc fix.
(isearch-toggle-lax-whitespace): New command.
(search-forward-lax-whitespace, search-backward-lax-whitespace)
(re-search-forward-lax-whitespace)
(re-search-backward-lax-whitespace): New functions.
(isearch-whitespace-regexp): Remove function.
(isearch-query-replace): Let-bind replace-search-function and
replace-re-search-function.
(isearch-occur): Let-bind search-spaces-regexp according to the
value of isearch-lax-whitespace and isearch-regexp-lax-whitespace.
(isearch-quote-char): Check isearch-regexp-lax-whitespace in the
condition for C-q SPC.
(isearch-search-fun-default): Use new functions mentioned above.
(isearch-search-forward, isearch-search-backward): Remove functions.
(isearch-search): Don't let-bind search-spaces-regexp.
(isearch-lazy-highlight-space-regexp): Remove variable.
(isearch-lazy-highlight-lax-whitespace)
(isearch-lazy-highlight-regexp-lax-whitespace): New variables.
(isearch-lazy-highlight-new-loop): Use them.
(isearch-lazy-highlight-search): Don't let-bind search-spaces-regexp.
2012-09-02 12:31:45 +03:00
Chong Yidong
2db8bdfcc8 Doc fix for last change. 2012-08-26 12:08:32 +08:00
Chong Yidong
dd7ffad60f Make ordinary isearch obey search-whitespace-regexp too.
* lisp/isearch.el (search-whitespace-regexp): Make string and nil
values apply to both ordinary and regexp search.  Allow a cons
cell value to distinguish between the two.
(isearch-whitespace-regexp, isearch-search-forward)
(isearch-search-backward): New functions.
(isearch-occur, isearch-search-fun-default, isearch-search)
(isearch-lazy-highlight-new-loop): Use them.
(isearch-forward, isearch-forward-regexp): Doc fix.
2012-08-26 11:57:55 +08:00
Stefan Monnier
7c2dc8bd36 * lisp/isearch.el: Misc simplification; use defstruct.
(isearch-mode-map): Dense maps now work like sparse ones.
(isearch--state): New defstruct.
(isearch-string-state, isearch-message-state, isearch-point-state)
(isearch-success-state, isearch-forward-state)
(isearch-other-end-state, isearch-word-state, isearch-error-state)
(isearch-wrapped-state, isearch-barrier-state)
(isearch-case-fold-search-state, isearch-pop-fun-state): Remove,
replaced by defstruct's accessors.
(isearch--set-state): Rename from isearch-top-state and change
calling convention.
(isearch-push-state): Use new isearch--get-state.
(isearch-toggle-word): Disable regexp when enabling word.
(isearch-message-prefix): Remove unused arg _c-q-hack.
(isearch-message-suffix): Remove unused arg _ellipsis.
2012-08-04 18:31:04 -04:00
Chong Yidong
439f7677e9 Fix usage of C-x 8 key translations in Isearch.
* lisp/isearch.el (isearch-mode-map): Handle C-x 8 key translations,
and make C-x 8 RET exit isearch.

* lisp/international/iso-transl.el: Move isearch-mode-map key
definitions to isearch.el.

Fixes: debbugs:11439
2012-07-18 17:27:23 +08:00
Paul Eggert
48d1354eb8 Spelling fixes. 2012-06-17 01:53:31 -07:00
Juri Linkov
b9cb23871e * lisp/isearch.el (isearch-mode-map): Bind M-s _' to isearch-toggle-symbol'.
Bind `M-s c' to `isearch-toggle-case-fold'.
(search-map): Bind `M-s _' to `isearch-forward-symbol'.
(isearch-forward): Add `M-s _' to the docstring.
(isearch-forward-symbol, isearch-toggle-case-fold)
(isearch-symbol-regexp): New functions.

Fixes: debbugs:11381
2012-05-29 12:46:06 +03:00
Juri Linkov
d5e61c1c75 * lisp/isearch.el (isearch-word): Add docstring.
(isearch-occur, isearch-search-and-update): If `isearch-word' is
a function, call it to get the regexp.
(isearch-message-prefix): If `isearch-word' holds a symbol, use its
property `isearch-message-prefix' instead of the string "word ".
(isearch-search-fun-default): For the case of `isearch-word',
return a lambda that calls re-search-forward/re-search-backward
with a regexp returned by `word-search-regexp' or by the function
in `isearch-word'.

Fixes: debbugs:11381
2012-05-29 12:27:39 +03:00
Juri Linkov
8cbd80f713 * lisp/isearch.el (isearch-search-fun-default): New function.
(isearch-search-fun): Move default part to the new function
`isearch-search-fun-default'.
(isearch-search-fun-function): Set the default value to
`isearch-search-fun-default'. 

* lisp/comint.el (comint-history-isearch-end):
Use `isearch-search-fun-default'.
(comint-history-isearch-search): Use `isearch-search-fun-default'
and remove spacial case for `isearch-word'.
(comint-history-isearch-wrap): Remove spacial case for
`isearch-word'.

* lisp/hexl.el (hexl-isearch-search-function):
Use `isearch-search-fun-default'.

* lisp/info.el (Info-isearch-search): Use `isearch-search-fun-default'.
Use `word-search-regexp' for `isearch-word'.

* lisp/misearch.el (multi-isearch-search-fun):
Use `isearch-search-fun-default'.

* lisp/simple.el (minibuffer-history-isearch-search):
Use `isearch-search-fun-default' and remove spacial case for
`isearch-word'.
(minibuffer-history-isearch-wrap): Remove spacial case for
`isearch-word'.

* lisp/textmodes/reftex-global.el (reftex-isearch-wrap-function):
Remove spacial case for `isearch-word'.
(reftex-isearch-isearch-search): Use `isearch-search-fun-default'.

Fixes: debbugs:11381
2012-05-29 12:09:38 +03:00
Juri Linkov
a0a79cde7c Move word search functions from search.c to isearch.el (bug#10145, bug#11381).
* lisp/isearch.el (word-search-regexp, word-search-backward)
(word-search-forward, word-search-backward-lax)
(word-search-forward-lax): Move functions from search.c.

* src/search.c (Fword_search_regexp, Fword_search_backward)
(Fword_search_forward, Fword_search_backward_lax)
(Fword_search_forward_lax): Move functions to isearch.el.
2012-05-17 03:03:49 +03:00
Juri Linkov
0bd1e07406 * lisp/isearch.el (isearch-occur): Sync interactive spec with occur's
new feature in `occur-read-primary-args'.  Doc fix. 

* etc/NEWS: Add new "collect" feature of `occur'.

Fixes: debbugs:10705
2012-02-23 02:36:49 +02:00
Glenn Morris
987a0a161a * lisp/isearch.el (isearch-update): Doc fix. 2012-02-03 21:10:22 -05:00
Glenn Morris
0e6038be96 * lisp/isearch.el (search-nonincremental-instead): Fix doc typo. 2012-01-17 17:33:05 -05:00
Glenn Morris
acaf905b11 Add 2012 to FSF copyright years for Emacs files 2012-01-05 01:46:05 -08:00
Eli Zaretskii
dd782f24e5 Fix commentary for the last commit. 2011-12-02 12:37:53 +02:00
Eli Zaretskii
66e0570cde Fix part 3 of bug #10183 with input-method prompt in I-search.
lisp/isearch.el (isearch-message-prefix): Run the input method part
 of the prompt through bidi-string-mark-left-to-right.
2011-12-02 12:35:17 +02:00
Juri Linkov
02b16839f5 Change wordify' to word-search-regexp'.
* lisp/isearch.el (isearch-occur): Use `word-search-regexp' for
`isearch-word'.
(isearch-search-and-update): Add condition for `isearch-word' and
call `word-search-regexp'. 

* src/search.c (Fword_search_regexp): New Lisp function created from
`wordify'.  Change type of arg `lax' from `int' to `Lisp_Object'.
(Fword_search_backward, Fword_search_forward)
(Fword_search_backward_lax, Fword_search_forward_lax):
Use `Fword_search_regexp' instead of `wordify'.  Doc fix.
(syms_of_search): Define `Sword_search_regexp'.

Fixes: debbugs:10145
2011-12-02 12:19:49 +02:00
Stefan Monnier
c935221f0b * lisp/isearch.el (isearch-yank-x-selection): Deactivate mark.
Fixes: debbugs:10022
2011-11-29 13:39:16 -05:00
Paul Eggert
e9a452d9cd Spelling fixes (mostly "inactive" vs "deactivate"). 2011-11-27 10:17:40 -08:00
Juri Linkov
30c621331d * lisp/isearch.el (isearch-lazy-highlight-new-loop):
Remove condition `(not isearch-error)'. 

* lisp/misearch.el (multi-isearch-search-fun): Add condition
`(not bound)' to ignore lazy-highlighting search.
Add the search-failed message "end of multi" when the end of
multi-sequence is reached.  Uncapitalize the search-failed
message "Repeat for next buffer".

* lisp/info.el (Info-search): Add the search-failed message
"end of the manual" when the end of the manual is reached
in Isearch mode.

Fixes: debbugs:9918
2011-11-19 23:03:12 +02:00
Juri Linkov
df754f6672 * lisp/isearch.el (isearch-edit-string): Let-bind `history-add-new-input'
to nil instead of binding `search-ring' and `regexp-search-ring'.

Fixes: debbugs:9185
2011-11-19 21:59:37 +02:00
Juanma Barranquero
c701515351 Fix typos. 2011-11-15 18:37:37 +01:00
Paul Eggert
91af3942e9 Spelling fixes. 2011-11-14 15:59:56 -08:00
Chong Yidong
2d197ffbe2 Rename split-window-{above-each-other|split-window-side-by-side}
to split-window-below and split-window-right.

* lisp/window.el (split-window-below, split-window-right): Rename from
split-window-above-each-other and split-window-side-by-side
respectively.  All callers changed.
(split-window-sensibly, split-window-sensibly): Use them.
(split-window-keep-point): Doc fix.

* lisp/isearch.el: Add isearch-scroll property to split-window-below
and split-window-right.

* lisp/follow.el (follow-mode):
* lisp/vc/pcvs-util.el (cvs-pop-to-buffer-same-frame):
* lisp/progmodes/ada-xref.el (ada-gdb-application):
* lisp/emulation/vip.el (vip-buffer-in-two-windows):
* lisp/image-dired.el (image-dired-dired-with-window-configuration):
* lisp/dired-x.el (dired-do-find-marked-files):
* lisp/dired.el (dired-pop-to-buffer):
* lisp/bs.el (bs--show-with-configuration):
* lisp/vc/emerge.el (emerge-setup-windows):
* lisp/textmodes/two-column.el (2C-two-columns):
* lisp/textmodes/reftex-toc.el (reftex-toc):
* lisp/progmodes/gdb-mi.el (gdb-setup-windows):
* lisp/progmodes/fortran.el (fortran-window-create):
* lisp/net/newst-treeview.el (newsticker--treeview-window-init):
* lisp/emulation/ws-mode.el (wordstar-C-o-map, wordstar-mode):
* lisp/emulation/tpu-edt.el (tpu-gold-map):
* lisp/emulation/crisp.el (crisp-mode-map):
* lisp/calendar/calendar.el (calendar-basic-setup): Callers changed.
2011-10-30 09:56:03 +08:00
Juri Linkov
db2440b6cc * lisp/isearch.el (isearch-occur): Let-bind `search-spaces-regexp' to
`search-whitespace-regexp' only when `isearch-regexp' is non-nil.

Fixes: debbugs:9364
2011-10-24 08:56:04 +03:00
Juri Linkov
7ce7717b87 * lisp/isearch.el (isearch-lazy-highlight-word): New variable.
(isearch-lazy-highlight-new-loop, isearch-lazy-highlight-search):
Use it.

Fixes: debbugs:9727
2011-10-11 18:00:42 +03:00
Juri Linkov
80302a817e Preserve current isearch case-fold value in `isearch-edit-string'.
* lisp/isearch.el (isearch-edit-string): Bind `isearch-new-case-fold'
to `isearch-case-fold-search' and restore its original value
after the `isearch-mode' call.
2011-09-18 23:28:45 +03:00
Juri Linkov
7277997612 Share code between isearch-message' and isearch-string' in `isearch-fail-pos'.
http://lists.gnu.org/archive/html/emacs-devel/2011-09/msg00169.html

* lisp/isearch.el (isearch-fail-pos): Add new arg `msg'.  Doc fix.
(isearch-edit-string): Use length of `isearch-string' when
`isearch-fail-pos' returns nil.
(isearch-message): Remove duplicate code and call
`isearch-fail-pos' with arg `t'.
2011-09-14 19:07:42 +03:00
Juri Linkov
251730002e Fix docstrings in lisp/isearch.el.
* lisp/isearch.el (isearch-edit-string): Remove obsolete mention of
`C-w' (`isearch-yank-word-or-char') from docstring.
(isearch-query-replace): Fix typo in docstring.

Fixes: debbugs:9466
2011-09-10 14:33:38 +03:00
Alan Mackenzie
d809b8eb5e isearch.el (isearch-other-meta-char): Wherever a key list is unread,
"unread" the prefix arg, too.  This fixes bug #8901.
2011-09-06 01:01:46 +00:00
Juri Linkov
9a45d6c331 * lisp/isearch.el (isearch-done): Don't display message "Mark saved"
when arg `edit' is non-nil to prevent its flicker in the echo area.
2011-08-29 23:22:44 +03:00
Juri Linkov
3e8cd5ce95 * lisp/isearch.el (isearch-occur): Let-bind `search-spaces-regexp' to
`search-whitespace-regexp'.

Fixes: debbugs:9364
2011-08-25 23:48:45 +03:00
Juri Linkov
93eb711326 * lisp/isearch.el (isearch-edit-string): Let-bind `search-ring' and
`regexp-search-ring' to their global values to protect from
updating by `read-from-minibuffer'.

Fixes: debbugs:9185
2011-08-25 23:32:54 +03:00
Juri Linkov
11dcdbb283 "C-s M-p" brings the tip of the search ring.
* lisp/isearch.el (isearch-ring-adjust1): Start visiting previous
search strings from the index 0 (-1 + 1) instead of 1 (0 + 1).
(isearch-repeat, isearch-edit-string): Call `isearch-ring-adjust1'
for empty search string (when the last search string is reused
automatically) to adjust the isearch ring to the last element and
prepare the correct index for further M-p commands.

Fixes: debbugs:9185
2011-08-24 12:40:58 +03:00
Lars Magne Ingebrigtsen
478615cc10 Doc fix.
* isearch.el (isearch-barrier): Add a doc string, since it's
mentioned in a function doc string.

Fixes: debbugs:8678
2011-07-15 15:33:07 +02:00
Lars Magne Ingebrigtsen
f158badc8f * isearch.el (isearch-search-fun-function): Clarify further the
meaning of the function returned.
2011-07-04 14:15:16 +02:00
Lars Magne Ingebrigtsen
c7f9804877 * isearch.el (isearch-search-fun-function): Clarify the doc string
(bug#8101).
2011-07-03 22:02:14 +02:00
Drew Adams
b74aa22b0a * lisp/isearch.el: Let M-e start with point at the first mismatched char.
(isearch-fail-pos): New function.
(isearch-edit-string): Use it.
2011-05-27 22:26:53 -03:00
Dmitry Kurochkin
66e2e71d55 * lisp/isearch.el (isearch-range-invisible): Use invisible-p.
Fixes: debbugs:8721
2011-05-27 22:14:38 -03:00
Dmitry Kurochkin
4d90d6d078 * lisp/isearch.el (isearch-range-invisible): Use invisible-p.
Fixes: debbugs:8721
2011-05-24 15:15:07 -03:00
Leo Liu
256661260d New command isearch-yank-pop and bind it to `M-y' in Isearch 2011-05-03 11:34:26 +08:00
Juanma Barranquero
06b605171f lisp/*.el: Lexical-binding cleanup. 2011-04-19 15:44:55 +02:00
Chong Yidong
892777baa1 Bind C-y in Isearch to isearch-yank-kill.
* lisp/isearch.el (isearch-mode-map): Bind C-y to isearch-yank-kill,
and move isearch-yank-line to M-s C-e.

* doc/emacs/search.texi (Isearch Yank): C-y now bound to isearch-yank-kill.
2011-03-06 13:24:11 -05:00
Glenn Morris
95df8112a0 Refill some long/short copyright headers. 2011-01-26 00:36:39 -08:00
Glenn Morris
73b0cd5003 Convert consecutive FSF copyright years to ranges. 2011-01-24 20:08:28 -08:00
Juri Linkov
d4119912fb * lisp/isearch.el (isearch-abort): Don't quit if search has
an incomplete regexp (isearch-error is non-nil).  (Bug#7534)
2011-01-16 01:04:22 +00:00
Glenn Morris
0d9f702fd0 Nuke arch-tags. 2011-01-15 15:16:57 -08:00