* doc/lispref/display.texi (Delayed Warnings): New node.
* doc/misc/gnus-faq.texi (FAQ 8-2): Mention EasyPG.
* doc/misc/gnus.texi: Reduce references to obsolete pgg library.
(Security): Note that epg is now the default.
* doc/misc/message.texi (Using PGP/MIME): Note that epg is now the default.
* doc/misc/nxml-mode.texi (Completion): C-RET is no longer bound to
nxml-complete.
* lisp/subr.el (delayed-warnings-hook): Doc fix.
* src/keyboard.c (Vdelayed_warnings_list): Doc fix.
+2012-04-04 Chong Yidong <cyd@gnu.org>
+
+ * display.texi (Delayed Warnings): New node.
+
2012-04-04 Glenn Morris <rgm@gnu.org>
* os.texi (Notifications): Copyedits.
* Warning Basics:: Warnings concepts and functions to report them.
* Warning Variables:: Variables programs bind to customize their warnings.
* Warning Options:: Variables users set to control display of warnings.
+* Delayed Warnings:: Deferring a warning until the end of a command.
@end menu
@node Warning Basics
that warning is not logged.
@end defopt
+@node Delayed Warnings
+@subsection Delayed Warnings
+
+Sometimes, you may wish to avoid showing a warning while a command is
+running, and only show it only after the end of the command. You can
+use the variable @code{delayed-warnings-list} for this.
+
+@defvar delayed-warnings-list
+The value of this variable is a list of warnings to be displayed after
+the current command has finished. Each element must be a list
+
+@smallexample
+(@var{type} @var{message} [@var{level} [@var{buffer-name}]])
+@end smallexample
+
+@noindent
+with the same form, and the same meanings, as the argument list of
+@code{display-warning} (@pxref{Warning Basics}). Immediately after
+running @code{post-command-hook} (@pxref{Command Overview}), the Emacs
+command loop displays all the warnings specified by this variable,
+then resets it to @code{nil}.
+@end defvar
+
+ Programs which need to further customize the delayed warnings
+mechanism can change the variable @code{delayed-warnings-hook}:
+
+@defvar delayed-warnings-hook
+This is a normal hook which is run by the Emacs command loop, after
+@code{post-command-hook}, in order to to process and display delayed
+warnings.
+
+Its default value is a list of two functions:
+
+@smallexample
+(collapse-delayed-warnings display-delayed-warnings)
+@end smallexample
+
+@findex collapse-delayed-warnings
+@findex display-delayed-warnings
+@noindent
+The function @code{collapse-delayed-warnings} iterates through
+@code{delayed-warnings-list}, removing repeated entries. The function
+@code{display-delayed-warnings} calls @code{display-warning} on each
+of the entries in @code{delayed-warnings-list}, in turn, and then sets
+@code{delayed-warnings-list} to @code{nil}.
+@end defvar
+
@node Invisible Text
@section Invisible Text
* Warning Variables:: Variables programs bind to customize
their warnings.
* Warning Options:: Variables users set to control display of warnings.
+* Delayed Warnings:: Deferring a warning until the end of a command.
Overlays
* Warning Variables:: Variables programs bind to customize
their warnings.
* Warning Options:: Variables users set to control display of warnings.
+* Delayed Warnings:: Deferring warning display until the end of a command.
Overlays
* Warning Variables:: Variables programs bind to customize
their warnings.
* Warning Options:: Variables users set to control display of warnings.
+* Delayed Warnings:: Deferring a warning until the end of a command.
Overlays
+2012-04-04 Chong Yidong <cyd@gnu.org>
+
+ * message.texi (Using PGP/MIME): Note that epg is now the default.
+
+ * gnus.texi: Reduce references to obsolete pgg library.
+ (Security): Note that epg is now the default.
+
+ * gnus-faq.texi (FAQ 8-2): Mention EasyPG.
+
+ * nxml-mode.texi (Completion): C-RET is no longer bound to
+ nxml-complete.
+
2012-04-01 Jambunathan K <kjambunathan@gmail.com>
* org.texi (Customizing tables in ODT export): Correct few errors.
@subsubheading Answer
-There's not only the Gnus manual but also the manuals
-for message, emacs-mime, sieve and pgg. Those packages
-are distributed with Gnus and used by Gnus but aren't
-really part of core Gnus, so they are documented in
-different info files, you should have a look in those
-manuals, too.
+There's not only the Gnus manual but also the manuals for message,
+emacs-mime, sieve, EasyPG Assistant, and pgg. Those packages are
+distributed with Gnus and used by Gnus but aren't really part of core
+Gnus, so they are documented in different info files, you should have
+a look in those manuals, too.
@node FAQ 8-3
@subsubheading Question 8.3
@item Message manual: Composing messages
@item Emacs-MIME: Composing messages; @acronym{MIME}-specific parts.
@item Sieve: Managing Sieve scripts in Emacs.
-@item PGG: @acronym{PGP/MIME} with Gnus.
+@item EasyPG: @acronym{PGP/MIME} with Gnus.
@item SASL: @acronym{SASL} authentication in Emacs.
@end itemize
* Message:(message). Composing messages.
* Emacs-MIME:(emacs-mime). Composing messages; @acronym{MIME}-specific parts.
* Sieve:(sieve). Managing Sieve scripts in Emacs.
-* PGG:(pgg). @acronym{PGP/MIME} with Gnus.
+* EasyPG:(epa). @acronym{PGP/MIME} with Gnus.
* SASL:(sasl). @acronym{SASL} authentication in Emacs.
@detailmenu
@include emacs-mime.texi
@chapter Sieve
@include sieve.texi
-@chapter PGG
-@include pgg.texi
+@chapter EasyPG
+@include epa.texi
@chapter SASL
@include sasl.texi
@end iflatex
@acronym{PGP/MIME} requires an external OpenPGP implementation, such
as @uref{http://www.gnupg.org/, GNU Privacy Guard}. Pre-OpenPGP
-implementations such as PGP 2.x and PGP 5.x are also supported. One
-Emacs interface to the PGP implementations, PGG (@pxref{Top, ,PGG,
-pgg, PGG Manual}), is included, but Mailcrypt is also supported.
-@xref{PGP Compatibility}.
+implementations such as PGP 2.x and PGP 5.x are also supported. The
+default Emacs interface to the PGP implementation is EasyPG
+(@pxref{Top,,EasyPG Assistant User's Manual, epa, EasyPG Assistant
+User's Manual}), but PGG (@pxref{Top, ,PGG, pgg, PGG Manual}) and
+Mailcrypt are also supported. @xref{PGP Compatibility}.
@cindex gpg-agent
Message internally calls GnuPG (the @command{gpg} command) to perform
gpg --use-agent --sign < /dev/null > /dev/null
@end example
-The Lisp variable @code{pgg-gpg-use-agent} controls whether to use
-@command{gpg-agent}. See also @xref{Caching passphrase, , , pgg, The
-PGG Manual}.
-
-
@node PGP Compatibility
@subsection Compatibility with older implementations
If you have imported your old PGP 2.x key into GnuPG, and want to send
signed and encrypted messages to your fellow PGP 2.x users, you'll
discover that the receiver cannot understand what you send. One
-solution is to use PGP 2.x instead (i.e., if you use @code{pgg}, set
+solution is to use PGP 2.x instead (e.g.@: if you use @code{pgg}, set
@code{pgg-default-scheme} to @code{pgp}). You could also convince your
fellow PGP 2.x users to convert to GnuPG.
@vindex mml-signencrypt-style-alist
@c %**end of header
@copying
-This manual documents nxml-mode, an Emacs major mode for editing
+This manual documents nXML mode, an Emacs major mode for editing
XML with RELAX NG support.
Copyright @copyright{} 2007-2012 Free Software Foundation, Inc.
@node Completion
@chapter Completion
-Apart from real-time validation, the most important feature that
-nxml-mode provides for assisting in document creation is "completion".
+Apart from real-time validation, the most important feature that nXML
+mode provides for assisting in document creation is "completion".
Completion assists the user in inserting characters at point, based on
knowledge of the schema and on the contents of the buffer before
point.
-The traditional GNU Emacs key combination for completion in a
-buffer is @kbd{M-@key{TAB}}. However, many window systems
-and window managers use this key combination themselves (typically for
-switching between windows) and do not pass it to applications. It's
-hard to find key combinations in GNU Emacs that are both easy to type
-and not taken by something else. @kbd{C-@key{RET}} (i.e.
-pressing the Enter or Return key, while the Ctrl key is held down) is
-available. It won't be available on a traditional terminal (because
-it is indistinguishable from Return), but it will work with a window
-system. Therefore we adopt the following solution by default: use
-@kbd{C-@key{RET}} when there's a window system and
-@kbd{M-@key{TAB}} when there's not. In the following, I
-will assume that a window system is being used and will therefore
-refer to @kbd{C-@key{RET}}.
-
-Completion works by examining the symbol preceding point. This
-is the symbol to be completed. The symbol to be completed may be the
-empty. Completion considers what symbols starting with the symbol to
-be completed would be valid replacements for the symbol to be
+nXML mode adapts the standard GNU Emacs command for completion in a
+buffer: @code{completion-at-point}, which is bound to @kbd{C-M-i} and
+@kbd{M-@key{TAB}}. Note that many window systems and window managers
+use @kbd{M-@key{TAB}} themselves (typically for switching between
+windows) and do not pass it to applications. In that case, you should
+type @kbd{C-M-i} or @kbd{@key{ESC} @key{TAB}} for completion, or bind
+@code{completion-at-point} to a key that is convenient for you. In
+the following, I will assume that you type @kbd{C-M-i}.
+
+nXML mode completion works by examining the symbol preceding point.
+This is the symbol to be completed. The symbol to be completed may be
+the empty. Completion considers what symbols starting with the symbol
+to be completed would be valid replacements for the symbol to be
completed, given the schema and the contents of the buffer before
point. These symbols are the possible completions. An example may
make this clearer. Suppose the buffer looks like this (where @point{}
In this case, the symbol to be completed is empty, and the possible
completions are just @samp{http://www.w3.org/1999/xhtml}.
-When you type @kbd{C-@key{RET}}, what happens depends
+When you type @kbd{C-M-i}, what happens depends
on what the set of possible completions are.
@itemize @bullet
@end example
@noindent
-@kbd{C-@key{RET}} will yield
+@kbd{C-M-i} will yield
@example
<html xmlns="http://www.w3.org/1999/xhtml">
@end example
@noindent
-The symbol to be completed is @samp{x}. The possible completions
-are @samp{xmlns} and @samp{xml:lang}. These share a
-common prefix of @samp{xml}. Thus, @kbd{C-@key{RET}}
-will yield:
+The symbol to be completed is @samp{x}. The possible completions are
+@samp{xmlns} and @samp{xml:lang}. These share a common prefix of
+@samp{xml}. Thus, @kbd{C-M-i} will yield:
@example
<html xml@point{}
@end example
@noindent
-Typically, you would do @kbd{C-@key{RET}} again, which would
-have the result described in the next item.
+Typically, you would do @kbd{C-M-i} again, which would have the result
+described in the next item.
@item
If there is more than one possible completion, but the
possible completions do not share a non-empty prefix, then Emacs will
@end example
@noindent
-(If you do @kbd{C-@key{RET}} again, the namespace URI will
-be inserted. Should that happen automatically?)
+(If you do @kbd{C-M-i} again, the namespace URI will be
+inserted. Should that happen automatically?)
@end itemize
@node Inserting end-tags
@chapter Inserting end-tags
-The main redundancy in XML syntax is end-tags. nxml-mode provides
+The main redundancy in XML syntax is end-tags. nXML mode provides
several ways to make it easier to enter end-tags. You can use all of
these without a schema.
-You can use @kbd{C-@key{RET}} after @samp{</}
-to complete the rest of the end-tag.
+You can use @kbd{C-M-i} after @samp{</} to complete the rest of the
+end-tag.
@kbd{C-c C-f} inserts an end-tag for the element containing
point. This command is useful when you want to input the start-tag,
indented. The @samp{i} is mnemonic for inline and the
@samp{b} is mnemonic for block.
-Finally, you can customize nxml-mode so that @kbd{/}
-automatically inserts the rest of the end-tag when it occurs after
-@samp{<}, by doing
+Finally, you can customize nXML mode so that @kbd{/} automatically
+inserts the rest of the end-tag when it occurs after @samp{<}, by
+doing
@display
@kbd{M-x customize-variable @key{RET} nxml-slash-auto-complete-flag @key{RET}}
@node DTDs
@chapter DTDs
-nxml-mode is designed to support the creation of standalone XML
+nXML mode is designed to support the creation of standalone XML
documents that do not depend on a DTD. Although it is common practice
to insert a DOCTYPE declaration referencing an external DTD, this has
undesirable side-effects. It means that the document is no longer
---
** mpc.el: Can use pseudo tags of the form tag1|tag2 as a union of two tags.
++++
** nXML mode no longer binds C-RET to `nxml-complete'.
Completion is now performed via `completion-at-point', bound to M-TAB.
If `nxml-bind-meta-tab-to-complete-flag' is non-nil (the default),
---
*** pc-mode.el is obsolete (CUA mode is much more comprehensive).
++++
*** pgg is obsolete (use EasyPG instead)
---
** New variable `revert-buffer-in-progress-p' is true while a buffer is
being reverted, even if the buffer has a local `revert-buffer-function'.
----
++++
** New variables `delayed-warnings-list' and `delayed-warnings-hook'.
If delayed-warnings-list is non-nil, the command loop calls
`delayed-warnings-hook' after `post-command-hook'. At present, this
+2012-04-04 Chong Yidong <cyd@gnu.org>
+
+ * subr.el (delayed-warnings-hook): Doc fix.
+
2012-04-04 Daiki Ueno <ueno@unixuser.org>
* epa.el (epa--select-keys): Bind C-c C-c to finish the key
;; Ref http://lists.gnu.org/archive/html/emacs-devel/2012-02/msg00085.html
(defvar delayed-warnings-hook '(collapse-delayed-warnings
display-delayed-warnings)
- "Normal hook run to process delayed warnings.
-Functions in this hook should access the `delayed-warnings-list'
-variable (which see) and remove from it the warnings they process.")
+ "Normal hook run to process and display delayed warnings.
+By default, this hook contains functions to consolidate the
+warnings listed in `delayed-warnings-list', display them, and set
+`delayed-warnings-list' back to nil.")
\f
;;;; Process stuff.
+2012-04-04 Chong Yidong <cyd@gnu.org>
+
+ * keyboard.c (Vdelayed_warnings_list): Doc fix.
+
2012-04-01 Eli Zaretskii <eliz@gnu.org>
* w32menu.c (simple_dialog_show, add_menu_item): Use SAFE_ALLOCA
Vdeferred_action_function = Qnil;
DEFVAR_LISP ("delayed-warnings-list", Vdelayed_warnings_list,
- doc: /* List of warnings to be displayed as soon as possible.
+ doc: /* List of warnings to be displayed after this command.
Each element must be a list (TYPE MESSAGE [LEVEL [BUFFER-NAME]]),
as per the args of `display-warning' (which see).
If this variable is non-nil, `delayed-warnings-hook' will be run