1
Fork 0
mirror of git://git.sv.gnu.org/emacs.git synced 2026-03-15 19:31:29 -07:00
Commit graph

594 commits

Author SHA1 Message Date
Artur Malabarba
4d82aa3abd * lisp/isearch.el (search-default-regexp-mode): change default value 2015-11-10 13:04:31 +00:00
Artur Malabarba
25be5df44a * lisp/isearch.el: Avoid an error that blocks isearch
(isearch-update): Don't error if `isearch--current-buffer' has
been killed.

* test/automated/isearch-tests.el (isearch--test-update): New
file.
2015-10-30 11:08:57 +00:00
Artur Malabarba
42eb249ebd * lisp/isearch.el: Delete some outdated comments 2015-10-29 00:22:50 +00:00
Artur Malabarba
faace42f8a * lisp/isearch.el: Refactor momentary messages
(isearch--momentary-message): New function.
(isearch-toggle-lax-whitespace, isearch-toggle-case-fold)
(isearch-toggle-invisible): Use it.
2015-10-28 15:10:08 +00:00
Artur Malabarba
12c0edb755 * lisp/isearch.el: Define all toggles with `isearch-define-mode-toggle'
(isearch-define-mode-toggle): New macro.
(isearch-toggle-invisible): Renamed to
`isearch-define-mode-toggle'.
(isearch-toggle-case-fold, isearch-toggle-invisible)
(isearch-toggle-regexp, isearch-toggle-lax-whitespace): Define
with `isearch-define-mode-toggle'.
2015-10-28 15:10:08 +00:00
Artur Malabarba
3cdeda60c5 * lisp/isearch.el (search-default-regexp-mode): Revert to nil
Character-fold search _still_ doesn't play well with
lax-whitespace.  So disable it by default (again) for now.
2015-10-26 01:38:48 +00:00
Artur Malabarba
6b5fdca716 * lisp/isearch.el: No visual feedback for default search mode
During an isearch where character-folding is the default, we don't
want to take up minibuffer space just to tell the user that
"Char-fold " is on.  The same goes for other modes, if the user
changes the default.  In contrast, if the user toggles OFF the
default mode, they should see "Literal", to distinguish it from
the default mode.

(isearch--describe-regexp-mode): Return "" if describing the
default mode, and return "literal " if describing a plain search
and it is not default.
2015-10-26 00:51:02 +00:00
Artur Malabarba
816f78c2e8 * lisp/isearch.el: Make character-fold search the default again 2015-10-25 01:11:59 +00:00
Artur Malabarba
c5f9ccfce2 * lisp/isearch.el: Generalize definition of regexp-function toggles
(isearch-specify-regexp-function): New macro for specifying
possible values of `isearch-regexp-function'.

