Tobias,
thank you for your work on arglist display.
However, the change below causes a lot of unwanted symbols to be interned when the arglist-lookup code runs at every keypress.
CL-USER> (defmethod abcde () nil) STYLE-WARNING: implicitly creating new generic function ABCDE #<STANDARD-METHOD ABCDE () {B6990E1}> CL-USER> (find-symbol "A") A :INTERNAL CL-USER> (find-symbol "AB") AB :INTERNAL CL-USER> (find-symbol "ABC") ABC :INTERNAL CL-USER> (find-symbol "ABCD") ABCD :INTERNAL
2007-08-23 Tobias C. Rittweiler tcr@freebits.de
Added arglist display for declaration specifiers and type specifiers. [...]
* swank.lisp (arglist-for-echo-area): Adapted to take ``raw form specs'' from Slime. (parse-form-spec): New. Takes a ``raw form spec'' and returns a ``form spec'' for further processing in Swank. Docstring documents these two terms. (split-form-spec): New. Return relevant information from a form spec. (parse-first-valid-form-spec): Replaces `find-valid-operator-name'. (find-valid-operator-name): Removed. (operator-designator-to-form): Removed. Obsoleted by `parse-form-spec'.
Please, I explained to you before in private mail why we need to be careful not to use READ to get the forms to the CL side.
Can you please fix that?
Matthias
Matthias Koeppe mkoeppe+slime@mail.math.uni-magdeburg.de writes:
Please, I explained to you before in private mail why we need to be careful not to use READ to get the forms to the CL side.
Can you please fix that?
It's better now than previously, but not perfect yet. The `defmethod' test case you provided, still interns the generic-function name needlessly. I'll get that straight later.
-T.
"Tobias C. Rittweiler" tcr@freebits.de writes:
Matthias Koeppe mkoeppe+slime@mail.math.uni-magdeburg.de writes:
Please, I explained to you before in private mail why we need to be careful not to use READ to get the forms to the CL side.
Can you please fix that?
It's better now than previously, but not perfect yet. The `defmethod' test case you provided, still interns the generic-function name needlessly. I'll get that straight later.
Please do so. It is not acceptable to intern all these symbols (in particular when slime-autodoc-mode is in effect!). It is not just a minor question of aesthetics.
By the way, is there any code yet that augments arglists with &ANY declarations? I'd love to see EVAL-WHEN working.
One more comment. In this change:
2007-08-24 Tobias C. Rittweiler tcr@freebits.de
(%slime-nesting-until-point): New helper for `slime-parse-extended-operator/declare'.
Please don't invent such naming conventions ("%" for "internal functions"?), which are not already used in Emacs. Functions in Emacs packages start with the "package name" as a prefix, period. (See also `current-slime-narrowing-configuration', which still needs to be fixed.)
Matthias
Matthias Koeppe mkoeppe+slime@mail.math.uni-magdeburg.de writes:
By the way, is there any code yet that augments arglists with &ANY declarations? I'd love to see EVAL-WHEN working.
Yeah, I'll commit those once I've got around fixing that interning leak.
One more comment. In this change:
2007-08-24 Tobias C. Rittweiler tcr@freebits.de
(%slime-nesting-until-point): New helper for `slime-parse-extended-operator/declare'.
Please don't invent such naming conventions ("%" for "internal functions"?), which are not already used in Emacs. Functions in Emacs packages start with the "package name" as a prefix, period.
They only do so because Elisp lacks packages, to hold the probability for name clashes as low as possible. The name above does not change that premise. I prefixed it with % to implicitely communicate that this function is not necessarily of general purpose. But I've got not problem stripping the percent sign.
(See also `current-slime-narrowing-configuration', which still needs to be fixed.)
(I haven't forgotten about those! Just haven't come around making the changes as of yet.)
-T.
"Tobias C. Rittweiler" tcr@freebits.de writes:
They only do so because Elisp lacks packages, to hold the probability for name clashes as low as possible. The name above does not change that premise. I prefixed it with % to implicitely communicate that this function is not necessarily of general purpose. But I've got not problem stripping the percent sign.
The semi-official convention for internal functions is double hyphen, like `ewoc--refresh-node'.