Merge branch 'master' of git.sv.gnu.org:/srv/git/emacs

This commit is contained in:
rocky 2017-07-04 22:39:32 -04:00
commit 5d62247323
12 changed files with 66 additions and 81 deletions

View file

@ -1536,7 +1536,8 @@ If `ffap-url-regexp' is not nil, the FILENAME may also be an URL.
With a prefix, this command behaves exactly like `ffap-file-finder'.
If `ffap-require-prefix' is set, the prefix meaning is reversed.
See also the variables `ffap-dired-wildcards', `ffap-newfile-prompt',
and the functions `ffap-file-at-point' and `ffap-url-at-point'."
`ffap-url-unwrap-local', `ffap-url-unwrap-remote', and the functions
`ffap-file-at-point' and `ffap-url-at-point'."
(interactive)
(if (and (called-interactively-p 'interactive)
(if ffap-require-prefix (not current-prefix-arg)

View file

@ -815,7 +815,7 @@ N defaults to 0.
If N is `re', a regexp is returned instead, that would match
the string for any N."
(setq n (or n 0))
(when (and (stringp str) (not (string= "" str)))
(when (and (stringp str) (string-match "\\S-" str))
;; Separate the actual string from any leading/trailing padding
(string-match "\\`\\s-*\\(.*?\\)\\s-*\\'" str)
(let ((s (match-string 1 str)) ;actual string

View file

@ -159,7 +159,7 @@ Works with: topmost-intro-cont."
(c-safe-position (or containing-sexp (point)) c-state-cache)
containing-sexp))))
(defun c-lineup-arglist (langelem)
(defun c-lineup-arglist (_langelem)
"Line up the current argument line under the first argument.
As a special case, if the indented line is inside a brace block
@ -265,7 +265,7 @@ Works with: arglist-cont, arglist-cont-nonempty."
(c-forward-syntactic-ws))
(c-lineup-argcont-scan other-match)))))
(defun c-lineup-arglist-intro-after-paren (langelem)
(defun c-lineup-arglist-intro-after-paren (_langelem)
"Line up a line to just after the open paren of the surrounding paren
or brace block.
@ -483,7 +483,7 @@ Works with: func-decl-cont."
(vector (+ (current-column) c-basic-offset)))
c-basic-offset))))
(defun c-indent-one-line-block (langelem)
(defun c-indent-one-line-block (_langelem)
"Indent a one line block `c-basic-offset' extra.
E.g.:
@ -506,7 +506,7 @@ Work with: Almost all syntactic symbols, but most useful on *-open."
c-basic-offset
nil))))
(defun c-indent-multi-line-block (langelem)
(defun c-indent-multi-line-block (_langelem)
"Indent a multi line block `c-basic-offset' extra.
E.g.:
@ -642,7 +642,7 @@ Works with: The `c' syntactic symbol."
(goto-char (c-langelem-pos langelem)))))
(vector (current-column)))))))
(defun c-lineup-comment (langelem)
(defun c-lineup-comment (_langelem)
"Line up a comment start according to `c-comment-only-line-offset'.
If the comment is lined up with a comment starter on the previous
line, that alignment is preserved.
@ -667,7 +667,7 @@ Works with: comment-intro."
-1000)) ;jam it against the left side
))))
(defun c-lineup-knr-region-comment (langelem)
(defun c-lineup-knr-region-comment (_langelem)
"Line up a comment in the \"K&R region\" with the declaration.
That is the region between the function or class header and the
beginning of the block. E.g.:
@ -836,7 +836,7 @@ arglist-cont-nonempty."
(vector col))))))
(defun c-lineup-string-cont (langelem)
(defun c-lineup-string-cont (_langelem)
"Line up a continued string under the one it continues.
A continued string in this sense is where a string literal follows
directly after another one. E.g.:
@ -861,7 +861,7 @@ arglist-cont-nonempty."
(goto-char pos)
(vector (current-column)))))))
(defun c-lineup-template-args (langelem)
(defun c-lineup-template-args (_langelem)
"Line up template argument lines under the first argument.
To allow this function to be used in a list expression, nil is
returned if there's no template argument on the first line.
@ -992,7 +992,7 @@ Works with: objc-method-args-cont."
(+ curcol (- prev-col-column (current-column)))
c-basic-offset)))))
(defun c-lineup-inexpr-block (langelem)
(defun c-lineup-inexpr-block (_langelem)
"Line up the block for constructs that use a block inside an expression,
e.g. anonymous classes in Java and lambda functions in Pike. The body
is aligned with the start of the header, e.g. with the \"new\" or
@ -1020,7 +1020,7 @@ Works with: inlambda, inexpr-statement, inexpr-class."
(goto-char (cdr res))
(vector (current-column))))))
(defun c-lineup-whitesmith-in-block (langelem)
(defun c-lineup-whitesmith-in-block (_langelem)
"Line up lines inside a block in Whitesmith style.
It's done in a way that works both when the opening brace hangs and
when it doesn't. E.g.:
@ -1084,7 +1084,7 @@ arglist-cont."
(vector (+ (current-column) c-basic-offset))))
(vector 0)))))
(defun c-lineup-cpp-define (langelem)
(defun c-lineup-cpp-define (_langelem)
"Line up macro continuation lines according to the indentation of
the construct preceding the macro. E.g.:
@ -1233,7 +1233,7 @@ Works with: Any syntactic symbol which has an anchor position."
(vector (current-column))))
(defun c-lineup-dont-change (langelem)
(defun c-lineup-dont-change (_langelem)
"Do not change the indentation of the current line.
Works with: Any syntactic symbol."
@ -1241,7 +1241,7 @@ Works with: Any syntactic symbol."
(back-to-indentation)
(vector (current-column))))
(defun c-lineup-respect-col-0 (langelem)
(defun c-lineup-respect-col-0 (_langelem)
"If the current line starts at column 0, return [0]. Otherwise return nil.
This can be used for comments (in conjunction with, say,
@ -1254,7 +1254,7 @@ anchored there, but reindent other comments."
nil)))
(defun c-snug-do-while (syntax pos)
(defun c-snug-do-while (syntax _pos)
"Dynamically calculate brace hanginess for do-while statements.
Using this function, `while' clauses that end a `do-while' block will
remain on the same line as the brace that closes that block.
@ -1272,7 +1272,7 @@ ACTION associated with `block-close' syntax."
'(before)
'(before after)))))
(defun c-snug-1line-defun-close (syntax pos)
(defun c-snug-1line-defun-close (_syntax pos)
"Determine the brace hanginess for an AWK defun-close.
If the action/function being closed is a one-liner, keep it so. Otherwise put
the closing brace on its own line."

View file

@ -592,7 +592,7 @@
;; starts at a `while' token.
(not (c-get-char-property (c-point 'eol) 'c-awk-NL-prop)))
(defun c-awk-clear-NL-props (beg end)
(defun c-awk-clear-NL-props (beg _end)
;; This function is run from before-change-hooks. It clears the
;; c-awk-NL-prop text property from beg to the end of the buffer (The END
;; parameter is ignored). This ensures that the indentation engine will
@ -847,7 +847,7 @@
;; Just beyond logical line following the region which is about to be changed.
;; Set in c-awk-record-region-clear-NL and used in c-awk-after-change.
(defun c-awk-record-region-clear-NL (beg end)
(defun c-awk-record-region-clear-NL (_beg end)
;; This function is called exclusively from the before-change-functions hook.
;; It does two things: Finds the end of the (logical) line on which END lies,
;; and clears c-awk-NL-prop text properties from this point onwards. BEG is

View file

@ -86,6 +86,7 @@
(defvar cc-bytecomp-environment-set nil)
(defmacro cc-bytecomp-debug-msg (&rest args)
(ignore args)
;;`(message ,@args)
)
@ -252,7 +253,7 @@ perhaps a `cc-bytecomp-restore-environment' is forgotten somewhere"))
(cc-bytecomp-debug-msg
"cc-bytecomp-restore-environment: Done"))))
(defun cc-bytecomp-load (cc-part)
(defun cc-bytecomp-load (_cc-part)
;; A dummy function which will immediately be overwritten by the
;; following at load time. This should suppress the byte compiler
;; error that the function is "not known to be defined".

View file

@ -51,6 +51,8 @@
;; Indentation / Display syntax functions
(defvar c-fix-backslashes t)
(defvar c-syntactic-context)
(defun c-indent-line (&optional syntax quiet ignore-point-pos)
"Indent the current line according to the syntactic context,
if `c-syntactic-indentation' is non-nil. Optional SYNTAX is the
@ -1635,7 +1637,6 @@ defun."
(c-save-buffer-state
(beginning-of-defun-function
end-of-defun-function
(start (point))
(paren-state (c-parse-state))
(orig-point-min (point-min)) (orig-point-max (point-max))
lim ; Position of { which has been widened to.
@ -1759,7 +1760,6 @@ the open-parenthesis that starts a defun; see `beginning-of-defun'."
(c-save-buffer-state
(beginning-of-defun-function
end-of-defun-function
(start (point))
(paren-state (c-parse-state))
(orig-point-min (point-min)) (orig-point-max (point-max))
lim

View file

@ -367,6 +367,8 @@ to it is returned. This function does not modify the point or the mark."
(t (error "Unknown buffer position requested: %s" position))))
(point))))
(defvar lookup-syntax-properties) ;XEmacs.
(eval-and-compile
;; Constant to decide at compilation time whether to use category
;; properties. Currently (2010-03) they're available only on GNU Emacs.
@ -1832,8 +1834,6 @@ non-nil, a caret is prepended to invert the set."
(cc-bytecomp-defvar open-paren-in-column-0-is-defun-start)
(defvar lookup-syntax-properties) ;XEmacs.
(defconst c-emacs-features
(let (list)

View file

@ -241,7 +241,7 @@
;; Either nil, or the last character of the macro currently represented by
;; `c-macro-cache' which isn't in a comment. */
(defun c-invalidate-macro-cache (beg end)
(defun c-invalidate-macro-cache (beg _end)
;; Called from a before-change function. If the change region is before or
;; in the macro characterized by `c-macro-cache' etc., nullify it
;; appropriately. BEG and END are the standard before-change-functions
@ -834,7 +834,7 @@ comment at the start of cc-engine.el for more info."
(c-stmt-delim-chars (if comma-delim
c-stmt-delim-chars-with-comma
c-stmt-delim-chars))
c-in-literal-cache c-maybe-labelp after-case:-pos saved
c-maybe-labelp after-case:-pos saved
;; Current position.
pos
;; Position of last stmt boundary character (e.g. ;).
@ -1680,6 +1680,7 @@ comment at the start of cc-engine.el for more info."
; (not (eobp)))))))
(defmacro c-debug-sws-msg (&rest args)
(ignore args)
;;`(message ,@args)
)
@ -3307,7 +3308,6 @@ comment at the start of cc-engine.el for more info."
paren+1s ; A list of `paren+1's; used to determine a
; good-pos.
bra+1 ; just after L bra-ce.
bra+1s ; list of OLD values of bra+1.
mstart) ; start of a macro.
(save-excursion
@ -3345,7 +3345,7 @@ comment at the start of cc-engine.el for more info."
;; Insert the opening brace/bracket/paren position.
(setq c-state-cache (cons (1- pa+1) c-state-cache))
;; Clear admin stuff for the next more nested part of the scan.
(setq ren+1 pa+1 pa+1 nil bra+1 nil bra+1s nil)
(setq ren+1 pa+1 pa+1 nil bra+1 nil)
t) ; Carry on the loop
;; All open p/b/b's at this nesting level, if any, have probably
@ -3429,7 +3429,7 @@ comment at the start of cc-engine.el for more info."
upper-lim ; ,beyond which `c-state-cache' entries are removed
scan-back-pos
cons-separated
pair-beg pps-point-state target-depth)
pair-beg target-depth)
;; Remove entries beyond HERE. Also remove any entries inside
;; a macro, unless HERE is in the same macro.
@ -3485,9 +3485,6 @@ comment at the start of cc-engine.el for more info."
target-depth
nil pps-state))
(if (= (point) pps-point)
(setq pps-point-state pps-state))
(when (eq (car pps-state) target-depth)
(setq pos (point)) ; POS is now just after an R-paren/brace.
(cond
@ -3732,11 +3729,10 @@ comment at the start of cc-engine.el for more info."
;; brace pair.
(let ((here-bol (c-point 'bol here))
too-high-pa ; recorded {/(/[ next above or just below here, or nil.
dropped-cons ; was the last removed element a brace pair?
pa)
dropped-cons) ; was the last removed element a brace pair?
;; The easy bit - knock over-the-top bits off `c-state-cache'.
(while (and c-state-cache
(>= (setq pa (c-state-cache-top-paren)) here))
(>= (c-state-cache-top-paren) here))
(setq dropped-cons (consp (car c-state-cache))
too-high-pa (c-state-cache-top-lparen)
c-state-cache (cdr c-state-cache)))
@ -5027,7 +5023,7 @@ comment at the start of cc-engine.el for more info."
;; Tools for handling comments and string literals.
(defun c-in-literal (&optional lim detect-cpp)
(defun c-in-literal (&optional _lim detect-cpp)
"Return the type of literal point is in, if any.
The return value is `c' if in a C-style comment, `c++' if in a C++
style comment, `string' if in a string literal, `pound' if DETECT-CPP
@ -5035,9 +5031,6 @@ is non-nil and in a preprocessor line, or nil if somewhere else.
Optional LIM is used as the backward limit of the search. If omitted,
or nil, `c-beginning-of-defun' is used.
The last point calculated is cached if the cache is enabled, i.e. if
`c-in-literal-cache' is bound to a two element vector.
Note that this function might do hidden buffer changes. See the
comment at the start of cc-engine.el for more info."
(save-restriction
@ -6139,7 +6132,7 @@ comment at the start of cc-engine.el for more info."
;; Shut up the byte compiler.
(defvar c-maybe-stale-found-type)
(defun c-trim-found-types (beg end old-len)
(defun c-trim-found-types (beg end _old-len)
;; An after change function which, in conjunction with the info in
;; c-maybe-stale-found-type (set in c-before-change), removes a type
;; from `c-found-types', should this type have become stale. For
@ -6409,6 +6402,9 @@ comment at the start of cc-engine.el for more info."
(c-clear-<>-pair-props)
(forward-char)))))))
(defvar c-restricted-<>-arglists) ;FIXME: Move definition here?
(defvar c-parse-and-markup-<>-arglists) ;FIXME: Move definition here?
(defun c-restore-<>-properties (_beg _end _old-len)
;; This function is called as an after-change function. It restores the
;; category/syntax-table properties on template/generic <..> pairs between
@ -6715,7 +6711,7 @@ comment at the start of cc-engine.el for more info."
(c-put-char-property open-paren 'syntax-table '(1)))
(goto-char bound))))
(defun c-after-change-re-mark-raw-strings (beg end old-len)
(defun c-after-change-re-mark-raw-strings (_beg _end _old-len)
;; This function applies `syntax-table' text properties to C++ raw strings
;; beginning in the region (c-new-BEG c-new-END). BEG, END, and OLD-LEN are
;; the standard arguments supplied to any after-change function.
@ -8239,10 +8235,6 @@ comment at the start of cc-engine.el for more info."
;; If `backup-at-type' is nil then the other variables have
;; undefined values.
backup-at-type backup-type-start backup-id-start
;; This stores `kwd-sym' of the symbol before the current one.
;; This is needed to distinguish the C++11 version of "auto" from
;; the pre C++11 meaning.
backup-kwd-sym
;; Set if we've found a specifier (apart from "typedef") that makes
;; the defined identifier(s) types.
at-type-decl
@ -8350,7 +8342,6 @@ comment at the start of cc-engine.el for more info."
(setq backup-at-type at-type
backup-type-start type-start
backup-id-start id-start
backup-kwd-sym kwd-sym
at-type found-type
type-start start
id-start (point)
@ -8904,9 +8895,9 @@ comment at the start of cc-engine.el for more info."
;; uncommon (e.g. some placements of "const" in C++) it's not worth
;; the effort to look for them.)
;;; 2008-04-16: commented out the next form, to allow the function to recognize
;;; "foo (int bar)" in CC (an implicit type (in class foo) without a semicolon)
;;; as a(n almost complete) declaration, enabling it to be fontified.
;;; 2008-04-16: commented out the next form, to allow the function to recognize
;;; "foo (int bar)" in CC (an implicit type (in class foo) without a semicolon)
;;; as a(n almost complete) declaration, enabling it to be fontified.
;; CASE 13
;; (unless (or at-decl-end (looking-at "=[^=]"))
;; If this is a declaration it should end here or its initializer(*)
@ -10038,7 +10029,7 @@ comment at the start of cc-engine.el for more info."
(c-syntactic-re-search-forward ";" nil 'move t))))
nil)))
(defun c-looking-at-decl-block (containing-sexp goto-start &optional limit)
(defun c-looking-at-decl-block (_containing-sexp goto-start &optional limit)
;; Assuming the point is at an open brace, check if it starts a
;; block that contains another declaration level, i.e. that isn't a
;; statement block or a brace list, and if so return non-nil.
@ -10311,7 +10302,7 @@ comment at the start of cc-engine.el for more info."
;; We're at a "{". Move back to the enum-like keyword that starts this
;; declaration and return t, otherwise don't move and return nil.
(let ((here (point))
up-sexp-pos before-identifier)
before-identifier)
(when c-recognize-post-brace-list-type-p
(c-backward-typed-enum-colon))
(while
@ -10581,7 +10572,7 @@ comment at the start of cc-engine.el for more info."
next-containing nil))))
(and (consp bufpos) (car bufpos))))))
(defun c-looking-at-special-brace-list (&optional lim)
(defun c-looking-at-special-brace-list (&optional _lim)
;; If we're looking at the start of a pike-style list, i.e., `({ })',
;; `([ ])', `(< >)', etc., a cons of a cons of its starting and ending
;; positions and its entry in c-special-brace-lists is returned, nil
@ -10644,7 +10635,7 @@ comment at the start of cc-engine.el for more info."
(cons (list beg) type)))))
(error nil))))
(defun c-looking-at-bos (&optional lim)
(defun c-looking-at-bos (&optional _lim)
;; Return non-nil if between two statements or declarations, assuming
;; point is not inside a literal or comment.
;;
@ -11206,7 +11197,7 @@ comment at the start of cc-engine.el for more info."
containing-decl-open
containing-decl-start
containing-decl-kwd
paren-state)
_paren-state)
;; The inclass and class-close syntactic symbols are added in
;; several places and some work is needed to fix everything.
;; Therefore it's collected here.
@ -11422,7 +11413,7 @@ comment at the start of cc-engine.el for more info."
;; following result clauses, and most of this function is a
;; single gigantic cond. :P
literal char-before-ip before-ws-ip char-after-ip macro-start
in-macro-expr c-syntactic-context placeholder c-in-literal-cache
in-macro-expr c-syntactic-context placeholder
step-type tmpsymbol keyword injava-inher special-brace-list tmp-pos
containing-<
;; The following record some positions for the containing

