-
Notifications
You must be signed in to change notification settings - Fork 127
Fix compatibility with polymode after pm--visible-buffer-name removal #925
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
base: master
Are you sure you want to change the base?
Conversation
Replace pm--visible-buffer-name with pm--buffer-name to maintain
compatibility with polymode commit 32d0d6d which removed the
pm--visible-buffer-name function and replaced it with pm--buffer-name.
The pm--buffer-name function takes an optional 'hidden parameter:
- pm--buffer-name() returns the visible buffer name (equivalent to old pm--visible-buffer-name)
- pm--buffer-name('hidden) returns the hidden buffer name (equivalent to old pm--hidden-buffer-name)
This change fixes the issue where ein would fail to load due to the
undefined pm--visible-buffer-name function.
Fixes compatibility with polymode >= commit 32d0d6d.
### Notes - Update actions/checkout from v2 to v4 - Update actions/setup-python from v2 to v4 - Update actions/cache from v2 to v4 (both instances) ### Testing This addresses the workflow failure caused by deprecated action versions. The updated actions are the current stable releases and should resolve the CI pipeline issues. ### Issues * Fixes GitHub Actions deprecation warnings in CI workflow
### Notes - Change python-version from 3.7 to 3.8 in test matrix - Python 3.7 reached end-of-life and is no longer available on Ubuntu 24.04 - Python 3.8 is widely supported and compatible with the project requirements ### Testing This addresses the CI failure where Python 3.7 was not found in the local cache for Ubuntu 24.04. Python 3.8 should be available and allow the workflow to proceed. ### Issues * Fixes Python version availability issue in GitHub Actions workflow
### Notes - Remove emacs_version 26.3 from test matrix - Keep testing on 27.2, 28.2, and 29.1 - Dependencies now require Emacs 27.1+ (magit and others have updated minimum requirements) ### Testing This addresses the CI failure where packages required Emacs 27.1 but the workflow was testing on 26.3. The remaining Emacs versions should be compatible with current package dependencies. ### Issues * Fixes Emacs version compatibility issue in GitHub Actions workflow
|
I've tried these proposed changes and can confirm that it resolves the error with the missing function As an aside, I ran |
|
I can also confirm this fixes compatibility on emacs 30.1 |
|
Can anyone provide hints on how to install? I built emacs 30.2 from source, compiled ein from https://github.com/bjodah/emacs-ipython-notebook/tree/fix-polymode-compatibility, loaded the compiled I had similar issues with emacs 30.1. Thanks in advance for any help. |
Nevermind. The problem was not with my install (at least not directly). For some reason, if I type the full URL (e.g., |
|
Apologies for the spam. This seems to be the only and last place to go to get EIN working on emacs 30 so I wanted to share a fix for an issue which others may experience. I had a lot of strange bugs (e.g., ;; Native compilation causes problems for pdb in ein
;; so prevent native compilation for ein.
(with-eval-after-load 'comp
(add-to-list 'native-comp-jit-compilation-deny-list "ein"))
(use-package ein
:straight (ein :type git
:host github
:repo "natsirtguy/emacs-ipython-notebook"
:branch "fix-polymode-compatibility"))Thanks @natsirtguy and @bjodah for information in this thread which helped me get this working. |
Summary
This PR fixes compatibility with recent polymode changes that removed the
pm--visible-buffer-namefunction in commit 32d0d6d.Problem
The
pm--visible-buffer-namefunction was removed from polymode and replaced withpm--buffer-name. This caused ein to fail when loading poly-ein.el with an "undefined function" error.Solution
Replace all instances of
pm--visible-buffer-namewithpm--buffer-name()in poly-ein.el.The
pm--buffer-namefunction:pm--buffer-name()- returns the visible buffer name (equivalent to oldpm--visible-buffer-name)pm--buffer-name('hidden)- returns the hidden buffer name (equivalent to oldpm--hidden-buffer-name)Changes
poly-ein--record-window-bufferfunctionTesting
make test-compileCompatibility
This change maintains backward compatibility while fixing the issue with polymode >= commit 32d0d6d.
Fixes compatibility with polymode commit: polymode/polymode@32d0d6d