Skip to content
GitLab
Projects
Groups
Snippets
Help
Loading...
Help
Help
Support
Community forum
Keyboard shortcuts
?
Submit feedback
Contribute to GitLab
Sign in / Register
Toggle navigation
Open sidebar
emacs
emacs
Commits
6e4fcd29
Commit
6e4fcd29
authored
Jan 04, 2008
by
Glenn Morris
Browse files
(defcustom-c-stylevar): Revert previous change (merge mistake).
parent
26dac56c
Changes
1
Show whitespace changes
Inline
Side-by-side
Showing
1 changed file
with
34 additions
and
24 deletions
+34
-24
lisp/progmodes/cc-vars.el
lisp/progmodes/cc-vars.el
+34
-24
No files found.
lisp/progmodes/cc-vars.el
View file @
6e4fcd29
...
...
@@ -156,34 +156,44 @@ Useful as last item in a `choice' widget."
(
setq
c-fallback-style
(
cons
(
cons
name
val
)
c-fallback-style
)))
(
defmacro
defcustom-c-stylevar
(
name
val
doc
&rest
args
)
"Defines a style variable."
`
(
let
((
-value-
,
val
))
(
c-set-stylevar-fallback
',name
-value-
)
(
custom-declare-variable
',name
'
'set-from-style
,
(
concat
doc
"
"Define a style variable NAME with VAL and DOC.
More precisely, convert the given `:type FOO', mined out of ARGS,
to an aggregate `:type (radio STYLE (PREAMBLE FOO))', append some
some boilerplate documentation to DOC, arrange for the fallback
value of NAME to be VAL, and call `custom-declare-variable' to
do the rest of the work.
STYLE stands for the choice where the value is taken from some
style setting. PREAMBLE is optionally prepended to FOO; that is,
if FOO contains :tag or :value, the respective two-element list
component is ignored."
(
declare
(
debug
(
symbolp
form
stringp
&rest
)))
(
let*
((
expanded-doc
(
concat
doc
"
This is a style variable. Apart from the valid values described
above, it can be set to the symbol `set-from-style'. In that case,
it
takes its value from the style system (see `c-default-style' and
above, it can be set to the symbol `set-from-style'. In that case,
it
takes its value from the style system (see `c-default-style' and
`c-style-alist') when a CC Mode buffer is initialized. Otherwise,
the value set here overrides the style system (there is a variable
`c-old-style-variable-behavior' that changes this, though)."
)
,@
(
plist-put
args
'
:type
`
(
`
(
radio
(
const
:tag
"Use style settings"
set-from-style
)
,
(
,
(
let
((
type
(
eval
(
plist-get
args
'
:type
))))
(
unless
(
consp
type
)
(
setq
type
(
list
type
)))
(
unless
(
c-safe
(
plist-get
(
cdr
type
)
'
:value
))
(
setcdr
type
(
append
'
(
:value
(
,
-value-
))
(
cdr
type
))))
(
unless
(
c-safe
(
plist-get
(
cdr
type
)
'
:tag
))
(
setcdr
type
(
append
'
(
:tag
"Override style settings"
)
(
cdr
type
))))
(
bq-process
type
)))))))))
`c-old-style-variable-behavior' that changes this, though)."
))
(
typ
(
eval
(
plist-get
args
:type
)))
(
type
(
if
(
consp
typ
)
typ
(
list
typ
)))
(
head
(
car
type
))
(
tail
(
cdr
type
))
(
newt
(
append
(
unless
(
plist-get
tail
:tag
)
'
(
:tag
"Override style settings"
))
(
unless
(
plist-get
tail
:value
)
`
(
:value
,
(
eval
val
)))
tail
))
(
aggregate
`'
(
radio
(
const
:tag
"Use style settings"
set-from-style
)
,
(
cons
head
newt
))))
`
(
progn
(
c-set-stylevar-fallback
',name
,
val
)
(
custom-declare-variable
',name
'
'set-from-style
,
expanded-doc
,@
(
plist-put
args
:type
aggregate
)))))
(
defun
c-valid-offset
(
offset
)
"Return non-nil if OFFSET is a valid offset for a syntactic symbol.
...
...
Write
Preview
Markdown
is supported
0%
Try again
or
attach a new file
.
Attach a file
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Cancel
Please
register
or
sign in
to comment