emacs-diffs
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

emacs-27 066aad7: Finish the documentation for c-noise-macro-{, with-par


From: Alan Mackenzie
Subject: emacs-27 066aad7: Finish the documentation for c-noise-macro-{, with-parens-}names.
Date: Mon, 27 Jan 2020 13:12:57 -0500 (EST)

branch: emacs-27
commit 066aad7b9d137cb5262e57295eb32c57faa4f9cc
Author: Alan Mackenzie <address@hidden>
Commit: Alan Mackenzie <address@hidden>

    Finish the documentation for c-noise-macro-{,with-parens-}names.
    
    The doc strings and pertinent CC Mode manual page failed to mention that 
these
    variables could also be regular expressions.  Amend them.
    
    * lisp/progmodes/cc-vars.el (c-noise-macro-names)
    (c-noise-macro-with-parens-names): Amend the doc strings.
    
    * doc/misc/cc-mode.texi (Noise Macros): Amend the descriptions of the two
    variables.
---
 doc/misc/cc-mode.texi     | 22 ++++++++++++----------
 lisp/progmodes/cc-vars.el | 15 +++++++++++----
 2 files changed, 23 insertions(+), 14 deletions(-)

diff --git a/doc/misc/cc-mode.texi b/doc/misc/cc-mode.texi
index 2c49a90..544ff85 100644
--- a/doc/misc/cc-mode.texi
+++ b/doc/misc/cc-mode.texi
@@ -7095,22 +7095,24 @@ constitute noise macros.
 @vindex noise-macro-names @r{(c-)}
 This variable is a list of names of noise macros which never have
 parenthesized arguments.  Each element is a string, and must be a
-valid identifier.  An element in @code{c-noise-macro-names} must not
-also be in @code{c-noise-macro-with-parens-names}.  Such an element is
-treated as whitespace by @ccmode{}.
+valid identifier.  Alternatively, the variable may be a regular
+expression which matches the names of such macros.  Such a noise macro
+is treated as whitespace by @ccmode{}.  It must not also be in, or be
+matched by @code{c-noise-macro-with-parens-names}.
 @end defopt
 
 @defopt c-noise-macro-with-parens-names
 @vindex noise-macro-with-parens-names @r{(c-)}
 This variable is a list of names of noise macros which optionally have
 arguments in parentheses.  Each element of the list is a string, and
-must be a valid identifier.  An element in
-@code{c-noise-macro-with-parens-names} must not also be in
-@code{c-noise-macro-names}.  For performance reasons, such an element,
-together with the optional parenthesized arguments, is specially
-handled, but it is only handled when used in declaration
-contexts@footnote{If this restriction causes your project
-difficulties, please get in touch with @email{bug-cc-mode@@gnu.org}.}.
+must be a valid identifier.  Alternatively, the variable may be a
+regular expression which matches the names of such macros.  Such a
+noise macro must not also be in, or be matched by
+@code{c-noise-macro-names}.  For performance reasons, such a noise
+macro, including any parenthesized arguments, is specially handled,
+but it is only handled when used in declaration contexts@footnote{If
+this restriction causes your project difficulties, please get in touch
+with @email{bug-cc-mode@@gnu.org}.}.
 
 The two compiler directives @code{__attribute__} and @code{__declspec}
 have traditionally been handled specially in @ccmode{}; for example
diff --git a/lisp/progmodes/cc-vars.el b/lisp/progmodes/cc-vars.el
index 8618724..556ff60 100644
--- a/lisp/progmodes/cc-vars.el
+++ b/lisp/progmodes/cc-vars.el
@@ -1657,9 +1657,10 @@ white space either before or after the operator, but not 
both."
 
 (defcustom c-noise-macro-names nil
   "A list of names of macros which expand to nothing, or compiler extensions
-like \"????\" which are syntactic noise.  Such a macro/extension is complete in
-itself, never having parentheses.  All these names must be syntactically valid
-identifiers.
+like \"INLINE\" which are syntactic noise.  Such a macro/extension is complete
+in itself, never having parentheses.  All these names must be syntactically
+valid identifiers.  Alternatively, this variable may be a regular expression
+which matches the names of such macros.
 
 If you change this variable's value, call the function
 `c-make-noise-macro-regexps' to set the necessary internal variables (or do
@@ -1673,7 +1674,13 @@ this implicitly by reinitializing C/C++/Objc Mode on any 
buffer)."
 (defcustom c-noise-macro-with-parens-names nil
   "A list of names of macros (or compiler extensions like \"__attribute__\")
 which optionally have arguments in parentheses, and which expand to nothing.
-These are recognized by CC Mode only in declarations."
+All these names must be syntactically valid identifiers.  These are recognized
+by CC Mode only in declarations.  Alternatively, this variable may be a
+regular expression which matches the names of such macros.
+
+If you change this variable's value, call the function
+`c-make-noise-macro-regexps' to set the necessary internal variables (or do
+this implicitly by reinitializing C/C++/Objc Mode on any buffer)."
   :version "26.1"
   :type '(repeat :tag "List of names (possibly empty)" string)
   :group 'c)



reply via email to

[Prev in Thread] Current Thread [Next in Thread]