• Stefan Monnier's avatar
    Fix compiler-expansion of CL's cXXr functions. · 71adb94b
    Stefan Monnier authored
    * emacs-lisp/cl-lib.el (cl--defalias): New function.
    (cl-values, cl-values-list, cl-copy-seq, cl-svref, cl-first)
    (cl-second, cl-rest, cl-endp, cl-third, cl-fourth): Use it.
    (cl-plusp, cl-minusp, cl-fifth, cl-sixth, cl-seventh, cl-eighth)
    (cl-ninth, cl-tenth): Mark them as inlinable.
    (cl-caaar, cl-caadr, cl-cadar, cl-caddr, cl-cdaar, cl-cdadr)
    (cl-cddar, cl-cdddr, cl-caaaar, cl-caaadr, cl-caadar, cl-caaddr)
    (cl-cadaar, cl-cadadr, cl-caddar, cl-cadddr, cl-cdaaar, cl-cdaadr)
    (cl-cdadar, cl-cdaddr, cl-cddaar, cl-cddadr, cl-cdddar, cl-cddddr):
    Add a compiler-macro declaration to use cl--compiler-macro-cXXr.
    (cl-list*, cl-adjoin): Don't put an autoload manually.
    * emacs-lisp/cl-macs.el (cl--compiler-macro-adjoin)
    (cl--compiler-macro-list*): Add autoload cookie.
    (cl--compiler-macro-cXXr): New function.
    * help-fns.el (help-fns--compiler-macro): New function extracted from
    describe-function-1; follow aliases and use `compiler-macro' property.
    (describe-function-1): Use it.
    
    Fixes: debbugs:11673
    71adb94b
help-fns.el 41.8 KB