(isearch-toggle-character-fold, isearch-toggle-symbol)
(isearch-toggle-word): Define with `isearch-specify-regexp-function'.
2015-10-25 01:11:59 +00:00
Artur Malabarba
cfd9ef52b2 * lisp/isearch.el (search-default-regexp-mode): New variable
(isearch-mode): Use it.
2015-10-25 01:11:21 +00:00
Artur Malabarba
fa647ecdf2 * lisp/isearch.el: Delete redundant :group entries
(search-exit-option, search-slow-window-lines)
(search-slow-speed, search-upper-case)
(search-nonincremental-instead, search-whitespace-regexp)
(search-invisible, isearch-hide-immediately)
(isearch-resume-in-command-history, search-ring-max)
(regexp-search-ring-max, search-ring-update, search-highlight)
(isearch-fail): Delete :group entries.
2015-10-25 01:53:46 +01:00
Artur Malabarba
e5ece3229d * lisp/isearch.el (isearch-search-fun-default): Simplify logic
(isearch--lax-regexp-function-p): New function.
2015-10-21 17:35:58 +01:00
Artur Malabarba
19fada58e2 * lisp/isearch.el: Support lax-whitespace in regexp-function searches
(isearch-search-fun-default): Let-bind `search-spaces-regexp'
around `isearch-regexp-function'.
2015-10-21 17:17:04 +01:00
Artur Malabarba
ab65b33f8c * lisp/isearch.el: Rename word search to regexp-function search
`isearch-word' went well beyond its original purpose, and the name
no longer makes sense.  It is now called
`isearch-regexp-function', and it's value should always be a
function that converts a string to a regexp (though setting it to
t is still supported for now).

(isearch-word): Make obsolete.
(isearch-regexp-function): New variable.
(isearch-mode, isearch-done, isearch--state, isearch--set-state)
(with-isearch-suspended, isearch-toggle-regexp)
(isearch-toggle-word, isearch-toggle-symbol)
(isearch-toggle-character-fold, isearch-query-replace)
(isearch-occur, isearch-highlight-regexp)
(isearch-search-and-update, isearch-message-prefix)
(isearch-search-fun-default, isearch-search)
(isearch-lazy-highlight-new-loop, isearch-lazy-highlight-search):
Use it.
(isearch-lazy-highlight-regexp-function): New var.
(isearch-lazy-highlight-word): Make obsolete.
(isearch--describe-regexp-mode): New function.
(isearch--describe-word-mode): Make obsolete.

* lisp/info.el (Info-isearch-search): Use the new var.

* lisp/replace.el (replace-search, replace-highlight): Use the new
var.

* lisp/obsolete/longlines.el (longlines-search-function): Use the
new var.

* lisp/hexl.el (hexl-isearch-search-function): Use the new var.

* lisp/cedet/semantic/senator.el (senator-isearch-search-fun): Use
the new var.
2015-10-21 17:11:09 +01:00
Rüdiger Sonderfeld
8307c06e1b isearch: Document character folding mode.
* isearch.el (isearch-forward): Mention `isearch-toggle-character-fold'
in docstring.
2015-08-31 23:51:46 +01:00
Artur Malabarba
7eed739935 * isearch.el (isearch-search-fun-default): Revert a5bdb87
Remove usage of `isearch-lax-whitespace' inside the `iearch-word'
clause of `isearch-search-fun-default'. That lax variable does not
refer to lax-whitespacing.  Related to (bug#21777).
This reverts commit a5bdb872ed.

* character-fold.el (character-fold-search): Set to nil
Default to nil for now, until someone implements proper
lax-whitespacing with char-fold searching.
2015-08-19 11:45:49 +01:00
Artur Malabarba
a5bdb872ed * isearch.el (isearch-search-fun-default): (Bug#21164)
Respect `isearch-lax-whitespace' when searching through
`isearch-word'.
2015-08-09 09:57:05 +01:00
Daniel Colascione
4fff58dd1e Factor isearch word description into new function
* lisp/isearch.el (isearch--describe-word-mode): New function.
(isearch-message-prefix, isearch-query-replace): Use it.
2015-07-04 17:10:55 -07:00
Artur Malabarba
881c479026 * lisp/isearch.el (isearch-toggle-word): Fix toggle 2015-06-30 15:33:39 +01:00
Katsumi Yamaoka
3fa319bd84 * lisp/isearch.el (isearch-exit): Don't call isearch-done twice (bug#20925). 2015-06-29 23:13:45 +00:00
Artur Malabarba
eac1271ae9 * lisp/isearch.el (isearch-mode): Don't char-fold regexps
(bug#20913)
2015-06-28 09:21:15 +01:00
Artur Malabarba
795c918916 * lisp/character-fold.el: New file (Bug#20887)
(character-fold-to-regexp): New function.

* lisp/replace.el (replace-search): Check value of
`character-fold-search'.

