]> code.delx.au - gnu-emacs/commitdiff
Merge from origin/emacs-25
authorPaul Eggert <eggert@cs.ucla.edu>
Tue, 10 May 2016 14:44:28 +0000 (07:44 -0700)
committerPaul Eggert <eggert@cs.ucla.edu>
Tue, 10 May 2016 14:44:28 +0000 (07:44 -0700)
d0d9f55 Allow newlines inside cl function arglists
963541a Publicize cl--generic-all-functions
3c581d5 ; Fix typo
e58f900 Add some "safe-local-variable" declarations for compatibility...

1  2 
etc/NEWS
lisp/emacs-lisp/eieio-opt.el
lisp/help.el
lisp/progmodes/cc-vars.el

diff --cc etc/NEWS
Simple merge
Simple merge
diff --cc lisp/help.el
Simple merge
index 8cad27fd86d16094c532f519d34b7e22e7ef7dbe,b46b9b82704a56a31a1d5a94fc2495e814de1145..216f0cc143a6b6ae447313f62b3efbb6399a04ee
@@@ -1632,53 -1632,12 +1632,57 @@@ names).")
    :type 'c-extra-types-widget
    :group 'c)
  
 +(defvar c-noise-macro-with-parens-name-re "\\<\\>")
 +(defvar c-noise-macro-name-re "\\<\\>")
 +
 +(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.
 +
 +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)."
 +  :type '(repeat :tag "List of names" string)
 +  :group 'c)
 +(put 'c-noise-macro-names 'safe-local-variable #'c-string-list-p)
 +
 +(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."
 +  :type '(regexp :tag "List of names (possibly empty)" string)
 +  :group 'c)
 +(put 'c-noise-macro-with-parens-names 'safe-local-variable #'c-string-list-p)
 +
 +(defun c-make-noise-macro-regexps ()
 +  ;; Convert `c-noise-macro-names' and `c-noise-macro-with-parens-names' into
 +  ;; `c-noise-macro-name-re' and `c-noise-macro-with-parens-name-re'.
 +  (setq c-noise-macro-with-parens-name-re
 +      (cond ((null c-noise-macro-with-parens-names) "\\<\\>")
 +            ((consp c-noise-macro-with-parens-names)
 +             (concat (regexp-opt c-noise-macro-with-parens-names t)
 +                     "\\([^[:alnum:]_$]\\|$\\)"))
 +            ((stringp c-noise-macro-with-parens-names)
 +             (copy-sequence c-noise-macro-with-parens-names))
 +            (t (error "c-make-noise-macro-regexps: \
 +c-noise-macro-with-parens-names is invalid: %s" c-noise-macro-with-parens-names))))
 +  (setq c-noise-macro-name-re
 +      (cond ((null c-noise-macro-names) "\\<\\>")
 +            ((consp c-noise-macro-names)
 +             (concat (regexp-opt c-noise-macro-names t)
 +                     "\\([^[:alnum:]_$]\\|$\\)"))
 +            ((stringp c-noise-macro-names)
 +             (copy-sequence c-noise-macro-names))
 +            (t (error "c-make-noise-macro-regexps: \
 +c-noise-macro-names is invalid: %s" c-noise-macro-names)))))
  \f
  ;; Non-customizable variables, still part of the interface to CC Mode
+ ;; The following two are preparations for Emacs 25.2 (2016-05-09):
+ (put 'c-noise-macro-names 'safe-local-variable #'c-string-list-p)
+ (put 'c-noise-macro-with-parens-names 'safe-local-variable #'c-string-list-p)
  (defvar c-macro-with-semi-re nil
    ;; Regular expression which matches a (#define'd) symbol whose expansion
    ;; ends with a semicolon.