• Stefan Monnier's avatar
    * lisp/emacs-lisp/macroexp.el (macroexp-file-name): New function. · 2766f9fd
    Stefan Monnier authored
    Yes, finally: a function that tells you the name of the file where
    the code is located.  Finding this name is non-trivial in practice,
    as evidenced by the "4 shift/reduce conflicts" warning when compiling
    CEDET's python.el, because its `wisent-source` got it wrong in that
    case, thinking the grammar came from `python.el` instead of
    `python-wy.el`.
    
    While at it, also made `macroexp-compiling-p` public, since it's
    useful at various places.
    
    (macroexp-compiling-p): Rename from `macroexp--compiling-p`.
    
    * lisp/emacs-lisp/bytecomp.el (byte-compile-close-variables):
    Bind `load-file-name` to nil so we can distinguish a load that calls
    the byte compiler from a byte compilation which causes a load.
    
    * lisp/cedet/semantic/wisent/python.el (wisent-python--expected-conflicts):
    Remove; it was just a workaround.
    * lisp/subr.el (do-after-load-evaluation): Avoid `byte-compile--` vars.
    * lisp/cedet/semantic/fw.el (semantic-alias-obsolete):
    Use `macroexp-compiling-p` and `macroexp-file-name`.
    * lisp/cedet/semantic/wisent/comp.el (wisent-source): Use `macroexp-file-name`
    (wisent-total-conflicts): Tighten regexp.
    * lisp/emacs-lisp/cl-lib.el (cl--compiling-file): Delete function
    and variable.  Use `macroexp-compiling-p` instead.
    * lisp/progmodes/flymake.el (flymake-log):
    * lisp/emacs-lisp/package.el (package-get-version):
    * lisp/emacs-lisp/ert-x.el (ert-resource-directory):
    Use `macroexp-file-name`.
    2766f9fd
cl-macs.el 145 KB