-
Notifications
You must be signed in to change notification settings - Fork 456
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Replace cl by cl-lib #2802
Replace cl by cl-lib #2802
Conversation
Rebased to current master. Some check for Emacs 24.5 fails with |
Aha, I guess it is about a workaround replacing |
@tarao It must be something different, the message |
@stephan-cr I think I could fix it now. It seems that byte-compilation tests should run if there is change outside Here are results from a test pull request; I think these are what you have expected: |
@tarao For some strange reason https://github.com/dimitri/el-get/pull/2838/checks?check_run_id=2813750015 gives:
I cannot reproduce it locally, but I fix that nevertheless. Edit: I can, with: $ byte-compile -Werror methods/el-get-go.el
In toplevel form:
methods/el-get-go.el:42:43:Error: reference to free variable ‘el-get-dir’ seems like |
@tarao Fixed all compilation errors. The PR doesn't look nice, because it fixes several unrelated errors, due to unreliable CI. I created a follow-up issue to fix the remaining compilation errors. |
Since Emacs 27 the package cl is deprecated, the replacement is cl-lib, which is available since Emacs 24.3. This patch replaces cl by cl-lib and drops support for Emacs versions less than 24.3. Dropping older Emacsen is required, because cl-lib is a builtin starting from version 24.3 and doesn't need an extra package from ELPA. Testcases for past issues still contain cl. Most of them seem to be broken and need further investigation. This patch is tested with test/run-ert.sh, which outputs: Ran 10 tests, 10 results as expected, 0 unexpected (2021-01-30 13:24:54+0100, 0.672122 sec) 1 expected failures and manually by daily usage for a month now.
The function mapcan exists outside cl since Emacs 26.1.
This change is required, because Emacs 23 doesn't natively provide cl-lib.
Emacs 28 enforces 80 characters per doc string line.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
@stephan-cr Great job! Thanks!
Since Emacs 27 the package cl is deprecated, the replacement is cl-lib, which is available since Emacs 24.3.
This patch replaces cl by cl-lib and drops support for Emacs versions less than 24.3. Dropping older Emacsen is required, because cl-lib is a builtin starting from version 24.3 and doesn't need an extra package from ELPA.
Testcases for past issues (in test/issues) still contain cl. Most of them seem to be broken and need further investigation.
This patch is tested with
test/run-ert.sh
, which outputs:and manually by daily usage for a month now.
This PR addresses issue #2792.