Quesstion about Alt-. navigation to function definitions
jeffrey at jkcunningham.com
Wed Oct 30 21:01:41 UTC 2013
On 10/30/2013 01:53 PM, Christophe Rhodes wrote:
> Jeffrey Cunningham <jeffrey at jkcunningham.com> writes:
>> According to the ASDF documentation:
>> The system foo is loaded (and compiled, if necessary) by evaluating
>> the following Lisp form:
>> (asdf:load-system :foo)
>> On some implementations (namely recent versions of ABCL, Allegro CL,
>> Clozure CL, CMUCL, ECL, GNU CLISP, LispWorks, MKCL, *SBCL* and XCL),
>> ASDF hooks into the |CL:REQUIRE| facility and you can just use:
>> (require :foo)
>> Is this not correct?
> It is correct. Evaluating (asdf:load-system :foo) or (require :foo)
> will (compile and) load the :foo system.
> However, when you compile a file containing
> (require :foo)
> (describe 'foo::bar)
> you do not evaluate the `(require :foo)' form; you generate code such
> that, when you later load the file, (require :foo) will be executed. So
> when the compiler attempts to read the next form, (describe 'foo::bar),
> the symbol 'foo::bar does not yet exist, because nothing has yet
> happened to cause the "FOO" package to be created.
I get the same behavior if I compile each line within the file
individually with C-c . That should be evaluating the form, right?
CL-USER> ; *compiling (ASDF/OPERATE:LOAD-SYSTEM "cl-ppcre")*
; *compiling (DESCRIBE (QUOTE CL-PPCRE:REGEX-APROPOS))*
REGEX-APROPOS names a compiled function:
Lambda-list: (REGEX &OPTIONAL PACKAGES &KEY (CASE-INSENSITIVE T))
Derived type: (FUNCTION (T &OPTIONAL T &KEY (:CASE-INSENSITIVE T))
Similar to the standard function APROPOS but returns a list of all
symbols which match the regular expression REGEX. If CASE-INSENSITIVE
is true and REGEX isn't already a scanner, a case-insensitive scanner
Source file: /home/jcunningham/slime/test1.lisp
-------------- next part --------------
An HTML attachment was scrubbed...
More information about the slime-devel