* lisp/custom.el (defcustom): Obey lexical-binding.

This commit is contained in:
Stefan Monnier 2011-04-25 13:52:51 -03:00
parent e92f3bd31b
commit 850256b5e9
2 changed files with 15 additions and 5 deletions

View file

@ -1,5 +1,7 @@
2011-04-25 Stefan Monnier <monnier@iro.umontreal.ca>
* custom.el (defcustom): Obey lexical-binding.
Fix octave-inf completion problems reported by Alexander Klimov.
* progmodes/octave-inf.el (inferior-octave-mode-syntax-table):
Inherit from octave-mode-syntax-table.

View file

@ -313,11 +313,19 @@ for more information."
;; It is better not to use backquote in this file,
;; because that makes a bootstrapping problem
;; if you need to recompile all the Lisp files using interpreted code.
(nconc (list 'custom-declare-variable
(list 'quote symbol)
(list 'quote value)
doc)
args))
`(custom-declare-variable
',symbol
,(if lexical-binding ;FIXME: This is not reliable, but is all we have.
;; The `default' arg should be an expression that evaluates to
;; the value to use. The use of `eval' for it is spread over
;; many different places and hence difficult to eliminate, yet
;; we want to make sure that the `value' expression is checked by the
;; byte-compiler, and that lexical-binding is obeyed, so quote the
;; expression with `lambda' rather than with `quote'.
`(list (lambda () ,value))
`',value)
,doc
,@args))
;;; The `defface' Macro.