Now on revision 107334. ------------------------------------------------------------ revno: 107334 committer: Chong Yidong branch nick: trunk timestamp: Sun 2012-02-19 14:20:23 +0800 message: Fix typo. diff: === modified file 'doc/lispref/help.texi' --- doc/lispref/help.texi 2012-02-19 05:54:33 +0000 +++ doc/lispref/help.texi 2012-02-19 06:20:23 +0000 @@ -526,7 +526,7 @@ The function returns a list of elements that look like this: @example -(@var{symbol} @var{score} @var{functionn-doc} @var{variable-doc} +(@var{symbol} @var{score} @var{function-doc} @var{variable-doc} @var{plist-doc} @var{widget-doc} @var{face-doc} @var{group-doc}) @end example ------------------------------------------------------------ revno: 107333 committer: Chong Yidong branch nick: trunk timestamp: Sun 2012-02-19 13:54:33 +0800 message: Updates to Documentation chapter of Lisp manual. * doc/lispref/help.texi (Documentation, Documentation Basics, Help Functions): Minor clarifications. (Accessing Documentation): Clarify what documentation-property is for. Add xref to Keys in Documentation. * doc/lispref/macros.texi (Defining Macros): * doc/lispref/modes.texi (Derived Modes): Say "documentation string" instead of docstring. * doc/lispref/tips.texi (Documentation Tips): Don't recommend using * in docstrings. diff: === modified file 'admin/FOR-RELEASE' --- admin/FOR-RELEASE 2012-02-19 03:39:04 +0000 +++ admin/FOR-RELEASE 2012-02-19 05:54:33 +0000 @@ -197,7 +197,7 @@ frames.texi functions.texi cyd hash.texi cyd -help.texi +help.texi cyd hooks.texi index.texi internals.texi @@ -210,7 +210,7 @@ maps.texi markers.texi minibuf.texi -modes.texi +modes.texi cyd nonascii.texi numbers.texi cyd objects.texi cyd === modified file 'doc/lispref/ChangeLog' --- doc/lispref/ChangeLog 2012-02-18 13:38:33 +0000 +++ doc/lispref/ChangeLog 2012-02-19 05:54:33 +0000 @@ -1,3 +1,17 @@ +2012-02-19 Chong Yidong + + * help.texi (Documentation, Documentation Basics, Help Functions): + Minor clarifications. + (Accessing Documentation): Clarify what documentation-property is + for. Add xref to Keys in Documentation. + + * tips.texi (Documentation Tips): Don't recommend using * in + docstrings. + + * macros.texi (Defining Macros): + * modes.texi (Derived Modes): Say "documentation string" instead + of docstring. + 2012-02-18 Chong Yidong * modes.texi (Tabulated List Mode): New node. === modified file 'doc/lispref/elisp.texi' --- doc/lispref/elisp.texi 2012-02-18 13:38:33 +0000 +++ doc/lispref/elisp.texi 2012-02-19 05:54:33 +0000 @@ -827,8 +827,7 @@ Documentation -* Documentation Basics:: Good style for doc strings. - Where to put them. How Emacs stores them. +* Documentation Basics:: Where doc strings are defined and stored. * Accessing Documentation:: How Lisp programs can access doc strings. * Keys in Documentation:: Substituting current key bindings. * Describing Characters:: Making printable descriptions of === modified file 'doc/lispref/help.texi' --- doc/lispref/help.texi 2012-02-02 07:06:37 +0000 +++ doc/lispref/help.texi 2012-02-19 05:54:33 +0000 @@ -8,11 +8,11 @@ @chapter Documentation @cindex documentation strings - GNU Emacs Lisp has convenient on-line help facilities, most of which -derive their information from the documentation strings associated with -functions and variables. This chapter describes how to write good -documentation strings for your Lisp programs, as well as how to write -programs to access documentation. + GNU Emacs has convenient built-in help facilities, most of which +derive their information from documentation strings associated with +functions and variables. This chapter describes how to access +documentation strings in Lisp programs. @xref{Documentation Tips}, +for how to write good documentation strings. Note that the documentation strings for Emacs are not the same thing as the Emacs manual. Manuals have their own source files, written in @@ -23,12 +23,10 @@ topics of discussion. For commands to display documentation strings, see @ref{Help, , -Help, emacs, The GNU Emacs Manual}. For the conventions for writing -documentation strings, see @ref{Documentation Tips}. +Help, emacs, The GNU Emacs Manual}. @menu -* Documentation Basics:: Good style for doc strings. - Where to put them. How Emacs stores them. +* Documentation Basics:: Where doc strings are defined and stored. * Accessing Documentation:: How Lisp programs can access doc strings. * Keys in Documentation:: Substituting current key bindings. * Describing Characters:: Making printable descriptions of @@ -52,14 +50,15 @@ documentation string follows the initial value of the variable. When you write a documentation string, make the first line a -complete sentence (or two complete sentences) since some commands, -such as @code{apropos}, show only the first line of a multi-line -documentation string. Also, you should not indent the second line of -a documentation string, if it has one, because that looks odd when you +complete sentence (or two complete sentences) that briefly describes +what the function or variable does. Some commands, such as +@code{apropos}, show only the first line of a multi-line documentation +string. Also, you should not indent the second line of a +documentation string, if it has one, because that looks odd when you use @kbd{C-h f} (@code{describe-function}) or @kbd{C-h v} (@code{describe-variable}) to view the documentation string. There -are many other conventions for doc strings; see @ref{Documentation -Tips}. +are many other conventions for documentation strings; see +@ref{Documentation Tips}. Documentation strings can contain several special substrings, which stand for key bindings to be looked up in the current keymaps when the @@ -71,55 +70,67 @@ Emacs Lisp mode fills documentation strings to the width specified by @code{emacs-lisp-docstring-fill-column}. - In Emacs Lisp, a documentation string is accessible through the -function or variable that it describes: + Exactly where a documentation string is stored depends on how its +function or variable was defined or loaded into memory: @itemize @bullet @item @kindex function-documentation -The documentation for a function is usually stored in the function -definition itself (@pxref{Lambda Expressions} and @pxref{Function -Documentation}). The function @code{documentation} knows how to -extract it. You can also put function documentation in the -@code{function-documentation} property of the function name. That is -useful with definitions such as keyboard macros that can't hold a -documentation string. +When you define a function (@pxref{Lambda Expressions}, and +@pxref{Function Documentation}), the documentation string is stored in +the function definition itself. You can also put function +documentation in the @code{function-documentation} property of a +function name. That is useful for function definitions which can't +hold a documentation string, such as keyboard macros. @item @kindex variable-documentation -The documentation for a variable is stored in the variable's property -list under the property name @code{variable-documentation}. The -function @code{documentation-property} knows how to retrieve it. +When you define a variable with a @code{defvar} or related form +(@pxref{Defining Variables}), the documentation is stored in the +variable's @code{variable-documentation} property. + +@cindex @file{DOC-@var{version}} (documentation) file +@item +To save memory, the documentation for preloaded functions and +variables (including primitive functions and autoloaded functions) is +not kept in memory, but in the file +@file{emacs/etc/DOC-@var{version}}, where @var{version} is the Emacs +version number (@pxref{Version Info}). + +@item +When a function or variable is loaded from a byte-compiled file during +the Emacs session, its documentation string is not loaded into memory. +Instead, Emacs looks it up in the byte-compiled file as needed. +@xref{Docs and Compilation}. @end itemize -@cindex @file{DOC-@var{version}} (documentation) file -To save space, the documentation for preloaded functions and variables -(including primitive functions and autoloaded functions) is stored in -the file @file{emacs/etc/DOC-@var{version}}---not inside Emacs. The -documentation strings for functions and variables loaded during the -Emacs session from byte-compiled files are stored in those files -(@pxref{Docs and Compilation}). - -The data structure inside Emacs has an integer offset into the file, or -a list containing a file name and an integer, in place of the -documentation string. The functions @code{documentation} and -@code{documentation-property} use that information to fetch the -documentation string from the appropriate file; this is transparent to -the user. +@noindent +Regardless of where the documentation string is stored, you can +retrieve it using the @code{documentation} or +@code{documentation-property} function, described in the next section. @node Accessing Documentation @section Access to Documentation Strings @defun documentation-property symbol property &optional verbatim -This function returns the documentation string that is recorded in -@var{symbol}'s property list under property @var{property}. It -retrieves the text from a file if the value calls for that. If the -property value isn't @code{nil}, isn't a string, and doesn't refer to -text in a file, then it is evaluated to obtain a string. +This function returns the documentation string recorded in +@var{symbol}'s property list under property @var{property}. It is +most often used to look up the documentation strings of variables, for +which @var{property} is @code{variable-documentation}. However, it +can also be used to look up other kinds of documentation, such as for +customization groups (but for function documentation, use the +@code{documentation} command, below). + +If the value recorded in the property list refers to a documentation +string stored in a @file{DOC-@var{version}} file or a byte-compiled +file, it looks up that string and returns it. If the property value +isn't @code{nil}, isn't a string, and doesn't refer to text in a file, +then it is evaluated as a Lisp expression to obtain a string. The last thing this function does is pass the string through -@code{substitute-command-keys} to substitute actual key bindings, -unless @var{verbatim} is non-@code{nil}. +@code{substitute-command-keys} to substitute actual key bindings +(@pxref{Keys in Documentation}). However, it skips this step if +@var{verbatim} is non-@code{nil}. @smallexample @group @@ -270,13 +281,13 @@ @end group @end smallexample +@anchor{Definition of Snarf-documentation} @defun Snarf-documentation filename -@anchor{Definition of Snarf-documentation} -This function is used only during Emacs initialization, just before -the runnable Emacs is dumped. It finds the file offsets of the -documentation strings stored in the file @var{filename}, and records -them in the in-core function definitions and variable property lists in -place of the actual strings. @xref{Building Emacs}. +This function is used when building Emacs, just before the runnable +Emacs is dumped. It finds the positions of the documentation strings +stored in the file @var{filename}, and records those positions into +memory in the function definitions and variable property lists. +@xref{Building Emacs}. Emacs reads the file @var{filename} from the @file{emacs/etc} directory. When the dumped Emacs is later executed, the same file will be looked @@ -515,13 +526,14 @@ The function returns a list of elements that look like this: @example -(@var{symbol} @var{score} @var{fn-doc} @var{var-doc} +(@var{symbol} @var{score} @var{functionn-doc} @var{variable-doc} @var{plist-doc} @var{widget-doc} @var{face-doc} @var{group-doc}) @end example Here, @var{score} is an integer measure of how important the symbol -seems to be as a match, and the remaining elements are documentation -strings for @var{symbol}'s various roles (or @code{nil}). +seems to be as a match. Each of the remaining elements is a +documentation string, or @code{nil}, for @var{symbol} as a function, +variable, etc. It also displays the symbols in a buffer named @samp{*Apropos*}, each with a one-line description taken from the beginning of its === modified file 'doc/lispref/macros.texi' --- doc/lispref/macros.texi 2012-02-15 05:15:43 +0000 +++ doc/lispref/macros.texi 2012-02-19 05:54:33 +0000 @@ -258,7 +258,8 @@ for more details. @item (doc-string @var{number}) -Specify which element of the macro is the doc string, if any. +Specify which element of the macro is the documentation string, if +any. @end table A @code{declare} form only has its special effect in the body of a === modified file 'doc/lispref/modes.texi' --- doc/lispref/modes.texi 2012-02-18 13:38:33 +0000 +++ doc/lispref/modes.texi 2012-02-19 05:54:33 +0000 @@ -800,10 +800,10 @@ mode no parent. Then @code{define-derived-mode} behaves as described above, but, of course, omits all actions connected with @var{parent}. -The argument @var{docstring} specifies the documentation string for -the new mode. @code{define-derived-mode} adds some general -information about the mode's hook, followed by the mode's keymap, at -the end of this docstring. If you omit @var{docstring}, +The argument @var{docstring} specifies the documentation string for the +new mode. @code{define-derived-mode} adds some general information +about the mode's hook, followed by the mode's keymap, at the end of this +documentation string. If you omit @var{docstring}, @code{define-derived-mode} generates a documentation string. The @var{keyword-args} are pairs of keywords and values. The values === modified file 'doc/lispref/tips.texi' --- doc/lispref/tips.texi 2012-01-19 07:21:25 +0000 +++ doc/lispref/tips.texi 2012-02-19 05:54:33 +0000 @@ -826,9 +826,7 @@ @item When you define a variable that users ought to set interactively, you -normally should use @code{defcustom}. However, if for some reason you -use @code{defvar} instead, start the doc string with a @samp{*}. -@xref{Defining Variables}. +should use @code{defcustom}. @xref{Defining Variables}. @item The documentation string for a variable that is a yes-or-no flag should === modified file 'doc/lispref/vol1.texi' --- doc/lispref/vol1.texi 2012-02-18 13:38:33 +0000 +++ doc/lispref/vol1.texi 2012-02-19 05:54:33 +0000 @@ -848,8 +848,7 @@ Documentation -* Documentation Basics:: Good style for doc strings. - Where to put them. How Emacs stores them. +* Documentation Basics:: Where doc strings are defined and stored. * Accessing Documentation:: How Lisp programs can access doc strings. * Keys in Documentation:: Substituting current key bindings. * Describing Characters:: Making printable descriptions of === modified file 'doc/lispref/vol2.texi' --- doc/lispref/vol2.texi 2012-02-18 13:38:33 +0000 +++ doc/lispref/vol2.texi 2012-02-19 05:54:33 +0000 @@ -847,8 +847,7 @@ Documentation -* Documentation Basics:: Good style for doc strings. - Where to put them. How Emacs stores them. +* Documentation Basics:: Where doc strings are defined and stored. * Accessing Documentation:: How Lisp programs can access doc strings. * Keys in Documentation:: Substituting current key bindings. * Describing Characters:: Making printable descriptions of ------------------------------------------------------------ revno: 107332 committer: Chong Yidong branch nick: trunk timestamp: Sun 2012-02-19 12:44:03 +0800 message: Reorganize some NEWS items. diff: === modified file 'etc/NEWS' --- etc/NEWS 2012-02-17 04:32:04 +0000 +++ etc/NEWS 2012-02-19 04:44:03 +0000 @@ -1077,6 +1077,7 @@ --- ** cl.el no longer provides `cl-19'. ++++ ** The menu bar bindings's caches are not used any more. Use (where-is-internal nil t) instead. @@ -1314,12 +1315,21 @@ (A version of this macro was actually added in Emacs 23.2 but was not advertised at the time.) +** Debugger changes +++ -** New macro `condition-case-unless-debug' (this was actually added in +*** New macro `condition-case-unless-debug' (this was actually added in Emacs 23.1 as condition-case-no-debug, but not advertised) - -+++ -** The macro `with-demoted-errors' was added in Emacs 23.1, but not advertised. ++++ +*** The macro `with-demoted-errors' was added in Emacs 23.1, but not advertised. +--- +*** Variable `stack-trace-on-error' removed. ++++ +*** The debugger can now "continue" from an error, which means it will +jump to the error handler as if the debugger had not been invoked +instead of jumping all the way to the top-level. ++++ +*** Set `debug-on-event' to enter the debugger on events like SIGUSR1. +This can be useful when `inhibit-quit' is set. +++ ** The new function `server-eval-at' allows evaluation of Lisp forms on @@ -1329,19 +1339,20 @@ ** `call-process' and `call-process-region' allow a `(:file "file")' spec to redirect STDOUT to a file. ---- -** Variable `stack-trace-on-error' removed. -Also the debugger can now "continue" from an error, which means it will jump -to the error handler as if the debugger had not been invoked instead of -jumping all the way to the top-level. - +++ ** The function format-time-string now supports the %N directive, for higher-resolution time stamps. -+++ -** New function `read-char-choice' reads a restricted set of characters, -discarding any inputs not inside the set. +** New input reading functions ++++ +*** New function `read-char-choice' reads a restricted set of +characters, discarding any inputs not inside the set. ++++ +*** The command `read-color' now requires a match for a color name +or RGB triplet, instead of signaling an error if the user provides +invalid input. +--- +**** `facemenu-read-color' is now an alias for `read-color'. +++ ** `image-library-alist' is renamed to `dynamic-library-alist'. @@ -1349,8 +1360,9 @@ not just image libraries. The previous name is still available as an obsolete alias. +** Syntax parsing changes +++ -** New variable `syntax-propertize-function'. +*** New variable `syntax-propertize-function'. This replaces `font-lock-syntactic-keywords' which is now obsolete. This allows syntax-table properties to be set independently from font-lock: just call syntax-propertize to make sure the text is propertized. @@ -1359,35 +1371,33 @@ syntax-propertize-via-font-lock to reuse old font-lock-syntactic-keywords as-is; and syntax-propertize-rules which provides a new way to specify syntactic rules. ++++ +*** Syntax tables support a new "comment style c" additionally to style b. +++ ** New hook post-self-insert-hook run at the end of self-insert-command. -+++ -** Syntax tables support a new "comment style c" additionally to style b. - --- ** frame-local variables cannot be let-bound any more. ** Major and minor mode changes +++ +*** `set-auto-mode' now respects mode: local variables at the end of files, +as well as those in the -*- line. ++++ *** `prog-mode' is a new major mode from which programming modes should be derived. - +++ **** `prog-mode-hook' can be used to enable features for programming modes, e.g. (add-hook 'prog-mode-hook 'flyspell-prog-mode) to enable on-the-fly spell checking for comments and strings. - +++ *** New hook `change-major-mode-after-body-hook', run by `run-mode-hooks' just before any other mode hooks. - +++ *** Enabled globalized minor modes can be disabled in specific major modes. If the global mode is global-FOO-mode, then run (FOO-mode -1) in the major mode's hook, where FOO-mode toggles the mode on a per-buffer basis. - +++ *** `define-minor-mode' accepts a new keyword :variable. @@ -1397,14 +1407,6 @@ both non-nil. Interactively, TRASH defaults to t, unless a prefix argument is supplied (see Trash changes, above). ---- -** `facemenu-read-color' is now an alias for `read-color'. - -+++ -** The command `read-color' now requires a match for a color name -or RGB triplet, instead of signaling an error if the user provides -invalid input. - +++ ** Tool-bars can display separators. Tool-bar separators are handled like menu separators in menu-bar maps, @@ -1489,11 +1491,6 @@ startup, which might otherwise not be noticed. This uses the functions display-delayed-warnings and collapse-delayed-warnings. - -+++ -** `set-auto-mode' now respects mode: local variables at the end of files, -as well as those in the -*- line. - --- ** rx.el has a new `group-n' construct for explicitly numbered groups. @@ -1504,10 +1501,6 @@ (set-keymap-parent newmap (make-composed-keymap othermap parent)) +++ -** Set `debug-on-event' to make Emacs enter the debugger e.g. on receipt -of SIGUSR1. This can be useful when `inhibit-quit' is set. - -+++ ** New reader macro ## that stands for the empty symbol. This means that the empty symbol can now be read back. Also, #: by itself (when not immediately followed by a possible symbol character) stands for ------------------------------------------------------------ revno: 107331 committer: Glenn Morris branch nick: trunk timestamp: Sat 2012-02-18 19:39:04 -0800 message: Can't remember why this matters, but Rmail binds M-s too diff: === modified file 'admin/FOR-RELEASE' --- admin/FOR-RELEASE 2012-02-18 21:57:00 +0000 +++ admin/FOR-RELEASE 2012-02-19 03:39:04 +0000 @@ -78,6 +78,9 @@ `log-edit-comment-search-forward'. Perhaps search commands on the global key binding `M-s' are useless in these modes. +5. Rmail binds `\es' to `rmail-search'/`rmail-summary-search'. + + * DOCUMENTATION ** Document XEmbed support ------------------------------------------------------------ revno: 107330 author: Lars Ingebrigtsen committer: Katsumi Yamaoka branch nick: trunk timestamp: Sat 2012-02-18 22:28:00 +0000 message: shr.el (shr-image-fetched): Be more defensive about killing the correct buffer diff: === modified file 'lisp/gnus/ChangeLog' --- lisp/gnus/ChangeLog 2012-02-16 14:33:58 +0000 +++ lisp/gnus/ChangeLog 2012-02-18 22:28:00 +0000 @@ -1,3 +1,8 @@ +2012-02-18 Lars Ingebrigtsen + + * shr.el (shr-image-fetched): Make sure we really kill the right + buffer. + 2012-02-16 Leo Liu * gnus-start.el (gnus-1): Avoid duplicate entries. === modified file 'lisp/gnus/shr.el' --- lisp/gnus/shr.el 2012-02-15 09:36:28 +0000 +++ lisp/gnus/shr.el 2012-02-18 22:28:00 +0000 @@ -524,20 +524,21 @@ directory))))) (defun shr-image-fetched (status buffer start end) - (when (and (buffer-name buffer) - (not (plist-get status :error))) - (url-store-in-cache (current-buffer)) - (when (or (search-forward "\n\n" nil t) - (search-forward "\r\n\r\n" nil t)) - (let ((data (buffer-substring (point) (point-max)))) - (with-current-buffer buffer - (save-excursion - (let ((alt (buffer-substring start end)) - (inhibit-read-only t)) - (delete-region start end) - (goto-char start) - (funcall shr-put-image-function data alt))))))) - (kill-buffer (current-buffer))) + (let ((image-buffer (current-buffer))) + (when (and (buffer-name buffer) + (not (plist-get status :error))) + (url-store-in-cache image-buffer) + (when (or (search-forward "\n\n" nil t) + (search-forward "\r\n\r\n" nil t)) + (let ((data (buffer-substring (point) (point-max)))) + (with-current-buffer buffer + (save-excursion + (let ((alt (buffer-substring start end)) + (inhibit-read-only t)) + (delete-region start end) + (goto-char start) + (funcall shr-put-image-function data alt))))))) + (kill-buffer image-buffer))) (defun shr-put-image (data alt) "Put image DATA with a string ALT. Return image." ------------------------------------------------------------ revno: 107329 committer: Glenn Morris branch nick: trunk timestamp: Sat 2012-02-18 14:19:42 -0800 message: * doc/emacs/ack.texi (Acknowledgments): Add xref to Org manual. diff: === modified file 'doc/emacs/ChangeLog' --- doc/emacs/ChangeLog 2012-02-18 21:57:00 +0000 +++ doc/emacs/ChangeLog 2012-02-18 22:19:42 +0000 @@ -1,5 +1,7 @@ 2012-02-18 Glenn Morris + * ack.texi (Acknowledgments): Add xref to Org manual. + * rmail.texi: Copyedits. Use 'mail composition buffer' in place of '*mail*', since Message does not call it that. (Rmail Reply): Rename rmail-dont-reply-to-names. === modified file 'doc/emacs/ack.texi' --- doc/emacs/ack.texi 2012-02-18 22:05:16 +0000 +++ doc/emacs/ack.texi 2012-02-18 22:19:42 +0000 @@ -262,12 +262,14 @@ @item Carsten Dominik wrote Ref@TeX{}, a package for setting up labels and cross-references in La@TeX{} documents; and co-wrote IDLWAVE mode -(q.v.@:). He was the main author of Org mode, for maintaining notes, -todo lists, and project planning. Thomas Baumann, Jan Böcker, Lennart -Borgman, Baoqiu Cui, Daniel German, Bastien Guerry, Tassilo Horn, Philip +(q.v.@:). He was the original author of Org mode, for maintaining notes, +todo lists, and project planning. Bastien Guerry subsequently took +over maintainership. Thomas Baumann, Jan Böcker, Lennart +Borgman, Baoqiu Cui, Daniel German, Tassilo Horn, Philip Jackson, Tokuya Kameshima, Ross Patterson, Sebastian Rose, Eric Schulte, Paul Sexton, Ulf Stegemann, Andy Stewart, David O'Toole, John Wiegley, -and Piotr Zielinski also wrote various Org mode components. +Piotr Zielinski, and others also wrote various Org mode components. +For more information, @pxref{History and Acknowledgments,,, org, The Org Manual}. @item Scott Draves wrote @file{tq.el}, help functions for maintaining ------------------------------------------------------------ revno: 107328 committer: Glenn Morris branch nick: trunk timestamp: Sat 2012-02-18 14:05:16 -0800 message: * doc/emacs/ack.texi: No escape... diff: === modified file 'doc/emacs/ack.texi' --- doc/emacs/ack.texi 2012-02-17 04:43:39 +0000 +++ doc/emacs/ack.texi 2012-02-18 22:05:16 +0000 @@ -196,7 +196,7 @@ prior to Emacs 23 for Mac OS. @item -Chong Yidong was the Emacs co-maintainer for Emacs 23. He made many +Chong Yidong was the Emacs co-maintainer from Emacs 23 onwards. He made many improvements to the Emacs display engine. He also wrote @file{tabulated-list.el}, a generic major mode for lists of data. @@ -818,7 +818,7 @@ and @file{rx.el}, a regular expression constructor. @item -Stefan Monnier was the Emacs co-maintainer for Emacs 23. He added +Stefan Monnier was the Emacs co-maintainer from Emacs 23 onwards. He added support for Arch and Subversion to VC, re-wrote much of the Emacs server to use the built-in networking primitives, and re-wrote the abbrev and minibuffer completion code for Emacs 23. He also wrote @code{PCL-CVS}, ------------------------------------------------------------ revno: 107327 committer: Glenn Morris branch nick: trunk timestamp: Sat 2012-02-18 13:57:00 -0800 message: Checked rmail.texi * doc/emacs/rmail.texi: Copyedits. Use 'mail composition buffer' in place of '*mail*', since Message does not call it that. (Rmail Reply): Rename rmail-dont-reply-to-names. \\`info- no longer handled specially. Update for rmail-enable-mime-composing. Don't mention 'm' for replies. Don't mention rmail-mail-new-frame and cancelling, since it does not work for Message at the moment. * lisp/mail/rmail.el (rmail-dont-reply-to-names): Mark as obsolete. * lisp/mail/undigest.el (unforward-rmail-message): Doc fix. * admin/FOR-RELEASE: Related markup. diff: === modified file 'admin/FOR-RELEASE' --- admin/FOR-RELEASE 2012-02-18 03:02:12 +0000 +++ admin/FOR-RELEASE 2012-02-18 21:57:00 +0000 @@ -161,7 +161,7 @@ picture-xtra.texi programs.texi cyd regs.texi cyd -rmail.texi +rmail.texi rgm screen.texi cyd search.texi cyd sending.texi cyd === modified file 'doc/emacs/ChangeLog' --- doc/emacs/ChangeLog 2012-02-18 03:02:12 +0000 +++ doc/emacs/ChangeLog 2012-02-18 21:57:00 +0000 @@ -1,5 +1,14 @@ 2012-02-18 Glenn Morris + * rmail.texi: Copyedits. Use 'mail composition buffer' in place + of '*mail*', since Message does not call it that. + (Rmail Reply): Rename rmail-dont-reply-to-names. + \\`info- no longer handled specially. + Update for rmail-enable-mime-composing. + Don't mention 'm' for replies. + Don't mention rmail-mail-new-frame and cancelling, since it does + not work for Message at the moment. + * cal-xtra.texi: Copyedits. * emacs-xtra.texi: Set encoding to ISO-8859-1. === modified file 'doc/emacs/rmail.texi' --- doc/emacs/rmail.texi 2012-02-08 08:20:36 +0000 +++ doc/emacs/rmail.texi 2012-02-18 21:57:00 +0000 @@ -87,8 +87,7 @@ to save the Rmail file eventually (like any other file you have changed). @kbd{C-x s} is a suitable way to do this (@pxref{Save Commands}). The Rmail command @kbd{b}, @code{rmail-bury}, buries the -Rmail buffer and its summary buffer without expunging and saving the -Rmail file. +Rmail buffer and its summary without expunging and saving the Rmail file. @node Rmail Scrolling @section Scrolling Within a Message @@ -276,7 +275,7 @@ @findex rmail-delete-forward @findex rmail-delete-backward There are two Rmail commands for deleting messages. Both delete the -current message and select another message. @kbd{d} +current message and select another. @kbd{d} (@code{rmail-delete-forward}) moves to the following message, skipping messages already deleted, while @kbd{C-d} (@code{rmail-delete-backward}) moves to the previous nondeleted message. If there is no nondeleted @@ -337,7 +336,7 @@ @vindex rmail-primary-inbox-list @cindex @env{MAIL} environment variable The variable @code{rmail-primary-inbox-list} contains a list of the -files which are inboxes for your primary Rmail file. If you don't set +files that are inboxes for your primary Rmail file. If you don't set this variable explicitly, Rmail uses the @env{MAIL} environment variable, or, as a last resort, a default inbox based on @code{rmail-spool-directory}. The default inbox file depends on your @@ -367,6 +366,7 @@ the rest of Rmail, since only Rmail operates on the Rmail file. @end enumerate +@c FIXME remove this in Emacs 25; won't be relevant any more. Rmail was originally written to use the Babyl format as its internal format. Since then, we have recognized that the usual inbox format (@samp{mbox}) on Unix and GNU systems is adequate for the job, and so @@ -454,6 +454,7 @@ the regular expression). If no files match, you cannot select this menu item. These variables also apply to choosing a file for output (@pxref{Rmail Output}). +@c FIXME matches only checked when Rmail file first visited? @ignore @findex set-rmail-inbox-list @@ -516,6 +517,7 @@ @kbd{o} converts the message to Babyl format (used by Rmail in Emacs version 22 and before) if the file is in Babyl format; @kbd{C-o} cannot output to Babyl files at all. +@c FIXME remove BABYL mention in Emacs 25? If the output file is currently visited in an Emacs buffer, the output commands append the message to that buffer. It is up to you to @@ -727,7 +729,7 @@ @cindex reply to a message The most common reason to send a message while in Rmail is to reply to the message you are reading. To do this, type @kbd{r} -(@code{rmail-reply}). This displays the @samp{*mail*} buffer in +(@code{rmail-reply}). This displays a mail composition buffer in another window, much like @kbd{C-x 4 m}, but preinitializes the @samp{Subject}, @samp{To}, @samp{CC}, @samp{In-reply-to} and @samp{References} header fields based on the message you are replying @@ -735,23 +737,20 @@ sent the message you received, and the @samp{CC} field starts out with all the other recipients of that message. -@vindex rmail-dont-reply-to-names +@vindex mail-dont-reply-to-names You can exclude certain recipients from being included automatically -in replies, using the variable @code{rmail-dont-reply-to-names}. Its +in replies, using the variable @code{mail-dont-reply-to-names}. Its value should be a regular expression; any recipients that match are excluded from the @samp{CC} field. They are also excluded from the @samp{To} field, unless this would leave the field empty. If this variable is nil, then the first time you compose a reply it is -initialized to a default value that matches your own address, and any -name starting with @samp{info-}. (Those names are excluded because -there is a convention of using them for large mailing lists to broadcast -announcements.) +initialized to a default value that matches your own address. To omit the @samp{CC} field completely for a particular reply, enter the reply command with a numeric argument: @kbd{C-u r} or @kbd{1 r}. This means to reply only to the sender of the original message. - Once the @samp{*mail*} buffer has been initialized, editing and + Once the mail composition buffer has been initialized, editing and sending the mail goes as usual (@pxref{Sending Mail}). You can edit the presupplied header fields if they are not what you want. You can also use commands such as @kbd{C-c C-y}, which yanks in the message @@ -767,7 +766,7 @@ send the failed message back to you, enclosed in a @dfn{failure message}. The Rmail command @kbd{M-m} (@code{rmail-retry-failure}) prepares to send the same message a second time: it sets up a -@samp{*mail*} buffer with the same text and header fields as before. If +mail composition buffer with the same text and header fields as before. If you type @kbd{C-c C-c} right away, you send the message again exactly the same as the first time. Alternatively, you can edit the text or headers and then send it. The variable @@ -780,23 +779,31 @@ @cindex forwarding a message Another frequent reason to send mail in Rmail is to @dfn{forward} the current message to other users. @kbd{f} (@code{rmail-forward}) makes -this easy by preinitializing the @samp{*mail*} buffer with the current -message as the text, and a subject designating a forwarded message. All -you have to do is fill in the recipients and send. When you forward a -message, recipients get a message which is ``from'' you, and which has -the original message in its contents. +this easy by preinitializing the mail composition buffer with the current +message as the text, and a subject of the form @code{[@var{from}: +@var{subject}]}, where @var{from} and @var{subject} are the sender and +subject of the original message. All you have to do is fill in the +recipients and send. When you forward a message, recipients get a +message which is ``from'' you, and which has the original message in +its contents. +@vindex rmail-enable-mime-composing @findex unforward-rmail-message - Forwarding a message encloses it between two delimiter lines. It also -modifies every line that starts with a dash, by inserting @w{@samp{- }} -at the start of the line. When you receive a forwarded message, if it + Rmail offers two formats for forwarded messages. The default is to +use MIME (@pxref{Rmail Display}) format. This includes the original +message as a separate part. You can use a simpler format if you +prefer, by setting the variable @code{rmail-enable-mime-composing} to +@code{nil}. In this case, Rmail just includes the original message +enclosed between two delimiter lines. It also modifies every line +that starts with a dash, by inserting @w{@samp{- }} at the start of +the line. When you receive a forwarded message in this format, if it contains something besides ordinary text---for example, program source -code---you might find it useful to undo that transformation. You can do -this by selecting the forwarded message and typing @kbd{M-x -unforward-rmail-message}. This command extracts the original forwarded -message, deleting the inserted @w{@samp{- }} strings, and inserts it -into the Rmail file as a separate message immediately following the -current one. +code---you might find it useful to undo that transformation. You can +do this by selecting the forwarded message and typing @kbd{M-x +unforward-rmail-message}. This command extracts the original +forwarded message, deleting the inserted @w{@samp{- }} strings, and +inserts it into the Rmail file as a separate message immediately +following the current one. @findex rmail-resend @dfn{Resending} is an alternative similar to forwarding; the @@ -812,22 +819,28 @@ Use the @kbd{m} (@code{rmail-mail}) command to start editing an outgoing message that is not a reply. It leaves the header fields empty. Its only difference from @kbd{C-x 4 m} is that it makes the Rmail buffer -accessible for @kbd{C-c C-y}, just as @kbd{r} does. Thus, @kbd{m} can be -used to reply to or forward a message; it can do anything @kbd{r} or @kbd{f} -can do. +accessible for @kbd{C-c C-y}, just as @kbd{r} does. +@ignore +@c Not a good idea, because it does not include Reply-To etc. +Thus, @kbd{m} can be used to reply to or forward a message; it can do +anything @kbd{r} or @kbd{f} can do. +@end ignore @kindex c @r{(Rmail)} @findex rmail-continue The @kbd{c} (@code{rmail-continue}) command resumes editing the -@samp{*mail*} buffer, to finish editing an outgoing message you were +mail composition buffer, to finish editing an outgoing message you were already composing, or to alter a message you have sent. @vindex rmail-mail-new-frame If you set the variable @code{rmail-mail-new-frame} to a non-@code{nil} value, then all the Rmail commands to start sending a message create a new frame to edit it in. This frame is deleted when -you send the message, or when you use the @samp{Cancel} item in the -@samp{Mail} menu. +you send the message. +@ignore +@c FIXME does not work with Message -> Kill Message +, or when you use the @samp{Cancel} item in the @samp{Mail} menu. +@end ignore All the Rmail commands to send a message use the mail-composition method that you have chosen (@pxref{Mail Methods}). @@ -905,8 +918,8 @@ makes a partial summary mentioning only the messages that have one or more recipients matching the regular expression @var{rcpts}. You can use commas to separate multiple regular expressions. These are matched -against the @samp{To}, @samp{From}, and @samp{CC} headers (with a prefix -argument, this header is not included). +against the @samp{To}, @samp{From}, and @samp{CC} headers (supply a prefix +argument to exclude this header). @kindex C-M-t @r{(Rmail)} @findex rmail-summary-by-topic @@ -1178,7 +1191,7 @@ (@code{rmail-mime-next-item}). @findex rmail-mime-previous-item -@item @key{BackTab} +@item S-@key{TAB} Move point to the previous @acronym{MIME} part (@code{rmail-mime-previous-item}). @@ -1195,7 +1208,7 @@ taglines, with their actual contents hidden. In either case, you can toggle a @acronym{MIME} part between its ``displayed'' and ``hidden'' states by typing @key{RET} anywhere in the part---or anywhere in its -tagline, apart from a tagline button for some other action. Type +tagline (except for buttons for other actions, if there are any). Type @key{RET} (or click with the mouse) to activate a tagline button, and @key{TAB} to cycle point between tagline buttons. @@ -1213,7 +1226,7 @@ @cindex encrypted mails (reading in Rmail) If the current message is an encrypted one, use the command @kbd{M-x rmail-epa-decrypt} to decrypt it, using the EasyPG library -(@pxref{Top,,, epa, EasyPG Assistant User's Manual}). +(@pxref{Top,, EasyPG, epa, EasyPG Assistant User's Manual}). You can highlight and activate URLs in the Rmail buffer using Goto Address mode: @@ -1300,13 +1313,13 @@ @cindex undigestify A @dfn{digest message} is a message which exists to contain and carry -several other messages. Digests are used on some moderated mailing +several other messages. Digests are used on some mailing lists; all the messages that arrive for the list during a period of time such as one day are put inside a single digest which is then sent to the -subscribers. Transmitting the single digest uses much less computer +subscribers. Transmitting the single digest uses less computer time than transmitting the individual messages even though the total -size is the same, because the per-message overhead in network mail -transmission is considerable. +size is the same, because of the per-message overhead in network mail +transmission. @findex undigestify-rmail-message When you receive a digest message, the most convenient way to read it is @@ -1321,14 +1334,15 @@ @section Reading Rot13 Messages @cindex rot13 code - Mailing list messages that might offend some readers are sometimes + Mailing list messages that might offend or annoy some readers are sometimes encoded in a simple code called @dfn{rot13}---so named because it rotates the alphabet by 13 letters. This code is not for secrecy, as it -provides none; rather, it enables those who might be offended to avoid -seeing the real text of the message. +provides none; rather, it enables those who wish to to avoid +seeing the real text of the message. For example, a review of a film +might use rot13 to hide important plot points. @findex rot13-other-window - To view a buffer which uses the rot13 code, use the command @kbd{M-x + To view a buffer that uses the rot13 code, use the command @kbd{M-x rot13-other-window}. This displays the current buffer in another window which applies the code when displaying the text. === modified file 'lisp/ChangeLog' --- lisp/ChangeLog 2012-02-18 19:04:28 +0000 +++ lisp/ChangeLog 2012-02-18 21:57:00 +0000 @@ -1,5 +1,9 @@ 2012-02-18 Glenn Morris + * mail/rmail.el (rmail-dont-reply-to-names): Mark as obsolete. + + * mail/undigest.el (unforward-rmail-message): Doc fix. + * saveplace.el (save-place-ignore-files-regexp): Add :version. 2012-02-18 Eli Zaretskii === modified file 'lisp/mail/rmail.el' --- lisp/mail/rmail.el 2012-02-08 08:20:36 +0000 +++ lisp/mail/rmail.el 2012-02-18 21:57:00 +0000 @@ -285,8 +285,10 @@ :version "21.1") ;;;###autoload -(defvaralias 'rmail-dont-reply-to-names 'mail-dont-reply-to-names) +(define-obsolete-variable-alias 'rmail-dont-reply-to-names + 'mail-dont-reply-to-names "24.1") +;; Prior to 24.1, this used to contain "\\`info-". ;;;###autoload (defvar rmail-default-dont-reply-to-names nil "Regexp specifying part of the default value of `mail-dont-reply-to-names'. === modified file 'lisp/mail/undigest.el' --- lisp/mail/undigest.el 2012-01-19 07:21:25 +0000 +++ lisp/mail/undigest.el 2012-02-18 21:57:00 +0000 @@ -228,8 +228,9 @@ ;;;###autoload (defun unforward-rmail-message () "Extract a forwarded message from the containing message. -This puts the forwarded message into a separate rmail message -following the containing message." +This puts the forwarded message into a separate rmail message following +the containing message. This command is only useful when messages are +forwarded with `rmail-enable-mime-composing' set to nil." (interactive) (set-buffer rmail-buffer) (let ((buff (current-buffer)) ------------------------------------------------------------ revno: 107326 committer: Glenn Morris branch nick: trunk timestamp: Sat 2012-02-18 11:04:28 -0800 message: * lisp/saveplace.el (save-place-ignore-files-regexp): Add :version. (ps feature freeze anyone?) diff: === modified file 'lisp/ChangeLog' --- lisp/ChangeLog 2012-02-18 11:36:54 +0000 +++ lisp/ChangeLog 2012-02-18 19:04:28 +0000 @@ -1,3 +1,7 @@ +2012-02-18 Glenn Morris + + * saveplace.el (save-place-ignore-files-regexp): Add :version. + 2012-02-18 Eli Zaretskii * international/characters.el (script-list): Sync with the latest === modified file 'lisp/saveplace.el' --- lisp/saveplace.el 2012-02-17 20:19:30 +0000 +++ lisp/saveplace.el 2012-02-18 19:04:28 +0000 @@ -135,6 +135,7 @@ "Regexp matching files for which no location should be recorded. Useful for temporary file such as commit message files that are automatically created by the VCS." + :version "24.1" :type 'regexp :group 'save-place) (defun toggle-save-place (&optional parg) ------------------------------------------------------------ revno: 107325 committer: Eli Zaretskii branch nick: trunk timestamp: Sat 2012-02-18 18:54:12 +0200 message: Fix display of iterator stack by .gdbinit command "pitx". src/.gdbinit (pitx): Fix incorrect references to fields of the iterator stack. diff: === modified file 'src/.gdbinit' --- src/.gdbinit 2012-02-04 19:57:12 +0000 +++ src/.gdbinit 2012-02-18 16:54:12 +0000 @@ -254,8 +254,8 @@ while ($i < $it->sp && $i < 4) set $e = $it->stack[$i] printf "stack[%d]: ", $i - pitmethod $e->method - printf "[%d]", $e->position.charpos + pitmethod $e.method + printf "[%d]", $e.position.charpos printf "\n" set $i = $i + 1 end === modified file 'src/ChangeLog' --- src/ChangeLog 2012-02-17 14:01:05 +0000 +++ src/ChangeLog 2012-02-18 16:54:12 +0000 @@ -1,3 +1,8 @@ +2012-02-18 Eli Zaretskii + + * .gdbinit (pitx): Fix incorrect references to fields of the + iterator stack. + 2012-02-17 Chong Yidong * syntax.c (Fscan_lists): Doc fix (Bug#10833). ------------------------------------------------------------ revno: 107324 committer: Chong Yidong branch nick: trunk timestamp: Sat 2012-02-18 21:38:33 +0800 message: Give Tabulated List mode its own Lisp manual node. * modes.texi (Tabulated List Mode): New node. (Basic Major Modes): Add xref to it. * processes.texi (Process Information): Mention Process Menu mode. diff: === modified file 'doc/lispref/ChangeLog' --- doc/lispref/ChangeLog 2012-02-17 14:01:05 +0000 +++ doc/lispref/ChangeLog 2012-02-18 13:38:33 +0000 @@ -1,3 +1,10 @@ +2012-02-18 Chong Yidong + + * modes.texi (Tabulated List Mode): New node. + (Basic Major Modes): Add xref to it. + + * processes.texi (Process Information): Mention Process Menu mode. + 2012-02-17 Chong Yidong * syntax.texi (Motion via Parsing): Doc fix for scan-lists. === modified file 'doc/lispref/elisp.texi' --- doc/lispref/elisp.texi 2012-02-16 14:43:41 +0000 +++ doc/lispref/elisp.texi 2012-02-18 13:38:33 +0000 @@ -781,9 +781,10 @@ * Derived Modes:: Defining a new major mode based on another major mode. * Basic Major Modes:: Modes that other modes are often derived from. +* Mode Hooks:: Hooks run at the end of major mode functions. +* Tabulated List Mode:: Parent mode for buffers containing tabulated data. * Generic Modes:: Defining a simple major mode that supports comment syntax and Font Lock mode. -* Mode Hooks:: Hooks run at the end of major mode functions. * Example Major Modes:: Text mode and Lisp modes. Minor Modes === modified file 'doc/lispref/modes.texi' --- doc/lispref/modes.texi 2012-02-16 14:43:41 +0000 +++ doc/lispref/modes.texi 2012-02-18 13:38:33 +0000 @@ -284,9 +284,10 @@ * Derived Modes:: Defining a new major mode based on another major mode. * Basic Major Modes:: Modes that other modes are often derived from. +* Mode Hooks:: Hooks run at the end of major mode commands. +* Tabulated List Mode:: Parent mode for buffers containing tabulated data. * Generic Modes:: Defining a simple major mode that supports comment syntax and Font Lock mode. -* Mode Hooks:: Hooks run at the end of major mode commands. * Example Major Modes:: Text mode and Lisp modes. @end menu @@ -893,9 +894,9 @@ @deffn Command special-mode Special mode is a basic major mode for buffers containing text that is -produced specially by Emacs, rather than from a file. Major modes -derived from Special mode are given a @code{mode-class} property of -@code{special} (@pxref{Major Mode Conventions}). +produced specially by Emacs, rather than directly from a file. Major +modes derived from Special mode are given a @code{mode-class} property +of @code{special} (@pxref{Major Mode Conventions}). Special mode sets the buffer to read-only. Its keymap defines several common bindings, including @kbd{q} for @code{quit-window}, @kbd{z} for @@ -907,60 +908,9 @@ Buffers,,Listing Existing Buffers, emacs, The GNU Emacs Manual}. @end deffn -@cindex tables of data -@deffn Command tabulated-list-mode -Tabulated List mode is another mode that derives from Special mode. It -displays tabulated data, i.e. a series of rows and columns, where each -row represents a particular entry, whose properties are displayed in the -various columns. It provides a general mechanism for sorting on -columns. You can use Tabulated List mode as the basis for other modes -that need to display lists. For example, the @samp{*Packages*} buffer -uses this (@pxref{Packages,,, emacs, The GNU Emacs Manual}). The -documentation of the @code{tabulated-list-mode} function explains what -you need to do to use it. At a minimum, specify the column format via -the @code{tabulated-list-format} variable. -@end deffn - -@node Generic Modes -@subsection Generic Modes -@cindex generic mode - - @dfn{Generic modes} are simple major modes with basic support for -comment syntax and Font Lock mode. To define a generic mode, use the -macro @code{define-generic-mode}. See the file @file{generic-x.el} -for some examples of the use of @code{define-generic-mode}. - -@defmac define-generic-mode mode comment-list keyword-list font-lock-list auto-mode-list function-list &optional docstring -This macro defines a generic mode command named @var{mode} (a symbol, -not quoted). The optional argument @var{docstring} is the -documentation for the mode command. If you do not supply it, -@code{define-generic-mode} generates one by default. - -The argument @var{comment-list} is a list in which each element is -either a character, a string of one or two characters, or a cons cell. -A character or a string is set up in the mode's syntax table as a -``comment starter.'' If the entry is a cons cell, the @sc{car} is set -up as a ``comment starter'' and the @sc{cdr} as a ``comment ender.'' -(Use @code{nil} for the latter if you want comments to end at the end -of the line.) Note that the syntax table mechanism has limitations -about what comment starters and enders are actually possible. -@xref{Syntax Tables}. - -The argument @var{keyword-list} is a list of keywords to highlight -with @code{font-lock-keyword-face}. Each keyword should be a string. -Meanwhile, @var{font-lock-list} is a list of additional expressions to -highlight. Each element of this list should have the same form as an -element of @code{font-lock-keywords}. @xref{Search-based -Fontification}. - -The argument @var{auto-mode-list} is a list of regular expressions to -add to the variable @code{auto-mode-alist}. They are added by the execution -of the @code{define-generic-mode} form, not by expanding the macro call. - -Finally, @var{function-list} is a list of functions for the mode -command to call for additional setup. It calls these functions just -before it runs the mode hook variable @code{@var{mode}-hook}. -@end defmac + In addition, modes for buffers of tabulated data can inherit from +Tabulated List mode, which is in turn derived from Special mode. +@xref{Tabulated List Mode}. @node Mode Hooks @subsection Mode Hooks @@ -1021,6 +971,177 @@ very end of every properly-written major mode command. @end defvar +@node Tabulated List Mode +@subsection Tabulated List mode +@cindex Tabulated List mode + + Tabulated List mode is a major mode for displaying tabulated data, +i.e.@: data consisting of @dfn{entries}, each entry occupying one row of +text with its contents divided into columns. Tabulated List mode +provides facilities for pretty-printing rows and columns, and sorting +the rows according to the values in each column. It is derived from +Special mode (@pxref{Basic Major Modes}). + + Tabulated List mode is intended to be used as a parent mode by a more +specialized major mode. Examples include Process Menu mode +(@pxref{Process Information}) and Package Menu mode (@pxref{Package +Menu,,, emacs, The GNU Emacs Manual}). + +@findex tabulated-list-mode + Such a derived mode should use @code{define-derived-mode} in the usual +way, specifying @code{tabulated-list-mode} as the second argument +(@pxref{Derived Modes}). The body of the @code{define-derived-mode} +form should specify the format of the tabulated data, by assigning +values to the variables documented below; then, it should call the +function @code{tabulated-list-init-header} to initialize the header +line. + + The derived mode should also define a @dfn{listing command}. This, +not the mode command, is what the user calls (e.g.@: @kbd{M-x +list-processes}). The listing command should create or switch to a +buffer, turn on the derived mode, specify the tabulated data, and +finally call @code{tabulated-list-print} to populate the buffer. + +@defvar tabulated-list-format +This buffer-local variable specifies the format of the Tabulated List +data. Its value should be a vector. Each element of the vector +represents a data column, and should be a list @code{(@var{name} +@var{width} @var{sort})}, where + +@itemize +@item +@var{name} is the column's name (a string). + +@item +@var{width} is the width to reserve for the column (an integer). This +is meaningless for the last column, which runs to the end of each line. + +@item +@var{sort} specifies how to sort entries by the column. If @code{nil}, +the column cannot be used for sorting. If @code{t}, the column is +sorted by comparing string values. Otherwise, this should be a +predicate function for @code{sort} (@pxref{Rearrangement}), which +accepts two arguments with the same form as the elements of +@code{tabulated-list-entries} (see below). +@end itemize +@end defvar + +@defvar tabulated-list-entries +This buffer-local variable specifies the entries displayed in the +Tabulated List buffer. Its value should be either a list, or a +function. + +If the value is a list, each list element corresponds to one entry, and +should have the form @w{@code{(@var{id} @var{contents})}}, where + +@itemize +@item +@var{id} is either @code{nil}, or a Lisp object that identifies the +entry. If the latter, the cursor stays on the ``same'' entry when +re-sorting entries. Comparison is done with @code{equal}. + +@item +@var{contents} is a vector with the same number of elements as +@code{tabulated-list-format}. Each vector element is either a string, +which is inserted into the buffer as-is, or a list @code{(@var{label} +. @var{properties})}, which means to insert a text button by calling +@code{insert-text-button} with @var{label} and @var{properties} as +arguments (@pxref{Making Buttons}). + +There should be no newlines in any of these strings. +@end itemize + +Otherwise, the value should be a function which returns a list of the +above form when called with no arguments. +@end defvar + +@defvar tabulated-list-revert-hook +This normal hook is run prior to reverting a Tabulated List buffer. A +derived mode can add a function to this hook to recompute +@code{tabulated-list-entries}. +@end defvar + +@defvar tabulated-list-printer +The value of this variable is the function called to insert an entry at +point, including its terminating newline. The function should accept +two arguments, @var{id} and @var{contents}, having the same meanings as +in @code{tabulated-list-entries}. The default value is a function which +inserts an entry in a straightforward way; a mode which uses Tabulated +List mode in a more complex way can specify another function. +@end defvar + +@defvar tabulated-list-sort-key +The value of this variable specifies the current sort key for the +Tabulated List buffer. If it is @code{nil}, no sorting is done. +Otherwise, it should have the form @code{(@var{name} . @var{flip})}, +where @var{name} is a string matching one of the column names in +@code{tabulated-list-format}, and @var{flip}, if non-@code{nil}, means +to invert the sort order. +@end defvar + +@defun tabulated-list-init-header +This function computes and sets @code{header-line-format} for the +Tabulated List buffer (@pxref{Header Lines}), and assigns a keymap to +the header line to allow sort entries by clicking on column headers. + +Modes derived from Tabulated List mode should call this after setting +the above variables (in particular, only after setting +@code{tabulated-list-format}). +@end defun + +@defun tabulated-list-print &optional remember-pos +This function populates the current buffer with entries. It should be +called by the listing command. It erases the buffer, sorts the entries +specified by @code{tabulated-list-entries} according to +@code{tabulated-list-sort-key}, then calls the function specified by +@code{tabulated-list-printer} to insert each entry. + +If the optional argument @var{remember-pos} is non-@code{nil}, this +function looks for the @var{id} element on the current line, if any, and +tries to move to that entry after all the entries are (re)inserted. +@end defun + +@node Generic Modes +@subsection Generic Modes +@cindex generic mode + + @dfn{Generic modes} are simple major modes with basic support for +comment syntax and Font Lock mode. To define a generic mode, use the +macro @code{define-generic-mode}. See the file @file{generic-x.el} +for some examples of the use of @code{define-generic-mode}. + +@defmac define-generic-mode mode comment-list keyword-list font-lock-list auto-mode-list function-list &optional docstring +This macro defines a generic mode command named @var{mode} (a symbol, +not quoted). The optional argument @var{docstring} is the +documentation for the mode command. If you do not supply it, +@code{define-generic-mode} generates one by default. + +The argument @var{comment-list} is a list in which each element is +either a character, a string of one or two characters, or a cons cell. +A character or a string is set up in the mode's syntax table as a +``comment starter.'' If the entry is a cons cell, the @sc{car} is set +up as a ``comment starter'' and the @sc{cdr} as a ``comment ender.'' +(Use @code{nil} for the latter if you want comments to end at the end +of the line.) Note that the syntax table mechanism has limitations +about what comment starters and enders are actually possible. +@xref{Syntax Tables}. + +The argument @var{keyword-list} is a list of keywords to highlight +with @code{font-lock-keyword-face}. Each keyword should be a string. +Meanwhile, @var{font-lock-list} is a list of additional expressions to +highlight. Each element of this list should have the same form as an +element of @code{font-lock-keywords}. @xref{Search-based +Fontification}. + +The argument @var{auto-mode-list} is a list of regular expressions to +add to the variable @code{auto-mode-alist}. They are added by the execution +of the @code{define-generic-mode} form, not by expanding the macro call. + +Finally, @var{function-list} is a list of functions for the mode +command to call for additional setup. It calls these functions just +before it runs the mode hook variable @code{@var{mode}-hook}. +@end defmac + @node Example Major Modes @subsection Major Mode Examples === modified file 'doc/lispref/processes.texi' --- doc/lispref/processes.texi 2012-02-15 08:50:38 +0000 +++ doc/lispref/processes.texi 2012-02-18 13:38:33 +0000 @@ -714,6 +714,9 @@ it finally deletes any process whose status was @samp{Exited} or @samp{Signaled}. It returns @code{nil}. +The processes are shown in a buffer named @samp{*Process List*}, whose +major mode is named Process Menu mode. + If @var{query-only} is non-@code{nil} then it lists only processes whose query flag is non-@code{nil}. @xref{Query Before Exit}. @end deffn === modified file 'doc/lispref/vol1.texi' --- doc/lispref/vol1.texi 2012-02-16 14:43:41 +0000 +++ doc/lispref/vol1.texi 2012-02-18 13:38:33 +0000 @@ -802,9 +802,10 @@ * Derived Modes:: Defining a new major mode based on another major mode. * Basic Major Modes:: Modes that other modes are often derived from. +* Mode Hooks:: Hooks run at the end of major mode commands. +* Tabulated List Mode:: Parent mode for buffers containing tabulated data. * Generic Modes:: Defining a simple major mode that supports comment syntax and Font Lock mode. -* Mode Hooks:: Hooks run at the end of major mode commands. * Example Major Modes:: Text mode and Lisp modes. Minor Modes === modified file 'doc/lispref/vol2.texi' --- doc/lispref/vol2.texi 2012-02-16 14:43:41 +0000 +++ doc/lispref/vol2.texi 2012-02-18 13:38:33 +0000 @@ -801,9 +801,10 @@ * Derived Modes:: Defining a new major mode based on another major mode. * Basic Major Modes:: Modes that other modes are often derived from. +* Mode Hooks:: Hooks run at the end of major mode commands. +* Tabulated List Mode:: Parent mode for buffers containing tabulated data. * Generic Modes:: Defining a simple major mode that supports comment syntax and Font Lock mode. -* Mode Hooks:: Hooks run at the end of major mode commands. * Example Major Modes:: Text mode and Lisp modes. Minor Modes ------------------------------------------------------------ revno: 107323 committer: Eli Zaretskii branch nick: trunk timestamp: Sat 2012-02-18 13:36:54 +0200 message: Update char-script-table from the latest Unicode Database. lisp/international/characters.el (script-list): Sync with the latest Unicode Character Database. diff: === modified file 'lisp/ChangeLog' --- lisp/ChangeLog 2012-02-18 10:24:23 +0000 +++ lisp/ChangeLog 2012-02-18 11:36:54 +0000 @@ -1,3 +1,8 @@ +2012-02-18 Eli Zaretskii + + * international/characters.el (script-list): Sync with the latest + Unicode Character Database. + 2012-02-18 Andreas Schwab * international/titdic-cnv.el: Remove duplicate coding tag. === modified file 'lisp/international/characters.el' --- lisp/international/characters.el 2012-02-11 22:13:29 +0000 +++ lisp/international/characters.el 2012-02-18 11:36:54 +0000 @@ -1114,6 +1114,12 @@ ;; Setting char-script-table. +;; The data is compiled from Blocks.txt and Scripts.txt in the +;; "Unicode Character Database", simplified to lump together all the +;; blocks belonging to the same language. E.g., "Basic Latin", +;; "Latin-1 Supplement", "Latin Extended-A", etc. are all lumped +;; together under "latin". +;; ;; The Unicode blocks actually extend past some of these ranges with ;; undefined codepoints. (let ((script-list nil)) @@ -1126,13 +1132,17 @@ (#x0370 #x03E1 greek) (#x03E2 #x03EF coptic) (#x03F0 #x03F3 greek) - (#x0400 #x04FF cyrillic) + (#x0400 #x052F cyrillic) (#x0530 #x058F armenian) (#x0590 #x05FF hebrew) (#x0600 #x06FF arabic) (#x0700 #x074F syriac) - (#x07C0 #x07FA nko) + (#x0750 #x077F arabic) (#x0780 #x07BF thaana) + (#x07C0 #x07FF nko) + (#x0800 #x083F samaritan) + (#x0840 #x085F mandaic) + (#x08A0 #x08FF arabic) (#x0900 #x097F devanagari) (#x0980 #x09FF bengali) (#x0A00 #x0A7F gurmukhi) @@ -1143,10 +1153,10 @@ (#x0C80 #x0CFF kannada) (#x0D00 #x0D7F malayalam) (#x0D80 #x0DFF sinhala) - (#x0E00 #x0E5F thai) - (#x0E80 #x0EDF lao) + (#x0E00 #x0E7F thai) + (#x0E80 #x0EFF lao) (#x0F00 #x0FFF tibetan) - (#x1000 #x109F burmese) + (#x1000 #x109F burmese) ; according to Unicode 6.1, should be "myanmar" (#x10A0 #x10FF georgian) (#x1100 #x11FF hangul) (#x1200 #x139F ethiopic) @@ -1154,14 +1164,40 @@ (#x1400 #x167F canadian-aboriginal) (#x1680 #x169F ogham) (#x16A0 #x16FF runic) + (#x1700 #x171F tagalog) + (#x1720 #x173F hanunoo) + (#x1740 #x175F buhid) + (#x1760 #x177F tagbanwa) (#x1780 #x17FF khmer) (#x1800 #x18AF mongolian) - (#x1D00 #x1DFF phonetic) - (#x1E00 #x1EFF latin) + (#x18B0 #x18FF canadian-aboriginal) + (#x1900 #x194F limbu) + (#x1950 #x197F tai-le) + (#x1980 #x19DF tai-lue) + (#x19E0 #x19FF khmer) + (#x1A00 #x1A00 buginese) + (#x1A20 #x1AAF tai-tham) + (#x1B00 #x1B7F balinese) + (#x1B80 #x1BBF sundanese) + (#x1BC0 #x1BFF batak) + (#x1C00 #x1C4F lepcha) + (#x1C50 #x1C7F ol-chiki) + (#x1CC0 #x1CCF sundanese) + (#x1CD0 #x1CFF vedic) + (#x1D00 #x1DBF phonetic) + (#x1DC0 #x1EFF latin) (#x1F00 #x1FFF greek) (#x2000 #x27FF symbol) (#x2800 #x28FF braille) + (#x2900 #x2BFF symbol) + (#x2C00 #x2C5F glagolitic) + (#x2C60 #x2C7F latin) + (#x2C80 #x2CFF coptic) + (#x2D00 #x2D2F georgian) + (#x2D30 #x2D7F tifinagh) (#x2D80 #x2DDF ethiopic) + (#x2DE0 #x2DFF cyrillic) + (#x2E00 #x2E7F symbol) (#x2E80 #x2FDF han) (#x2FF0 #x2FFF ideographic-description) (#x3000 #x303F cjk-misc) @@ -1170,47 +1206,92 @@ (#x3130 #x318F hangul) (#x3190 #x319F kanbun) (#x31A0 #x31BF bopomofo) - (#x3400 #x9FAF han) + (#x31C0 #x31EF cjk-misc) + (#x31F0 #x31FF kana) + (#x3200 #x9FAF han) (#xA000 #xA4CF yi) + (#xA4D0 #xA4FF lisu) + (#xA500 #xA63F vai) + (#xA640 #xA69F cyrillic) + (#xA6A0 #xA6FF bamum) + (#xA700 #xA7FF latin) + (#xA800 #xA82F syloti-nagri) + (#xA830 #xA83F north-indic-number) + (#xA840 #xA87F phags-pa) + (#xA880 #xA8DF saurashtra) + (#xA8E0 #xA8FF devanagari) + (#xA900 #xA92F kayah-li) + (#xA930 #xA95F rejang) + (#xA960 #xA97F hangul) + (#xA980 #xA9DF javanese) (#xAA00 #xAA5F cham) - (#xAA60 #xAA7B burmese) + (#xAA60 #xAA7B burmese) ; Unicode 6.1: "myanmar" (#xAA80 #xAADF tai-viet) - (#xAC00 #xD7AF hangul) + (#xAAE0 #xAAFF meetei-mayek) + (#xAB00 #xAB2F ethiopic) + (#xABC0 #xABFF meetei-mayek) + (#xAC00 #xD7FF hangul) (#xF900 #xFAFF han) (#xFB1D #xFB4F hebrew) (#xFB50 #xFDFF arabic) - (#xFE70 #xFEFC arabic) + (#xFE30 #xFE4F han) + (#xFE70 #xFEFF arabic) (#xFF00 #xFF5F cjk-misc) (#xFF61 #xFF9F kana) (#xFFE0 #xFFE6 cjk-misc) (#x10000 #x100FF linear-b) (#x10100 #x1013F aegean-number) - (#x10140 #x1018A ancient-greek-number) - (#x10190 #x1019B ancient-symbol) + (#x10140 #x1018F ancient-greek-number) + (#x10190 #x101CF ancient-symbol) (#x101D0 #x101FF phaistos-disc) (#x10280 #x1029F lycian) (#x102A0 #x102DF carian) (#x10300 #x1032F olt-italic) + (#x10330 #x1034F gothic) (#x10380 #x1039F ugaritic) (#x103A0 #x103DF old-persian) (#x10400 #x1044F deseret) (#x10450 #x1047F shavian) (#x10480 #x104AF osmanya) (#x10800 #x1083F cypriot-syllabary) + (#x10840 #x1085F aramaic) (#x10900 #x1091F phoenician) (#x10920 #x1093F lydian) + (#x10980 #x109FF meroitic) (#x10A00 #x10A5F kharoshthi) + (#x10A60 #x10A7F old-south-arabian) + (#x10B00 #x10B3F avestan) + (#x10B40 #x10B5F inscriptional-parthian) + (#x10B60 #x10B7F inscriptional-pahlavi) + (#x10C00 #x10C4F old-turkic) + (#x10E60 #x10E7F rumi-number) + (#x11000 #x1107F brahmi) + (#x11080 #x110CF kaithi) + (#x110D0 #x110FF sora-sompeng) + (#x11100 #x1114F chakma) + (#x11180 #x111DF sharada) + (#x11680 #x116CF takri) (#x12000 #x123FF cuneiform) (#x12400 #x1247F cuneiform-numbers-and-punctuation) + (#x13000 #x1342F egyptian) + (#x16800 #x16A3F bamum) + (#x16F00 #x16F9F miao) + (#x1B000 #x1B0FF kana) (#x1D000 #x1D0FF byzantine-musical-symbol) (#x1D100 #x1D1FF musical-symbol) (#x1D200 #x1D24F ancient-greek-musical-notation) (#x1D300 #x1D35F tai-xuan-jing-symbol) (#x1D360 #x1D37F counting-rod-numeral) (#x1D400 #x1D7FF mathematical) + (#x1EE00 #x1EEFF arabic) (#x1F000 #x1F02F mahjong-tile) (#x1F030 #x1F09F domino-tile) - (#x20000 #x2AFFF han) + (#x1F0A0 #x1F0FF playing-cards) + (#x1F100 #x1F1FF symbol) + (#x1F200 #x1F2FF han) + (#x1F300 #x1F64F symbol) + (#x1F680 #x1F77F symbol) + (#x20000 #x2B81F han) (#x2F800 #x2FFFF han))) (set-char-table-range char-script-table (cons (car elt) (nth 1 elt)) (nth 2 elt)) ------------------------------------------------------------ revno: 107322 committer: Andreas Schwab branch nick: emacs timestamp: Sat 2012-02-18 11:24:23 +0100 message: * international/titdic-cnv.el: Remove duplicate coding tag. * language/cham.el: Likewise. * language/tai-viet.el: Likewise. diff: === modified file 'lisp/ChangeLog' --- lisp/ChangeLog 2012-02-18 03:08:15 +0000 +++ lisp/ChangeLog 2012-02-18 10:24:23 +0000 @@ -1,3 +1,9 @@ +2012-02-18 Andreas Schwab + + * international/titdic-cnv.el: Remove duplicate coding tag. + * language/cham.el: Likewise. + * language/tai-viet.el: Likewise. + 2012-02-18 Glenn Morris * calendar/cal-menu.el (cal-menu-diary-menu, cal-menu-goto-menu): === modified file 'lisp/international/titdic-cnv.el' --- lisp/international/titdic-cnv.el 2012-01-19 07:21:25 +0000 +++ lisp/international/titdic-cnv.el 2012-02-18 10:24:23 +0000 @@ -1204,8 +1204,4 @@ (miscdic-convert filename dir)))) (kill-emacs 0)) -;; Local Variables: -;; coding: iso-2022-7bit -;; End: - ;;; titdic-cnv.el ends here === modified file 'lisp/language/cham.el' --- lisp/language/cham.el 2011-01-15 23:16:57 +0000 +++ lisp/language/cham.el 2012-02-18 10:24:23 +0000 @@ -1,6 +1,6 @@ ;;; cham.el --- support for Cham -*- coding: utf-8; no-byte-compile: t -*- -;; Copyright (C) 2008, 2009, 2010, 2011 +;; Copyright (C) 2008, 2009, 2010, 2011, 2012 ;; National Institute of Advanced Industrial Science and Technology (AIST) ;; Registration Number H13PRO009 @@ -37,8 +37,3 @@ (coding-priority utf-8))) (provide 'cham) - -;; Local Variables: -;; coding: utf-8 -;; End: - === modified file 'lisp/language/tai-viet.el' --- lisp/language/tai-viet.el 2012-01-19 07:21:25 +0000 +++ lisp/language/tai-viet.el 2012-02-18 10:24:23 +0000 @@ -57,7 +57,3 @@ "))) (provide 'tai-viet) - -;; Local Variables: -;; coding: utf-8 -;; End: ------------------------------------------------------------ revno: 107321 committer: Glenn Morris branch nick: trunk timestamp: Fri 2012-02-17 22:08:15 -0500 message: Use utf-8 Baha'i in calendar doc-strings, menus, etc * lisp/calendar/cal-menu.el (cal-menu-diary-menu, cal-menu-goto-menu): * lisp/calendar/calendar.el (diary-file, diary-bahai-entry-symbol) (calendar-bahai-all-holidays-flag, calendar-other-dates): * lisp/calendar/diary-lib.el (diary-abbreviated-year-flag): * lisp/calendar/holidays.el (holiday-bahai-holidays) (calendar-holidays, list-holidays): Use utf-8 Baha'i in doc-strings, menus, etc. diff: === modified file 'lisp/ChangeLog' --- lisp/ChangeLog 2012-02-17 20:19:30 +0000 +++ lisp/ChangeLog 2012-02-18 03:08:15 +0000 @@ -1,3 +1,13 @@ +2012-02-18 Glenn Morris + + * calendar/cal-menu.el (cal-menu-diary-menu, cal-menu-goto-menu): + * calendar/calendar.el (diary-file, diary-bahai-entry-symbol) + (calendar-bahai-all-holidays-flag, calendar-other-dates): + * calendar/diary-lib.el (diary-abbreviated-year-flag): + * calendar/holidays.el (holiday-bahai-holidays) + (calendar-holidays, list-holidays): + Use utf-8 Bahá'Ă­ in doc-strings, menus, etc. + 2012-02-17 Tassilo Horn * saveplace.el (save-place-ignore-files-regexp): New variable === modified file 'lisp/calendar/cal-menu.el' --- lisp/calendar/cal-menu.el 2012-01-19 07:21:25 +0000 +++ lisp/calendar/cal-menu.el 2012-02-18 03:08:15 +0000 @@ -52,7 +52,7 @@ ["Insert Anniversary" diary-insert-anniversary-entry] ["Insert Block" diary-insert-block-entry] ["Insert Cyclic" diary-insert-cyclic-entry] - ("Insert Baha'i" + ("Insert Bahá'Ă­" ["One time" diary-bahai-insert-entry] ["Monthly" diary-bahai-insert-monthly-entry] ["Yearly" diary-bahai-insert-yearly-entry]) @@ -127,7 +127,7 @@ ["Astronomical Date" calendar-astro-goto-day-number] ["Hebrew Date" calendar-hebrew-goto-date] ["Persian Date" calendar-persian-goto-date] - ["Baha'i Date" calendar-bahai-goto-date] + ["Bahá'Ă­ Date" calendar-bahai-goto-date] ["Islamic Date" calendar-islamic-goto-date] ["Julian Date" calendar-julian-goto-date] ["Chinese Date" calendar-chinese-goto-date] @@ -282,4 +282,8 @@ (provide 'cal-menu) +;; Local Variables: +;; coding: utf-8 +;; End: + ;;; cal-menu.el ends here === modified file 'lisp/calendar/calendar.el' --- lisp/calendar/calendar.el 2012-01-19 07:21:25 +0000 +++ lisp/calendar/calendar.el 2012-02-18 03:08:15 +0000 @@ -41,7 +41,7 @@ ;; can be translated from the (usual) Gregorian calendar to the day of ;; the year/days remaining in year, to the ISO commercial calendar, to ;; the Julian (old style) calendar, to the Hebrew calendar, to the -;; Islamic calendar, to the Baha'i calendar, to the French +;; Islamic calendar, to the Bahá'Ă­ calendar, to the French ;; Revolutionary calendar, to the Mayan calendar, to the Chinese ;; calendar, to the Coptic calendar, to the Ethiopic calendar, and to ;; the astronomical (Julian) day number. Times of sunrise/sunset can @@ -52,7 +52,7 @@ ;; The following files are part of the calendar/diary code: ;; appt.el Appointment notification -;; cal-bahai.el Baha'i calendar +;; cal-bahai.el Bahá'Ă­ calendar ;; cal-china.el Chinese calendar ;; cal-coptic.el Coptic/Ethiopic calendars ;; cal-dst.el Daylight saving time rules @@ -642,7 +642,7 @@ November 10, 1990. See the documentation for the function `diary-list-sexp-entries' for more details. -Diary entries based on the Hebrew, the Islamic and/or the Baha'i +Diary entries based on the Hebrew, the Islamic and/or the Bahá'Ă­ calendar are also possible, but because these are somewhat slow, they are ignored unless you set the `diary-nongregorian-listing-hook' and the `diary-nongregorian-marking-hook' appropriately. See the @@ -679,7 +679,7 @@ 'diary-bahai-entry-symbol "23.1") (defcustom diary-bahai-entry-symbol "B" - "Symbol indicating a diary entry according to the Baha'i calendar." + "Symbol indicating a diary entry according to the Bahá'Ă­ calendar." :type 'string :group 'diary) @@ -1005,9 +1005,9 @@ 'calendar-bahai-all-holidays-flag "23.1") (defcustom calendar-bahai-all-holidays-flag nil - "If nil, show only major holidays from the Baha'i calendar. + "If nil, show only major holidays from the Bahá'Ă­ calendar. These are the days on which work and school must be suspended. -Otherwise, show all the holidays that would appear in a complete Baha'i +Otherwise, show all the holidays that would appear in a complete Bahá'Ă­ calendar." :type 'boolean :group 'holidays) @@ -2552,7 +2552,7 @@ (unless (string-equal (setq odate (calendar-bahai-date-string date)) "") - (format "Baha'i date: %s" odate)) + (format "Bahá'Ă­ date: %s" odate)) (format "Chinese date: %s" (calendar-chinese-date-string date)) (unless (string-equal @@ -2624,6 +2624,7 @@ ;; Local variables: ;; byte-compile-dynamic: t +;; coding: utf-8 ;; End: ;;; calendar.el ends here === modified file 'lisp/calendar/diary-lib.el' --- lisp/calendar/diary-lib.el 2012-01-19 07:21:25 +0000 +++ lisp/calendar/diary-lib.el 2012-02-18 03:08:15 +0000 @@ -337,7 +337,7 @@ (defcustom diary-abbreviated-year-flag t "Interpret a two-digit year DD in a diary entry as either 19DD or 20DD. -This applies to the Gregorian, Hebrew, Islamic, and Baha'i calendars. +This applies to the Gregorian, Hebrew, Islamic, and Bahá'Ă­ calendars. When the current century is added to a two-digit year, if the result is more than 50 years in the future, the previous century is assumed. If the result is more than 50 years in the past, the next century is assumed. @@ -2624,4 +2624,8 @@ (provide 'diary-lib) +;; Local Variables: +;; coding: utf-8 +;; End: + ;;; diary-lib.el ends here === modified file 'lisp/calendar/holidays.el' --- lisp/calendar/holidays.el 2012-01-19 07:21:25 +0000 +++ lisp/calendar/holidays.el 2012-02-18 03:08:15 +0000 @@ -292,16 +292,16 @@ (mapcar 'purecopy '((holiday-bahai-new-year) (holiday-bahai-ridvan) ; respects calendar-bahai-all-holidays-flag - (holiday-fixed 5 23 "Declaration of the Bab") - (holiday-fixed 5 29 "Ascension of Baha'u'llah") - (holiday-fixed 7 9 "Martyrdom of the Bab") - (holiday-fixed 10 20 "Birth of the Bab") - (holiday-fixed 11 12 "Birth of Baha'u'llah") + (holiday-fixed 5 23 "Declaration of the Báb") + (holiday-fixed 5 29 "Ascension of Bahá'u'lláh") + (holiday-fixed 7 9 "Martyrdom of the Báb") + (holiday-fixed 10 20 "Birth of the Báb") + (holiday-fixed 11 12 "Birth of Bahá'u'lláh") (if calendar-bahai-all-holidays-flag (append (holiday-fixed 11 26 "Day of the Covenant") - (holiday-fixed 11 28 "Ascension of `Abdu'l-Baha"))))) - "Baha'i holidays. + (holiday-fixed 11 28 "Ascension of `Abdu'l-Bahá"))))) + "Bahá'Ă­ holidays. See the documentation for `calendar-holidays' for details." :type 'sexp :group 'holidays) @@ -376,7 +376,7 @@ K>0, and MONTH's last day otherwise. (holiday-hebrew MONTH DAY STRING) a fixed date on the Hebrew calendar (holiday-islamic MONTH DAY STRING) a fixed date on the Islamic calendar - (holiday-bahai MONTH DAY STRING) a fixed date on the Baha'i calendar + (holiday-bahai MONTH DAY STRING) a fixed date on the Bahá'Ă­ calendar (holiday-julian MONTH DAY STRING) a fixed date on the Julian calendar (holiday-sexp SEXP STRING) SEXP is a Gregorian-date-valued expression in the variable `year'; if it evaluates to @@ -404,11 +404,11 @@ (holiday-islamic 3 12 \"Mohammed's Birthday\") since the Islamic months are numbered from 1 starting with Muharram. -To add an entry for the Baha'i festival of Ridvan, use +To add an entry for the Bahá'Ă­ festival of Ridvan, use (holiday-bahai 2 13 \"Festival of Ridvan\") -since the Baha'i months are numbered from 1 starting with Baha. +since the Bahá'Ă­ months are numbered from 1 starting with Bahá. To add Thomas Jefferson's birthday, April 2, 1743 (Julian), use (holiday-julian 4 2 \"Jefferson's Birthday\") @@ -582,7 +582,7 @@ (if holiday-islamic-holidays (cons "Islamic" holiday-islamic-holidays)) (if holiday-bahai-holidays - (cons "Baha'i" holiday-bahai-holidays)) + (cons "Bahá'Ă­" holiday-bahai-holidays)) (if holiday-oriental-holidays (cons "Oriental" holiday-oriental-holidays)) (if holiday-solar-holidays @@ -920,4 +920,8 @@ (provide 'holidays) +;; Local Variables: +;; coding: utf-8 +;; End: + ;;; holidays.el ends here