Commit graph

377 commits

Author SHA1 Message Date
Juri Linkov
f2301ecc23 Fix query-replace-regexp when using lisp expressions for replacement
* lisp/replace.el (query-replace-read-from): Use
query-replace-compile-replacement only on the return value.

Fixes: debbugs:19383
2014-12-16 01:54:35 +02:00
Juri Linkov
c0b877ba35 * lisp/replace.el (query-replace-from-to-separator): Turn defvar into defcustom.
Wrap char-displayable-p in ignore-errors because an attempt
to autoload char-displayable-p fails during pre-loading.
Move (propertize "\0" ... 'separator t) out of customizable part
to query-replace-read-from.
(query-replace-read-from): Call custom-reevaluate-setting on
query-replace-from-to-separator to reevaluate the separator
depending on the return value of char-displayable-p.
http://lists.gnu.org/archive/html/emacs-devel/2014-11/msg00466.html
2014-11-18 23:59:14 +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
Christoph Scholtes
f71da8959a * lisp/replace.el (query-replace): Fix typo in docstring.
Fixes: debbugs:18320
2014-08-24 20:36:45 -06:00
Glenn Morris
5076d27513 Allow `declare' to set the interactive-only property
* lisp/emacs-lisp/byte-run.el (defun-declarations-alist):
Add interactive-only.  Doc tweak.
(macro-declarations-alist): Doc tweak.

* lisp/subr.el (declare): Doc tweak (add xref to manual).

* lisp/comint.el (comint-run):
* lisp/files.el (insert-file-literally, insert-file):
* lisp/replace.el (replace-string, replace-regexp):
* lisp/simple.el (beginning-of-buffer, end-of-buffer, delete-backward-char)
(delete-forward-char, goto-line, insert-buffer, next-line)
(previous-line): Set interactive-only via declare.

* doc/lispref/functions.texi (Declare Form): Add interactive-only.

* doc/lispref/commands.texi (Defining Commands) Mention declare.

* etc/NEWS: Mention this.
2014-03-22 15:12:52 -07:00
Glenn Morris
ab837c6083 * lisp/replace.el (read-regexp): Fix typo in earlier doc change. 2014-02-14 14:08:53 -05:00
Glenn Morris
b8630261dd Some read-regexp doc
* lisp/replace.el (map-query-replace-regexp)
(read-regexp-defaults-function, read-regexp): Doc fixes.

* etc/NEWS: Related edits.
2014-02-13 23:36:42 -08:00
Glenn Morris
34dc21db6e Replace "Maintainer: FSF" with the emacs-devel mailing address 2014-02-09 17:34:22 -08:00
Lars Ingebrigtsen
f7a17bb38a * replace.el (replace-match-maybe-edit): Doc clarification.
Fixes: debbugs:15632
2014-02-07 19:55:27 -08:00
Paul Eggert
ba3189039a Update copyright year to 2014 by running admin/update-copyright. 2014-01-01 07:43:34 +00:00
Juri Linkov
24da72738b * lisp/replace.el (read-regexp-defaults-function): New defcustom.
(read-regexp-suggestions): New function.
(read-regexp): Use `read-regexp-defaults-function' to get default values.
Use `read-regexp-suggestions'.  Add non-empty default to history
for empty input.
(occur-read-regexp-defaults-function): Remove function.
(occur-read-primary-args): Use `regexp-history-last' instead of
`occur-read-regexp-defaults-function'.

* lisp/hi-lock.el (hi-lock-read-regexp-defaults-function): Remove function.
(hi-lock-line-face-buffer, hi-lock-face-buffer)
(hi-lock-face-phrase-buffer): Use `regexp-history-last' instead of
`hi-lock-read-regexp-defaults-function'.  Doc fix.
(hi-lock-face-symbol-at-point): Replace `find-tag-default-as-regexp'
with `find-tag-default-as-symbol-regexp'.  Doc fix.
(hi-lock-read-regexp-defaults): Remove function.
(hi-lock-regexp-okay): Add check for null.

* lisp/progmodes/grep.el (grep-read-regexp): Use `grep-tag-default' for
the arg DEFAULTS.  Move formatting of the prompt to `read-regexp'.

* lisp/subr.el (find-tag-default-as-symbol-regexp): New function.
(find-tag-default-as-regexp): Move symbol regexp formatting to
`find-tag-default-as-symbol-regexp'.

Fixes: debbugs:14405
2013-12-20 21:55:56 +02:00
Juri Linkov
501158bcb9 * lisp/replace.el (occur-engine): Use `add-face-text-property'
to add the face property to matches and titles. 

* lisp/hi-lock.el (hi-green): Use lighter color "light green" closer to
the palette of other hi-lock colors.
(hi-lock-set-pattern): Prepend hi-lock face to the existing face.

Fixes: debbugs:14645
2013-12-20 02:07:08 +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
Chong Yidong
50ff2e0675 * replace.el (occur-engine): Avoid infloop.
Fixes: debbugs:7593
2013-12-18 13:10:58 +08:00
Glenn Morris
3e2fb4db3f Make the interactive-only' bytecomp warning like the obsolete' one
* emacs-lisp/bytecomp.el (byte-compile-form):
Make the `interactive-only' warning like the `obsolete' one.

* comint.el (comint-run):
* files.el (insert-file-literally, insert-file):
* replace.el (replace-string, replace-regexp):
* simple.el (beginning-of-buffer, end-of-buffer, delete-backward-char)
(goto-line, insert-buffer, next-line, previous-line):
Tweak `interactive-only' spec.
2013-11-30 00:42:28 -08:00
Bozhidar Batsov
2bb3a748b3 * lisp/emacs-lisp/bytecomp.el (byte-compile-interactive-only-functions):
Mark as obsolete and replace it with a symbol property.
(byte-compile-form): Use new 'interactive-only property.
* lisp/comint.el, lisp/files.el, lisp/replace.el, lisp/simple.el:
Apply new 'interactive-only properly.
2013-11-25 19:16:32 +02:00
Glenn Morris
1d43dba1a0 * lisp/replace.el (replace-eval-replacement): Try to give more helpful error
message.

Fixes: debbugs:15836
2013-11-13 15:48:35 -05:00
Oleh Krehel
fc7f501bc0 * lisp/replace.el (how-many): Fix rstart and !rend case.
Fixes: debbugs:15589
2013-10-12 22:30:23 -07:00
Glenn Morris
397853249c * lisp/replace.el (replace-string): Doc fix re start/end.
Fixes: debbugs:15275
2013-09-05 21:38:45 -04:00
Stefan Monnier
dc6c0edad7 Revert introduction of isearch-filter-predicates.
Rely on add-function instead.
* lisp/loadup.el: Preload nadvice.
* lisp/isearch.el (isearch-filter-predicates): Rename it back to
isearch-filter-predicate.
(isearch-message-prefix): Use advice-function-mapc and advice
properties to get the isearch-message-prefix.
(isearch-search, isearch-lazy-highlight-search): Revert to funcall
instead of run-hook-with-args-until-failure.
(isearch-filter-visible): Not obsolete any more.
* lisp/replace.el (perform-replace): Revert to funcall
instead of run-hook-with-args-until-failure.
* lisp/wdired.el (wdired-change-to-wdired-mode): Use add-function.
* lisp/dired-aux.el (dired-isearch-filenames-mode): Rename from
dired-isearch-filenames-toggle; make it into a proper minor mode.
Use add/remove-function.
(dired-isearch-filenames-setup, dired-isearch-filenames-end):
Call the minor-mode rather than add/remove-hook.
(dired-isearch-filter-filenames):
Remove isearch-message-prefix property.
* lisp/info.el (Info--search-loop): New function, extracted from Info-search.
Funcall isearch-filter-predicate instead of
run-hook-with-args-until-failure isearch-filter-predicates.
(Info-search): Use it.
(Info-mode): Use isearch-filter-predicate instead of
isearch-filter-predicates.
* src/lisp.mk (lisp): Add nadvice.elc.
* lib-src/makefile.w32-in (lisp2): Add nadvice.elc.

Fixes: debbugs:14714
2013-08-05 14:05:46 -04:00
Juri Linkov
bc5c8c5a6a * lisp/isearch.el (isearch-query-replace): Add " symbol" and other
possible search modes from `isearch-message-prefix' to the prompt.
(isearch-occur): Use `with-isearch-suspended' to not exit Isearch
when reading a regexp to collect.

* lisp/replace.el (perform-replace): Display "symbol " and other search
modes from `isearch-message-prefix' in the *Help* buffer.
2013-06-14 01:08:45 +03:00
Juanma Barranquero
fa6bc6fd50 Fix typos.
* lisp/replace.el (query-replace, occur-read-regexp-defaults-function)
  (replace-search):
* lisp/subr.el (declare-function, number-sequence, local-set-key)
  (substitute-key-definition, locate-user-emacs-file)
  (with-silent-modifications, split-string, eval-after-load):
  Fix typos, remove unneeded backslashes and reflow some docstrings.
2013-06-11 18:51:12 +02:00
Juri Linkov
ab1bdce51e * lisp/replace.el (perform-replace): Avoid `isearch-range-invisible'
call when `query-flag' is nil and `search-invisible' is non-nil.

Fixes: debbugs:11746
2013-05-31 02:29:42 +03:00
Juri Linkov
ac44d6c19f * lisp/replace.el (occur-engine): Rename globalcount' to global-lines'
for total count of matching lines.  Add `global-matches' for total
count of matches.  Rename `matches' to `lines' for count of
matching lines.  Add `matches' for count of matches.
Rename `lines' to `curr-line' for line count.  Rename `prev-lines'
to `prev-line' for line number of prev match endpt.
Increment `matches' for every match.  Print the number of
matching lines in the header.
(occur-context-lines): Rename `lines' to `curr-line'.
Rename `prev-lines' to `prev-line'.

Fixes: debbugs:14017
2013-05-30 02:43:39 +03:00
Juri Linkov
3c9c9d38d0 * lisp/replace.el (perform-replace): Add `skip-read-only-count',
`skip-filtered-count', `skip-invisible-count' let-bound to 0.
Increment them for corresponding conditions and report the number
of skipped occurrences in the final message. 
(query-replace, query-replace-regexp, query-replace-regexp-eval)
(replace-string, replace-regexp): Doc fix.

Fixes: debbugs:11746
2013-05-30 02:11:41 +03:00
Juri Linkov
3a52ccf7c2 * lisp/replace.el (replace-search): New function with code moved out
from `perform-replace'.
(replace-highlight, replace-dehighlight): Move function definitions
up closer to `replace-search'.

Fixes: debbugs:11746
2013-05-28 02:38:56 +03:00
Juri Linkov
d289938a05 * lisp/replace.el (perform-replace): Ignore invisible matches.
In addition to checking `query-replace-skip-read-only', also
filter out matches by calling `run-hook-with-args-until-failure'
on `isearch-filter-predicates', and also check `search-invisible'
for t or call `isearch-range-invisible'.
(replace-dehighlight): Call `isearch-clean-overlays'.

Fixes: debbugs:11746
2013-05-28 02:02:37 +03:00
Juri Linkov
ddfa3cb434 * lisp/replace.el (list-matching-lines-prefix-face): New defcustom.
(occur-1): Pass `list-matching-lines-prefix-face' to the function
`occur-engine' if `face-differs-from-default-p' returns t.
(occur-engine): Add `,' inside backquote construct to evaluate
`prefix-face'.  Propertize the prefix with the `prefix-face' face.
Pass `prefix-face' to the functions `occur-context-lines' and
`occur-engine-add-prefix'.
(occur-engine-add-prefix, occur-context-lines): Add optional arg
`prefix-face' and propertize the prefix with `prefix-face'.

Fixes: debbugs:14017
2013-03-24 23:47:52 +02:00
Jambunathan K
45ba025e53 Provide for customizing default regexp in occur commands (Bug#13892).
* lisp/replace.el (occur-read-regexp-defaults-function): New var.
(occur-read-regexp-defaults): New defun.
(occur-read-primary-args): Propagate above change.
2013-03-10 14:14:07 +05:30
Jambunathan K
eb1a6e153a Provide for customizing default regexp in hi-lock commands (Bug#13892).
* lisp/hi-lock.el (hi-lock-read-regexp-defaults-function): New var.
(hi-lock-read-regexp-defaults):	 New defun.
(hi-lock-line-face-buffer, hi-lock-face-buffer)
(hi-lock-face-phrase-buffer): Propagate above change.  Update
docstring.

* lisp/subr.el (find-tag-default-as-regexp): New defun.
* lisp/replace.el (read-regexp): Propagate above change.
2013-03-08 09:48:16 +05:30
Juri Linkov
cd27a76dad * lisp/replace.el (read-regexp): Let-bind `default' to the first
element of `defaults' if it's a list, otherwise it should be
a string or nil.  Let-bind `suggestions' to `defaults' if it's
a list, otherwise make a list with the string value.  Doc fix.

Fixes: debbugs:13805
2013-02-25 22:57:44 +02:00
Glenn Morris
bba90ab24e Merge from emacs-24; up to 2012-12-22T02:59:08Z!cyd@gnu.org 2013-02-22 09:13:05 -08:00
Juri Linkov
54d9de1168 * lisp/isearch.el (isearch-lazy-highlight-new-loop):
Set `isearch-lazy-highlight-start' and `isearch-lazy-highlight-end'
to `isearch-other-end' if it is not nil. 

* lisp/replace.el (replace-highlight): Let-bind `isearch-other-end'
to `match-beg'.

* lisp/textmodes/ispell.el (ispell-highlight-spelling-error-overlay):
Let-bind `isearch-other-end' to `start', `isearch-forward' to t
and `isearch-error' to nil.

Fixes: debbugs:13402
2013-02-21 19:45:12 +02:00
Jambunathan K
2b0afdd959 (read-regexp): Add regexp for symbol at point to the defaults (Bug#13687).
* lisp/replace.el (read-regexp): Tighten the regexp that matches tag.
When tag is retrieved with `find-tag-default', use regexp that
matches tag at point.  Also update docstring.
2013-02-16 14:56:42 +05:30
Juri Linkov
dc2bc29527 * lisp/replace.el (perform-replace): Move let-bindings of isearch-*
variables deeper to the loop that searches for the next match.
Add bindings for `isearch-nonincremental' and `isearch-adjusted'.
Use `isearch-search-fun-default' instead of `isearch-search-fun'.

* lisp/isearch.el (isearch-search-fun-default): Check for null
first element of isearch-cmds as a precaution when it's used
with inactive isearch.

Fixes: debbugs:13579
2013-02-02 01:38:41 +02:00
Paul Eggert
ab422c4d68 Update copyright notices for 2013. 2013-01-01 09:11:05 +00:00
Juri Linkov
e5a94ec494 * doc/emacs/search.texi (Query Replace): Document multi-buffer replacement keys.
* doc/emacs/maintaining.texi (Tags Search): Change link "Replace" to
"Query Replace".

* lisp/replace.el (query-replace-help): Mention multi-buffer replacement
keys in the Help message.

Fixes: debbugs:12655
2012-10-17 02:27:40 +03:00
Juri Linkov
0e2ae83d4b * lisp/replace.el (query-replace-interactive): Declare obsolete.
(query-replace-read-from): Add the last incremental search string
to the list of default values accessible via M-n.
(map-query-replace-regexp): Use `read-regexp'.
(query-replace, query-replace-regexp, query-replace-regexp-eval)
(map-query-replace-regexp, replace-string, replace-regexp):
Fix docstrings to replace mentions of `query-replace-interactive'
with alternatives.

Fixes: debbugs:12526
2012-10-04 22:28:11 +03:00
Chong Yidong
59f7af816e Use declare forms, where possible, to mark obsolete functions.
* lisp/allout.el (allout-passphrase-hint-string): Likewise.
(allout-init): Use a declare form to mark obsolete.

* lisp/calendar/calendar.el (calendar-version):
* lisp/calendar/icalendar.el (icalendar-extract-ical-from-buffer)
(icalendar-convert-diary-to-ical):
* lisp/cus-edit.el (custom-mode):
* lisp/ansi-color.el (ansi-color-unfontify-region):
* lisp/international/latin1-disp.el (latin1-char-displayable-p):
* lisp/progmodes/cwarn.el (turn-on-cwarn-mode):
* lisp/progmodes/which-func.el (which-func-update-1): Use
define-obsolete-function-alias.

* lisp/bookmark.el (bookmark-jump-noselect): Use a declare form to mark
this function obsolete.

* lisp/calendar/cal-x.el (calendar-two-frame-setup)
(calendar-only-one-frame-setup, calendar-one-frame-setup):
* lisp/calendar/calendar.el (american-calendar, european-calendar)
(calendar-for-loop):
* lisp/comint.el (comint-dynamic-simple-complete)
(comint-dynamic-complete-as-filename, comint-unquote-filename):
* lisp/desktop.el (desktop-load-default):
* lisp/dired-x.el (dired-omit-here-always)
(dired-hack-local-variables, dired-default-directory):
* lisp/emacs-lisp/derived.el (derived-mode-class):
* lisp/emacs-lisp/timer.el (timer-set-time-with-usecs):
* lisp/emacs-lock.el (toggle-emacs-lock):
* lisp/epa.el (epa-display-verify-result):
* lisp/epg.el (epg-sign-keys, epg-start-sign-keys)
(epg-passphrase-callback-function):
* lisp/eshell/esh-util.el (eshell-for):
* lisp/eshell/eshell.el (eshell-remove-from-window-buffer-names)
(eshell-add-to-window-buffer-names):
* lisp/files.el (locate-file-completion):
* lisp/imenu.el (imenu-example--create-c-index)
(imenu-example--create-lisp-index)
(imenu-example--lisp-extract-index-name)
(imenu-example--name-and-position):
* lisp/international/mule-cmds.el (princ-list):
* lisp/international/mule-diag.el (decode-codepage-char):
* lisp/international/mule-util.el (detect-coding-with-priority):
* lisp/iswitchb.el (iswitchb-read-buffer):
* lisp/mail/mailalias.el (mail-complete):
* lisp/mail/sendmail.el (mail-sent-via):
* lisp/mouse.el (mouse-popup-menubar-stuff, mouse-popup-menubar)
(mouse-major-mode-menu):
* lisp/password-cache.el (password-read-and-add):
* lisp/pcomplete.el (pcomplete-parse-comint-arguments):
* lisp/progmodes/sh-script.el (sh-maybe-here-document):
* lisp/replace.el (query-replace-regexp-eval):
* lisp/savehist.el (savehist-load):
* lisp/simple.el (choose-completion-delete-max-match):
* lisp/term.el (term-dynamic-simple-complete):
* lisp/vc/ediff-init.el (ediff-check-version):
* lisp/vc/ediff-wind.el (ediff-choose-window-setup-function-automatically):
* lisp/vc/vc.el (vc-diff-switches-list):
* lisp/view.el (view-return-to-alist-update): Likewise.

* lisp/iswitchb.el (iswitchb-read-buffer): Move code of
iswitchb-define-mode-map here, and delete that obsolete function.

* lisp/subr.el (eval-next-after-load, makehash, insert-string)
(assoc-ignore-representation, assoc-ignore-case): Use declare to
mark obsolete.
(mode-line-inverse-video): Variable deleted.

* lisp/emacs-lisp/byte-run.el (make-obsolete): Doc fix; emphasize that
this applies to functions.

* lisp/erc/erc.el (erc-send-command): Use define-obsolete-function-alias.

* lisp/international/mule-util.el (string-to-sequence): Remove.

* lisp/net/newst-backend.el (newsticker-cache-filename):
* lisp/net/newst-treeview.el (newsticker-groups-filename): Fix
incorrect obsolescence declaration.

* lisp/net/snmp-mode.el (snmp-font-lock-keywords-3): Don't use obsolete
font-lock-reference-face.

* lisp/url/url-parse.el (url-recreate-url-attributes):
* lisp/url/url-util.el (url-generate-unique-filename): Use declare to mark
obsolete.

* src/xdisp.c (mode_line_inverse_video): Delete obsolete variable.
2012-09-25 12:13:02 +08:00
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
5825610b41 * lisp/replace.el (read-regexp): Rename DEFAULT-VALUE arg to DEFAULTS
and allow accepting a list of strings prepended to a list of
standard default values.  Doc fix.

Fixes: debbugs:12321
2012-09-21 00:35:40 +03:00
Juri Linkov
eebbf404b8 * lisp/replace.el (read-regexp): Add HISTORY arg.
Fixes: debbugs:7567
2012-09-21 00:28:47 +03:00
Juri Linkov
41a97e6fcf * lisp/replace.el (read-regexp): Don't add ": " when PROMPT already
ends with a colon and space.

Fixes: debbugs:12321
2012-09-21 00:21:46 +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
Chong Yidong
011474aa5a Allow scrolling in y-or-n-p.
* lisp/replace.el (query-replace-map): Bind four new symbols for
requesting window scrolling.

* lisp/subr.el (y-or-n-p): Handle the window-scrolling bindings in
query-replace-map.

* lisp/custom.el (custom-theme-load-confirm): Use y-or-n-p.

* lisp/window.el (scroll-other-window-down): Make the arg optional.

* lisp/emacs-lisp/map-ynp.el (map-y-or-n-p): Don't bind scrolling keys
since they are now in query-replace-map.

* doc/lispref/minibuf.texi (Yes-or-No Queries): Document recentering and
scrolling in y-or-n-p.  Remove gratuitous example.

* doc/lispref/searching.texi (Search and Replace): Document window scrolling
entries in query-replace-map.

Fixes: debbugs:8948
2012-09-09 14:43:47 +08: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
1ec5e41d0e Use isearch-search-fun' in perform-replace' (bug#10885, bug#10887).
* lisp/replace.el (replace-search-function)
(replace-re-search-function): Set default values to nil.
(perform-replace): Let-bind isearch-related variables based on
replace-related values, call `isearch-search-fun' and let-bind
the result to `search-function'.  Remove code that sets
`search-function' and `search-string' separately for
`delimited-flag'.
(replace-highlight): Add new argument `delimited-flag' and
rename other arguments to the names used in `perform-replace'.
Let-bind `isearch-word' to the argument `delimited-flag'.
2012-09-06 11:33:17 +03:00
Chong Yidong
90749b537a Add inhibit-switch-frame parameter for display-buffer, and use it in occur-edit.
* replace.el (occur-after-change-function): Avoid losing focus by
using the inhibit-switch-frame display action option.

* window.el (window--maybe-raise-frame): New function.
(window--display-buffer): Split off from here.
(display-buffer-reuse-window, display-buffer-pop-up-frame)
(display-buffer-pop-up-window, display-buffer-use-some-window):
Obey an inhibit-switch-frame action alist entry.
(display-buffer): Update doc.

Fixes: debbugs:12139
2012-08-06 13:33:39 +08:00
Bastien Guerry
66ec244299 Fix typo in docstring. Bug #12122. 2012-08-02 18:54:42 +02:00
Stefan Monnier
1ec4b7b259 Get rid of all the manual purecopy calls in menu-bar definitions.
* lisp/loadup.el (purify-flag): Pre-grow the hash-table to reduce the
memory use.
* lisp/bindings.el (bindings--define-key): New function.
* lisp/vc/vc-hooks.el, lisp/replace.el, lisp/menu-bar.el:
* lisp/international/mule-cmds.el, lisp/emacs-lisp/lisp-mode.el:
* lisp/buff-menu.el, lisp/bookmark.el:
* bindings.el: Use it to purecopy define-key bindings.
* src/fns.c (maybe_resize_hash_table): Output message when growing the
purify-hashtable.
2012-06-27 17:15:13 -04:00