On 10/29/2013 09:36 AM, Christophe Rhodes wrote:
Jeff Cunningham jeffrey@jkcunningham.com writes:
I don't normally change the optimization in development code. But I went ahead and tried the proclaim '(optimize (ebug 2))) in my .sblcrc as you suggested, but that made no difference.
All my source files have (in-package 'ftis-v43), the package defined in the package.lisp file.
(in-package 'ftis-v43) is not actually legal common lisp. (The argument to IN-PACKAGE is an unevaluated name). Do things start working if you use (in-package "FTIS-V43") or (in-package :ftis-v43)? I know this might be a red herring, since (a) you're talking about fasls and (b) the source finding works for individually-compiled buffers, but it might be worth knowing in any case.
That was a typo - all of them are (in-package :ftis-v43), I just checked. Currently, if I start a fresh sbcl under slime the only functions I can navigate to with Alt-. are system functions (format, for example). Any packages I am loading via quicklisp or of my own result in:
Error: end of file on #<SB-IMPL::STRING-INPUT-STREAM {10070EBBB3}>
When I load packages creates and/or loads a fasl under ~/.cache/common-lisp/<sbcl version>/.. I would have thought that would be how it would navigate, but in my case not.
I can open any source file, compile a LOCAL fasl with C-c k and then those functions can be navigated into. It used to work on anything. And I haven't changed my .sbclrc in years (except to add the suggestion yesterday). Here it is:
;; -*-Lisp-*- (require 'asdf) (proclaim '(optimize (debug 2)))
;;; The following lines added by ql:add-to-init-file: #-quicklisp (let ((quicklisp-init (merge-pathnames "quicklisp/setup.lisp" (user-homedir-pathname)))) (when (probe-file quicklisp-init) (load quicklisp-init)))
;;; If a fasl was stale, try to recompile and load (once). (defmethod asdf:perform :around ((o asdf:load-op) (c asdf:cl-source-file)) (handler-case (call-next-method o c) ;; If a fasl was stale, try to recompile and load (once). (sb-ext:invalid-fasl () (asdf:perform (make-instance 'asdf:compile-op) c) (call-next-method))))
Thanks, --Jeff