------------------------------------------------------------ revno: 116143 committer: Glenn Morris branch nick: trunk timestamp: Thu 2014-01-23 23:45:40 -0800 message: * etc/NEWS: Fix typos diff: === modified file 'etc/NEWS' --- etc/NEWS 2014-01-24 07:41:42 +0000 +++ etc/NEWS 2014-01-24 07:45:40 +0000 @@ -135,7 +135,7 @@ *** The functions `display-pixel-width' and `display-pixel-height' now behave consistently among the platforms: they return the pixel width or height for all physical monitors associated with the given display -as just they were on X11. To get information for each physical +as if they were on X11. To get information for each physical monitor, use the new functions above. Similar notes also apply to `x-display-pixel-width', `x-display-pixel-height', `display-mm-width', `display-mm-height', `x-display-mm-width', and `x-display-mm-height'. @@ -251,7 +251,7 @@ at point. +++ -*** `load-prefer-newer', affects how the `load' function chooses the +*** `load-prefer-newer' affects how the `load' function chooses the file to load. If this is non-nil, then when both .el and .elc versions of a file exist, and the caller did not explicitly specify which one to load, then the newer file is loaded. The default, nil, ------------------------------------------------------------ revno: 116142 committer: Glenn Morris branch nick: trunk timestamp: Thu 2014-01-23 23:43:34 -0800 message: * etc/NEWS.21: lesstif.org domain is defunct, use sourceforge site. diff: === modified file 'etc/NEWS.21' --- etc/NEWS.21 2014-01-01 07:43:34 +0000 +++ etc/NEWS.21 2014-01-24 07:43:34 +0000 @@ -217,7 +217,7 @@ ** LessTif support. Emacs now runs with the LessTif toolkit (see -). You will need version 0.92.26, or later. +). You will need version 0.92.26, or later. ** LessTif/Motif file selection dialog. ------------------------------------------------------------ revno: 116141 committer: Glenn Morris branch nick: trunk timestamp: Thu 2014-01-23 23:41:42 -0800 message: * etc/NEWS: Small edits. diff: === modified file 'etc/NEWS' --- etc/NEWS 2014-01-24 07:36:34 +0000 +++ etc/NEWS 2014-01-24 07:41:42 +0000 @@ -764,27 +764,35 @@ ** New Term mode option `term-suppress-hard-newline'. ++++ ** Todo mode has been rewritten and enhanced. -New features include: -*** Support for multiple todo files and archive files of done items -*** Renaming, reordering, moving, merging, and deleting categories -*** Sortable tabular summaries of categories and the types of items they contain -*** Cross-category lists of items filtered by specific criteria -*** More fine-grained interaction with the Emacs diary, by being able to decide - for each todo item whether it appears in the Fancy Diary display -*** Highly flexible new item insertion and item editing -*** Moving items between categories, storing done items in their category or in - archive files, undoing or unarchiving done items -*** Reprioritizing items by inputting a numerical priority -*** Extensive customizability of operation and display, including numerous faces - The Todo mode user manual describes all commands and most user options. To support some of these features, a new file format is used, which is incompatible with the old format; however, you can convert old todo and done item files to the new format on initializing the first new todo file, or at any later time with the provided conversion command. The previous version of todo-mode.el has been -renamed to otodo-mode.el and is now obsolete. +renamed to otodo-mode.el and is now obsolete. New features include: + +*** Support for multiple todo files and archive files of done items. + +*** Renaming, reordering, moving, merging, and deleting categories. + +*** Sortable tabular summaries of categories and the item types they contain. + +*** Cross-category lists of items filtered by specific criteria. + +*** More fine-grained interaction with the Emacs diary, by being able to +decide for each todo item whether it appears in the Fancy Diary display. + +*** Highly flexible new item insertion and item editing. + +*** Moving items between categories, storing done items in their category +or in archive files, undoing or unarchiving done items. + +*** Reprioritizing items by inputting a numerical priority. + +*** Extensive customizability of operation and display, including many faces. ** trace-function @@ -867,6 +875,7 @@ --- *** terminal.el is obsolete; use term.el instead. +--- *** The previous version of todo-mode.el is obsolete and renamed otodo-mode.el. --- ------------------------------------------------------------ revno: 116140 committer: Glenn Morris branch nick: trunk timestamp: Thu 2014-01-23 23:36:34 -0800 message: Misc small doc updates * doc/emacs/ack.texi (Acknowledgments): No longer mention obsolete terminal.el. * doc/misc/efaq.texi (Termcap/Terminfo entries for Emacs): Use M-x term rather than M-x terminal-emulator. * etc/NEWS: Related markup. diff: === modified file 'doc/emacs/ChangeLog' --- doc/emacs/ChangeLog 2014-01-24 07:29:39 +0000 +++ doc/emacs/ChangeLog 2014-01-24 07:36:34 +0000 @@ -1,6 +1,7 @@ 2014-01-24 Glenn Morris - * ack.texi (Acknowledgments): No longer mention obsolete xesam.el. + * ack.texi (Acknowledgments): No longer mention obsolete xesam.el, + terminal.el. * files.texi (Interlocking): Copyedit. === modified file 'doc/emacs/ack.texi' --- doc/emacs/ack.texi 2014-01-24 07:29:39 +0000 +++ doc/emacs/ack.texi 2014-01-24 07:36:34 +0000 @@ -818,9 +818,12 @@ Richard Mlynarik wrote @file{cl-indent.el}, a package for indenting Common Lisp code; @file{ebuff-menu.el}, an ``electric'' browser for buffer listings; @file{ehelp.el}, bindings for browsing help screens; -@file{rfc822.el}, a parser for E-mail addresses in the RFC-822 format, -used in mail messages and news articles; and @file{terminal.el}, a -terminal emulator for Emacs subprocesses. +and @file{rfc822.el}, a parser for E-mail addresses in the RFC-822 format, +used in mail messages and news articles. +@ignore +@c Obsolete since 24.4 +; and @file{terminal.el}, a terminal emulator for Emacs subprocesses. +@end ignore. @item Gerd Möllmann was the Emacs maintainer from the beginning of Emacs 21 === modified file 'doc/misc/ChangeLog' --- doc/misc/ChangeLog 2014-01-24 03:57:53 +0000 +++ doc/misc/ChangeLog 2014-01-24 07:36:34 +0000 @@ -1,5 +1,8 @@ 2014-01-24 Glenn Morris + * efaq.texi (Termcap/Terminfo entries for Emacs): + Use M-x term rather than M-x terminal-emulator. + * emacs-mime.texi (time-date): Use float-time. 2014-01-22 David Engster === modified file 'doc/misc/efaq.texi' --- doc/misc/efaq.texi 2014-01-12 16:37:42 +0000 +++ doc/misc/efaq.texi 2014-01-24 07:36:34 +0000 @@ -2853,8 +2853,7 @@ @file{/usr/lib/terminfo/d/dumb} to @file{/usr/lib/terminfo/e/emacs}. Having a termcap/terminfo entry will not enable the use of full screen -programs in shell buffers. Use @kbd{M-x terminal-emulator} for that -instead. +programs in shell buffers. Use @kbd{M-x term} for that instead. A workaround to the problem of missing termcap/terminfo entries is to change terminal type @samp{emacs} to type @samp{dumb} or @samp{unknown} === modified file 'etc/NEWS' --- etc/NEWS 2014-01-24 07:29:39 +0000 +++ etc/NEWS 2014-01-24 07:36:34 +0000 @@ -864,6 +864,7 @@ +++ *** sup-mouse.el. +--- *** terminal.el is obsolete; use term.el instead. *** The previous version of todo-mode.el is obsolete and renamed otodo-mode.el. ------------------------------------------------------------ revno: 116139 committer: Glenn Morris branch nick: trunk timestamp: Thu 2014-01-23 23:29:39 -0800 message: Misc small doc updates * doc/emacs/ack.texi (Acknowledgments): No longer mention obsolete xesam.el. * lisp/woman.el (woman-default-faces, woman-monochrome-faces): Fix obsolescence specification. * etc/NEWS: Related markup. diff: === modified file 'doc/emacs/ChangeLog' --- doc/emacs/ChangeLog 2014-01-24 03:34:31 +0000 +++ doc/emacs/ChangeLog 2014-01-24 07:29:39 +0000 @@ -1,5 +1,7 @@ 2014-01-24 Glenn Morris + * ack.texi (Acknowledgments): No longer mention obsolete xesam.el. + * files.texi (Interlocking): Copyedit. 2014-01-23 Glenn Morris === modified file 'doc/emacs/ack.texi' --- doc/emacs/ack.texi 2014-01-01 07:43:34 +0000 +++ doc/emacs/ack.texi 2014-01-24 07:29:39 +0000 @@ -51,8 +51,12 @@ @item Michael Albinus wrote @file{dbus.el}, a package that implements the D-Bus message bus protocol; @file{zeroconf.el}, a mode for browsing -Avahi services; @file{xesam.el}, a Xesam-based search engine -interface; and @file{secrets.el}, an interface to keyring daemons for +Avahi services; +@ignore +@c obsolete +@file{xesam.el}, a Xesam-based search engine interface; +@end ignore +and @file{secrets.el}, an interface to keyring daemons for storing confidential data. He and Kai Großjohann wrote the Tramp package, which provides transparent remote file editing using rcp, ssh, ftp, and other network protocols. He and Daniel Pittman wrote === modified file 'etc/NEWS' --- etc/NEWS 2014-01-24 04:11:48 +0000 +++ etc/NEWS 2014-01-24 07:29:39 +0000 @@ -851,6 +851,7 @@ --- *** New commands: `vhdl-fix-statement-region', `vhdl-fix-statement-buffer'. +--- ** The Woman commands `woman-default-faces' and `woman-monochrome-faces' are obsolete. Customize the `woman-*' faces instead. @@ -867,6 +868,7 @@ *** The previous version of todo-mode.el is obsolete and renamed otodo-mode.el. +--- *** xesam.el is obsolete, because the XESAM project has been canceled. +++ @@ -1293,6 +1295,7 @@ * Changes in Emacs 24.4 on Non-Free Operating Systems +--- ** The procedure for building Emacs on MS-Windows has changed. It is now built by running the same configure script as on all other platforms. This requires the MSYS environment and MinGW development === modified file 'lisp/ChangeLog' --- lisp/ChangeLog 2014-01-24 04:15:13 +0000 +++ lisp/ChangeLog 2014-01-24 07:29:39 +0000 @@ -8,6 +8,9 @@ 2014-01-24 Glenn Morris + * woman.el (woman-default-faces, woman-monochrome-faces): + Fix obsolescence specification. + * subr.el (with-demoted-errors): Doc fix. 2014-01-23 Stefan Monnier === modified file 'lisp/woman.el' --- lisp/woman.el 2014-01-10 07:10:37 +0000 +++ lisp/woman.el 2014-01-24 07:29:39 +0000 @@ -949,7 +949,7 @@ (defun woman-default-faces () "Set foreground colors of italic and bold faces to their default values." - (declare (obsolete choose-completion-guess-base-position "23.2")) + (declare (obsolete "customize the woman-* faces instead." "24.4")) (interactive) (face-spec-set 'woman-italic (face-user-default-spec 'woman-italic)) (face-spec-set 'woman-bold (face-user-default-spec 'woman-bold))) @@ -957,7 +957,7 @@ (defun woman-monochrome-faces () "Set foreground colors of italic and bold faces to that of the default face. This is usually either black or white." - (declare (obsolete choose-completion-guess-base-position "23.2")) + (declare (obsolete "customize the woman-* faces instead." "24.4")) (interactive) (set-face-foreground 'woman-italic 'unspecified) (set-face-foreground 'woman-bold 'unspecified)) ------------------------------------------------------------ revno: 116138 committer: Juanma Barranquero branch nick: trunk timestamp: Fri 2014-01-24 05:15:13 +0100 message: * net/eww.el (eww-download-callback): Fix reference to eww-download-directory. diff: === modified file 'lisp/ChangeLog' --- lisp/ChangeLog 2014-01-24 04:13:35 +0000 +++ lisp/ChangeLog 2014-01-24 04:15:13 +0000 @@ -1,5 +1,8 @@ 2014-01-24 Juanma Barranquero + * net/eww.el (eww-download-callback): + Fix reference to eww-download-directory. + * emacs-lisp/bytecomp.el (byte-compile-file): Remove unused local variable `file-name'. === modified file 'lisp/net/eww.el' --- lisp/net/eww.el 2014-01-12 14:25:10 +0000 +++ lisp/net/eww.el 2014-01-24 04:15:13 +0000 @@ -1072,7 +1072,7 @@ (let* ((obj (url-generic-parse-url url)) (path (car (url-path-and-query obj))) (file (eww-make-unique-file-name (file-name-nondirectory path) - eww-download-path))) + eww-download-directory))) (write-file file) (message "Saved %s" file)))) ------------------------------------------------------------ revno: 116137 committer: Juanma Barranquero branch nick: trunk timestamp: Fri 2014-01-24 05:13:35 +0100 message: Silence byte-compiler warning. * emacs-lisp/bytecomp.el (byte-compile-file): Remove unused local variable `file-name'. diff: === modified file 'lisp/ChangeLog' --- lisp/ChangeLog 2014-01-24 04:11:48 +0000 +++ lisp/ChangeLog 2014-01-24 04:13:35 +0000 @@ -1,3 +1,8 @@ +2014-01-24 Juanma Barranquero + + * emacs-lisp/bytecomp.el (byte-compile-file): + Remove unused local variable `file-name'. + 2014-01-24 Glenn Morris * subr.el (with-demoted-errors): Doc fix. === modified file 'lisp/emacs-lisp/bytecomp.el' --- lisp/emacs-lisp/bytecomp.el 2014-01-15 23:49:40 +0000 +++ lisp/emacs-lisp/bytecomp.el 2014-01-24 04:13:35 +0000 @@ -1705,12 +1705,10 @@ ;; (interactive "fByte compile file: \nP") (interactive (let ((file buffer-file-name) - (file-name nil) (file-dir nil)) (and file (derived-mode-p 'emacs-lisp-mode) - (setq file-name (file-name-nondirectory file) - file-dir (file-name-directory file))) + (setq file-dir (file-name-directory file))) (list (read-file-name (if current-prefix-arg "Byte compile and load file: " "Byte compile file: ") ------------------------------------------------------------ revno: 116136 committer: Glenn Morris branch nick: trunk timestamp: Thu 2014-01-23 20:11:48 -0800 message: Doc updates for with-demoted-errors * doc/lispref/control.texi (Handling Errors): Update with-demoted-errors. * lisp/subr.el (with-demoted-errors): Doc fix. * etc/NEWS: Related edit. diff: === modified file 'doc/lispref/ChangeLog' --- doc/lispref/ChangeLog 2014-01-24 03:51:52 +0000 +++ doc/lispref/ChangeLog 2014-01-24 04:11:48 +0000 @@ -1,5 +1,7 @@ 2014-01-24 Glenn Morris + * control.texi (Handling Errors): Update with-demoted-errors. + * files.texi (File Locks): Every platform supports locking now. 2014-01-22 Glenn Morris === modified file 'doc/lispref/control.texi' --- doc/lispref/control.texi 2014-01-01 07:43:34 +0000 +++ doc/lispref/control.texi 2014-01-24 04:11:48 +0000 @@ -1252,10 +1252,13 @@ @end example @end defmac -@defmac with-demoted-errors body@dots{} +@defmac with-demoted-errors format body@dots{} This macro is like a milder version of @code{ignore-errors}. Rather than suppressing errors altogether, it converts them into messages. -Use this form around code that is not expected to signal errors, but +It uses the string @var{format} to format the message. +@var{format} should contain a single @samp{%}-sequence; e.g., +@code{"Error: %S"}. Use @code{with-demoted-errors} around code +that is not expected to signal errors, but should be robust if one does occur. Note that this macro uses @code{condition-case-unless-debug} rather than @code{condition-case}. @end defmac === modified file 'etc/NEWS' --- etc/NEWS 2014-01-24 03:57:53 +0000 +++ etc/NEWS 2014-01-24 04:11:48 +0000 @@ -1080,6 +1080,7 @@ +++ *** New function `define-error'. ++++ *** `with-demoted-errors' takes an additional argument `format'. +++ === modified file 'lisp/ChangeLog' --- lisp/ChangeLog 2014-01-23 15:01:41 +0000 +++ lisp/ChangeLog 2014-01-24 04:11:48 +0000 @@ -1,3 +1,7 @@ +2014-01-24 Glenn Morris + + * subr.el (with-demoted-errors): Doc fix. + 2014-01-23 Stefan Monnier * emacs-lisp/cl-macs.el: Improve type->predicate mapping (bug#16520). === modified file 'lisp/subr.el' --- lisp/subr.el 2014-01-22 01:50:40 +0000 +++ lisp/subr.el 2014-01-24 04:11:48 +0000 @@ -3246,9 +3246,13 @@ (defmacro with-demoted-errors (format &rest body) "Run BODY and demote any errors to simple messages. +FORMAT is a string passed to `message' to format any error message. +It should contain a single %-sequence; e.g., \"Error: %S\". + If `debug-on-error' is non-nil, run BODY without catching its errors. This is to be used around code which is not expected to signal an error but which should be robust in the unexpected case that an error is signaled. + For backward compatibility, if FORMAT is not a constant string, it is assumed to be part of BODY, in which case the message format used is \"Error: %S\"." ------------------------------------------------------------ revno: 116135 committer: Glenn Morris branch nick: trunk timestamp: Thu 2014-01-23 19:57:53 -0800 message: * doc/misc/emacs-mime.texi (time-date): Use float-time. * etc/NEWS: Related edit. diff: === modified file 'doc/misc/ChangeLog' --- doc/misc/ChangeLog 2014-01-22 21:50:47 +0000 +++ doc/misc/ChangeLog 2014-01-24 03:57:53 +0000 @@ -1,3 +1,7 @@ +2014-01-24 Glenn Morris + + * emacs-mime.texi (time-date): Use float-time. + 2014-01-22 David Engster * eieio.texi (Introduction): Move introductory paragraph about === modified file 'doc/misc/emacs-mime.texi' --- doc/misc/emacs-mime.texi 2014-01-01 08:31:29 +0000 +++ doc/misc/emacs-mime.texi 2014-01-24 03:57:53 +0000 @@ -1511,7 +1511,7 @@ (date-to-time "Sat Sep 12 12:21:54 1998 +0200") @result{} (13818 19266) -(time-to-seconds '(13818 19266)) +(float-time '(13818 19266)) @result{} 905595714.0 (seconds-to-time 905595714.0) @@ -1583,9 +1583,8 @@ @item date-to-time Take a date and return a time. -@item time-to-seconds -Take a time and return seconds. Note that Emacs has a built-in -function, @code{float-time}, that does this. +@item float-time +Take a time and return seconds. (This is a built-in function.) @item seconds-to-time Take seconds and return a time. === modified file 'etc/NEWS' --- etc/NEWS 2014-01-24 03:34:31 +0000 +++ etc/NEWS 2014-01-24 03:57:53 +0000 @@ -1263,7 +1263,8 @@ `:coding-type' attribute and can be accessed by calling the `coding-system-type' function.) -** `time-to-seconds' is not obsolete any more. +--- +** The `time-to-seconds' alias to `float-time' is no longer marked obsolete. +++ ** New functions `group-gid' and `group-real-gid'. ------------------------------------------------------------ revno: 116134 committer: Dmitry Antipov branch nick: trunk timestamp: Fri 2014-01-24 07:53:16 +0400 message: * xdisp.c (reseat_1, Fcurrent_bidi_paragraph_direction): Avoid undefined behavior by initializing display property bit of a string processed by the bidirectional iterator. For details, see . diff: === modified file 'src/ChangeLog' --- src/ChangeLog 2014-01-23 17:27:37 +0000 +++ src/ChangeLog 2014-01-24 03:53:16 +0000 @@ -1,3 +1,10 @@ +2014-01-24 Dmitry Antipov + + * xdisp.c (reseat_1, Fcurrent_bidi_paragraph_direction): Avoid + undefined behavior by initializing display property bit of a + string processed by the bidirectional iterator. For details, see + . + 2014-01-23 Paul Eggert Minor cleanup of previous change. === modified file 'src/xdisp.c' --- src/xdisp.c 2014-01-13 11:30:30 +0000 +++ src/xdisp.c 2014-01-24 03:53:16 +0000 @@ -6409,6 +6409,7 @@ it->bidi_it.string.s = NULL; it->bidi_it.string.lstring = Qnil; it->bidi_it.string.bufpos = 0; + it->bidi_it.string.from_disp_str = 0; it->bidi_it.string.unibyte = 0; it->bidi_it.w = it->w; } @@ -20411,6 +20412,7 @@ itb.string.s = NULL; itb.string.lstring = Qnil; itb.string.bufpos = 0; + itb.string.from_disp_str = 0; itb.string.unibyte = 0; /* We have no window to use here for ignoring window-specific overlays. Using NULL for window pointer will cause ------------------------------------------------------------ revno: 116133 committer: Glenn Morris branch nick: trunk timestamp: Thu 2014-01-23 19:51:52 -0800 message: * doc/lispref/files.texi (File Locks): Every platform supports locking now. diff: === modified file 'doc/lispref/ChangeLog' --- doc/lispref/ChangeLog 2014-01-22 08:30:00 +0000 +++ doc/lispref/ChangeLog 2014-01-24 03:51:52 +0000 @@ -1,3 +1,7 @@ +2014-01-24 Glenn Morris + + * files.texi (File Locks): Every platform supports locking now. + 2014-01-22 Glenn Morris * display.texi (ImageMagick Images): Expand on image-format-suffixes. === modified file 'doc/lispref/files.texi' --- doc/lispref/files.texi 2014-01-07 18:50:49 +0000 +++ doc/lispref/files.texi 2014-01-24 03:51:52 +0000 @@ -676,11 +676,12 @@ When two users edit the same file at the same time, they are likely to interfere with each other. Emacs tries to prevent this situation from arising by recording a @dfn{file lock} when a file is being -modified. (File locks are not implemented on Microsoft systems.) +modified. Emacs can then detect the first attempt to modify a buffer visiting a file that is locked by another Emacs job, and ask the user what to do. The file lock is really a file, a symbolic link with a special name, -stored in the same directory as the file you are editing. +stored in the same directory as the file you are editing. (On file +systems that do not support symbolic links, a regular file is used.) When you access files using NFS, there may be a small probability that you and another user will both lock the same file ``simultaneously''. @@ -719,11 +720,6 @@ system does not support locking. @end defun - File locking is not supported on some systems. On systems that do not -support it, the functions @code{lock-buffer}, @code{unlock-buffer} and -@code{file-locked-p} do nothing and return @code{nil}. It is also -possible to disable locking, by setting the variable @code{create-lockfiles}. - @defopt create-lockfiles If this variable is @code{nil}, Emacs does not lock files. @end defopt @@ -760,8 +756,7 @@ @end itemize If you wish, you can replace the @code{ask-user-about-lock} function -with your own version that makes the decision in another way. The code -for its usual definition is in @file{userlock.el}. +with your own version that makes the decision in another way. @end defun @node Information about Files ------------------------------------------------------------ revno: 116132 committer: Glenn Morris branch nick: trunk timestamp: Thu 2014-01-23 19:34:31 -0800 message: * doc/emacs/files.texi (Interlocking): Copyedit. * etc/NEWS: Related small edits. diff: === modified file 'doc/emacs/ChangeLog' --- doc/emacs/ChangeLog 2014-01-23 08:27:44 +0000 +++ doc/emacs/ChangeLog 2014-01-24 03:34:31 +0000 @@ -1,3 +1,7 @@ +2014-01-24 Glenn Morris + + * files.texi (Interlocking): Copyedit. + 2014-01-23 Glenn Morris * building.texi (Lisp Eval): Update prefix argument behavior === modified file 'doc/emacs/files.texi' --- doc/emacs/files.texi 2014-01-15 18:27:51 +0000 +++ doc/emacs/files.texi 2014-01-24 03:34:31 +0000 @@ -752,9 +752,10 @@ @cindex locking files When you make the first modification in an Emacs buffer that is visiting a file, Emacs records that the file is @dfn{locked} by you. -(It does this by creating a specially-named symbolic link or regular -file with special contents in the same directory.) Emacs removes the -lock when you save the changes. The idea is that the file is locked +(It does this by creating a specially-named symbolic link@footnote{If +your file system does not support symbolic links, a regular file is +used.} with special contents in the same directory.) Emacs removes the lock +when you save the changes. The idea is that the file is locked whenever an Emacs buffer visiting it has unsaved changes. @vindex create-lockfiles === modified file 'etc/NEWS' --- etc/NEWS 2014-01-23 08:27:44 +0000 +++ etc/NEWS 2014-01-24 03:34:31 +0000 @@ -1265,17 +1265,6 @@ ** `time-to-seconds' is not obsolete any more. -** The lock for 'DIR/FILE' is now 'DIR/.#FILE' and may be a regular file. -When you edit DIR/FILE, Emacs normally creates a symbolic link -DIR/.#FILE as a lock that warns other instances of Emacs that DIR/FILE -is being edited. Formerly, if there was already a non-symlink file -named DIR/.#FILE, Emacs fell back on the lock names DIR/.#FILE.0 -through DIR/.#FILE.9. These fallbacks have been removed, so that -Emacs now no longer locks DIR/FILE in that case. - -On file systems that do not support symbolic links, the lock is now a -regular file with contents being what would have been in the symlink. - +++ ** New functions `group-gid' and `group-real-gid'. @@ -1283,6 +1272,15 @@ ** The spelling of the rx.el category `chinese-two-byte' has been corrected (the first 'e' was missing). +--- +** Minor internal changes to the details of lock files. +The lock for DIR/FILE is now _always_ DIR/.#FILE. +If DIR/.#FILE already exists and is not an Emacs lock file, +Emacs makes no attempt to lock DIR/FILE. (Previously, it fell back to +numbered lock files DIR/.#FILE.0...). +On file systems that do not support symbolic links, the lock is now a +regular file with contents being what would have been in the symlink. + ** Changes to the Emacs Lisp Coding Conventions in Emacs 24.4 +++ @@ -1331,7 +1329,7 @@ --- ** Lock files now work on MS-Windows. -This allows to avoid losing your edits if the same file is being +This helps to prevent losing your edits if the same file is being edited in another Emacs session or by another user. See the node "Interlocking" in the Emacs User Manual for the details. To disable file locking, customize `create-lockfiles' to nil. ------------------------------------------------------------ revno: 116131 committer: Paul Eggert branch nick: trunk timestamp: Thu 2014-01-23 09:59:46 -0800 message: Document trunk bzr 116113 better. diff: === modified file 'lib-src/ChangeLog' --- lib-src/ChangeLog 2014-01-22 19:38:31 +0000 +++ lib-src/ChangeLog 2014-01-23 17:59:46 +0000 @@ -7,13 +7,27 @@ Fix miscellaneous update-game-score bugs. * update-game-score.c (difftime) [!HAVE_DIFFTIME]: Remove. - (read_score) [HAVE_GETDELIM]: Don't access uninitialized storage. - (read_scores, write_scores): Check for fclose failure. + (read_score) [HAVE_GETDELIM]: Don't access uninitialized storage, + as that leads to undefined behavior, which is a bad thing + particularly in a setuid program. + (read_scores, write_scores): Check for fclose failure; on some + systems, I/O errors are not reported by primitives like getc and + putc, but instead are delayed until fclose, so fclose failures + should be diagnosed like other read and write errors. (write_scores): Use fchmod, not chmod, to avoid a race. + Otherwise, if the lock is broken by some other process, + update-game-score might try to change the permission on someone + else's file or on a nonexistent file, and incorrectly report an + error when this fails. (lock_file): Fix test for out-of-date lock file; it was reversed. - Use ordinary subtraction rather than difftime; since we're already - assuming POSIX we don't need to worry about the possibility of - time_t being a magic cookie. + That is, it incorrectly broke locks when they were more than an + hour into the future, instead of when they were more than an hour + in the past. Use ordinary subtraction rather than difftime; since + we're already assuming POSIX we don't need to worry about the + possibility of time_t being a magic cookie, and since timestamps + are positive we don't need to worry about integer overflow when + subtracting them. Put two spaces, not just one, after a sentence + end in a comment. 2014-01-19 Paul Eggert ------------------------------------------------------------ revno: 116130 committer: Paul Eggert branch nick: trunk timestamp: Thu 2014-01-23 09:27:37 -0800 message: Minor cleanup of previous change. * image.c (imagemagick_error, Fimagemagick_types): Omit some recently-introduced and unnecessary casts and assignments. diff: === modified file 'src/ChangeLog' --- src/ChangeLog 2014-01-23 12:18:08 +0000 +++ src/ChangeLog 2014-01-23 17:27:37 +0000 @@ -1,3 +1,9 @@ +2014-01-23 Paul Eggert + + Minor cleanup of previous change. + * image.c (imagemagick_error, Fimagemagick_types): + Omit some recently-introduced and unnecessary casts and assignments. + 2014-01-23 Dmitry Antipov Fix two memory leaks discovered with Valgrind. === modified file 'src/image.c' --- src/image.c 2014-01-23 12:18:08 +0000 +++ src/image.c 2014-01-23 17:27:37 +0000 @@ -7908,7 +7908,7 @@ image_error ("ImageMagick error: %s", build_string (description), Qnil); - description = (char *) MagickRelinquishMemory (description); + MagickRelinquishMemory (description); } /* Possibly give ImageMagick some extra help to determine the image @@ -8546,10 +8546,10 @@ { Qimagemagicktype = intern (imtypes[i]); typelist = Fcons (Qimagemagicktype, typelist); - imtypes[i] = (char *) MagickRelinquishMemory (imtypes[i]); + imtypes[i] = MagickRelinquishMemory (imtypes[i]); } - imtypes = (char **) MagickRelinquishMemory (imtypes); + MagickRelinquishMemory (imtypes); return Fnreverse (typelist); } ------------------------------------------------------------ revno: 116129 fixes bug: http://debbugs.gnu.org/cgi/bugreport.cgi?bug=16520 committer: Stefan Monnier branch nick: trunk timestamp: Thu 2014-01-23 10:01:41 -0500 message: * lisp/emacs-lisp/cl-macs.el: Improve type->predicate mapping. (cl--macroexp-fboundp): New function. (cl--make-type-test): Use it. diff: === modified file 'lisp/ChangeLog' --- lisp/ChangeLog 2014-01-23 07:53:56 +0000 +++ lisp/ChangeLog 2014-01-23 15:01:41 +0000 @@ -1,3 +1,9 @@ +2014-01-23 Stefan Monnier + + * emacs-lisp/cl-macs.el: Improve type->predicate mapping (bug#16520). + (cl--macroexp-fboundp): New function. + (cl--make-type-test): Use it. + 2014-01-23 Glenn Morris * emacs-lisp/lisp-mode.el (eval-print-last-sexp, eval-last-sexp): === modified file 'lisp/emacs-lisp/cl-macs.el' --- lisp/emacs-lisp/cl-macs.el 2014-01-01 07:43:34 +0000 +++ lisp/emacs-lisp/cl-macs.el 2014-01-23 15:01:41 +0000 @@ -2588,6 +2588,17 @@ (put ',name 'cl-deftype-handler (cl-function (lambda (&cl-defs '('*) ,@arglist) ,@body))))) +(defvar byte-compile-function-environment) +(defvar byte-compile-macro-environment) + +(defun cl--macroexp-fboundp (sym) + "Return non-nil if SYM will be bound when we run the code. +Of course, we really can't know that for sure, so it's just a heuristic." + (or (fboundp sym) + (and (cl--compiling-file) + (or (cdr (assq sym byte-compile-function-environment)) + (cdr (assq sym byte-compile-macro-environment)))))) + (defun cl--make-type-test (val type) (if (symbolp type) (cond ((get type 'cl-deftype-handler) @@ -2603,8 +2614,12 @@ (t (let* ((name (symbol-name type)) (namep (intern (concat name "p")))) - (if (fboundp namep) (list namep val) - (list (intern (concat name "-p")) val))))) + (cond + ((cl--macroexp-fboundp namep) (list namep val)) + ((cl--macroexp-fboundp + (setq namep (intern (concat name "-p")))) + (list namep val)) + (t (list type val)))))) (cond ((get (car type) 'cl-deftype-handler) (cl--make-type-test val (apply (get (car type) 'cl-deftype-handler) (cdr type)))) ------------------------------------------------------------ revno: 116128 committer: Dmitry Antipov branch nick: trunk timestamp: Thu 2014-01-23 16:18:08 +0400 message: Fix two memory leaks discovered with Valgrind. * ftfont.c (ftfont_list) [HAVE_LIBOTF]: Call OTF_close. * image.c (Fimagemagick_types): Call MagickRelinquishMemory. diff: === modified file 'src/ChangeLog' --- src/ChangeLog 2014-01-22 10:29:23 +0000 +++ src/ChangeLog 2014-01-23 12:18:08 +0000 @@ -1,3 +1,9 @@ +2014-01-23 Dmitry Antipov + + Fix two memory leaks discovered with Valgrind. + * ftfont.c (ftfont_list) [HAVE_LIBOTF]: Call OTF_close. + * image.c (Fimagemagick_types): Call MagickRelinquishMemory. + 2014-01-22 Martin Rudalics Fixes in window size functions around Bug#16430 and Bug#16470. === modified file 'src/ftfont.c' --- src/ftfont.c 2014-01-06 06:25:30 +0000 +++ src/ftfont.c 2014-01-23 12:18:08 +0000 @@ -1011,6 +1011,7 @@ if (otspec) { FcChar8 *file; + bool passed; OTF *otf; if (FcPatternGetString (fontset->fonts[i], FC_FILE, 0, &file) @@ -1019,14 +1020,16 @@ otf = OTF_open ((char *) file); if (! otf) continue; - if (OTF_check_features (otf, 1, - otspec->script_tag, otspec->langsys_tag, - otspec->features[0], - otspec->nfeatures[0]) != 1 - || OTF_check_features (otf, 0, - otspec->script_tag, otspec->langsys_tag, - otspec->features[1], - otspec->nfeatures[1]) != 1) + passed = (OTF_check_features (otf, 1, otspec->script_tag, + otspec->langsys_tag, + otspec->features[0], + otspec->nfeatures[0]) == 1 + && OTF_check_features (otf, 0, otspec->script_tag, + otspec->langsys_tag, + otspec->features[1], + otspec->nfeatures[1]) == 1); + OTF_close (otf); + if (!passed) continue; } #endif /* HAVE_LIBOTF */ === modified file 'src/image.c' --- src/image.c 2014-01-14 01:19:42 +0000 +++ src/image.c 2014-01-23 12:18:08 +0000 @@ -8546,7 +8546,10 @@ { Qimagemagicktype = intern (imtypes[i]); typelist = Fcons (Qimagemagicktype, typelist); + imtypes[i] = (char *) MagickRelinquishMemory (imtypes[i]); } + + imtypes = (char **) MagickRelinquishMemory (imtypes); return Fnreverse (typelist); } ------------------------------------------------------------ revno: 116127 committer: Glenn Morris branch nick: trunk timestamp: Thu 2014-01-23 00:27:44 -0800 message: * doc/emacs/building.texi (Lisp Eval): Update prefix argument behavior of eval-expression, eval-last-sexp. * etc/NEWS: Related edit. diff: === modified file 'doc/emacs/ChangeLog' --- doc/emacs/ChangeLog 2014-01-21 08:49:46 +0000 +++ doc/emacs/ChangeLog 2014-01-23 08:27:44 +0000 @@ -1,3 +1,8 @@ +2014-01-23 Glenn Morris + + * building.texi (Lisp Eval): Update prefix argument behavior + of eval-expression, eval-last-sexp. + 2014-01-17 Bastien Guerry * building.texi (Commands of GUD): Fix keybinding for `gud-break'. === modified file 'doc/emacs/building.texi' --- doc/emacs/building.texi 2014-01-17 12:43:51 +0000 +++ doc/emacs/building.texi 2014-01-23 08:27:44 +0000 @@ -1476,13 +1476,17 @@ The command @kbd{C-x C-e} (@code{eval-last-sexp}) evaluates the Emacs Lisp expression preceding point in the buffer, and displays the value in the echo area. When the result of an evaluation is an -integer, you can type @kbd{C-x C-e} a second time to display the value -of the integer result in additional formats (octal, hexadecimal, and -character). +integer, it is displayed together with the value in other formats +(octal, hexadecimal, and character). If @kbd{M-:} or @kbd{C-x C-e} is given a prefix argument, it inserts the value into the current buffer at point, rather than displaying it -in the echo area. The argument's value does not matter. +in the echo area. If the prefix argument is zero, any integer output +is inserted together with its value in other formats (octal, +hexadecimal, and character). Such a prefix argument also prevents +abbreviation of the output according to the variables +@code{eval-expression-print-level} and @code{eval-expression-print-length} +(see below). @kindex C-M-x @r{(Emacs Lisp mode)} @findex eval-defun @@ -1516,9 +1520,11 @@ The options @code{eval-expression-print-level} and @code{eval-expression-print-length} control the maximum depth and length of lists to print in the result of the evaluation commands -before abbreviating them. @code{eval-expression-debug-on-error} -controls whether evaluation errors invoke the debugger when these -commands are used; its default is @code{t}. +before abbreviating them. Supplying a zero prefix argument to +@code{eval-expression} or @code{eval-last-sexp} causes lists to be +printed in full. @code{eval-expression-debug-on-error} controls +whether evaluation errors invoke the debugger when these commands are +used; its default is @code{t}. @node Lisp Interaction @section Lisp Interaction Buffers === modified file 'etc/NEWS' --- etc/NEWS 2014-01-23 02:38:18 +0000 +++ etc/NEWS 2014-01-23 08:27:44 +0000 @@ -214,12 +214,13 @@ *** `eval-defun' on an already defined defcustom calls the :set function, if there is one. ++++ *** The commands `eval-expression' (`M-:'), `eval-last-sexp' (`C-x C-e'), -and `eval-print-last-sexp' (`C-j') can take a zero prefix argument. -This disables truncation of lists in the output, equivalent to -setting `(eval-expression-)print-length' and `(eval-expression-)print-limit' -to nil. Additionally, it causes integers to be printed in multiple -formats (octal, hexadecimal, and character). +and `eval-print-last-sexp' (`C-j' in Lisp Interaction mode) can take a +zero prefix argument. This disables truncation of lists in the output, +equivalent to setting `(eval-expression-)print-length' and +`(eval-expression-)print-limit' to nil. Additionally, it causes integers +to be printed in other formats (octal, hexadecimal, and character). --- ** `write-region-inhibit-fsync' now defaults to t in batch mode.