Skip to content

Ship php-flymake.el and php-align.el in the package#820

Merged
zonuexe merged 1 commit into
masterfrom
fix/eask-files
Jul 16, 2026
Merged

Ship php-flymake.el and php-align.el in the package#820
zonuexe merged 1 commit into
masterfrom
fix/eask-files

Conversation

@zonuexe

@zonuexe zonuexe commented Jul 16, 2026

Copy link
Copy Markdown
Member

Neither file is listed in Eask's files, so neither ends up in the built package. php-mode.el requires php-flymake at load time, which makes the result unusable:

$ eask package /tmp/dist
$ tar xf /tmp/dist/php-mode-1.26.1.tar && cd php-mode-1.26.1
$ emacs -Q --batch -L . --eval "(require 'php-mode)"
Eager macro-expansion failure: (file-missing "Cannot open load file"
  "No such file or directory" "php-flymake")

eask files listed 14 items; both of these were absent.

How it went unnoticed

  • php-flymake.el has been missing from the list since it was added in dc67eae, php-align.el since the move into lisp/ in cc63080.
  • CI never caught it because eask test ert runs against the source tree, where both files are on the load path either way. Only a package built from the files list is broken.
  • MELPA installs via its own recipe rather than this list, so whether users are affected depends on that recipe — but the list should describe the package correctly regardless, and eask install/eask package are broken today.

php-align.el is not required by anything — users load it themselves — but it is just as much part of the package, and shipping it is the point of it being here.

Verification

With both listed, the rebuilt package contains them and loads:

$ emacs -Q --batch -L . --eval "(require 'php-mode)"   # → OK
$ ... (fboundp 'php-flymake)                            # → t

make .eask test is green (65 tests), eask compile reports no errors. The two rx any warnings php-flymake.el now contributes to eask compile are pre-existing in that file.

Neither file was listed in Eask's `files', so neither ended up in the
built package.  php-mode.el requires php-flymake at load time, which
makes the result unusable:

    $ eask package /tmp/dist
    $ tar xf /tmp/dist/php-mode-1.26.1.tar && cd php-mode-1.26.1
    $ emacs -Q --batch -L . --eval "(require 'php-mode)"
    Eager macro-expansion failure: (file-missing "Cannot open load file"
      "No such file or directory" "php-flymake")

php-flymake.el has been missing from the list since it was added in
dc67eae, and php-align.el since the move into lisp/ in cc63080.  CI
never caught it because `eask test ert' runs against the source tree,
where both files are on the load path either way.

php-align.el is not required by anything -- users load it themselves --
but it is just as much part of the package, and shipping it is the point
of it being here.

With both listed, the built package loads and php-flymake is defined.
The two `rx' warnings php-flymake.el now contributes to `eask compile'
are pre-existing.
@zonuexe
zonuexe merged commit f0bb9eb into master Jul 16, 2026
14 checks passed
@zonuexe
zonuexe deleted the fix/eask-files branch July 16, 2026 17:42
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant