Now on revision 107373. ------------------------------------------------------------ revno: 107373 committer: Chong Yidong branch nick: trunk timestamp: Wed 2012-02-22 14:10:03 +0800 message: * lisp/custom.el (load-theme): Doc fix. diff: === modified file 'lisp/ChangeLog' --- lisp/ChangeLog 2012-02-22 04:02:44 +0000 +++ lisp/ChangeLog 2012-02-22 06:10:03 +0000 @@ -1,3 +1,7 @@ +2012-02-22 Chong Yidong + + * custom.el (load-theme): Doc fix. + 2012-02-22 Glenn Morris * dired-x.el (dired-guess-shell-alist-default): === modified file 'lisp/custom.el' --- lisp/custom.el 2012-02-15 04:00:34 +0000 +++ lisp/custom.el 2012-02-22 06:10:03 +0000 @@ -1138,9 +1138,10 @@ The theme file is named THEME-theme.el, in one of the directories specified by `custom-theme-load-path'. -If optional arg NO-CONFIRM is non-nil, and THEME is not -considered safe according to `custom-safe-themes', prompt the -user for confirmation. +If the theme is not considered safe by `custom-safe-themes', +prompt the user for confirmation before loading it. But if +optional arg NO-CONFIRM is non-nil, load the theme without +prompting. Normally, this function also enables THEME; if optional arg NO-ENABLE is non-nil, load the theme but don't enable it. === modified file 'lisp/dired.el' --- lisp/dired.el 2012-02-12 09:51:03 +0000 +++ lisp/dired.el 2012-02-22 06:10:03 +0000 @@ -4196,7 +4196,7 @@ ;;;*** ;;;### (autoloads (dired-do-relsymlink dired-jump-other-window dired-jump) -;;;;;; "dired-x" "dired-x.el" "bc516591d881911d72b58eeed8816576") +;;;;;; "dired-x" "dired-x.el" "2a39a8306a5541c304bc4ab602876f92") ;;; Generated autoloads from dired-x.el (autoload 'dired-jump "dired-x" "\ ------------------------------------------------------------ revno: 107372 fixes bug(s): http://debbugs.gnu.org/10743 committer: Chong Yidong branch nick: trunk timestamp: Wed 2012-02-22 14:03:30 +0800 message: * src/xterm.c (x_draw_image_relief): Add missing type check for Vtool_bar_button_margin. diff: === modified file 'src/ChangeLog' --- src/ChangeLog 2012-02-21 13:24:48 +0000 +++ src/ChangeLog 2012-02-22 06:03:30 +0000 @@ -1,3 +1,8 @@ +2012-02-22 Chong Yidong + + * xterm.c (x_draw_image_relief): Add missing type check for + Vtool_bar_button_margin (Bug#10743). + 2012-02-21 Chong Yidong * fileio.c (Vfile_name_handler_alist): Doc fix. === modified file 'src/xterm.c' --- src/xterm.c 2012-02-02 02:12:57 +0000 +++ src/xterm.c 2012-02-22 06:03:30 +0000 @@ -2292,7 +2292,8 @@ static void x_draw_image_relief (struct glyph_string *s) { - int x0, y0, x1, y1, thick, raised_p, extra; + int x0, y0, x1, y1, thick, raised_p; + int extra_x, extra_y; XRectangle r; int x = s->x; int y = s->ybase - image_ascent (s->img, s->face, &s->slice); @@ -2323,13 +2324,24 @@ raised_p = s->img->relief > 0; } - extra = s->face->id == TOOL_BAR_FACE_ID - ? XINT (Vtool_bar_button_margin) : 0; + extra_x = extra_y = 0; + if (s->face->id == TOOL_BAR_FACE_ID) + { + if (CONSP (Vtool_bar_button_margin) + && INTEGERP (XCAR (Vtool_bar_button_margin)) + && INTEGERP (XCDR (Vtool_bar_button_margin))) + { + extra_x = XCAR (Vtool_bar_button_margin); + extra_y = XCDR (Vtool_bar_button_margin); + } + else if (INTEGERP (Vtool_bar_button_margin)) + extra_x = extra_y = XINT (Vtool_bar_button_margin); + } - x0 = x - thick - extra; - y0 = y - thick - extra; - x1 = x + s->slice.width + thick - 1 + extra; - y1 = y + s->slice.height + thick - 1 + extra; + x0 = x - thick - extra_x; + y0 = y - thick - extra_y; + x1 = x + s->slice.width + thick - 1 + extra_x; + y1 = y + s->slice.height + thick - 1 + extra_y; x_setup_relief_colors (s); get_glyph_string_clip_rect (s, &r); ------------------------------------------------------------ revno: 107371 fixes bug(s): http://debbugs.gnu.org/172 committer: Glenn Morris branch nick: trunk timestamp: Tue 2012-02-21 20:02:44 -0800 message: dired-guess-shell-alist-default tiny nroff change * dired-x.el (dired-guess-shell-alist-default): Remove escape sequences from nroff output. diff: === modified file 'lisp/ChangeLog' --- lisp/ChangeLog 2012-02-21 22:23:51 +0000 +++ lisp/ChangeLog 2012-02-22 04:02:44 +0000 @@ -1,3 +1,8 @@ +2012-02-22 Glenn Morris + + * dired-x.el (dired-guess-shell-alist-default): + Remove escape sequences from nroff output. (Bug#172) + 2012-02-21 Glenn Morris * vc/emerge.el (emerge-defvar-local): === modified file 'lisp/dired-x.el' --- lisp/dired-x.el 2012-02-11 22:13:29 +0000 +++ lisp/dired-x.el 2012-02-22 04:02:44 +0000 @@ -964,24 +964,26 @@ ;; FIXME "man ./" does not work with dired-do-shell-command, ;; because there seems to be no way for us to modify the filename, ;; only the command. Hmph. `dired-man' works though. - (list "\\.\\(?:[0-9]\\|man\\)\\'" '(let ((loc (Man-support-local-filenames))) - (cond ((eq loc 'man-db) "man -l") - ((eq loc 'man) "man ./") - (t - "cat * | tbl | nroff -man -h")))) + (list "\\.\\(?:[0-9]\\|man\\)\\'" + '(let ((loc (Man-support-local-filenames))) + (cond ((eq loc 'man-db) "man -l") + ((eq loc 'man) "man ./") + (t + "cat * | tbl | nroff -man -h | col -b")))) (list "\\.\\(?:[0-9]\\|man\\)\\.g?z\\'" '(let ((loc (Man-support-local-filenames))) (cond ((eq loc 'man-db) "man -l") ((eq loc 'man) "man ./") - (t "gunzip -qc * | tbl | nroff -man -h"))) + (t "gunzip -qc * | tbl | nroff -man -h | col -b"))) ;; Optional decompression. '(concat "gunzip" (if dired-guess-shell-gzip-quiet " -q"))) - (list "\\.[0-9]\\.Z\\'" '(let ((loc (Man-support-local-filenames))) - (cond ((eq loc 'man-db) "man -l") - ((eq loc 'man) "man ./") - (t "zcat * | tbl | nroff -man -h"))) + (list "\\.[0-9]\\.Z\\'" + '(let ((loc (Man-support-local-filenames))) + (cond ((eq loc 'man-db) "man -l") + ((eq loc 'man) "man ./") + (t "zcat * | tbl | nroff -man -h | col -b"))) ;; Optional conversion to gzip format. '(concat "znew" (if dired-guess-shell-gzip-quiet " -q") " " dired-guess-shell-znew-switches)) ------------------------------------------------------------ revno: 107370 committer: Glenn Morris branch nick: trunk timestamp: Tue 2012-02-21 17:23:51 -0500 message: Tiny emerge-defvar-local fix * lisp/vc/emerge.el (emerge-defvar-local): Set `permanent-local' property rather than unused `preserved'. diff: === modified file 'lisp/ChangeLog' --- lisp/ChangeLog 2012-02-21 17:33:16 +0000 +++ lisp/ChangeLog 2012-02-21 22:23:51 +0000 @@ -1,5 +1,8 @@ 2012-02-21 Glenn Morris + * vc/emerge.el (emerge-defvar-local): + Set `permanent-local' property rather than unused `preserved'. + * textmodes/picture.el (picture-delete-char): New alias. (picture-mode-map): Use it. (Bug#10860) (picture-mode): Doc fix. === modified file 'lisp/vc/emerge.el' --- lisp/vc/emerge.el 2011-12-17 06:51:13 +0000 +++ lisp/vc/emerge.el 2012-02-21 22:23:51 +0000 @@ -39,13 +39,13 @@ (defmacro emerge-defvar-local (var value doc) "Defines SYMBOL as an advertised variable. Performs a defvar, then executes `make-variable-buffer-local' on -the variable. Also sets the `preserved' property, so that +the variable. Also sets the `permanent-local' property, so that `kill-all-local-variables' (called by major-mode setting commands) won't destroy Emerge control variables." `(progn (defvar ,var ,value ,doc) (make-variable-buffer-local ',var) - (put ',var 'preserved t))) + (put ',var 'permanent-local t))) ;; Add entries to minor-mode-alist so that emerge modes show correctly (defvar emerge-minor-modes-list ------------------------------------------------------------ revno: 107369 committer: Glenn Morris branch nick: trunk timestamp: Tue 2012-02-21 16:43:51 -0500 message: Checked emerge-xtra.texi * doc/emacs/emerge-xtra.texi (Emerge, Submodes of Emerge, Combining in Emerge): Small fixes. * admin/FOR-RELEASE: Related markup. diff: === modified file 'admin/FOR-RELEASE' --- admin/FOR-RELEASE 2012-02-21 19:56:14 +0000 +++ admin/FOR-RELEASE 2012-02-21 21:43:51 +0000 @@ -137,7 +137,7 @@ display.texi cyd emacs.texi rgm emacs-xtra.texi rgm -emerge-xtra.texi +emerge-xtra.texi rgm entering.texi cyd files.texi cyd fixit.texi cyd === modified file 'doc/emacs/ChangeLog' --- doc/emacs/ChangeLog 2012-02-21 19:56:14 +0000 +++ doc/emacs/ChangeLog 2012-02-21 21:43:51 +0000 @@ -1,5 +1,8 @@ 2012-02-21 Glenn Morris + * emerge-xtra.texi (Emerge, Submodes of Emerge, Combining in Emerge): + Small fixes. + * emacs-xtra.texi: Picture mode is no longer a chapter. * picture-xtra.texi (Basic Picture): C-a does get remapped. === modified file 'doc/emacs/emerge-xtra.texi' --- doc/emacs/emerge-xtra.texi 2012-01-19 07:21:25 +0000 +++ doc/emacs/emerge-xtra.texi 2012-02-21 21:43:51 +0000 @@ -1,5 +1,5 @@ @c This is part of the Emacs manual. -@c Copyright (C) 2004-2012 Free Software Foundation, Inc. +@c Copyright (C) 2004-2012 Free Software Foundation, Inc. @c See file emacs.texi for copying conditions. @c @c This file is included either in emacs-xtra.texi (when producing the @@ -19,7 +19,7 @@ @ifnottex @ref{Comparing Files}, @end ifnottex -and @ref{Top, Ediff,, ediff, The Ediff Manual}. +and @ref{Top,, Ediff, ediff, The Ediff Manual}. @menu * Overview of Emerge:: How to start Emerge. Basic concepts. @@ -155,13 +155,13 @@ indicates Skip Prefers mode with @samp{S}. This mode is only relevant when there is an ancestor. -@findex emerge-auto-advance-mode -@findex emerge-skip-prefers-mode - Use the command @kbd{s a} (@code{emerge-auto-advance-mode}) to set or -clear Auto Advance mode. Use @kbd{s s} -(@code{emerge-skip-prefers-mode}) to set or clear Skip Prefers mode. -These commands turn on the mode with a positive argument, turn it off -with a negative or zero argument, and toggle the mode with no argument. +@findex emerge-auto-advance +@findex emerge-skip-prefers + Use the command @kbd{s a} (@code{emerge-auto-advance}) to set or clear +Auto Advance mode. Use @kbd{s s} (@code{emerge-skip-prefers}) to set or +clear Skip Prefers mode. These commands turn on the mode with a +positive argument, turn it off with a negative or zero argument, and +toggle the mode with no argument. @node State of Difference @subsection State of a Difference @@ -362,9 +362,9 @@ @example @group #ifdef NEW +@var{version from B buffer} +#else /* not NEW */ @var{version from A buffer} -#else /* not NEW */ -@var{version from B buffer} #endif /* not NEW */ @end group @end example @@ -380,7 +380,7 @@ @example @group -"#ifdef NEW\n%a#else /* not NEW */\n%b#endif /* not NEW */\n" +"#ifdef NEW\n%b#else /* not NEW */\n%a#endif /* not NEW */\n" @end group @end example ------------------------------------------------------------ revno: 107368 committer: Glenn Morris branch nick: trunk timestamp: Tue 2012-02-21 14:56:14 -0500 message: * doc/emacs/emacs-xtra.texi: Picture mode is no longer a chapter. * admin/FOR-RELEASE: Related markup. diff: === modified file 'admin/FOR-RELEASE' --- admin/FOR-RELEASE 2012-02-21 17:09:19 +0000 +++ admin/FOR-RELEASE 2012-02-21 19:56:14 +0000 @@ -136,7 +136,7 @@ dired-xtra.texi rgm display.texi cyd emacs.texi rgm -emacs-xtra.texi +emacs-xtra.texi rgm emerge-xtra.texi entering.texi cyd files.texi cyd === modified file 'doc/emacs/ChangeLog' --- doc/emacs/ChangeLog 2012-02-21 08:28:18 +0000 +++ doc/emacs/ChangeLog 2012-02-21 19:56:14 +0000 @@ -1,5 +1,7 @@ 2012-02-21 Glenn Morris + * emacs-xtra.texi: Picture mode is no longer a chapter. + * picture-xtra.texi (Basic Picture): C-a does get remapped. * ack.texi (Acknowledgments): Small changes, including resorting, === modified file 'doc/emacs/emacs-xtra.texi' --- doc/emacs/emacs-xtra.texi 2012-02-20 23:50:52 +0000 +++ doc/emacs/emacs-xtra.texi 2012-02-21 19:56:14 +0000 @@ -11,8 +11,7 @@ @copying This manual describes specialized features of Emacs. -Copyright @copyright{} 2004-2012 -Free Software Foundation, Inc. +Copyright @copyright{} 2004-2012 Free Software Foundation, Inc. @quotation Permission is granted to copy, distribute and/or modify this document @@ -111,10 +110,10 @@ the Emacs manual. @iftex -@c ``Picture Mode'' is a chapter, not a section, so it's outside @raisesections. + +@raisesections @include picture-xtra.texi -@raisesections @include arevert-xtra.texi @include dired-xtra.texi ------------------------------------------------------------ revno: 107367 committer: Glenn Morris branch nick: trunk timestamp: Tue 2012-02-21 09:33:16 -0800 message: ChangeLog typo fix diff: === modified file 'lisp/ChangeLog' --- lisp/ChangeLog 2012-02-21 17:09:19 +0000 +++ lisp/ChangeLog 2012-02-21 17:33:16 +0000 @@ -1,6 +1,6 @@ 2012-02-21 Glenn Morris - * textmodes/picture.el (picture-delete-char): Newalias. + * textmodes/picture.el (picture-delete-char): New alias. (picture-mode-map): Use it. (Bug#10860) (picture-mode): Doc fix. ------------------------------------------------------------ revno: 107366 fixes bug(s): http://debbugs.gnu.org/10860 committer: Glenn Morris branch nick: trunk timestamp: Tue 2012-02-21 09:09:19 -0800 message: Fix picture-mode C-c C-d binding * lisp/textmodes/picture.el (picture-delete-char): Newalias. (picture-mode-map): Use it. (picture-mode): Doc fix. * admin/FOR-RELEASE: Related markup. diff: === modified file 'admin/FOR-RELEASE' --- admin/FOR-RELEASE 2012-02-21 13:24:48 +0000 +++ admin/FOR-RELEASE 2012-02-21 17:09:19 +0000 @@ -159,7 +159,7 @@ mule.texi m-x.texi cyd package.texi cyd -picture-xtra.texi rgm (see bug#10860) +picture-xtra.texi rgm programs.texi cyd regs.texi cyd rmail.texi rgm === modified file 'lisp/ChangeLog' --- lisp/ChangeLog 2012-02-21 14:48:13 +0000 +++ lisp/ChangeLog 2012-02-21 17:09:19 +0000 @@ -1,3 +1,9 @@ +2012-02-21 Glenn Morris + + * textmodes/picture.el (picture-delete-char): Newalias. + (picture-mode-map): Use it. (Bug#10860) + (picture-mode): Doc fix. + 2012-02-21 Juanma Barranquero * newcomment.el (uncomment-region-default): Remove unused binding. === modified file 'lisp/textmodes/picture.el' --- lisp/textmodes/picture.el 2012-02-21 08:28:18 +0000 +++ lisp/textmodes/picture.el 2012-02-21 17:09:19 +0000 @@ -604,6 +604,8 @@ ;; Picture Keymap, entry and exit points. +(defalias 'picture-delete-char 'delete-char) + (defvar picture-mode-map nil) (defun picture-substitute (oldfun newfun) @@ -633,7 +635,7 @@ (picture-substitute 'move-end-of-line 'picture-end-of-line) (picture-substitute 'mouse-set-point 'picture-mouse-set-point) - (define-key picture-mode-map "\C-c\C-d" 'delete-char) + (define-key picture-mode-map "\C-c\C-d" 'picture-delete-char) (define-key picture-mode-map "\e\t" 'picture-toggle-tab-state) (define-key picture-mode-map "\t" 'picture-tab) (define-key picture-mode-map "\e\t" 'picture-tab-search) @@ -722,7 +724,7 @@ You can manipulate text with these commands: Clear ARG columns after point without moving: \\[picture-clear-column] - Delete char at point: \\[delete-char] + Delete char at point: \\[picture-delete-char] Clear ARG columns backward: \\[picture-backward-clear-column] Clear ARG lines, advancing over them: \\[picture-clear-line] (the cleared text is saved in the kill ring) ------------------------------------------------------------ revno: 107365 committer: Juanma Barranquero branch nick: trunk timestamp: Tue 2012-02-21 15:48:13 +0100 message: lisp/newcomment.el (uncomment-region-default): Remove unused binding. diff: === modified file 'lisp/ChangeLog' --- lisp/ChangeLog 2012-02-21 08:28:18 +0000 +++ lisp/ChangeLog 2012-02-21 14:48:13 +0000 @@ -1,3 +1,7 @@ +2012-02-21 Juanma Barranquero + + * newcomment.el (uncomment-region-default): Remove unused binding. + 2012-02-21 Glenn Morris * textmodes/picture.el (picture-motion, picture-motion-reverse) === modified file 'lisp/newcomment.el' --- lisp/newcomment.el 2012-02-17 15:44:32 +0000 +++ lisp/newcomment.el 2012-02-21 14:48:13 +0000 @@ -224,7 +224,7 @@ /* bli */ if `comment-end' is empty, this has no effect, unless EXTRA is also set, in which case the comment gets wrapped in a box. - + EXTRA specifies that an extra line should be used before and after the region to comment (to put the `comment-end' and `comment-start'). e.g. in C it comments regions as @@ -872,8 +872,8 @@ (when (and sre (looking-at (concat "\\s-*\n\\s-*" srei))) (goto-char (match-end 0))) (if (null arg) (delete-region (point-min) (point)) - (let* ((opoint (point-marker)) - (nchar (skip-syntax-backward " "))) + (let ((opoint (point-marker))) + (skip-syntax-backward " ") (delete-char (- numarg)) (unless (and (not (bobp)) (save-excursion (goto-char (point-min)) ------------------------------------------------------------ revno: 107364 committer: Chong Yidong branch nick: trunk timestamp: Tue 2012-02-21 21:24:48 +0800 message: Update Files chapter in Lisp manual. * doc/lispref/files.texi (Files): Mention magic file names as arguments. (Reading from Files): Copyedits. (File Attributes): Mention how to change file modes. (Changing Files): Use standard "file permissions" terminology. Add xref to File Attributes node. (Locating Files): Document locate-user-emacs-file. (Unique File Names): Recommend against using make-temp-name. * src/buffer.c (Fget_file_buffer): Protect against invalid file handler return value. * src/fileio.c (Vfile_name_handler_alist): Doc fix. diff: === modified file 'admin/FOR-RELEASE' --- admin/FOR-RELEASE 2012-02-21 08:28:18 +0000 +++ admin/FOR-RELEASE 2012-02-21 13:24:48 +0000 @@ -83,8 +83,6 @@ * DOCUMENTATION -** Document XEmbed support - ** Check the Emacs Tutorial. The first line of every tutorial must begin with text ending in a @@ -193,7 +191,7 @@ elisp.texi errors.texi eval.texi cyd -files.texi +files.texi cyd frames.texi functions.texi cyd hash.texi cyd @@ -229,10 +227,6 @@ variables.texi cyd windows.texi -* PLANNED ADDITIONS -* pov-mode (waiting for a Free POV-Ray) -** gas-mode ? - Local variables: mode: outline === modified file 'doc/lispref/ChangeLog' --- doc/lispref/ChangeLog 2012-02-19 05:54:33 +0000 +++ doc/lispref/ChangeLog 2012-02-21 13:24:48 +0000 @@ -1,3 +1,13 @@ +2012-02-21 Chong Yidong + + * files.texi (Files): Mention magic file names as arguments. + (Reading from Files): Copyedits. + (File Attributes): Mention how to change file modes. + (Changing Files): Use standard "file permissions" terminology. + Add xref to File Attributes node. + (Locating Files): Document locate-user-emacs-file. + (Unique File Names): Recommend against using make-temp-name. + 2012-02-19 Chong Yidong * help.texi (Documentation, Documentation Basics, Help Functions): === modified file 'doc/lispref/elisp.texi' --- doc/lispref/elisp.texi 2012-02-19 05:54:33 +0000 +++ doc/lispref/elisp.texi 2012-02-21 13:24:48 +0000 @@ -843,12 +843,11 @@ * File Locks:: Locking and unlocking files, to prevent simultaneous editing by two people. * Information about Files:: Testing existence, accessibility, size of files. -* Changing Files:: Renaming files, changing protection, etc. +* Changing Files:: Renaming files, changing permissions, etc. * File Names:: Decomposing and expanding file names. * Contents of Directories:: Getting a list of the files in a directory. * Create/Delete Dirs:: Creating and Deleting Directories. -* Magic File Names:: Defining "magic" special handling - for certain file names. +* Magic File Names:: Special handling for certain file names. * Format Conversion:: Conversion to and from various file formats. Visiting Files === modified file 'doc/lispref/files.texi' --- doc/lispref/files.texi 2012-02-10 08:08:23 +0000 +++ doc/lispref/files.texi 2012-02-21 13:24:48 +0000 @@ -8,9 +8,9 @@ @comment node-name, next, previous, up @chapter Files - In Emacs, you can find, create, view, save, and otherwise work with -files and file directories. This chapter describes most of the -file-related functions of Emacs Lisp, but a few others are described in + This chapter describes the Emacs Lisp functions and variables to +find, create, view, save, and otherwise work with files and file +directories. A few other file-related functions are described in @ref{Buffers}, and those related to backups and auto-saving are described in @ref{Backups and Auto-Saving}. @@ -18,8 +18,15 @@ names. A file name is actually a string. Most of these functions expand file name arguments by calling @code{expand-file-name}, so that @file{~} is handled correctly, as are relative file names (including -@samp{../}). These functions don't recognize environment variable -substitutions such as @samp{$HOME}. @xref{File Name Expansion}. +@samp{../}). @xref{File Name Expansion}. + + In addition, certain @dfn{magic} file names are handled specially. +For example, when a remote file name is specified, Emacs accesses the +file over the network via an appropriate protocol (@pxref{Remote +Files,, Remote Files, emacs, The GNU Emacs Manual}). This handling is +done at a very low level, so you may assume that all the functions +described in this chapter accept magic file names as file name +arguments, except where noted. @xref{Magic File Names}, for details. When file I/O functions signal Lisp errors, they usually use the condition @code{file-error} (@pxref{Handling Errors}). The error @@ -35,12 +42,11 @@ * File Locks:: Locking and unlocking files, to prevent simultaneous editing by two people. * Information about Files:: Testing existence, accessibility, size of files. -* Changing Files:: Renaming files, changing protection, etc. +* Changing Files:: Renaming files, changing permissions, etc. * File Names:: Decomposing and expanding file names. * Contents of Directories:: Getting a list of the files in a directory. * Create/Delete Dirs:: Creating and Deleting Directories. -* Magic File Names:: Defining "magic" special handling - for certain file names. +* Magic File Names:: Special handling for certain file names. * Format Conversion:: Conversion to and from various file formats. @end menu @@ -513,17 +519,15 @@ and the length of the data inserted. An error is signaled if @var{filename} is not the name of a file that can be read. -The function @code{insert-file-contents} checks the file contents -against the defined file formats, and converts the file contents if -appropriate and also calls the functions in -the list @code{after-insert-file-functions}. @xref{Format Conversion}. -Normally, one of the functions in the +This function checks the file contents against the defined file +formats, and converts the file contents if appropriate and also calls +the functions in the list @code{after-insert-file-functions}. +@xref{Format Conversion}. Normally, one of the functions in the @code{after-insert-file-functions} list determines the coding system (@pxref{Coding Systems}) used for decoding the file's contents, including end-of-line conversion. However, if the file contains null -bytes, it is by default visited without any code conversions; see -@ref{Lisp and Coding Systems, inhibit-null-byte-detection}, for how to -control this behavior. +bytes, it is by default visited without any code conversions. +@xref{Lisp and Coding Systems, inhibit-null-byte-detection}. If @var{visit} is non-@code{nil}, this function additionally marks the buffer as unmodified and sets up various fields in the buffer so that it @@ -554,11 +558,9 @@ @end defun @defun insert-file-contents-literally filename &optional visit beg end replace -This function works like @code{insert-file-contents} except that it does -not do format decoding (@pxref{Format Conversion}), does not do -character code conversion (@pxref{Coding Systems}), does not run -@code{find-file-hook}, does not perform automatic uncompression, and so -on. +This function works like @code{insert-file-contents} except that it +does not run @code{find-file-hook}, and does not do format decoding, +character code conversion, automatic uncompression, and so on. @end defun If you want to pass a file name to another process so that another @@ -796,7 +798,7 @@ to exist. This does not mean you can necessarily read the file, only that you can find out its attributes. (On Unix and GNU/Linux, this is true if the file exists and you have execute permission on the -containing directories, regardless of the protection of the file +containing directories, regardless of the permissions of the file itself.) If the file does not exist, or if fascist access control policies @@ -1020,7 +1022,6 @@ @subsection Truenames @cindex truename (of file) -@c Emacs 19 features The @dfn{truename} of a file is the name that you get by following symbolic links at all levels until none remain, then simplifying away @samp{.}@: and @samp{..}@: appearing as name components. This results @@ -1030,9 +1031,9 @@ because they eliminate symbolic links as a cause of name variation. @defun file-truename filename -The function @code{file-truename} returns the truename of the file -@var{filename}. If the argument is not an absolute file name, -this function first expands it against @code{default-directory}. +This function returns the truename of the file @var{filename}. If the +argument is not an absolute file name, this function first expands it +against @code{default-directory}. This function does not expand environment variables. Only @code{substitute-in-file-name} does that. @xref{Definition of @@ -1081,28 +1082,29 @@ @comment node-name, next, previous, up @subsection Other Information about Files - This section describes the functions for getting detailed information -about a file, other than its contents. This information includes the -mode bits that control access permission, the owner and group numbers, -the number of names, the inode number, the size, and the times of access -and modification. + This section describes the functions for getting detailed +information about a file, other than its contents. This information +includes the mode bits that control access permissions, the owner and +group numbers, the number of names, the inode number, the size, and +the times of access and modification. @defun file-modes filename -@cindex permission +@cindex file permissions +@cindex permissions, file @cindex file attributes -This function returns the mode bits of @var{filename}, as an integer. -The mode bits are also called the file permissions, and they specify -access control in the usual Unix fashion. If the low-order bit is 1, -then the file is executable by all users, if the second-lowest-order bit -is 1, then the file is writable by all users, etc. - -The highest value returnable is 4095 (7777 octal), meaning that -everyone has read, write, and execute permission, that the @acronym{SUID} bit -is set for both others and group, and that the sticky bit is set. - -If @var{filename} does not exist, @code{file-modes} returns @code{nil}. - -This function recursively follows symbolic links at all levels. +@cindex file modes +This function returns the @dfn{mode bits} describing the @dfn{file +permissions} of @var{filename}, as an integer. It recursively follows +symbolic links in @var{filename} at all levels. If @var{filename} +does not exist, the return value is @code{nil}. + +@xref{File Permissions,,, coreutils, The @sc{gnu} @code{Coreutils} +Manual}, for a description of mode bits. If the low-order bit is 1, +then the file is executable by all users, if the second-lowest-order +bit is 1, then the file is writable by all users, etc. The highest +value returnable is 4095 (7777 octal), meaning that everyone has read, +write, and execute permission, that the @acronym{SUID} bit is set for +both others and group, and that the sticky bit is set. @example @group @@ -1124,12 +1126,15 @@ -rw-rw-rw- 1 lewis 0 3063 Oct 30 16:00 diffs @end group @end example + +@xref{Changing Files}, for functions that change file permissions, +such as @code{set-file-modes}. @end defun -If the @var{filename} argument to the next two functions is a symbolic -link, then these function do @emph{not} replace it with its target. -However, they both recursively follow symbolic links at all levels of -parent directories. + If the @var{filename} argument to the next two functions is a +symbolic link, then these function do @emph{not} replace it with its +target. However, they both recursively follow symbolic links at all +levels of parent directories. @defun file-nlinks filename This functions returns the number of names (i.e., hard links) that @@ -1316,20 +1321,16 @@ @cindex find file in path This section explains how to search for a file in a list of -directories (a @dfn{path}). One example is when you need to look for -a program's executable file, e.g., to find out whether a given program -is installed on the user's system. Another example is the search for -Lisp libraries (@pxref{Library Search}). Such searches generally need -to try various possible file name extensions, in addition to various -possible directories. Emacs provides a function for such a -generalized search for a file. +directories (a @dfn{path}), or for an executable file in the standard +list of executable file directories, or for an Emacs-specific user +configuration file. @defun locate-file filename path &optional suffixes predicate This function searches for a file whose name is @var{filename} in a list of directories given by @var{path}, trying the suffixes in -@var{suffixes}. If it finds such a file, it returns the full -@dfn{absolute file name} of the file (@pxref{Relative File Names}); -otherwise it returns @code{nil}. +@var{suffixes}. If it finds such a file, it returns the file's +absolute file name (@pxref{Relative File Names}); otherwise it returns +@code{nil}. The optional argument @var{suffixes} gives the list of file-name suffixes to append to @var{filename} when searching. @@ -1337,24 +1338,23 @@ suffixes. If @var{suffixes} is @code{nil}, or @code{("")}, then there are no suffixes, and @var{filename} is used only as-is. Typical values of @var{suffixes} are @code{exec-suffixes} (@pxref{Subprocess -Creation, exec-suffixes}), @code{load-suffixes}, -@code{load-file-rep-suffixes} and the return value of the function -@code{get-load-suffixes} (@pxref{Load Suffixes}). +Creation}), @code{load-suffixes}, @code{load-file-rep-suffixes} and +the return value of the function @code{get-load-suffixes} (@pxref{Load +Suffixes}). Typical values for @var{path} are @code{exec-path} (@pxref{Subprocess -Creation, exec-path}) when looking for executable programs or -@code{load-path} (@pxref{Library Search, load-path}) when looking for -Lisp files. If @var{filename} is absolute, @var{path} has no effect, -but the suffixes in @var{suffixes} are still tried. +Creation}) when looking for executable programs, or @code{load-path} +(@pxref{Library Search}) when looking for Lisp files. If +@var{filename} is absolute, @var{path} has no effect, but the suffixes +in @var{suffixes} are still tried. -The optional argument @var{predicate}, if non-@code{nil}, specifies -the predicate function to use for testing whether a candidate file is -suitable. The predicate function is passed the candidate file name as -its single argument. If @var{predicate} is @code{nil} or unspecified, -@code{locate-file} uses @code{file-readable-p} as the default -predicate. Useful non-default predicates include -@code{file-executable-p}, @code{file-directory-p}, and other -predicates described in @ref{Kinds of Files}. +The optional argument @var{predicate}, if non-@code{nil}, specifies a +predicate function for testing whether a candidate file is suitable. +The predicate is passed the candidate file name as its single +argument. If @var{predicate} is @code{nil} or omitted, +@code{locate-file} uses @code{file-readable-p} as the predicate. +@xref{Kinds of Files}, for other useful predicates, e.g.@: +@code{file-executable-p} and @code{file-directory-p}. For compatibility, @var{predicate} can also be one of the symbols @code{executable}, @code{readable}, @code{writable}, @code{exists}, or @@ -1363,11 +1363,37 @@ @defun executable-find program This function searches for the executable file of the named -@var{program} and returns the full absolute name of the executable, +@var{program} and returns the absolute file name of the executable, including its file-name extensions, if any. It returns @code{nil} if the file is not found. The functions searches in all the directories -in @code{exec-path} and tries all the file-name extensions in -@code{exec-suffixes}. +in @code{exec-path}, and tries all the file-name extensions in +@code{exec-suffixes} (@pxref{Subprocess Creation}). +@end defun + +@defun locate-user-emacs-file base-name &optional old-name +This function returns an absolute file name for an Emacs-specific +configuration or data file. The argument @file{base-name} should be a +relative file name. The return value is the absolute name of a file +in the directory specified by @code{user-emacs-directory}; if that +directory does not exist, this function creates it. + +If the optional argument @var{old-name} is non-@code{nil}, it +specifies a file in the user's home directory, +@file{~/@var{old-name}}. If such a file exists, the return value is +the absolute name of that file, instead of the file specified by +@var{base-name}. This argument is intended to be used by Emacs +packages to provide backward compatibility. For instance, prior to +the introduction of @code{user-emacs-directory}, the abbrev file was +located in @file{~/.abbrev_defs}, so the definition of +@code{abbrev-file-name} is + +@example +(defcustom abbrev-file-name + (locate-user-emacs-file "abbrev_defs" ".abbrev_defs") + "Default name of file from which to read abbrevs." + @dots{} + :type 'file) +@end example @end defun @node Changing Files @@ -1378,8 +1404,8 @@ @cindex linking files @cindex setting modes of files - The functions in this section rename, copy, delete, link, and set the -modes of files. + The functions in this section rename, copy, delete, link, and set +the modes (permissions) of files. In the functions that have an argument @var{newname}, if a file by the name of @var{newname} already exists, the actions taken depend on the @@ -1548,54 +1574,67 @@ See also @code{delete-directory} in @ref{Create/Delete Dirs}. @end deffn +@cindex file permissions, setting +@cindex permissions, file +@cindex file modes, setting @deffn Command set-file-modes filename mode -This function sets mode bits of @var{filename} to @var{mode} (which -must be an integer when the function is called non-interactively). -Only the low 12 bits of @var{mode} are used. +This function sets the @dfn{file mode} (or @dfn{file permissions}) of +@var{filename} to @var{mode}. It recursively follows symbolic links +at all levels for @var{filename}. + +If called non-interactively, @var{mode} must be an integer. Only the +lowest 12 bits of the integer are used; on most systems, only the +lowest 9 bits are meaningful. You can use the Lisp construct for +octal numbers to enter @var{mode}. For example, + +@example +(set-file-modes #o644) +@end example + +@noindent +specifies that the file should be readable and writable for its owner, +readable for group members, and readable for all other users. +@xref{File Permissions,,, coreutils, The @sc{gnu} @code{Coreutils} +Manual}, for a description of mode bit specifications. Interactively, @var{mode} is read from the minibuffer using -@code{read-file-modes}, which accepts mode bits either as a number or -as a character string representing the mode bits symbolically. See -the description of @code{read-file-modes} below for the supported -forms of symbolic notation for mode bits. +@code{read-file-modes} (see below), which lets the user type in either +an integer or a string representing the permissions symbolically. -This function recursively follows symbolic links at all levels for -@var{filename}. +@xref{File Attributes}, for the function @code{file-modes}, which +returns the permissions of a file. @end deffn -@c Emacs 19 feature @defun set-default-file-modes mode @cindex umask -This function sets the default file protection for new files created by -Emacs and its subprocesses. Every file created with Emacs initially has -this protection, or a subset of it (@code{write-region} will not give a -file execute permission even if the default file protection allows -execute permission). On Unix and GNU/Linux, the default protection is -the bitwise complement of the ``umask'' value. - -The argument @var{mode} must be an integer. On most systems, only the -low 9 bits of @var{mode} are meaningful. You can use the Lisp construct -for octal numbers to enter @var{mode}; for example, - -@example -(set-default-file-modes #o644) -@end example - -Saving a modified version of an existing file does not count as creating -the file; it preserves the existing file's mode, whatever that is. So -the default file protection has no effect. +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. + +The argument @var{mode} should be an integer which specifies the +permissions, similar to @code{set-file-modes} above. Only the lowest +9 bits are meaningful. + +The default file permissions have no effect when you save a modified +version of an existing file; saving a file preserves its existing +permissions. @end defun @defun default-file-modes -This function returns the current default protection value. +This function returns the default file permissions, as an integer. @end defun @defun read-file-modes &optional prompt base-file -This function reads file mode bits from the minibuffer. The optional -argument @var{prompt} specifies a non-default prompt. Second optional -argument @var{base-file} is the name of a file on whose permissions to -base the mode bits that this function returns, if what the user types -specifies mode bits relative to permissions of an existing file. +This function reads a set of file mode bits from the minibuffer. The +first optional argument @var{prompt} specifies a non-default prompt. +Second second optional argument @var{base-file} is the name of a file +on whose permissions to base the mode bits that this function returns, +if what the user types specifies mode bits relative to permissions of +an existing file. If user input represents an octal number, this function returns that number. If it is a complete symbolic specification of mode bits, as @@ -1607,16 +1646,16 @@ @code{nil}, the function uses @code{0} as the base mode bits. The complete and relative specifications can be combined, as in @code{"u+r,g+rx,o+r,g-w"}. @xref{File Permissions,,, coreutils, The -@sc{gnu} @code{Coreutils} Manual}, for detailed description of -symbolic mode bits specifications. +@sc{gnu} @code{Coreutils} Manual}, for a description of file mode +specifications. @end defun @defun file-modes-symbolic-to-number modes &optional base-modes -This subroutine converts a symbolic specification of file mode bits in -@var{modes} into the equivalent numeric value. If the symbolic +This function converts a symbolic file mode specification in +@var{modes} into the equivalent integer value. If the symbolic specification is based on an existing file, that file's mode bits are taken from the optional argument @var{base-modes}; if that argument is -omitted or @code{nil}, it defaults to zero, i.e.@: no access rights at +omitted or @code{nil}, it defaults to 0, i.e.@: no access rights at all. @end defun @@ -2175,25 +2214,6 @@ non-@code{nil}. To use it, you should expand the prefix against the proper directory before calling @code{make-temp-file}. - In older Emacs versions where @code{make-temp-file} does not exist, -you should use @code{make-temp-name} instead: - -@example -(make-temp-name - (expand-file-name @var{name-of-application} - temporary-file-directory)) -@end example - -@defun make-temp-name string -This function generates a string that can be used as a unique file -name. The name starts with @var{string}, and has several random -characters appended to it, which are different in each Emacs job. It -is like @code{make-temp-file} except that it just constructs a name, -and does not create a file. Another difference is that @var{string} -should be an absolute file name. On MS-DOS, this function can -truncate the @var{string} prefix to fit into the 8+3 file-name limits. -@end defun - @defopt temporary-file-directory @cindex @code{TMPDIR} environment variable @cindex @code{TMP} environment variable @@ -2231,6 +2251,21 @@ @end example @end defopt +@defun make-temp-name base-name +This function generates a string that can be used as a unique file +name. The name starts with @var{base-name}, and has several random +characters appended to it, which are different in each Emacs job. It +is like @code{make-temp-file} except that (i) it just constructs a +name, and does not create a file, and (ii) @var{base-name} should be +an absolute file name (on MS-DOS, this function can truncate +@var{base-name} to fit into the 8+3 file-name limits). + +@strong{Warning:} In most cases, you should not use this function; use +@code{make-temp-file} instead! This function is susceptible to a race +condition, between the @code{make-temp-name} call and the creation of +the file, which in some cases may cause a security hole. +@end defun + @node File Name Completion @subsection File Name Completion @cindex file name completion subroutines @@ -2555,7 +2590,6 @@ @section Making Certain File Names ``Magic'' @cindex magic file names -@c Emacs 19 feature You can implement special handling for certain file names. This is called making those names @dfn{magic}. The principal use for this feature is in implementing remote file names (@pxref{Remote Files,, @@ -2564,7 +2598,7 @@ To define a kind of magic file name, you must supply a regular expression to define the class of names (all those that match the regular expression), plus a handler that implements all the primitive -Emacs file operations for file names that do match. +Emacs file operations for file names that match. @vindex file-name-handler-alist The variable @code{file-name-handler-alist} holds a list of handlers, === modified file 'doc/lispref/vol1.texi' --- doc/lispref/vol1.texi 2012-02-19 05:54:33 +0000 +++ doc/lispref/vol1.texi 2012-02-21 13:24:48 +0000 @@ -864,12 +864,11 @@ * File Locks:: Locking and unlocking files, to prevent simultaneous editing by two people. * Information about Files:: Testing existence, accessibility, size of files. -* Changing Files:: Renaming files, changing protection, etc. +* Changing Files:: Renaming files, changing permissions, etc. * File Names:: Decomposing and expanding file names. * Contents of Directories:: Getting a list of the files in a directory. * Create/Delete Dirs:: Creating and Deleting Directories. -* Magic File Names:: Defining "magic" special handling - for certain file names. +* Magic File Names:: Special handling for certain file names. * Format Conversion:: Conversion to and from various file formats. Visiting Files === modified file 'doc/lispref/vol2.texi' --- doc/lispref/vol2.texi 2012-02-19 05:54:33 +0000 +++ doc/lispref/vol2.texi 2012-02-21 13:24:48 +0000 @@ -863,12 +863,11 @@ * File Locks:: Locking and unlocking files, to prevent simultaneous editing by two people. * Information about Files:: Testing existence, accessibility, size of files. -* Changing Files:: Renaming files, changing protection, etc. +* Changing Files:: Renaming files, changing permissions, etc. * File Names:: Decomposing and expanding file names. * Contents of Directories:: Getting a list of the files in a directory. * Create/Delete Dirs:: Creating and Deleting Directories. -* Magic File Names:: Defining "magic" special handling - for certain file names. +* Magic File Names:: Special handling for certain file names. * Format Conversion:: Conversion to and from various file formats. Visiting Files === modified file 'src/ChangeLog' --- src/ChangeLog 2012-02-21 00:07:53 +0000 +++ src/ChangeLog 2012-02-21 13:24:48 +0000 @@ -1,3 +1,10 @@ +2012-02-21 Chong Yidong + + * fileio.c (Vfile_name_handler_alist): Doc fix. + + * buffer.c (Fget_file_buffer): Protect against invalid file + handler return value. + 2012-02-20 Paul Eggert * .gdbinit (xreload): Don't assume EMACS_INT fits in 'long' === modified file 'src/buffer.c' --- src/buffer.c 2012-02-07 06:34:52 +0000 +++ src/buffer.c 2012-02-21 13:24:48 +0000 @@ -272,7 +272,11 @@ call the corresponding file handler. */ handler = Ffind_file_name_handler (filename, Qget_file_buffer); if (!NILP (handler)) - return call2 (handler, Qget_file_buffer, filename); + { + Lisp_Object handled_buf = call2 (handler, Qget_file_buffer, + filename); + return BUFFERP (handled_buf) ? handled_buf : Qnil; + } for (tail = Vbuffer_alist; CONSP (tail); tail = XCDR (tail)) { === modified file 'src/fileio.c' --- src/fileio.c 2012-02-19 09:58:23 +0000 +++ src/fileio.c 2012-02-21 13:24:48 +0000 @@ -5640,18 +5640,25 @@ make_pure_c_string ("Cannot set file date")); DEFVAR_LISP ("file-name-handler-alist", Vfile_name_handler_alist, - doc: /* *Alist of elements (REGEXP . HANDLER) for file names handled specially. -If a file name matches REGEXP, then all I/O on that file is done by calling -HANDLER. - -The first argument given to HANDLER is the name of the I/O primitive -to be handled; the remaining arguments are the arguments that were -passed to that primitive. For example, if you do - (file-exists-p FILENAME) -and FILENAME is handled by HANDLER, then HANDLER is called like this: - (funcall HANDLER 'file-exists-p FILENAME) -The function `find-file-name-handler' checks this list for a handler -for its argument. */); + doc: /* Alist of elements (REGEXP . HANDLER) for file names handled specially. +If a file name matches REGEXP, all I/O on that file is done by calling +HANDLER. If a file name matches more than one handler, the handler +whose match starts last in the file name gets precedence. The +function `find-file-name-handler' checks this list for a handler for +its argument. + +HANDLER should be a function. The first argument given to it is the +name of the I/O primitive to be handled; the remaining arguments are +the arguments that were passed to that primitive. For example, if you +do (file-exists-p FILENAME) and FILENAME is handled by HANDLER, then +HANDLER is called like this: + + (funcall HANDLER 'file-exists-p FILENAME) + +Note that HANDLER must be able to handle all I/O primitives; if it has +nothing special to do for a primitive, it should reinvoke the +primitive to handle the operation \"the usual way\". +See Info node `(elisp)Magic File Names' for more details. */); Vfile_name_handler_alist = Qnil; DEFVAR_LISP ("set-auto-coding-function", ------------------------------------------------------------ revno: 107363 committer: Glenn Morris branch nick: trunk timestamp: Tue 2012-02-21 00:28:18 -0800 message: Checked picture-xtra.texi * doc/emacs/picture-xtra.texi (Basic Picture): C-a does get remapped. * lisp/textmodes/picture.el (picture-motion, picture-motion-reverse) (picture-self-insert, picture-tab-chars): Doc fix. (picture-mode-map): Fix C-a, C-e. * admin/FOR-RELEASE: Related markup. diff: === modified file 'admin/FOR-RELEASE' --- admin/FOR-RELEASE 2012-02-21 00:26:56 +0000 +++ admin/FOR-RELEASE 2012-02-21 08:28:18 +0000 @@ -161,7 +161,7 @@ mule.texi m-x.texi cyd package.texi cyd -picture-xtra.texi +picture-xtra.texi rgm (see bug#10860) programs.texi cyd regs.texi cyd rmail.texi rgm === modified file 'doc/emacs/ChangeLog' --- doc/emacs/ChangeLog 2012-02-21 00:26:56 +0000 +++ doc/emacs/ChangeLog 2012-02-21 08:28:18 +0000 @@ -1,5 +1,7 @@ 2012-02-21 Glenn Morris + * picture-xtra.texi (Basic Picture): C-a does get remapped. + * ack.texi (Acknowledgments): Small changes, including resorting, and removal of things no longer distributed. === modified file 'doc/emacs/picture-xtra.texi' --- doc/emacs/picture-xtra.texi 2012-01-19 07:21:25 +0000 +++ doc/emacs/picture-xtra.texi 2012-02-21 08:28:18 +0000 @@ -78,9 +78,10 @@ @code{picture-move-up}, which can either insert spaces or convert tabs as necessary to make sure that point stays in exactly the same column. @kbd{C-e} runs @code{picture-end-of-line}, which moves to after the last -nonblank character on the line. There is no need to change @kbd{C-a}, -as the choice of screen model does not affect beginnings of -lines. +nonblank character on the line. @kbd{C-a} runs +@code{picture-beginning-of-line}. (The choice of screen model does not +affect beginnings of lines; the only extra thing this command does is +update the current picture column to 0.) @findex picture-newline Insertion of text is adapted to the quarter-plane screen model === modified file 'lisp/ChangeLog' --- lisp/ChangeLog 2012-02-20 20:23:47 +0000 +++ lisp/ChangeLog 2012-02-21 08:28:18 +0000 @@ -1,3 +1,9 @@ +2012-02-21 Glenn Morris + + * textmodes/picture.el (picture-motion, picture-motion-reverse) + (picture-self-insert, picture-tab-chars): Doc fix. + (picture-mode-map): Fix C-a, C-e. + 2012-02-20 Glenn Morris * emacs-lisp/authors.el (authors-aliases): Add another entry. === modified file 'lisp/textmodes/picture.el' --- lisp/textmodes/picture.el 2012-01-19 07:21:25 +0000 +++ lisp/textmodes/picture.el 2012-02-21 08:28:18 +0000 @@ -1,6 +1,6 @@ ;;; picture.el --- "Picture mode" -- editing using quarter-plane screen model -;; Copyright (C) 1985, 1994, 2001-2012 Free Software Foundation, Inc. +;; Copyright (C) 1985, 1994, 2001-2012 Free Software Foundation, Inc. ;; Author: K. Shane Hartman ;; Maintainer: FSF @@ -211,7 +211,7 @@ "Move point in direction of current picture motion in Picture mode. With ARG do it that many times. Useful for delineating rectangles in conjunction with diagonal picture motion. -Do \\[command-apropos] picture-movement to see commands which control motion." +Use \"\\[command-apropos] picture-movement\" to see commands which control motion." (interactive "^p") (picture-move-down (* arg picture-vertical-step)) (picture-forward-column (* arg picture-horizontal-step))) @@ -220,7 +220,7 @@ "Move point in direction opposite of current picture motion in Picture mode. With ARG do it that many times. Useful for delineating rectangles in conjunction with diagonal picture motion. -Do \\[command-apropos] picture-movement to see commands which control motion." +Use \"\\[command-apropos] picture-movement\" to see commands which control motion." (interactive "^p") (picture-motion (- arg))) @@ -280,7 +280,7 @@ "Insert this character in place of character previously at the cursor. The cursor then moves in the direction you previously specified with the commands `picture-movement-right', `picture-movement-up', etc. -Do \\[command-apropos] `picture-movement' to see those commands." +Use \"\\[command-apropos] picture-movement\" to see those commands." (interactive "p") (picture-update-desired-column (not (eq this-command last-command))) (picture-insert last-command-event arg)) ; Always a character in this case. @@ -378,8 +378,10 @@ (defcustom picture-tab-chars "!-~" "A character set which controls behavior of commands. -\\[picture-set-tab-stops] and \\[picture-tab-search]. It is NOT a -regular expression, any regexp special characters will be quoted. +\\[picture-set-tab-stops] and \\[picture-tab-search]. +The syntax for this variable is like the syntax used inside of `[...]' +in a regular expression--but without the `[' and the `]'. +It is NOT a regular expression, any regexp special characters will be quoted. It defines a set of \"interesting characters\" to look for when setting \(or searching for) tab stops, initially \"!-~\" (all printing characters). For example, suppose that you are editing a table which is formatted thus: @@ -627,8 +629,8 @@ (picture-substitute 'newline-and-indent 'picture-duplicate-line) (picture-substitute 'next-line 'picture-move-down) (picture-substitute 'previous-line 'picture-move-up) - (picture-substitute 'beginning-of-line 'picture-beginning-of-line) - (picture-substitute 'end-of-line 'picture-end-of-line) + (picture-substitute 'move-beginning-of-line 'picture-beginning-of-line) + (picture-substitute 'move-end-of-line 'picture-end-of-line) (picture-substitute 'mouse-set-point 'picture-mouse-set-point) (define-key picture-mode-map "\C-c\C-d" 'delete-char) ------------------------------------------------------------ revno: 107362 committer: Glenn Morris branch nick: trunk timestamp: Mon 2012-02-20 16:26:56 -0800 message: Checked ack.texi * doc/emacs/ack.texi (Acknowledgments): Small changes, including resorting, and removal of things no longer distributed. * admin/FOR-RELEASE: Related markup. diff: === modified file 'admin/FOR-RELEASE' --- admin/FOR-RELEASE 2012-02-20 23:50:52 +0000 +++ admin/FOR-RELEASE 2012-02-21 00:26:56 +0000 @@ -123,7 +123,7 @@ ** Check the manual. abbrevs.texi cyd -ack.texi +ack.texi rgm anti.texi cyd arevert-xtra.texi cyd basic.texi cyd === modified file 'doc/emacs/ChangeLog' --- doc/emacs/ChangeLog 2012-02-20 23:50:52 +0000 +++ doc/emacs/ChangeLog 2012-02-21 00:26:56 +0000 @@ -1,3 +1,8 @@ +2012-02-21 Glenn Morris + + * ack.texi (Acknowledgments): Small changes, including resorting, + and removal of things no longer distributed. + 2012-02-20 Glenn Morris * emacs.texi (Top, Preface): Small rephrasings. === modified file 'doc/emacs/ack.texi' --- doc/emacs/ack.texi 2012-02-20 20:22:35 +0000 +++ doc/emacs/ack.texi 2012-02-21 00:26:56 +0000 @@ -33,7 +33,7 @@ from the keyboard; @file{xt-mouse.el}, which allows mouse commands through Xterm; @file{gnus-cus.el}, which implements customization commands for Gnus; @file{gnus-cite.el}, a citation-parsing facility for -news articles); @file{gnus-score.el}, scoring for Gnus; @file{cpp.el}, +news articles; @file{gnus-score.el}, scoring for Gnus; @file{cpp.el}, which hides or highlights parts of C programs according to preprocessor conditionals; and the widget library files @file{wid-browse.el}, @file{wid-edit.el}, @file{widget.el}. He also co-wrote @@ -68,7 +68,8 @@ implemented support for X11. @item -Emil Åström, Milan Zamaza, and Stefan Bruda wrote @file{prolog.el}. +Emil Åström, Milan Zamaza, and Stefan Bruda wrote @file{prolog.el}, +a mode for editing Prolog (and Mercury) code. @item Miles Bader wrote @file{image-file.el}, support code for visiting image @@ -78,7 +79,7 @@ depth; @file{button.el}, the library that implements clickable buttons; @file{face-remap.el}, a package for changing the default face in individual buffers; and @file{macroexp.el} for macro-expansion. He -also worked on an early version of the lexical-binding code. +also worked on an early version of the lexical binding code. @item David Bakhash wrote @file{strokes.el}, a mode for controlling Emacs by @@ -223,6 +224,10 @@ it is analyzed for spam. @item +Edward O'Connor wrote @file{json.el}, a file for parsing and +generating JSON files. + +@item Georges Brun-Cottan and Stefan Monnier wrote @file{easy-mmode.el}, a package for easy definition of major and minor modes. @@ -247,10 +252,6 @@ source tree to HTML. @item -Michael DeCorte wrote @file{emacs.csh}, a C-shell script that starts a -new Emacs job, or restarts a paused Emacs if one exists. - -@item Gary Delp wrote @file{mailpost.el}, an interface between RMAIL and the @file{/usr/uci/post} mailer. @@ -292,7 +293,7 @@ John Eaton and Kurt Hornik wrote Octave mode. @item -Rolf Ebert co-wrote Ada mode. +Rolf Ebert, Markus Heritsch, and Emmanuel Briot wrote Ada mode. @item Paul Eggert integrated the Gnulib portability library, and made many @@ -427,7 +428,7 @@ @item Bastien Guerry wrote @file{gnus-bookmark.el}, bookmark support for Gnus; -as well as contributing to Org mode (q.v.@:). +as well as helping to maintain Org mode (q.v.@:). @item Henry Guillaume wrote @file{find-file.el}, a package to visit files @@ -471,9 +472,6 @@ format of Unicode. @item -Markus Heritsch co-wrote Ada mode. - -@item Karl Heuer wrote the original blessmail script, implemented the @code{intangible} text property, and rearranged the structure of the @code{Lisp_Object} type to allow for more data bits. @@ -503,7 +501,7 @@ @item Lars Magne Ingebrigtsen did a major redesign of the Gnus news-reader and wrote many of its parts. Several of these are now general components of -Emacs: @file{dns.el} for Domain Name Service lookups; +Emacs, including: @file{dns.el} for Domain Name Service lookups; @file{format-spec.el} for formatting arbitrary format strings; @file{netrc.el} for parsing of @file{.netrc} files; and @file{time-date.el} for general date and time handling. @@ -591,7 +589,7 @@ @item Michael Kifer wrote @code{ediff}, an interactive interface to the @command{diff}, @command{patch}, and @command{merge} programs; and -Viper, the newest emulation for VI. +Viper, another emulator of the VI editor. @item Richard King wrote the first version of @file{userlock.el} and @@ -611,8 +609,7 @@ @item Shuhei Kobayashi wrote @file{hex-util.el}, for operating on hexadecimal -strings; support for HMAC (Keyed-Hashing for Message Authentication); -and a Lisp implementation of the SHA1 Secure Hash Algorithm. +strings; and support for HMAC (Keyed-Hashing for Message Authentication). @item Pavel Kobyakov wrote @file{flymake.el}, a minor mode for performing @@ -633,7 +630,7 @@ @item Sebastian Kremer wrote @code{dired-mode}, with contributions by Lawrence R.@: Dodd. He also wrote @file{ls-lisp.el}, a Lisp emulation of the -@code{ls} command for platforms which don't have @code{ls} as a standard +@code{ls} command for platforms that don't have @code{ls} as a standard program. @item @@ -664,8 +661,7 @@ @file{ebnf2ps.el}, a package that translates EBNF grammar to a syntactic chart that can be printed to a PostScript printer; and @file{whitespace.el}, a package that detects and cleans up excess -whitespace in a file. The previous version of @file{whitespace.el}, -used prior to Emacs 23, was written by Rajesh Vaidheeswarran. +whitespace in a file (building on an earlier version by Rajesh Vaidheeswarran). @item Frederic Lepied wrote @file{expand.el}, which uses the abbrev @@ -737,10 +733,25 @@ Jan Moringen, David Ponce, and Joakim Verona. @item +Roland McGrath wrote @file{compile.el} (since updated by Daniel +Pfeiffer), a package for running compilations in a buffer, and then +visiting the locations reported in error messages; @file{etags.el}, a +package for jumping to function definitions and searching or replacing +in all the files mentioned in a @file{TAGS} file; with Sebastian +Kremer @file{find-dired.el}, for using @code{dired} commands on output +from the @code{find} program; @file{grep.el} for running the +@code{grep} command; @file{map-ynp.el}, a general purpose boolean +question-asker; @file{autoload.el}, providing semi-automatic +maintenance of autoload files. + +@item Alan Mackenzie wrote the integrated AWK support in CC Mode, and maintained CC Mode from Emacs 22 onwards. @item +Michael McNamara and Wilson Snyder wrote Verilog mode. + +@item Christopher J.@: Madsen wrote @file{decipher.el}, a package for cracking simple substitution ciphers. @@ -784,21 +795,6 @@ blackbox game. @item -Roland McGrath wrote @file{compile.el} (since updated by Daniel -Pfeiffer), a package for running compilations in a buffer, and then -visiting the locations reported in error messages; @file{etags.el}, a -package for jumping to function definitions and searching or replacing -in all the files mentioned in a @file{TAGS} file; @file{find-dired.el}, -for using @code{dired} commands on output from the @code{find} program, -with Sebastian Kremer; @file{grep.el} for running the @code{grep} -command; @file{map-ynp.el}, a general purpose boolean question-asker; -@file{autoload.el}, providing semi-automatic maintenance of autoload -files. - -@item -Michael McNamara and Wilson Snyder wrote Verilog mode. - -@item David Megginson wrote @file{derived.el}, which allows one to define new major modes by inheriting key bindings and commands from existing major modes. @@ -839,26 +835,26 @@ @file{bibtex-style.el} for BibTeX Style files; @file{mpc.el}, a client for the ``Music Player Daemon''; and @file{pcase.el}, implementing ML-style pattern matching. He integrated the -lexical-binding code in Emacs 24. +lexical binding code in Emacs 24. @item Morioka Tomohiko wrote several packages for MIME support in Gnus and elsewhere. @item -Takahashi Naoto co-wrote @file{quail.el} (q.v.@:), and wrote -@file{robin.el}, another input method. - -@item Sen Nagata wrote @file{crm.el}, a package for reading multiple strings with completion, and @file{rfc2368.el}, support for @code{mailto:} URLs. @item Erik Naggum wrote the time-conversion functions. He also wrote -@file{disp-table.el}, a package for dealing with display tables; -@file{mailheader.el}, a package for parsing email headers; and -@file{parse-time.el}, a package for parsing time strings. +@file{disp-table.el}, for dealing with display tables; +@file{mailheader.el}, for parsing email headers; and +@file{parse-time.el}, for parsing time strings. + +@item +Takahashi Naoto co-wrote @file{quail.el} (q.v.@:), and wrote +@file{robin.el}, another input method. @item Thomas Neumann and Eric Raymond wrote @file{make-mode.el}, @@ -869,6 +865,9 @@ mode for selectively displaying blocks of text. @item +Jurgen Nickelsen wrote @file{ws-mode.el}, providing WordStar emulation. + +@item Dan Nicolaescu added support for running Emacs as a daemon. He also wrote @file{romanian.el}, support for editing Romanian text; @file{iris-ansi.el}, support for running Emacs on SGI's @code{xwsh} @@ -876,9 +875,6 @@ the status of version-controlled directories. @item -Jurgen Nickelsen wrote @file{ws-mode.el}, providing WordStar emulation. - -@item Hrvoje Niksic wrote @file{savehist.el}, for saving the minibuffer history between Emacs sessions. @@ -891,10 +887,6 @@ support. @item -Edward O'Connor wrote @file{json.el}, a file for parsing and -generating JSON files. - -@item Kentaro Ohkouchi created the Emacs icons used beginning with Emacs 23. @item @@ -1007,7 +999,7 @@ which each lisp function loaded into Emacs came. @item -Edward M.@: Reingold wrote the extensive calendar and diary support, +Edward M.@: Reingold wrote the calendar and diary support, with contributions from Stewart Clamen (@file{cal-mayan.el}), Nachum Dershowitz (@file{cal-hebrew.el}), Paul Eggert (@file{cal-dst.el}), Steve Fisk (@file{cal-tex.el}), Michael Kifer (@file{cal-x.el}), Lara @@ -1254,11 +1246,9 @@ @item Tom Tromey and Chris Lindblad wrote @file{tcl.el}, a mode for editing Tcl/Tk source files and running a Tcl interpreter as an Emacs -subprocess. - -@item -Tom Tromey wrote @file{bug-reference.el}, providing clickable links to -bug reports; and the first version of the Emacs package system. +subprocess. Tom Tromey also wrote @file{bug-reference.el}, providing +clickable links to bug reports; and the first version of the Emacs +package system. @item Eli Tziperman wrote @file{rmail-spam-filter.el}, a spam filter for RMAIL.