You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
The problem seems to be cider-symbol-at-point which calls string-trim-right in subr-x.el with an additional regexp argument. However, this signature does not exist in version 25 of Emacs.
My temporary workaround was to add cider-string-trim-right to cider-util.el with the definition of string-trim-right from Emacs 26.
What's interesting is that the unit tests have passed in spite of the wrong call signature. I think this is due to a couple of issues working in tandem.
First, the byte compiler is happy to inline a function even though it's invoked with too many arguments. It does print an error about this (see Circle CI logs) but it isn't a fatal one. Whether an error results at call time seems to depend. It's not simply a version issue. Even on Aquamacs 3.5 I've managed to call inlined functions with too many arguments without errors. The extra arguments are simply dropped which also seems to be the case here when the tests are run.
Second, it appears to me, if I understand the test code correctly, that some of the assertions are made in a temporary buffer that's not in Clojure mode. This means that thing-at-point behaves not as intended (it sees periods as boundaries etc.). Consequently, the two assertions below succeed although they shouldn't.
I don't think the first assertion should succeed in any circumstances. If I place the cursor right after Foo. and eval (cider-symbol-at-point) the result is "Foo" (with the correct code).
All in all, it's regrettable that Emacs behaves so insidiously here. Calling a function with too many arguments should never just silently succeed.
Expected behavior
Cider should support Emacs 25.1+.
The most recent version of Aquamacs is based on version 25.3 of Emacs so support for this version would be highly appreciated.
Actual behavior
Typing a symbol in the REPL results in the following error:
The problem seems to be
cider-symbol-at-point
which callsstring-trim-right
insubr-x.el
with an additional regexp argument. However, this signature does not exist in version 25 of Emacs.My temporary workaround was to add
cider-string-trim-right
tocider-util.el
with the definition ofstring-trim-right
from Emacs 26.Environment & Version information
CIDER version information
Lein/Boot version
Emacs version
Aquamacs 3.5 based on GNU Emacs 25.3.50.1
Operating system
macOS Mojave
The text was updated successfully, but these errors were encountered: