www.delorie.com/gnu/docs/elisp-manual-21/elisp_574.html   search  
 
Buy the book!


GNU Emacs Lisp Reference Manual

[ < ] [ > ]   [ << ] [ Up ] [ >> ]         [Top] [Contents] [Index] [ ? ]

34.5 Search and Replace

Function: perform-replace from-string replacements start end query-flag regexp-flag delimited-flag &optional repeat-count map
This function is the guts of query-replace and related commands. It searches for occurrences of from-string in the text between positions start and end and replaces some or all of them. If start is nil, point is used instead, and the buffer's end is used for end.

If query-flag is nil, it replaces all occurrences; otherwise, it asks the user what to do about each one.

If regexp-flag is non-nil, then from-string is considered a regular expression; otherwise, it must match literally. If delimited-flag is non-nil, then only replacements surrounded by word boundaries are considered.

The argument replacements specifies what to replace occurrences with. If it is a string, that string is used. It can also be a list of strings, to be used in cyclic order.

If replacements is a cons cell, (function . data), this means to call function after each match to get the replacement text. This function is called with two arguments: data, and the number of replacements already made.

If repeat-count is non-nil, it should be an integer. Then it specifies how many times to use each of the strings in the replacements list before advancing cyclicly to the next one.

If from-string contains upper-case letters, then perform-replace binds case-fold-search to nil, and it uses the replacements without altering the case of them.

Normally, the keymap query-replace-map defines the possible user responses for queries. The argument map, if non-nil, is a keymap to use instead of query-replace-map.

Variable: query-replace-map
This variable holds a special keymap that defines the valid user responses for query-replace and related functions, as well as y-or-n-p and map-y-or-n-p. It is unusual in two ways:

Here are the meaningful "bindings" for query-replace-map. Several of them are meaningful only for query-replace and friends.

act
Do take the action being considered--in other words, "yes."

skip
Do not take action for this question--in other words, "no."

exit
Answer this question "no," and give up on the entire series of questions, assuming that the answers will be "no."

act-and-exit
Answer this question "yes," and give up on the entire series of questions, assuming that subsequent answers will be "no."

act-and-show
Answer this question "yes," but show the results--don't advance yet to the next question.

automatic
Answer this question and all subsequent questions in the series with "yes," without further user interaction.

backup
Move back to the previous place that a question was asked about.

edit
Enter a recursive edit to deal with this question--instead of any other action that would normally be taken.

delete-and-edit
Delete the text being considered, then enter a recursive edit to replace it.

recenter
Redisplay and center the window, then ask the same question again.

quit
Perform a quit right away. Only y-or-n-p and related functions use this answer.

help
Display some help, then ask again.


[ < ] [ > ]   [ << ] [ Up ] [ >> ]         [Top] [Contents] [Index] [ ? ]

  webmaster   donations   bookstore     delorie software   privacy  
  Copyright 2003   by The Free Software Foundation     Updated Jun 2003