* lisp/isearch.el: Move character-folding code to
character-fold.el
(isearch-toggle-character-fold): New command.
(isearch-mode-map): Bind it to "\M-sf".
(isearch-mode): Check value of `character-fold-search'.
2015-06-24 23:02:01 +01:00
Artur Malabarba
c7a19e0c80 * lisp/isearch.el: Fold many unicode characters to ASCII
(isearch-character-fold-search, isearch--character-fold-extras)
(isearch--character-fold-table): New variable.
(isearch--character-folded-regexp): New function.
(isearch-search-fun-default): Use them.

* lisp/replace.el (replace-character-fold): New variable.
(replace-search): Use it.

* etc/NEWS: Document it.
2015-06-23 20:09:06 +01:00
Stefan Monnier
a06426f76c * lisp/isearch.el (isearch--current-buffer): Give a default value. 2015-05-27 22:43:08 -04:00
Stefan Monnier
f655987d63 Un-revert changes mistakenly dropped by f9fabb2b 2015-05-27 22:42:33 -04:00
Stefan Monnier
f2f5a39c6d * lisp/isearch.el (isearch-mode-map): Allow backspace remapping
* lisp/isearch.el (isearch-mode-map): Don't inhibit
function-key-map remapping for backspace (bug#20466).
2015-05-01 17:11:19 -04:00
Glenn Morris
4594f894e6 Replace an obsolete function alias
* lisp/isearch.el (isearch-yank-x-selection):
* lisp/mouse-copy.el (mouse-drag-secondary-pasting)
(mouse-drag-secondary-moving):
* lisp/obsolete/mouse-sel.el (mouse-sel-get-selection-function):
Replace obsolete alias x-get-selection with gui-get-selection.
2015-04-28 23:40:27 -07:00
Stefan Monnier
84e0b7dad6 Deprecate intangible' and point-entered' properties
* lisp/emacs-lisp/cursor-sensor.el: New file.

* lisp/simple.el (pre-redisplay-functions): New hook.
(redisplay--pre-redisplay-functions): New function.
(pre-redisplay-function): Use it.
(minibuffer-avoid-prompt): Mark obsolete.
(redisplay--update-region-highlight): Adapt it to work as a function on
pre-redisplay-functions.

* lisp/cus-start.el (minibuffer-prompt-properties--setter): New fun.
(minibuffer-prompt-properties): Use it.  Use cursor-intangible rather
than point-entered to make the prompt intangible.

* lisp/forms.el: Move `provide' calls to the end.
(forms-mode): Don't use `run-hooks' on a local var.
(forms--make-format, forms--make-format-elt-using-text-properties):
Use cursor-intangible rather than `intangible'.
(forms-mode): Enable cursor-intangible-mode.

* lisp/isearch.el (isearch-mode): Use defvar-local.
(cursor-sensor-inhibit): Declare.
(isearch-mode): Set cursor-sensor-inhibit.
(isearch-done): Set it back.
(isearch-open-overlay-temporary, isearch-open-necessary-overlays)
(isearch-close-unnecessary-overlays): Don't bother with `intangible'
any more.

* lisp/ses.el (ses-localvars): Remove `mode-line-process'.
(ses-sym-rowcol, ses-cell-value, ses-col-width, ses-col-printer):
Add Edebug spec.
(ses-goto-print, ses-print-cell, ses-adjust-print-width)
(ses-goto-data, ses-setup, ses-copy-region): Don't let-bind
inhibit-point-motion-hooks any more.
(ses--cell-at-pos, ses--curcell): New functions, extracted from
ses-set-curcell.
(ses-set-curcell): Use them.
(ses-print-cell, ses-setup): Use cursor-intangible instead of
`intangible'.  Make sure cursor-intangible isn't sticky at BOB.
(ses-print-cell-new-width, ses-reprint-all, ses-recalculate-all):
Use ses--cell-at-pos.
(ses--mode-line-process, ses--cursor-sensor-highlight): New functions,
extracted from ses-command-hook.  Make them work with multiple windows
displaying the same buffer.
(ses-mode): Use them via mode-line-process and pre-redisplay-functions.
Enable cursor-intangible-mode.
(ses-command-hook): Remove cell highlight and mode-line update code.
(ses-forward-or-insert, ses-copy-region-helper, ses-sort-column):
Update for new name of text-property holding the cell name.
(ses-rename-cell): Don't mess with mode-line-process.

