However, if attempting to load via use-package or similar, this results in a "Package lacks a file header" error:
Debugger entered--Lisp error: (error "Package lacks a file header")
signal(error ("Package lacks a file header"))
error("Package lacks a file header")
package-buffer-info()
(save-excursion (package-buffer-info))
(package-desc-version (save-excursion (package-buffer-info)))
(package-version-join (package-desc-version (save-excursion (package-buffer-info))))
(progn (package-version-join (package-desc-version (save-excursion (package-buffer-info)))))
eval((progn (package-version-join (package-desc-version (save-excursion (package-buffer-info))))) t)
#f(compiled-function (&rest body) "Like `progn', but evaluates the body at compile time if you're compiling.\nThus, the result of the body appears to the compiler as a quoted\nconstant. In interpreted code, this is entirely equivalent to\n`progn', except that the value of the expression may be (but is\nnot necessarily) computed at load time if eager macro expansion\nis enabled." #<bytecode 0x19f367>)((package-version-join (package-desc-version (save-excursion (package-buffer-info)))))
(eval-when-compile (package-version-join (package-desc-version (save-excursion (package-buffer-info)))))
(defconst prettier-el-version (eval-when-compile (package-version-join (package-desc-version (save-excursion (package-buffer-info))))) "Version of `prettier' package.")
eval-buffer(#<buffer *load*-592468> nil "/home/adam/.GIT/3rd-party/prettier.el/prettier.el" nil t) ; Reading at buffer position 8929
The solution seems to be to load the source file into a temporary buffer first. I'll submit a PR for that.
It seems that it is expected that
prettier.el
will be open in the current buffer at eval-time, sinceHACKING.md
instructs the user to do:and
prettier-el-version
depends on the current buffer beingprettier.el
so thatpackage-buffer-info
works:However, if attempting to load via
use-package
or similar, this results in a "Package lacks a file header" error:The solution seems to be to load the source file into a temporary buffer first. I'll submit a PR for that.