From de7ce2d169a1ad5642715eddd95615a9c563b308 Mon Sep 17 00:00:00 2001 From: Chong Yidong Date: Tue, 7 Jan 2014 12:36:52 +0800 Subject: [PATCH] More doc updates. * 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. --- doc/emacs/ChangeLog | 6 +++++ doc/emacs/search.texi | 59 ++++++++++++++++++++++++++++-------------- doc/lispref/ChangeLog | 4 +++ doc/lispref/files.texi | 27 ++++++++++--------- etc/NEWS | 7 ++++- lisp/ChangeLog | 5 ++++ lisp/isearch.el | 9 ++++--- 7 files changed, 81 insertions(+), 36 deletions(-) diff --git a/doc/emacs/ChangeLog b/doc/emacs/ChangeLog index cfe3502827..ba18eefaed 100644 --- a/doc/emacs/ChangeLog +++ b/doc/emacs/ChangeLog @@ -1,3 +1,9 @@ +2014-01-07 Chong Yidong + + * 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 * cal-xtra.texi (Calendar Customizing): diff --git a/doc/emacs/search.texi b/doc/emacs/search.texi index bf47dec99b..ff82434a20 100644 --- a/doc/emacs/search.texi +++ b/doc/emacs/search.texi @@ -229,12 +229,14 @@ spaces in the text. Hence, @samp{foo bar} matches @samp{foo bar}, @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 @@ -244,15 +246,29 @@ have this effect. @xref{Search Case}. 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 @@ -268,6 +284,7 @@ I-search [@var{im}]: 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} @@ -315,7 +332,8 @@ of whether to copy a character or a word is heuristic.) @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 @@ -481,12 +499,13 @@ These run the commands @code{word-search-forward} and @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 diff --git a/doc/lispref/ChangeLog b/doc/lispref/ChangeLog index fc2580385f..4de37bdb1a 100644 --- a/doc/lispref/ChangeLog +++ b/doc/lispref/ChangeLog @@ -1,3 +1,7 @@ +2014-01-07 Chong Yidong + + * files.texi (Changing Files): Document copy-file changes. + 2014-01-07 Glenn Morris * display.texi (Logging Messages): Copyedits re messages-buffer. diff --git a/doc/lispref/files.texi b/doc/lispref/files.texi index 076c91c0c5..934ccaeadb 100644 --- a/doc/lispref/files.texi +++ b/doc/lispref/files.texi @@ -1561,11 +1561,15 @@ file. This works only on some operating systems, and only if you have 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 @@ -1636,13 +1640,12 @@ returns the permissions of a file. @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 diff --git a/etc/NEWS b/etc/NEWS index 48b4e88e6b..315cb3534a 100644 --- a/etc/NEWS +++ b/etc/NEWS @@ -702,6 +702,7 @@ rather than mboxo. Customize `unrmail-mbox-format' to change this. 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. @@ -721,10 +722,12 @@ backward, `M-s w words M-- M-%' replaces a sequence of words backward. *** 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 @@ -739,7 +742,7 @@ that it matches symbols, and non-symbol characters between symbols. *** 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 @@ -971,6 +974,7 @@ alist of extended attributes as returned by the new function `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 @@ -1146,6 +1150,7 @@ Unix file permission bits as well as SELinux context. 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'. diff --git a/lisp/ChangeLog b/lisp/ChangeLog index 8b6462b2d6..48f11813d4 100644 --- a/lisp/ChangeLog +++ b/lisp/ChangeLog @@ -1,3 +1,8 @@ +2014-01-07 Chong Yidong + + * isearch.el (isearch-yank-char, isearch-yank-word) + (isearch-yank-line): Doc fix. + 2014-01-06 Stefan Monnier * abbrev.el (define-abbrev): Beware new meaning of fboundp. diff --git a/lisp/isearch.el b/lisp/isearch.el index 69d081e9a5..fe2f1ace33 100644 --- a/lisp/isearch.el +++ b/lisp/isearch.el @@ -1946,7 +1946,8 @@ or it might return the position of the end of the line." (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)))) @@ -1965,12 +1966,14 @@ Subword is used when `subword-mode' is activated. " (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)) -- 2.20.1