* lisp/erc/erc-stamp.el (erc-add-timestamp): Use the new
cursor-sensor-functions property instead of point-entered.
(erc-insert-timestamp-right, erc-format-timestamp):
Use cursor-intangible rather than `intangible'.
(erc-munge-invisibility-spec): Use add-to-invisibility-spec and
remove-from-invisibility-spec.  Enable cursor-intangible-mode and
cursor-sensor-mode if needed.
(erc-echo-timestamp): Adapt to calling convention of
cursor-sensor-functions.
(erc-insert-timestamp-right): Remove unused vars `current-window' and
`indent'.

* lisp/gnus/gnus-group.el (gnus-tmp-*): Declare.
(gnus-update-group-mark-positions): Remove unused `topic' var.
(gnus-group-insert-group-line): Remove unused var `header'.
(gnus-group--setup-tool-bar-update): New function.
(gnus-group-insert-group-line): Use it.
(gnus-group-update-eval-form): Declare local
dynamically-bound variables.
(gnus-group-unsubscribe-group): Use \` and \' to match string bounds.

* lisp/gnus/gnus-topic.el (gnus-topic-jump-to-topic)
(gnus-group-prepare-topics, gnus-topic-update-topic)
(gnus-topic-change-level, gnus-topic-catchup-articles)
(gnus-topic-remove-group, gnus-topic-delete, gnus-topic-indent):
Use inhibit-read-only.
(gnus-topic-prepare-topic): Use gnus-group--setup-tool-bar-update.
(gnus-topic-mode): Use define-minor-mode and derived-mode-p.

* lisp/textmodes/reftex-index.el (reftex-display-index):
Use cursor-intangible-mode if available.
(reftex-index-post-command-hook): Check cursor-intangible.

* lisp/textmodes/reftex-toc.el (reftex-toc):
Use cursor-intangible-mode if available.
(reftex-toc-recenter, reftex-toc-post-command-hook):
Check cursor-intangible.

* lisp/textmodes/sgml-mode.el: Use lexical-binding.
(sgml-tag): Use cursor-sensor-functions instead of point-entered.
(sgml-tags-invisible): Use with-silent-modifications and
inhibit-read-only.  Enable cursor-sensor-mode.
(sgml-cursor-sensor): Rename from sgml-point-entered and adjust to
calling convention of cursor-sensor-functions.

* lisp/textmodes/table.el (table-cell-map-hook, table-load-hook)
(table-point-entered-cell-hook, table-point-left-cell-hook):
Don't autoload.
(table-cell-entered-state): Remove var.
(table--put-cell-point-entered/left-property)
(table--remove-cell-properties):
Use cursor-sensor-functions rather than point-entered/left.
(table--point-entered/left-cell-function): Merge
table--point-entered-cell-function and table--point-left-cell-function
and adjust to calling convention of cursor-sensor-functions.
2015-04-13 15:51:15 -04:00
Artur Malabarba
98715c6c24 isearch.el (isearch-process-search-char): Add docstring. 2015-01-27 11:39:27 -02:00
Paul Eggert
7e09ef09a4 Update copyright year to 2015
Run admin/update-copyright.
2015-01-01 14:26:41 -08:00
Juri Linkov
10ec0468df Lazy-highlight the whole string at point
* lisp/isearch.el (isearch-lazy-highlight-search): Extend the bound of
the wrapped search by the length of the search string to be able
to lazy-highlight the whole search string at point.

Fixes: debbugs:19353
2014-12-16 01:45:12 +02:00
Nicolas Richard
30f603836c isearch-open-necessary-overlays: Open overlay ending at point
* lisp/isearch.el (isearch-open-necessary-overlays): Open overlay
ending at point (bug#19333).
2014-12-13 17:13:01 +01:00
Eli Zaretskii
9faf591a66 Fix bug #19157 with incorrect hscroll during I-search.
lisp/isearch.el (isearch-update): Don't assume
 pos-visible-in-window-p will return nil when point is hscrolled
 out of view.
2014-11-24 15:32:14 +02:00
Juri Linkov
d3dba954b3 * lisp/isearch.el (isearch-message-prefix): Show "Multi-file" and
"Multi-buffer" instead of "Multi".

* lisp/misearch.el (multi-isearch-file-list): Autoload
multi-isearch-buffer-list and multi-isearch-file-list.
(multi-isearch-end): Reset multi-isearch-buffer-list and
multi-isearch-file-list to nil.

* doc/emacs/search.texi (Other Repeating Search): Add documentation for
multi-isearch-files and multi-isearch-files-regexp.

Fixes: debbugs:13592
2014-11-09 21:19:54 +02:00
Juri Linkov
2b513c3b1c * lisp/replace.el: History for query replace pairs.
(query-replace-defaults): Promote to a list of cons cell.  Doc fix.
(query-replace-from-to-separator): New variable.
(query-replace-read-from): Let-bind query-replace-from-to-history
to a list of FROM-TO strings created from query-replace-defaults
and separated by query-replace-from-to-separator.  Use it as
the history while reading from the minibuffer.  Split the returned
string by the separator to get FROM and TO parts, and add them
to the history variables.
(query-replace-read-to): Add FROM-TO pairs to query-replace-defaults.
(query-replace-regexp-eval): Let-bind query-replace-defaults to nil.
http://lists.gnu.org/archive/html/emacs-devel/2014-11/msg00253.html

* lisp/isearch.el (isearch-text-char-description): Keep characters
intact and put formatted strings with the `display' property.
2014-11-08 01:33:41 +02:00
Lars Ljung
bcbaf6b7be * lisp/isearch.el (isearch-yank-word-or-char): Obey superword-mode
as well.

