• Stefan Monnier's avatar
    Misc fixes, and use lexical-binding in more files. · ba83908c
    Stefan Monnier authored
    * lisp/subr.el (letrec): New macro.
    (with-wrapper-hook): Move from lisp/simple.el and don't use CL.
    * simple.el (with-wrapper-hook): Move with-wrapper-hook to subr.el.
    * lisp/help-fns.el (help-function-arglist): Handle subroutines as well.
    (describe-variable): Use special-variable-p to filter completions.
    * lisp/emacs-lisp/macroexp.el (macroexpand-all-1): Don't expand `declare'
    in defmacros.
    * lisp/emacs-lisp/cconv.el (cconv-convert, cconv-analyse-form):
    Handle `declare'.
    * lisp/emacs-lisp/cl.el (pushnew): Silence unfixable warning.
    * lisp/emacs-lisp/cl-macs.el (defstruct, define-compiler-macro):
    Mark unused arg as unused.
    * lisp/emacs-lisp/byte-opt.el (byte-optimize-lapcode): Use memq.
    * lisp/emacs-lisp/autoload.el (make-autoload): Don't assume the macro's
    first sexp is a list.
    (autoload-generate-file-autoloads): Improve error message.
    * lisp/emacs-lisp/advice.el (ad-arglist): Use help-function-arglist
    to understand the new byte-code arg format.
    * lisp/vc/smerge-mode.el:
    * lisp/vc/log-view.el:
    * lisp/vc/log-edit.el:
    * lisp/vc/cvs-status.el:
    * lisp/uniquify.el:
    * lisp/textmodes/css-mode.el:
    * lisp/textmodes/bibtex-style.el:
    * lisp/reveal.el:
    * lisp/newcomment.el:
    * lisp/emacs-lisp/smie.el:
    * lisp/abbrev.el: Use lexical-binding.
    * src/eval.c (Fprog1, Fprog2): Simplify and use XCDR/XCAR.
    (Fdefvar): Remove redundant SYMBOLP check.
    (Ffunctionp): Don't signal an error for undefined aliases.
    * doc/lispref/variables.texi (Converting to Lexical Binding): New node.
ChangeLog 1.35 KB