1
0
mirror of https://git.savannah.gnu.org/git/emacs.git synced 2025-02-04 20:27:45 +00:00

647 Commits

Author SHA1 Message Date
Eli Zaretskii
e592b92482 * lisp/isearch.el (search-invisible): Doc fix. (Bug#29222) 2017-11-10 12:05:08 +02:00
Paul Eggert
bc511a64f6 Prefer HTTPS to FTP and HTTP in documentation
Most of this change is to boilerplate commentary such as license URLs.
This change was prompted by ftp://ftp.gnu.org's going-away party,
planned for November.  Change these FTP URLs to https://ftp.gnu.org
instead.  Make similar changes for URLs to other organizations moving
away from FTP.  Also, change HTTP to HTTPS for URLs to gnu.org and
fsf.org when this works, as this will further help defend against
man-in-the-middle attacks (for this part I omitted the MS-DOS and
MS-Windows sources and the test tarballs to keep the workload down).
HTTPS is not fully working to lists.gnu.org so I left those URLs alone
for now.
2017-09-13 15:54:37 -07:00
Alexander Gramiak
404273aeac Limit scope of local overriding-terminal-local-map
The function `binding' may call isearch-done, which globally sets
overriding-terminal-local-map to nil (Bug#23007).
* lisp/isearch.el (isearch-mouse-2): Don't bind
overriding-terminal-local-map around the call to `binding'.
2017-06-01 17:56:14 -04:00
Juri Linkov
cd191c8034 * lisp/isearch.el (lazy-highlight-max-at-a-time): Doc fix (bug#21092). 2017-02-22 02:16:06 +02:00
Juri Linkov
c5e66afa88 * lisp/isearch.el (isearch-lazy-highlight): New choice ‘all-windows’.
(isearch-lazy-highlight-update): Check it to decide whether to apply
overlays only on the selected window.

* lisp/follow.el (follow-mode): Set isearch-lazy-highlight to ‘all-windows’.
(Bug#17453, bug#21092)
2017-02-22 02:10:36 +02:00
Juri Linkov
f2191691d4 Avoid flicker in lazy-highlight by doing all updates without redisplay.
* lisp/isearch.el (lazy-highlight-max-at-a-time):
Change default value from 20 to nil to not trigger redisplay
between updating iterations.
(lazy-highlight-cleanup): New arg ‘procrastinate’ to not remove
overlays when non-nil.
(isearch-lazy-highlight-new-loop): Call lazy-highlight-cleanup
with non-nil second arg when the search string is not empty.
Run timer with isearch-lazy-highlight-start instead of
isearch-lazy-highlight-update.
(isearch-lazy-highlight-start): New function. (Bug#25751)
2017-02-22 01:22:18 +02:00
Juri Linkov
4e23578127 ‘M-s w RET word C-s’ repeats incremental search.
* lisp/isearch.el (isearch-new-nonincremental): New variable.
(with-isearch-suspended): Bind isearch-new-nonincremental to
isearch-nonincremental, and restore it afterwards.
(isearch-forward-exit-minibuffer, isearch-reverse-exit-minibuffer):
Set isearch-new-nonincremental to nil.  (Bug#25562)
2017-02-15 01:28:15 +02:00
Juri Linkov
d825d1f28d * lisp/isearch.el (isearch-search-fun-default): Set isearch-adjusted
to t to display "Pending" in the search prompt for lax
word/symbol search (bug#25562).  Don't use lax for lazy-highlighting
when 'bound' is non-nil.
(word-search-regexp, isearch-symbol-regexp): Don't depend on lax
at the beginning of regexp (bug#22589).

* lisp/info.el (Info-isearch-search):
Use isearch--lax-regexp-function-p.

* doc/emacs/search.texi (Word Search, Symbol Search):
Mention "Pending" prompt for lax word/symbol search.
2017-02-10 00:35:22 +02:00
Noam Postavsky
69b9224a32 Fix isearch handling of C-u C-u...
* lisp/isearch.el: Add `isearch-scroll' property to
universal-argument-more so that `isearch-allow-scroll' will apply to it
as well.
(isearch-pre-command-hook): Let `isearch-allow-prefix' apply to
`universal-argument-more' as well (Bug#25302).
2017-01-05 20:20:42 -05:00
Paul Eggert
bcf244ef9b Merge from origin/emacs-25
2e2a806 Fix copyright years by hand
5badc81 Update copyright year to 2017
2017-01-01 01:10:47 -08:00
Paul Eggert
5badc81c1c Update copyright year to 2017
Run admin/update-copyright.
2016-12-31 19:42:26 -08:00
Damien Cassou
fd912a80cc * lisp/isearch.el: Add 'provide'. (Bug#25026) 2016-11-25 12:29:44 +02:00
Paul Eggert
acae275b27 ; Spelling fixes 2016-11-04 14:50:59 -07:00
Johan Bockgård
f52892fe01 isearch: Fix bug in defstruct syntax
* lisp/isearch.el (isearch--state): Use correct form of defstruct slot
options.  (Bug#24685)
2016-10-19 00:12:06 +02:00
Paul Eggert
46b83c0f08 Merge from origin/emacs-25
4f406e9 CC Mode manual: remove reference to former Emacs variable las...
44e402e Allow to disable compaction of font caches
4ff4b66 Allow selection of font for symbols as in Emacs 24.x
c03d44b ; Fix last commit
d4be4f3 ; Fix indexing in lispref manual
ed399f2 ; Minor improvement in documentation of generators
197a6bc Fix horizontal scrolling during Isearch
3566644 Fix infloop in redisplay due to truncated lines and invisible...

# Conflicts:
#	etc/NEWS
2016-10-10 07:39:05 -07:00
Eli Zaretskii
197a6bcc20 Fix horizontal scrolling during Isearch
* lisp/isearch.el (isearch-update): Compute the window's body
width in a way that is correct when there are no fringes.
(Bug#24584)
2016-10-08 12:35:17 +03:00
Noam Postavsky
623401267a Don't require isearch-update before isearch-done
It is useful to be able to call `isearch-done' unconditionally to
ensure a non-isearching state.

* lisp/isearch.el (isearch-done): Check that `isearch--current-buffer'
is a live buffer before using it (Bug #21091).
* test/lisp/isearch-tests.el (isearch--test-done): Test it.

(cherry picked from commit 68f4b5292781bc331b040105c4079902b993835c)
2016-10-02 12:27:33 -04:00
Mark Oteiza
cbb2e84518 Turn on more lexical-binding
* lisp/dom.el:
* lisp/faces.el:
* lisp/htmlfontify.el: Turn on lexical-binding.
(htmlfontify-string): Use pushnew instead of add-to-list.
* lisp/info-xref.el:
* lisp/isearch.el:
* lisp/man.el:
* lisp/ps-def.el:
* lisp/ps-print.el:
* lisp/replace.el: Turn on lexical-binding.  Require cl-lib at compile
time.
(multi-occur): Use cl-pushnew instead of add-to-list.
(replace-match-string-symbols): Remove unused lexical variable.
(replace-search, replace-highlight): Fix argument shadowing.
* lisp/sort.el:
* lisp/xml.el: Turn on lexical-binding.
(xml--parse-buffer): Use push instead of add-to-list.
* lisp/xt-mouse.el: Turn on lexical-binding.
2016-09-28 13:08:12 -04:00
Noam Postavsky
68f4b52927 Don't require isearch-update before isearch-done
It is useful to be able to call `isearch-done' unconditionally to
ensure a non-isearching state.

* lisp/isearch.el (isearch-done): Check that `isearch--current-buffer'
is a live buffer before using it (Bug #21091).
* test/lisp/isearch-tests.el (isearch--test-done): Test it.
2016-09-10 09:13:09 -04:00
Paul Eggert
6b780a2e97 Merge from origin/emacs-25
9ba51ed Document buffer-swap-text+save-excursion interaction
452aa94 Fix eieio vs cl-generic incompatibilities found in Rudel (bug...
248d5dd Include cl-generic in package--builtin-versions (bug#22817)
8f5a8b6 Improve timing in `tramp-test29-environment-variables'
05ba7a0 Add test for handling environment variables in Tramp
e393d4f * lisp/emacs-lisp/package.el (describe-package-1) (package-st...
5e38887 ; * lisp/net/tramp.el: Fix 2010-10-04 comment typo.  (Bug#23913)
90f2169 ; Spelling fixes
069fc05 Improve documentation of search functions
0a0144a Delete environment variables in Tramp when needed
f624671 Add "New in Emacs 25" section to the FAQ
658daf9 Fix 'vertical-motion' in non-interactive sessions
686b520 Fix memory leak in imagemagick-types
4069b71 Update ELisp manual to match 'string-collate-equalp' doc string
1b2d6a6 Clarify docstring of find-feature-regexp
aac62a6 Add details to cl-lib defining macros' docstrings
d6aa4da Clarify doc string of 'save-buffer'
03bcf11 Un-confuse doc string of 'string-collate-equalp'
c53135b Clarify documentation of 'mouse-on-link-p'

# Conflicts:
#	lisp/emacs-lisp/eieio-core.el
2016-08-05 14:09:08 -07:00
Paul Eggert
92e5b41c7c Spelling and minor grammar fixes
* test/file-organization.org: Rename from test/file-organisation.org.
2016-08-05 13:35:13 -07:00
Stephen Berman
069fc05bd5 Improve documentation of search functions
Make the documentation of the search functions more accurate,
complete, and uniform; in particular, extend the description of
the effect when the 'count' parameter is a negative number to all
of these functions.

* src/search.c (Fsearch_backward, Fsearch_forward)
(Fre_search_backward, Fre_search_forward)
(Fposix_search_backward, Fposix_search_forward):
* lisp/isearch.el (word-search-backward, word-search-forward)
(word-search-backward-lax, word-search-forward-lax): Improve doc
strings as described above.

* doc/lispref/searching.texi (String Search, Regexp Search)
(POSIX Regexps): Use 'count' instead of 'repeat' as the name of
the fourth parameter of the *-search-{forward,backward} functions
and improve documentation as described above.
2016-07-12 22:11:22 +02:00
Mark Oteiza
90d0833f24 Remove some more face aliases obsoleted in 22.1
* lisp/eshell/em-ls.el (eshell-ls-directory-face, eshell-ls-symlink-face,
eshell-ls-executable-face, eshell-ls-readonly-face,
eshell-ls-unreadable-face, eshell-ls-special-face,
eshell-ls-missing-face, eshell-ls-archive-face, eshell-ls-backup-face,
eshell-ls-product-face, eshell-ls-clutter-face): Remove.
* lisp/isearch.el (isearch-lazy-highlight-face, lazy-highlight-face): Remove.
(isearch-lazy-highlight-update): Use face symbol.
* lisp/net/sieve-mode.el (sieve-control-commands-face,
sieve-action-commands-face, sieve-test-commands-face,
sieve-tagged-arguments-face): Remove.
(sieve-font-lock-keywords): Use non-obsolete faces.
* lisp/progmodes/sh-script.el (sh-heredoc-face): Remove.
(sh-get-indent-info, sh-prev-line): Use face symbol.
* lisp/textmodes/tex-mode.el (tex-font-lock-keywords-1):
Use non-obsolete face.
(tex-math-face, tex-verbatim-face): Remove.
(tex-font-lock-syntactic-face-function): Use face symbols.
2016-06-23 18:48:12 -04:00
Tino Calancha
700afe62a4 isearch-edit-string resumes multi isearches
* lisp/isearch.el (with-isearch-suspended): Remember and restore
multi-isearch variables.  (Bug#21663)
2016-06-05 01:06:12 +03:00
Paul Eggert
869092c9ed Bring back xterm pasting with middle mouse
Problem reported by Jan Synáček.
Solution suggested by Stefan Monnier (Bug#23519).
* lisp/isearch.el (isearch-mode-map): Add a binding for xterm-paste.
(xterm--pasted-text): New decl.
(isearch-xterm-paste): New function.
* lisp/term/xterm.el (xterm--pasted-text): New function,
taken from xterm-paste internals.
(xterm-paste): Use it.
2016-05-22 13:39:30 -07:00
Juri Linkov
1fe1e0a8e7 * lisp/char-fold.el: Rename from character-fold.el.
* lisp/replace.el (replace-char-fold): Rename from replace-character-fold.
* test/automated/char-fold-tests.el: Rename from character-fold-tests.el.
http://lists.gnu.org/archive/html/emacs-devel/2015-12/msg00529.html
2016-05-17 23:55:38 +03:00
Juri Linkov
42fed3b8b9 * lisp/isearch.el (isearch-forward-symbol-at-point): Add isearch-push-state.
(Bug#23410)
2016-05-01 23:30:51 +03:00
Lars Ingebrigtsen
9f27bcf21a isearch-search-fun-function doc tweak
* lisp/isearch.el (isearch-search-fun-function): Mention what
the STRING parameter is (bug#21552).

(cherry picked from commit cafc2a5940cdc523cfea6dcf1cf540f48367c62a)
2016-05-01 19:27:16 +02:00
Leo Liu
16e5e8e4ea Fix last change to isearch-update (bug#23406)
* lisp/isearch.el (isearch-update): Remove (setq cursor-sensor-inhibit
  nil) ie remove the original (unless (boundp 'cursor-sensor-inhibit)
  ...) form.
2016-05-01 11:03:59 +08:00
Leo Liu
b755d988b4 Autoload cursor-sensor-inhibit (bug#23406)
* lisp/emacs-lisp/cursor-sensor.el (cursor-sensor-inhibit): Autoload.
* lisp/isearch.el (isearch-update): Remove boundp check.
2016-04-30 23:36:47 +08:00
Kaushal Modi
91e667692b Fix an Isearch var to be a string (Bug#23038)
* isearch.el (isearch--describe-regexp-mode): The `description' var
  needs to always be a string.  Add the missing default case for the
  cond form that ensures that.

Before this bug fix, for the events when `regexp-function' and
`search-default-mode' both were nil, `description' also stayed nil.  So
when `space-before' was non-nil, the "non-string" `description'
(with a value of nil) got passed as an argument to
`replace-regexp-in-string' (where a string was expected).  That caused
the error described in Bug#23038.
2016-03-22 01:05:24 +01:00
Kaushal Modi
0ce37eac45 Fix Isearch prompt when invoked with an argument
* lisp/isearch.el (isearch--describe-regexp-mode): With
`search-default-mode' set to nil, if user does C-u C-s, the minibuffer
now displays "Regexp I-search: " again.  But if the user has set
`search-default-mode' to t, and then does C-s, the minibuffer now
displays "I-search: " because the default search mode is now regexp
mode.  Comments have been added to explain the priority of conditions
in the `cond' form.  (Bug#22991)
2016-03-14 20:15:17 +02:00
John Wiegley
b417c5a3b3 Revert "Revert "Backport: * lisp/isearch.el: Turn char-folding off by default""
This reverts commit a91b4b51ddf2575d821adb8b84fdf32cff83886e.
2016-03-09 15:29:59 -08:00
Artur Malabarba
2e78353fab * lisp/isearch.el (isearch-define-mode-toggle): Fix toggling logic 2016-03-03 19:03:16 -03:00
Eli Zaretskii
a91b4b51dd Revert "Backport: * lisp/isearch.el: Turn char-folding off by default"
* lisp/isearch.el: Turn char-folding back oon by default.

This reverts commit 12c50e82c9b432b2fc31f8fb2215f43ceea80822.
2016-02-11 05:37:20 +02:00
Artur Malabarba
12c50e82c9 Backport: * lisp/isearch.el: Turn char-folding off by default
(search-default-mode): Set default value to nil.
2016-02-10 07:45:02 +00:00
Artur Malabarba
9ffe7ddd5e * lisp/isearch.el (isearch-define-mode-toggle): Improve logic 2016-02-06 22:58:24 +00:00
Artur Malabarba
3db6adb174 * lisp/isearch.el (search-default-mode)
(isearch-regexp-function): Improve docstrings.
2016-02-06 22:48:32 +00:00
Artur Malabarba
4ea1ea7c73 * lisp/isearch.el: Rename search-default-regexp-mode to search-default-mode
(search-default-mode): New variable.
(isearch-mode, isearch-define-mode-toggle)
(isearch--describe-regexp-mode): Update accordingly.
* lisp/menu-bar.el (nonincremental-search-forward): Update accordingly.
* etc/NEWS: Update accordingly.
* doc/emacs/search.texi: Update accordingly.
2016-02-06 22:48:32 +00:00
Eli Zaretskii
65575c24aa Fix doc string of 'isearch-search-fun-function'
* lisp/isearch.el (isearch-search-fun-function)
(isearch-search-string): Doc fixes.  (Bug#22411)
2016-01-20 15:09:09 +02:00
Paul Eggert
0e963201d0 Update copyright year to 2016
Run admin/update-copyright.
2016-01-01 01:34:24 -08:00
Alan Mackenzie
a72a9fbbbc Rename recenter-group' to recenter-window-group'
* doc/lispref/windows.texi (Textual Scrolling)
* lisp/window.el (top level, recenter-group)
* lisp/follow.el (follow-mode)
* lisp/isearch.el (isearch-back-into-window): Rename `recenter-group' to
`recenter-window-group' and `recenter-group-function' to
`recenter-window-group-function'.
2015-12-18 10:40:49 +00:00
Alan Mackenzie
e8937de554 Replace GROUP argument in six window primitives by new functions.
* doc/lispref/windows.texi (Window Start and End, Textual Scrolling)
* doc/lispref/positions.texi (Screen Lines): Remove optional GROUP argument
from description of six window functions.  Add in description of new functions
window-group-start, window-group-end, set-window-group-start,
pos-visible-in-window-group-p, recenter-group and move-to-window-group-line,
together with the six variables indirecting to the pertinent group
functions.

* src/window.c
* src/keyboard.c: Revert the commit from 2015-11-11 12:02:48, in so far as it
applies to these two files, which added the GROUP argument to six window
primitives.

* lisp/follow.el (follow-mode): Use updated variable names for the indirected
functions.

* lisp/isearch.el (isearch-update, isearch-done, isearch-string-out-of-window)
(isearch-back-into-window, isearch-lazy-highlight-new-loop)
(isearch-lazy-highlight-search, isearch-lazy-highlight-update): Replace calls
to window primitives (e.g. window-start) with a GROUP argument by calls to
new functions (e.g. window-group-start).

* lisp/ispell.el (ispell-command-loop): Replace call to
pos-visible-in-window-p with pos-visible-in-window-group-p.

* lisp/window.el (window-group-start, window-group-end)
(set-window-group-start, recenter-group, pos-visible-in-window-group-p)
(selected-window-group, move-to-window-group-line): New functions.
(window-group-start-function, window-group-end-function)
(set-window-group-start-function, recenter-group-function)
(pos-visible-in-window-group-p-function, selected-window-group-function)
(move-to-window-group-line-function): New variables.
2015-12-14 16:38:07 +00:00
Alan Mackenzie
3194f1ccd9 Further progress making Isearch, Ispell, Replace work with Follow Mode.
* lisp/follow.el: (follow-mode): Remove references to sit*-for-function, which
no longer exists.  Add follow-post-command-hook to  three special purpose
hooks at setup, and remove them at tear down.

* lisp/isearch.el: (isearch-update): invoke isearch-update-post-hook before
isearch-lazy-highlight-new-loop.
(isearch-lazy-highlight-new-loop): Restore this function to what it previously
was, merging the functionality of isearch-lazy-highlight-maybe-new-loop into
it.
(isearch-lazy-highlight-maybe-new-loop): function removed.

* lisp/replace.el: (replace-update-post-hook): New hook variable.
(perform-replace): Add second (nil) argument to looking-back.  Invoke
replace-update-post-hook before calling replace-highlight.

* lisp/textmodes/ispell.el: (ispell-update-post-hook): New hook variable.
(ispell-command-loop): invoke ispell-update-post-hook.  Add GROUP argument to
call of pos-visible-in-window-p.
(ispell-display-buffer): Place *Choices* window at the top of the last window
in a window group.
2015-12-07 15:12:15 +00:00
Alan Mackenzie
bf510d8ab0 lisp/isearch.el: Eliminate macro isearch-call-message, replacing with funcall. 2015-12-04 18:15:27 +00:00
Alan Mackenzie
64c5730365 First commit to scratch/follow. Make Isearch work with Follow Mode, etc.
doc/lispref/window.texi (Basic Windows): Add paragraph defining "Group of
Windows" and new @defun selected-window-group.
(Window Start and End): Describe new &optional parameter GROUP and
...-group-function for window-start, window-end, set-window-start, and
pos-visible-in-window-p.
(Textual Scrolling) Describe the same for recenter.
doc/lispref/positions.texi (Screen Lines): Describe the same for
move-to-window-line.

src/window.c (Fwindow_start, Fwindow_end, Fset_window_start)
(Fpos_visible_in_window_p, Frecenter, Fmove_to_window_line): To each, add ar
new optional parameter "group".  At the beginning of each, check whether the
corresponding ...-group-function is set to a function, and if so execute this
function in place of the normal processing.
(syms_of_window): Define symbols for the six new variables below.
(window-start-group-function, window-end-group-function)
(set-window-start-group-function, recenter-group-function)
(pos-visible-in-window-p-group-function, move-to-window-line-group-function):
New permanent local buffer local variables.
src/keyboard.c (Fposn_at_point): Add extra parameter in call to
Fpos_visible_in_window_p.

lisp/window.el (selected-window-group-function): New permanent local buffer
local variable.
(selected-window-group): New function.

lisp/follow.el (follow-mode): Set the ...-group-function variables at mode
enable, kill them at mode disable.  Add/remove follow-after-change to/from
after-change-functions.
(follow-start-end-invalid): New variable.
(follow-redisplay): Manipulate follow-start-end-invalid.
(follow-after-change, follow-window-start, follow-window-end)
(follow-set-window-start, follow-pos-visible-in-window-p)
(follow-move-to-window-line, follow-sit-for): New functions.

lisp/isearch.el (isearch-call-message): New macro.
(isearch-update, with-isearch-suspended, isearch-del-char)
(isearch-search-and-update, isearch-ring-adjust): Invoke above new macro.
(with-isearch-suspended): Rearrange code such that isearch-call-message is
invoked before point is moved.
(isearch-message): Add comment about where point must be at function call.
(isearch-search): Remove call to isearch-message.
(isearch-lazy-highlight-window-group): New variable.
(isearch-lazy-highlight-new-loop): Unconditionally start idle timer.  Move
the battery of tests to ...
(isearch-lazy-highlight-maybe-new-loop): New function, started by idle timer.
Note: (sit-for 0) is still called.
(isearch-lazy-highlight-update): Check membership of
isearch-lazy-highlight-window-group.  Don't set the `window' overlay
property.
(isearch-update, isearch-done, isearch-string-out-of-window)
(isearch-back-into-window, isearch-lazy-highlight-maybe-new-loop)
(isearch-lazy-highlight-search, isearch-lazy-highlight-update)
(isearch-lazy-highlight-update): Call the six amended primitives (see
src/window.c above) with the new `group' argument set to t, to cooperate
with Follow Mode.
2015-12-04 18:15:27 +00:00
Eli Zaretskii
cef6c89175 More accurate documentation of lax whitespace matching
* lisp/isearch.el (isearch-forward-word, isearch-forward-symbol)
(word-search-backward, word-search-forward)
(word-search-backward-lax, word-search-forward-lax): Mention in
doc strings that toggling lax whitespace matching has no effect on
these commands.

* doc/emacs/search.texi (Word Search, Symbol Search): Clarify that
lax whitespace matching has no effect on these commands.
2015-12-01 21:29:14 +02:00
Eli Zaretskii
3e9ac80e01 Yet another doc improvement for search commands
* doc/emacs/search.texi (Word Search, Symbol Search)
(Regexp Search): Document commands that don't support lax
whitespace matching or character folding.
(Nonincremental Search): Mention the search commands that can be
invoked from the menu bar.

* lisp/isearch.el (isearch-define-mode-toggle-word)
(isearch-define-mode-toggle-symbol)
(isearch-define-mode-toggle-character-fold): Note in the doc
string that turning these on exits the regexp mode.
(isearch-forward-regexp, isearch-forward-word)
(isearch-forward-symbol, isearch-backward-regexp)
(word-search-backward, word-search-forward)
(word-search-backward-lax, word-search-forward-lax): State in the
doc string which commands don't support character folding and/or
lax-whitespace matching.
2015-11-30 19:30:29 +02:00
Artur Malabarba
d976561ba2 * lisp/isearch.el (isearch-search-fun-default): Nicer error
message when the search fails.
2015-11-29 22:09:39 +00:00
Artur Malabarba
1e010227bb * lisp/isearch.el (isearch-define-mode-toggle): Advertise binding 2015-11-29 21:26:47 +00:00