Fixes: debbugs:18400
2014-09-04 12:14:26 -04:00
Glenn Morris
2501c91259 Some doc related to search-invisible and query replace
* doc/emacs/search.texi (Query Replace): Mention search-invisible.

* doc/emacs/text.texi (Outline Visibility): Mention search-invisible
also affects query-replace.

* lisp/isearch.el (search-invisible): Doc fix.

* etc/NEWS: Related markup.
2014-02-28 18:48:54 -08:00
Glenn Morris
4d49cc6547 Some doc for search-invisible
* doc/emacs/search.texi (Special Isearch): Mention invisible text.

* lisp/isearch.el (search-invisible): Doc fix.

* etc/NEWS: Related edit.
2014-02-20 00:14:20 -08:00
Glenn Morris
34dc21db6e Replace "Maintainer: FSF" with the emacs-devel mailing address 2014-02-09 17:34:22 -08:00
Juri Linkov
2423c8d576 * lisp/isearch.el (isearch-quote-char): Check character validity like in `quoted-insert'.
Fixes: debbugs:16677
2014-02-08 12:20:45 +02:00
Lars Ingebrigtsen
9165ffc0f0 * isearch.el (isearch-cmds): Doc clarification.
Fixes: debbugs:15547
2014-02-07 22:56:18 -08:00
Lars Ingebrigtsen
c96411bdad * isearch.el (isearch-filter-predicate): Documentation typo fix
Fixes: debbugs:15474
2014-02-07 20:14:16 -08:00
Lars Ingebrigtsen
0d8a4ae73c * isearch.el (isearch-cmds): Doc clarification.
Fixes: debbugs:15547
2014-02-07 20:02:37 -08:00
Juri Linkov
e4f74da9f4 * lisp/isearch.el (isearch-mode-map): Bind [return] and [backspace] to
isearch-exit and isearch-delete-char resp.  (Bug#16342, bug#16035)

* lisp/progmodes/ps-mode.el (ps-mode-map): Remove [return] key binding
that shadows RET.
2014-01-07 09:55:50 +02:00
Chong Yidong
de7ce2d169 More doc updates.
* doc/emacs/search.texi (Special Isearch): Document C-x 8 RET in isearch.
(Word Search): Document incremental word search changes.
(Isearch Yank): Document M-s C-e with a prefix argument.

* doc/lispref/files.texi (Changing Files): Document copy-file changes.

* lisp/isearch.el (isearch-yank-char, isearch-yank-word)
(isearch-yank-line): Doc fix.
2014-01-07 12:36:52 +08:00
Paul Eggert
ba3189039a Update copyright year to 2014 by running admin/update-copyright. 2014-01-01 07:43:34 +00:00
Chong Yidong
8cd22a0818 Rename set-temporary-overlay-map -> set-transient-map
* lisp/subr.el (set-transient-map): Rename from
set-temporary-overlay-map.  Doc fix.

* lisp/face-remap.el (text-scale-adjust):
* lisp/indent.el (indent-rigidly):
* lisp/kmacro.el (kmacro-call-macro):
* lisp/minibuffer.el (minibuffer-force-complete):
* lisp/repeat.el (repeat):
* lisp/simple.el (universal-argument--mode):
* lisp/calendar/todo-mode.el (todo-insert-item--next-param):
* lisp/progmodes/f90.el (f90-abbrev-start): Callers changed.

* lisp/org/org.el (orgstruct-make-binding): Call set-transient-map
instead of old name set-temporary-overlay-map.

* doc/lispref/keymaps.texi (Controlling Active Maps): Renamed
set-temporary-overlay-map to set-transient map.  Doc fixes.
(Searching Keymaps): The transient keymap takes precedence.
2013-12-23 11:59:10 +08:00
Juri Linkov
50ab1da6d6 * lisp/isearch.el (isearch-mode-map): Bind M-s e' to isearch-edit-string'.
Put :advertised-binding on `M-s c', `M-s r', `M-s e'.  (Bug#16035)
(minibuffer-history-symbol): Move variable declaration closer to
its usage.

* lisp/isearchb.el (isearchb): Add `event-basic-type' on `last-command-event'.
(Bug#14785)

* lisp/gnus/gnus.el (gnus-suppress-keymap):
* lisp/gnus/gnus-art.el (gnus-article-mode-map):
* lisp/gnus/gnus-group.el (gnus-group-mode-map):
* lisp/gnus/gnus-sum.el (gnus-summary-mode-map, gnus-summary-backend-map):
Remove [backspace] key binding because it shadows DEL (bug#16035).

* lisp/gnus/mm-decode.el (mm-viewer-completion-map): Remove duplicate definition.
2013-12-20 00:12:12 +02:00
Juri Linkov
3ee4cd6482 query-replace backward
* lisp/replace.el (query-replace-read-args): Split a non-negative arg
and a negative arg into separate elements.
(query-replace, query-replace-regexp, replace-string)
(replace-regexp): Add arg `backward'.  Doc fix.
(replace-match-maybe-edit): When new arg `backward' is non-nil,
move point to the beginning of the match.
(replace-search, replace-highlight): Use new arg `backward'
to set the value of `isearch-forward'.
(perform-replace): Add arg `backward' and use it to perform
replacement backward. 

* lisp/isearch.el (isearch-query-replace): Use a negative prefix arg
to call `perform-replace' with a non-nil arg `backward'.

Fixes: debbugs:14979
2013-12-19 02:29:41 +02:00
Juri Linkov
2178e8589a * lisp/isearch.el (isearch-mode-map): Remove [escape] key bindinds.
(isearch-pre-command-hook): Check `this-command' for symbolp.

Fixes: debbugs:16035
2013-12-16 22:32:15 +02:00