* 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 Chong Yidong <cyd@gnu.org>
+
+ * 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.
+
2014-01-07 Glenn Morris <rgm@gnu.org>
* cal-xtra.texi (Calendar Customizing):
@samp{foo bar}, @samp{foo bar}, and so on (but not @samp{foobar}).
More precisely, Emacs matches each sequence of space characters in the
search string to a regular expression specified by the variable
-@code{search-whitespace-regexp}. For example, set it to
-@samp{"[[:space:]\n]+"} to make spaces match sequences of newlines as
-well as spaces. To toggle lax space matching, type @kbd{M-s SPC}
+@code{search-whitespace-regexp}. For example, to make spaces match
+sequences of newlines as well as spaces, set it to
+@samp{"[[:space:]\n]+"}.
+
+ To toggle lax space matching, type @kbd{M-s SPC}
(@code{isearch-toggle-lax-whitespace}). To disable this feature
entirely, change @code{search-whitespace-regexp} to @code{nil}; then
-each space in the search string matches exactly one space
+each space in the search string matches exactly one space.
If the search string you entered contains only lower-case letters,
the search is case-insensitive; as long as an upper-case letter exists
To search for a newline character, type @kbd{C-j}.
- To search for other control characters, such as @key{control-S},
-quote it by typing @kbd{C-q} first (@pxref{Inserting Text}). To
-search for non-@acronym{ASCII} characters, you can either use
-@kbd{C-q} and enter its octal code, or use an input method
-(@pxref{Input Methods}). If an input method is enabled in the current
-buffer when you start the search, you can use it in the search string
-also. While typing the search string, you can toggle the input method
-with the command @kbd{C-\} (@code{isearch-toggle-input-method}). You
-can also turn on a non-default input method with @kbd{C-^}
+ To search for non-@acronym{ASCII} characters, use one of the
+following methods:
+
+@itemize @bullet
+@item
+Type @kbd{C-q}, followed by a non-graphic character or a sequence of
+octal digits. This adds a character to the search string, similar to
+inserting into a buffer using @kbd{C-q} (@pxref{Inserting Text}). For
+example, @kbd{C-q C-s} during incremental search adds the
+@key{control-S} character to the search string.
+
+@item
+Type @kbd{C-x 8 @key{RET}}, followed by a Unicode name or code-point.
+This adds the specified character into the search string, similar to
+the usual @code{insert-char} command (@pxref{Inserting Text}).
+
+@item
+Use an input method (@pxref{Input Methods}). If an input method is
+enabled in the current buffer when you start the search, you can use
+it in the search string also. While typing the search string, you can
+toggle the input method with @kbd{C-\}
+(@code{isearch-toggle-input-method}). You can also turn on a
+non-default input method with @kbd{C-^}
(@code{isearch-toggle-specified-input-method}), which prompts for the
name of the input method. When an input method is active during
incremental search, the search prompt includes the input method
where @var{im} is the mnemonic of the active input method. Any input
method you enable during incremental search remains enabled in the
current buffer afterwards.
+@end itemize
@kindex M-% @r{(Incremental search)}
Typing @kbd{M-%} in incremental search invokes @code{query-replace}
@findex isearch-yank-line
Similarly, @kbd{M-s C-e} (@code{isearch-yank-line}) appends the rest
of the current line to the search string. If point is already at the
-end of a line, it appends the next line.
+end of a line, it appends the next line. With a prefix argument
+@var{n}, it appends the next @var{n} lines.
If the search is currently case-insensitive, both @kbd{C-w} and
@kbd{M-s C-e} convert the text they copy to lower case, so that the
@code{word-search-backward} respectively.
Incremental and nonincremental word searches differ slightly in the
-way they find a match. In a nonincremental word search, the last word
-in the search string must exactly match a whole word. In an
-incremental word search, the matching is more lax: the last word in
-the search string can match part of a word, so that the matching
-proceeds incrementally as you type. This additional laxity does not
-apply to the lazy highlight, which always matches whole words.
+way they find a match. In a nonincremental word search, each word in
+the search string must exactly match a whole word. In an incremental
+word search, the matching is more lax: while you are typing the search
+string, its first and last words need not match whole words. This is
+so that the matching can proceed incrementally as you type. This
+additional laxity does not apply to the lazy highlight, which always
+matches whole words.
@node Symbol Search
@section Symbol Search
+2014-01-07 Chong Yidong <cyd@gnu.org>
+
+ * files.texi (Changing Files): Document copy-file changes.
+
2014-01-07 Glenn Morris <rgm@gnu.org>
* display.texi (Logging Messages): Copyedits re messages-buffer.
the correct permissions to do so.
If the optional argument @var{preserve-permissions} is non-@code{nil},
-this function copies the file modes (or ``permissions''), as well as
-its Access Control List and SELinux context (if any).
-@xref{Information about Files}. Otherwise, if the destination is
-created its file permission bits are those of the source, masked by
-the default file permissions.
+this function copies the file modes (or ``permissions'') of
+@var{oldname} to @var{newname}, as well as the Access Control List and
+SELinux context (if any). @xref{Information about Files}.
+
+Otherwise, the file modes of @var{newname} are left unchanged if it is
+an existing file, and set to those of @var{oldname}, masked by the
+default file permissions (see @code{set-default-file-modes} below), if
+@var{newname} is to be newly created. The Access Control List or
+SELinux context are not copied over in either case.
@end deffn
@deffn Command make-symbolic-link filename newname &optional ok-if-exists
@defun set-default-file-modes mode
@cindex umask
-This function sets the default file permissions for new files created
-by Emacs and its subprocesses. Every file created with Emacs
-initially has these permissions, or a subset of them
-(@code{write-region} will not grant execute permissions even if the
-default file permissions allow execution). On Unix and GNU/Linux, the
-default permissions are given by the bitwise complement of the
-``umask'' value.
+This function sets the default permissions for new files created by
+Emacs and its subprocesses. Every file created with Emacs initially
+has these permissions, or a subset of them (@code{write-region} will
+not grant execute permissions even if the default file permissions
+allow execution). On Unix and GNU/Linux, the default permissions are
+given by the bitwise complement of the ``umask'' value.
The argument @var{mode} should be an integer which specifies the
permissions, similar to @code{set-file-modes} above. Only the lowest
starts a symbol (identifier) incremental search forward with the
symbol found near point added to the search string initially.
++++
*** `C-x 8 RET' in Isearch mode reads a character by its Unicode name
and adds it to the search string.
*** By default, prefix arguments do not now terminate Isearch mode.
Set `isearch-allow-prefix' to nil to restore old behavior.
++++
*** More Isearch commands accept prefix arguments, namely
`isearch-printing-char', `isearch-quote-char', `isearch-yank-word',
`isearch-yank-line'.
++++
*** Word search now matches whitespace at the beginning/end
of the search string if it contains leading/trailing whitespace.
In an incremental word search or when using a non-nil LAX argument
*** New command `ses-rename-cell' allows assigning names to SES cells.
** Shell
-
+---
*** `explicit-bash-args' now always defaults to use --noediting.
During initialization, Emacs no longer expends a process to decide
whether it is safe to use Bash's --noediting option. These days
`file-extended-attributes'. The attributes can be applied to another
file using `set-file-extended-attributes'.
++++
** By default `copy-file' no longer copies file permission bits to an
existing destination; and it sets the file permission bits of a newly
created destination to those of the source, masked by the default file
argument GROUP which causes it check for file group too. This can be
used in place of the 9th element of `file-attributes'.
+---
*** The function `set-visited-file-modtime' now accepts a 0 or -1
argument, with the same interpretation as the returned value of
`visited-file-modtime'.
+2014-01-07 Chong Yidong <cyd@gnu.org>
+
+ * isearch.el (isearch-yank-char, isearch-yank-word)
+ (isearch-yank-line): Doc fix.
+
2014-01-06 Stefan Monnier <monnier@iro.umontreal.ca>
* abbrev.el (define-abbrev): Beware new meaning of fboundp.
(forward-char arg)))
(defun isearch-yank-char (&optional arg)
- "Pull next character from buffer into search string."
+ "Pull next character from buffer into search string.
+If optional ARG is non-nil, pull in the next ARG characters."
(interactive "p")
(isearch-yank-internal (lambda () (forward-char arg) (point))))
(forward-char 1)) (point))))
(defun isearch-yank-word (&optional arg)
- "Pull next word from buffer into search string."
+ "Pull next word from buffer into search string.
+If optional ARG is non-nil, pull in the next ARG words."
(interactive "p")
(isearch-yank-internal (lambda () (forward-word arg) (point))))
(defun isearch-yank-line (&optional arg)
- "Pull rest of line from buffer into search string."
+ "Pull rest of line from buffer into search string.
+If optional ARG is non-nil, yank the next ARG lines."
(interactive "p")
(isearch-yank-internal
(lambda () (let ((inhibit-field-text-motion t))