View file

@ -494,8 +494,7 @@ is called with one argument, the guessed style."
;; If an entry in `c-offsets-alist' holds a guessed value, move it to
;; front in the field. In addition alphabetical sort by entry name is done.
(setq style (copy-tree style))
(let ((offsets-alist-cell (assq 'c-offsets-alist style))
(guessed-syntactic-symbols (c-guess-guessed-syntactic-symbols)))
(let ((offsets-alist-cell (assq 'c-offsets-alist style)))
(setcdr offsets-alist-cell
(sort (cdr offsets-alist-cell)
(lambda (a b)

View file

@ -115,7 +115,7 @@
;; For Emacs < 22.2.
(eval-and-compile
(unless (fboundp 'declare-function) (defmacro declare-function (&rest r))))
(unless (fboundp 'declare-function) (defmacro declare-function (&rest _))))
(eval-when-compile
(let ((load-path
@ -245,12 +245,12 @@ the evaluated constant value at compile time."
(unless (listp (car-safe ops))
(setq ops (list ops)))
(cond ((eq opgroup-filter t)
(setq opgroup-filter (lambda (opgroup) t)))
(setq opgroup-filter (lambda (_opgroup) t)))
((not (functionp opgroup-filter))
(setq opgroup-filter `(lambda (opgroup)
(memq opgroup ',opgroup-filter)))))
(cond ((eq op-filter t)
(setq op-filter (lambda (op) t)))
(setq op-filter (lambda (_op) t)))
((stringp op-filter)
(setq op-filter `(lambda (op)
(string-match ,op-filter op)))))
@ -2852,14 +2852,7 @@ Note that Java specific rules are currently applied to tell this from
left-assoc
right-assoc
right-assoc-sequence)
t))
(unambiguous-prefix-ops (c--set-difference nonkeyword-prefix-ops
in-or-postfix-ops
:test 'string-equal))
(ambiguous-prefix-ops (c--intersection nonkeyword-prefix-ops
in-or-postfix-ops
:test 'string-equal)))
t)))
(concat
"\\("

View file

@ -927,7 +927,7 @@ Note that the style variables are always made local to the buffer."
(c-clear-char-property-with-value
m-beg (point) 'syntax-table '(1)))))
(defun c-extend-region-for-CPP (beg end)
(defun c-extend-region-for-CPP (_beg _end)
;; Adjust `c-new-BEG', `c-new-END' respectively to the beginning and end of
;; any preprocessor construct they may be in.
;;
@ -951,7 +951,7 @@ Note that the style variables are always made local to the buffer."
(when (> (point) c-new-END)
(setq c-new-END (min (point) (c-determine-+ve-limit 500 c-new-END)))))
(defun c-depropertize-new-text (beg end old-len)
(defun c-depropertize-new-text (beg end _old-len)
;; Remove from the new text in (BEG END) any and all text properties which
;; might interfere with CC Mode's proper working.
;;
@ -970,7 +970,7 @@ Note that the style variables are always made local to the buffer."
(c-clear-char-properties beg end 'c-type)
(c-clear-char-properties beg end 'c-awk-NL-prop))))
(defun c-extend-font-lock-region-for-macros (begg endd old-len)
(defun c-extend-font-lock-region-for-macros (_begg endd _old-len)
;; Extend the region (c-new-BEG c-new-END) to cover all (possibly changed)
;; preprocessor macros; The return value has no significance.
;;
@ -1015,7 +1015,7 @@ Note that the style variables are always made local to the buffer."
t)
(t nil)))))))
(defun c-neutralize-syntax-in-and-mark-CPP (begg endd old-len)
(defun c-neutralize-syntax-in-and-mark-CPP (_begg _endd _old-len)
;; (i) "Neutralize" every preprocessor line wholly or partially in the
;; changed region. "Restore" lines which were CPP lines before the change
;; and are no longer so.
@ -1197,7 +1197,7 @@ Note that this is a strict tail, so won't match, e.g. \"0x....\".")
;;
;; This function is called exclusively as a before-change function via the
;; variable `c-get-state-before-change-functions'.
(c-save-buffer-state (p-limit limits found)
(c-save-buffer-state (p-limit found)
;; Special consideraton for deleting \ from '\''.
(if (and (> end beg)
(eq (char-before end) ?\\)
@ -1266,7 +1266,7 @@ Note that this is a strict tail, so won't match, e.g. \"0x....\".")
'c-digit-separator t
?'))))
(defun c-parse-quotes-after-change (beg end old-len)
(defun c-parse-quotes-after-change (_beg _end _old-len)
;; This function applies syntax-table properties (value '(1)) and
;; c-digit-separator properties as needed to 's within the range (c-new-BEG
;; c-new-END). This operation is performed even within strings and
@ -1274,7 +1274,7 @@ Note that this is a strict tail, so won't match, e.g. \"0x....\".")
;;
;; This function is called exclusively as an after-change function via the
;; variable `c-before-font-lock-functions'.
(c-save-buffer-state (p-limit limits num-beg num-end clear-from-BEG-to)
(c-save-buffer-state (num-beg num-end)
;; Apply the needed syntax-table and c-digit-separator text properties to
;; quotes.
(goto-char c-new-BEG)

View file

@ -87,7 +87,7 @@ use c-constant-symbol instead."
:value nil
:tag "Symbol"
:format "%t: %v\n%d"
:match (lambda (widget value) (symbolp value))
:match (lambda (_widget value) (symbolp value))
:value-to-internal
(lambda (widget value)
(let ((s (if (symbolp value)
@ -98,7 +98,7 @@ use c-constant-symbol instead."
(setq s (concat s (make-string (- l (length s)) ?\ ))))
s))
:value-to-external
(lambda (widget value)
(lambda (_widget value)
(if (stringp value)
(intern (progn
(string-match "\\`[^ ]*" value)
@ -109,14 +109,14 @@ use c-constant-symbol instead."
"An integer or the value nil."
:value nil
:tag "Optional integer"
:match (lambda (widget value) (or (integerp value) (null value))))
:match (lambda (_widget value) (or (integerp value) (null value))))
(define-widget 'c-symbol-list 'sexp
"A single symbol or a list of symbols."
:tag "Symbols separated by spaces"
:validate 'widget-field-validate
:match
(lambda (widget value)
(lambda (_widget value)
(or (symbolp value)
(catch 'ok
(while (listp value)
@ -125,7 +125,7 @@ use c-constant-symbol instead."
(setq value (cdr value)))
(null value))))
:value-to-internal
(lambda (widget value)
(lambda (_widget value)
(cond ((null value)
"")
((symbolp value)
@ -138,7 +138,7 @@ use c-constant-symbol instead."
(t
value)))
:value-to-external
(lambda (widget value)
(lambda (_widget value)
(if (stringp value)
(let (list end)
(while (string-match "\\S +" value end)