Commit graph

445 commits

Author SHA1 Message Date
Tino Calancha
5fa73a7d98 query-replace undo: Handle when user edits the replacement string
* lisp/replace.el (perform-replace): Update the replacement string
after the user edit it (Fix Bug#31538).

* test/lisp/replace-tests.el (query-replace-undo-bug31538): New test.

Backport: (cherry picked from commits
ea133e04f4
and
7dcfdf5b14)
2018-06-03 23:28:30 +09:00
Tino Calancha
031004e81b Backport: Fix corner case in query-replace-regexp undo
This commit fixes Bug#31492.
* lisp/replace.el (replace-match-maybe-edit): Preserve match data.

* test/lisp/replace-tests.el (query-replace-undo-bug31492): Add test.

(cherry picked from commit bab73230d1)
2018-06-03 23:28:24 +09:00
Tino Calancha
50c0624b2a Backport: Preserve case in query-replace undo
If the user query and replaces 'foo' with 'BAR', then
undo must comeback to 'foo', not to 'FOO' (Bug#31073).
* lisp/replace.el (perform-replace): Bind nocasify to non-nil
value during undo/undo-all actions.
* test/lisp/replace-tests.el (query-replace-undo-bug31073): Add test.

(cherry picked from commit 32dc0cb1b5)
2018-06-03 23:28:14 +09:00
Paul Eggert
5c7dd8a783 Update copyright year to 2018
Run admin/update-copyright.
2018-01-01 00:57:59 -08:00
Eli Zaretskii
cbd319a351 Fix case-folding in Occur
* lisp/replace.el (occur-engine): Bind case-fold-search in each
buffer we search.  (Bug#29254)
2017-11-18 13:06:22 +02:00
Stefan Monnier
57ca409111 Fix autoload of flymake from elisp-mode during bootstrap (bug#28994)
* lisp/loadup.el: add `progmodes` to load-path so we can find flymake.el.
* lisp/kmacro.el: Require `replace` since we use query-replace-map.
* lisp/replace.el: Require `text-mode` since we use text-mode-map.
2017-10-25 12:31:40 -04: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
Tino Calancha
919ac3ae16 query-replace: Undo replacements performed with 'comma
During a `query-replace', the char ',' replaces the character
at point and doesn't move point;  right after, the char 'u'
must undo such replacement (Bug#27268).
* lisp/replace.el (replace--push-stack):
New macro extracted from `perform-replace'.
(perform-replace): Use it.
* test/lisp/replace-tests.el (query-replace--undo): Add test.
2017-08-08 10:25:27 +09:00
Eli Zaretskii
d3fcb92413 Improve documentation of 'occur'
* doc/emacs/search.texi (Other Repeating Search):
* lisp/replace.el (occur): Make the documentation of 'occur' be
more accurate when matches overlap.  (Bug#27818)
2017-07-29 11:25:29 +03:00
Eli Zaretskii
bb5c6614eb * lisp/replace.el (query-replace-regexp-eval): Doc fix. 2017-05-19 11:12:51 +03:00
Eli Zaretskii
ff315081a1 ; * lisp/replace.el (query-replace-regexp, replace-regexp): Doc fixes. 2017-05-06 11:06:38 +03:00
Tino Calancha
afabe53b56 ; * lisp/replace.el (how-many, flush-lines, keep-lines): Remove empty line. 2017-04-02 21:16:37 +09:00
Juri Linkov
61881d32ad Put text properties on query-replace separator string instead of "\0"
* lisp/replace.el (query-replace--split-string):
Split at a substring instead of just character.
(query-replace-read-from): Put text properties on the
separator string instead of "\0".  (Bug#25482)
2017-02-28 00:50:57 +02:00
Juri Linkov
d8cca4d8c5 * lisp/replace.el (query-replace-from-to-separator): Move propertize
and char-displayable-p test to query-replace-read-from.
Add choice nil to disable this feature.
(query-replace-read-from): Don't reevaluate custom setting.
Use char-displayable-p to test the first non-whitespace character
in query-replace-from-to-separator, use " -> " when fails.
Add prompt for the case when separator is nil but
query-replace-defaults is non-nil.
Remove unused test for regexp-flag.
Thanks to Thierry Volpiatto <thierry.volpiatto@gmail.com>
2017-02-13 02:37:52 +02:00
Tino Calancha
e280b94dcd Show current line highlighted in *Occur* buffer
* lisp/replace.el (list-matching-lines-current-line-face)
(list-matching-lines-jump-to-current-line): New user options.
(occur--orig-line, occur--orig-line-str): New variables.
(occur, occur-engine): Use them.
(occur--final-pos): New variable.
(occur-1): Use it.
(occur-engine): Idem.
Show the current line with 'list-matching-lines-current-line-face'.
Set point on the first matching line after the current one.
* etc/NEWS: Add entry for the new option.
2017-02-02 19:13:27 +09:00
Tino Calancha
8e871aef10 Allow occur command to operate on the region
See discussion in:
https://lists.gnu.org/archive/html/emacs-devel/2016-12/msg01084.html
* lisp/replace.el (occur--region-start, occur--region-end)
(occur--matches-threshold): New variables.
(occur-engine): Use them.
(occur): Idem.
Add optional arg REGION; if non-nil occur applies in that region.
* doc/lispintro/emacs-lisp-intro.texi (Keybindings): Update manual
* doc/emacs/search.texi (Other Repeating Search): Idem.
; etc/NEWS: Add entry for the new feature.
2017-02-02 19:13:05 +09: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
Philippe Vaucher
f70f9a58c4 Add missing 'provide's in preloaded packages
* lisp/composite.el:
* lisp/replace.el:
* lisp/textmodes/text-mode.el: Add provide statement.  (Bug#24985)
2016-11-25 12:24:22 +02:00
Mark Oteiza
d3e22a1210 Prescribe history for read-regexp in query-replace
In the fix for bug#24580, the history argument for read-regexp was
removed erroneously; read-regexp's history argument defaults to
regexp-history, not minibuffer-history.
* lisp/replace.el (query-replace-read-from): Tell read-regexp to use
minibuffer-history.  Fixes bug#24873.
2016-11-07 22:11:39 -05:00
Mark Oteiza
6d6c93f4cc Avoid dynamic binding on a symbol
Instead, bind history in the default minibuffer-history.
Fixes bug#24580.
* lisp/replace.el (query-replace-read-from): Let-bind
minibuffer-history.  Change read-regexp and read-from-minibuffer's
HISTORY arguments to nil so that they use minibuffer-history.
2016-10-04 10:26:38 -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
Paul Eggert
1a86b5d607 Merge from origin/emacs-25
d4c6774 Fix missing point information in undo
3a9d629 Avoid crashes when buffer modification hooks clobber match data
178b2f5 Note combine-and-quote-strings doesn't shell quote
dec7567 Explain when package-initialize isn't called
113d1e2 Fix escaping in sh-indent-after-continuation docstr
80e2044 ; * etc/NEWS: Improve previous change.
5bb9e6c ; * etc/NEWS: Document how to avoid horizontal scroll bars.
38f4b8e Clarify the documentation of back-references in replacements
2016-08-05 14:07:00 -07:00
Eli Zaretskii
38f4b8ea61 Clarify the documentation of back-references in replacements
* doc/emacs/search.texi (Regexp Replace): Clarify that \D starts
with \1, not \0.

* lisp/replace.el (query-replace-regexp)
(query-replace-regexp-eval, replace-regexp): Doc fix (Bug#23884)
2016-07-02 18:03:09 +03:00
Paul Eggert
0bf5739b77 Merge from origin/emacs-25
c3489d0 * lisp/w32-fns.el (set-message-beep, w32-get-locale-info) (w3...
a4d882c Correct old cell name unbinding when renaming cell.
6c12c53 Merge branch 'emacs-25' of git.sv.gnu.org:/srv/git/emacs into...
0be6725 Document problem: slow screen refresh on missing font.
853b9b9 * admin/admin.el (add-release-logs): Basic check of existing ...
5fa80cf * build-aux/gitlog-to-emacslog: Handle empty generated Change...
3c79e51 * admin/admin.el (add-release-logs): Generate ChangeLog if ne...
42275df * doc/misc/texinfo.tex: Revert previous change (Bug#23611).
3f4a9d9 * admin/authors.el (authors): First update the ChangeLog.
897fb6f ; 'Changes from the pre-25.1 API' copyedits
825ca25 Rename vc-stay-local back to vc-cvs-stay-local
4efb3e8 * doc/emacs/files.texi (Comparing Files): * doc/emacs/trouble...
b995d1e * doc/misc/eww.texi (Advanced): Fix xref.
2e589c0 Fix cross-references between manuals
f3d2ded * doc/misc/vhdl-mode.texi (Sample Init File): Rename node to ...
906c810 ; * admin/release-process: Move etc/HISTORY from here... ; * ...
bea1b65 * admin/admin.el (add-release-logs): Also update etc/HISTORY.
503e752 ; * CONTRIBUTE: Fix a typo.
fbfd478 Avoid aborting due to errors in arguments of 'set-face-attrib...
bdfbe6d ; * admin/release-process: Copyedits.
44a6aed ; * test/automated/data-tests.el: Standardize license notice.
c33ed39 ; * test/automated/viper-tests.el: Standardize license notice.
df4a14b Add automated test for viper-tests.el
c0139e3 Fix viper undo breakage from undo-boundary changes
920d76c Fix reference to obsolete fn ps-eval-switch
18a9bc1 Do not trash symlinks to init file
2671179 Don't print the "decomposition" line for control chars in wha...
869092c Bring back xterm pasting with middle mouse
5ab0830 Provide workaround for xftfont rendering problem
c9f7ec7 * lisp/desktop.el: Disable restore frameset if in non-graphic...
30989a0 Mention GTK+ problems in etc/PROBLEMS
421e3c4 * lisp/emacs-lisp/package.el (package-refresh-contents):
dadfc30 Revert "epg: Add a way to detect gpg1 executable for tests"
e41a5cb Avoid errors with Czech and Slovak input methods
d4ae6d7 epg: Add a way to detect gpg1 executable for tests
ebc3a94 * lisp/emacs-lisp/package.el: Fix free variable warnings.
6e71295 * lisp/emacs-lisp/package.el (package--with-response-buffer):
c45d9f6 Improve documentation of 'server-name'
3b5e38c Modernize ASLR advice in etc/PROBLEMS
1fe1e0a * lisp/char-fold.el: Rename from character-fold.el.
2016-05-26 12:55:06 -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
Paul Eggert
89ce83b202 Merge from origin/emacs-25
50650cb Doc fixes for fclist and grep
5e814e0 Minor doc fixes for quoting
3347a73 `nreverse' the marker pairs list
1a4127d Use save-excursion in xref-location-marker more
ab3ba91 shell-quote-argument DIR when appropriate
922c7a3 Rework xref-query-replace-in-results
3fe3510 * lisp/replace.el (query-replace-read-from): Use minibuffer-w...
0932b94 Fix todo-mode bug involving archived items (bug#23447)
e68ad1f ; * etc/NEWS: Tiny edit. (Bug#23432)
adc80b7 ; * test/automated/xref-tests.el: Add copyright and license.
4d8fd9c Handle "empty line" regexp in xref searches
f559b37 Add tests for xref-collect-matches
6428aa0 Use grep-find-ignored-directories instead of vc-directory-exc...
6f82d8e Clear buffer-undo-list when showing xrefs
c68a091 Note the quote translation in `message' in section "incompati...
52f86a7 * etc/NEWS: Mention (message "%s" (format ...)).
93703c5 (Common Keywords): Correct what missing :group means
79e5800 Improve documentation of Dired's 'A' and 'Q' commands
2ea2a2f Doc fixes for quoting
8544b98 posnp doc clarification
805204f Mention what a missing :group does
ec554d7 Fix documentation of dired-aux search/replace commands
2016-05-05 23:11:11 -07:00
Juri Linkov
3fe3510728 * lisp/replace.el (query-replace-read-from): Use minibuffer-with-setup-hook
to set minibuffer-local value of text-property-default-nonsticky.
(Bug#23418, bug#23127)
2016-05-04 23:05:33 +03:00
Lars Ingebrigtsen
ef32be609d Rearrange the doc of query-replace slightly
* lisp/replace.el (query-replace): Move the mention of the
interactive prefix arg earlier so that users can find it
(bug#20654).

(cherry picked from commit bcc10761c3)
2016-05-01 19:27:15 +02:00
Lars Ingebrigtsen
983ad8d7da replace-match-maybe-edit doc clarification
* lisp/replace.el (replace-match-maybe-edit): Say what
MATCH-DATA is (bug#20304).

(cherry picked from commit 139874ba53)
2016-05-01 19:27:14 +02:00
Lars Ingebrigtsen
bcc10761c3 Rearrange the doc of query-replace slightly
* lisp/replace.el (query-replace): Move the mention of the
interactive prefix arg earlier so that users can find it
(bug#20654).
2016-04-30 21:28:51 +02:00
Lars Ingebrigtsen
139874ba53 replace-match-maybe-edit doc clarification
* lisp/replace.el (replace-match-maybe-edit): Say what
MATCH-DATA is (bug#20304).
2016-04-30 20:32:56 +02:00
John Wiegley
3d88977361 Merge from origin/emacs-25
7c1802f * doc/lispref/text.texi (Columns): Remove a nonexistent refer...
9034c50 * doc/man/emacsclient.1: Document +line:column option.
06495c9 Fix rare problems with echo-area display and multiple frames
f99b512 In M-%, avoid making buffer-local binding of text-property-de...
2016-04-02 14:51:33 -07:00
John Wiegley
c558890bde Merge from origin/emacs-25
e65c307 * src/font.c (QCuser_spec): Add missing colon to :user-spec.
c8b868b Don't start the 'midnight' timer twice
278c8a7 * src/xwidget.c (Fxwidget_resize): Fix inappropriate use of X...
e5c17f4 Fix todo-mode category movement
bc70fda * lisp/xt-mouse.el (xterm-mouse-utf-8): Add :version.
cf40f38 Ignore non-nil. non-cons values of unread-command-events
8ee4c52 Improve documentatuon of 'truncate-partial-width-windows'
fb9a62c * src/ftfont.c (ftfont_shape_by_flt): Parenthesize as per GNU...
1e1ea22 Fix 'dired-goto-file' in Dired buffers produced by find-dired
3a13472 Fix map-put and map-delete for alists (Bug#23105)
422c3da Minor copyedits of documentation for temporary displays
90fb9b3 Add customization option for using UTF-8 coordinates in xt-mouse
f14d463 Minor doc string fixes in replace.el
e70ee9d Fix scrolling upwards with 'xwidget-webkit-browse-url'
44782de Fix display of Indic scripts
326c64f Fix splash screen display at startup
7ab2a97 ; In NEWS mention new display of minibuffer completions window
a1cd84c Describe temporary displays in Emacs manual
5ec1056 Avoid stray As next to IDLW icons
45577d5 Avoid GTK 3 crash with icons and masks
e99ff6e * lisp/minibuffer.el (minibuffer-completion-help): Use fit-wi...
077b78c Define make_save_ptr_ptr unconditionally
20a1003 Preserve current buffer when popping up TTY menus
7eba90c Improve font selection by family on MS-Windows
73d213f Comint, term, and compile now set EMACS
9524ec5 Ignore more merges when generating ChangeLog
ad250f2 Sync with gnulib
c0165ea Resurrect GNUS-NEWS autogeneration
1e5327c ; Backport ChangeLog.2 fixes from master
e643977 Make `toggle-frame-maximized' respect the dock on OS X (bug#2...
38a43f1 Fix bug in displaying header line with a box face
91e6676 Fix an Isearch var to be a string (Bug#23038)
76ef522 Fix (args-out-of-range 1) error in cursor-sensor--detect
8a35f83 Render empty <ul><li><ul> correctly
d8b2ce5 Ignore invalid base64 encoded embedded images
52ba24b Fix <p> and <div> newlines with or without <li> in shr
b8ea08b Avoid errors in 'newline'
fc3cd53 Fix Bug#23032
dd2737b Adjudicate review comments in abbrevs.texi
26f9c50 Fixup the "normal" matcher; highlight global var symbols, too
413e73b ; Small theme additions
cd950da Honor prefix arg in doc-view-next-line-or-next-page
ed909c0 ; Spelling fixes
6da3a6d Port to strict C99 offsetof
de7601f Port to GTK with strict C11 compiler
658aa2d Port to GTK with strict C99 compiler
1df7173 Avoid screen artifacts with new OS X visible bell after scrol...
7a2edd3 Merge branch 'emacs-25' of git.sv.gnu.org:/srv/git/emacs into...
dca240a Suppress some Tramp tests for OSX, do not merge with master
9094304 * lisp/progmodes/xref.el (xref-buffer-name, xref--window): Mo...
cbedfc2 * lisp/gnus/mm-decode.el (gnus-format-message): Autoload it.
005ac7c * lisp/mail/rmail.el (rmail-mime-entity-truncated): Declare.
9ab03f2 ; Auto-commit of loaddefs files.
56df617 Address compilation warnings due to 2016-01-03 mml refactoring.
a1ef911 * lisp/emacs-lisp/smie.el (smie-indent-keyword): Don't burp i...
79ae7fb * lisp/dired-x.el (dired-omit-here-always): Correct error mes...
253929f * lisp/dired-x.el (dired-omit-here-always): Replace undefined...
ce53389 * lisp/xml.el (xml-parse-tag-1): Replace undefined function.
d6d164f Avoid segfaults due to frame image cache being absent
bc7f6f6 Improve documentation of glyphless-character display
6b6916e ; * src/xdisp.c (with_echo_area_buffer): Fix typos in comments.
ee9a1f7 Support safe navigation operator in non-SMIE indentation code
c3ed95b Move xsd:base64Binary decoding fix to debbugs.el 0.9.1
2036be4 Fix Ruby's operator precedence
1d686c2 (ruby-interpolation-inside-another-interpolation): New failin...
7950e1d Port to clang 3.7.0 on x86-64
218ae59 * test/automated/package-test.el (package-test-signed): Tweak...
ba33b7c Sync with gnulib
38b276d Fix startup of "emacs -nw" on systems that CANNOT_DUMP
dbfbedd Do not tokenize a comment before continuation as ';'
0403620 Don't misindent arguments of a method call inside continuation
e6776f8 * src/keyboard.c (echo_keystrokes_p): Don't test cursor_in_ec...
8475f3d ASCII-only etc/NEWS etc.
5cc6919 Fix a cacheing bug, which led to inordinately slow c-beginnin...
0ce37ea Fix Isearch prompt when invoked with an argument
f3033d4 Fix a typo in the Emacs manual
4235d2d Curved quotes in etc/NEWS etc.
26b56dc Fix some single quotes in documentation
80ec484 Make lisp-completion-at-point's argument optional
9d463ae Tweak the left precedence of '=>'
5b705bc Indent '.' relative to the first sibling expression
04f5525 Make '.' associative, for easier sexp navigation
ba24c99 Revert "Simplify "Visit New File" to "New File""
2016-04-02 14:51:33 -07:00
Alan Mackenzie
f99b51295b In M-%, avoid making buffer-local binding of text-property-default-nonsticky
This would happen when that variable already has a buffer local binding.  Such
a binding would not be seen by read-from-minibuffer.  This fixes bug #23127.

* lisp/replace.el (query-replace-read-from): Move the binding of
text-property-default-nonsticky to inside of a new with-current-buffer buffer
form with the minibuffer as argument.
2016-03-29 09:53:12 +00:00
Eli Zaretskii
f14d463661 Minor doc string fixes in replace.el
* lisp/replace.el (query-replace, query-replace-regexp)
(query-replace-regexp-eval, map-query-replace-regexp)
(replace-string, replace-regexp): Clarify in doc strings that
these commands operate from point to the end of the buffer's
accessible portion.  (Bug#23067)
2016-03-25 13:02:20 +03:00
John Wiegley
2f3f7fcb57 Merge from origin/emacs-25
6620944 (cl-union): Do not ignore :test argument when lists are equal.
17dd3fb Add `isearch' to `basic-faces'
c1ec743 Make $, : and @ "prefix characters" in ruby-mode
e72a26e Make find-tag-default-bounds more strict
1bc0e0a Minor fixes in filenotify.el
2016-03-03 23:52:26 -08:00
Tino Calancha
e1d749bd7e Allow undoing changes while doing query-replace
* doc/lispref/searching.texi (Search and Replace): Mention
undo (bug#21684).

* lisp/replace.el (query-replace-help): Document undo.
(perform-replace): Implement undo while replacing text.
2016-02-24 12:35:46 +11:00
Lars Ingebrigtsen
17dd3fb4a5 Add isearch' to basic-faces'
* doc/lispref/display.texi (Basic Faces): Mention the isearch
and lazy-highlight faces.

* lisp/replace.el (match): Add `isearch' to the `basic-faces'
group, too (bug#22760).
2016-02-23 13:31:32 +11:00
Juri Linkov
6bac035d60 * lisp/replace.el (replace-match-maybe-edit): Make arg `backward' optional.
Doc fix.
(replace-search, replace-highlight): Make arg `backward' optional.
(Bug#18388)
2016-02-10 02:46:37 +02:00
Glenn Morris
93f21530ad Improve the custom type of some user options.
* lisp/autoinsert.el (auto-insert-alist):
* lisp/replace.el (query-replace-from-to-separator):
* lisp/gnus/gnus-art.el (gnus-hidden-properties):
* lisp/gnus/gnus-gravatar.el (gnus-gravatar-properties):
* lisp/gnus/gnus-picon.el (gnus-picon-properties):
* lisp/progmodes/prolog.el (prolog-keywords, prolog-types)
(prolog-mode-specificators, prolog-determinism-specificators)
(prolog-directives, prolog-program-name, prolog-program-switches)
(prolog-consult-string, prolog-compile-string, prolog-eof-string)
(prolog-prompt-regexp): Improve custom type.
2016-02-01 20:59:32 -05:00
Paul Eggert
0e963201d0 Update copyright year to 2016
Run admin/update-copyright.
2016-01-01 01:34:24 -08: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
Juri Linkov
5eafc0a7a9 * lisp/replace.el (occur-engine): Count matches in empty lines.
(Bug#22062)
2015-12-01 01:38:15 +02:00
Paul Eggert
36649e0150 Spelling and grammar fixes 2015-11-29 21:52:17 -08:00
Eli Zaretskii
24703a0a89 Improve documentation of search and replace commands
* doc/emacs/search.texi (Replacement and Lax Matches): Document
which commands are affected by 'replace-character-fold'.
(Lax Search): Add a cross reference to "Replacement and Lax
Matches".  Improve wording.  Fix lost extra whitespace.
(Search Customizations): Improve wording.  (Bug#22036)
See also comments in
http://lists.gnu.org/archive/html/emacs-devel/2015-11/msg02376.html.

* lisp/replace.el (query-replace, query-replace-regexp)
(query-replace-regexp-eval, replace-string, replace-regexp):
Mention 'replace-character-fold' in the doc strings.
2015-11-28 11:23:02 +02:00
Eli Zaretskii
88050ec3e4 Improve documentation of 'replace-character-fold'
* lisp/replace.el (replace-character-fold): Clarify which commands
are affected by this variable.
2015-11-27 22:11:59 +02:00
Eli Zaretskii
8f2a5a8aa4 Improve and update documentation of search commands
* doc/emacs/search.texi (Lax Search): Renamed from "Search Case";
all references changed.  Move the description of lax-whitespace
here.  Add description of the new character folding features and
additional customizable options.
(Isearch Yank): Move before "Error in Search".
(Basic Isearch): Improve wording.  Add index entries.  Add short
description of how to abandon search, making this subsection a
complete introduction to search basics.
(Repeat Isearch): Add index entries.  Describe additional
customizable options.  Describe mouse clicks.
(Isearch Yank): Add index entries.  Describe mouse-2 click in echo
area.  Describe more customizable options.
(Error in Isearch): Add index entries.
(Special Isearch): Move actual description of some isearch
commands to other sections, leaving here just the summary of the
commands.  Add command that toggles character folding.  Describe
commands, like "C-h C-h", that were previously omitted for some
reason.
(Not Exiting Isearch): Describe search-exit-option.  Add index
entries.
(Word Search): Describe eww-search-word and eww-search-prefix.
(Symbol Search): Add index entries.
(Regexp Search): Describe regexp-search-ring-max.
(Replacement and Lax Matches): Renamed from "Replacement and
Case"; all references changed.  Describe lax-whitespace matching
in replace commands and related options.  Describe character
folding in replace commands and related options.
(Query Replace): Describe query-replace-from-to-separator and the
new history features.  Add index entries for highlighted text.
Describe query-replace-skip-read-only.  Describe more keys
accepted by query-replace.
(Other Repeating Search): More index entries for Occur.  Describe
list-matching-lines-default-context-lines.
(Search Customizations): New section, documents customizable
options that were not documented until now.
* doc/emacs/glossary.texi (Glossary): Add "Case Folding" and
"Character Folding".

* etc/NEWS: Move search- and replace-related entries to a single
parent section.

* lisp/replace.el (query-replace-show-replacement): Doc fix.
* lisp/isearch.el (search-nonincremental-instead)
(isearch-hide-immediately): Doc fixes.
2015-11-25 21:09:29 +02:00
Juri Linkov
32845e3aad * lisp/replace.el (occur-regexp-descr): New function.
(occur-1, occur-engine): Use it.

* lisp/isearch.el (isearch-occur): Propertize regexp with
isearch-string and isearch-regexp-function-descr for
occur-regexp-descr to display the correct description
message in the header (bug#21176, bug#21180).
2015-11-20 02:00:48 +02:00
Juri Linkov
31f6e93933 Support rectangular regions for more commands
* lisp/simple.el (region-extract-function): Handle the arg value ‘bounds’.
(region-insert-function): New function.
(shell-command-on-region): Add arg ‘region-noncontiguous-p’.
If non-nil, operate on multiple chunks.
(region-noncontiguous-p): New function.

* lisp/rect.el: Add function rectangle--insert-region
around region-insert-function.
(extract-rectangle-bounds): New function.
(rectangle--extract-region): Handle the arg value ‘bounds’.
(rectangle--insert-region): New function.

* lisp/emulation/cua-rect.el: Add function cua--insert-rectangle
around region-insert-function.
(cua--extract-rectangle-bounds): New function.
(cua--rectangle-region-extract): Handle the arg value ‘bounds’.

* lisp/replace.el (query-replace, query-replace-regexp): Add arg
‘region-noncontiguous-p’.  Use ‘use-region-p’.
(query-replace-regexp-eval, map-query-replace-regexp)
(replace-string, replace-regexp): Use ‘use-region-p’.
(keep-lines, flush-lines, how-many): Use ‘use-region-p’.
(perform-replace): Add arg ‘region-noncontiguous-p’.
If non-nil, operate on multiple chunks.

* src/casefiddle.c (Fdowncase_region): Add arg ‘region-noncontiguous-p’.
If non-nil, operate on multiple chunks. (Bug#19829)
2015-11-14 01:28:03 +02:00