Controlling fasl location

Max Mikhanosha max at openchat.com
Mon Jun 17 15:03:12 UTC 2013


Here is what I been using for a few years, C-c C-k output goes to the
same place as asdf.  Note I don't remember why it does this through
find-symbol, but I it could be that Slime not always had the
*FASL-PATHNAME-FUNCTION* thing, and I wanted it to work on both new
and old slime.. You can probably convert find-symbol to defvar or
such.


;; Make C-c C-k in SLIME also use the correct directory
(let (fasl-finder-sym)
  (when (and (find-package :swank)
             (setq fasl-finder-sym
                   (find-symbol "*FASL-PATHNAME-FUNCTION*" :swank))
             (null (symbol-value fasl-finder-sym)))
    (set fasl-finder-sym
         (lambda (path options)
           (declare (ignore options))
           (let ((fasl-path
                   (asdf:apply-output-translations (compile-file-pathname path))))
             (when fasl-path
               (ensure-directories-exist fasl-path)
               fasl-path))))))






At Sun, 16 Jun 2013 15:39:38 -0700,
Paul Bowyer wrote:
> 
> Hello Helmut,
> 
> I found this link on the slime-developer mailing list and I wondered if 
> it is usable and if so, how would I implement it? I don't have a lot of 
> experience fiddling with slime's internals.
> http://article.gmane.org/gmane.lisp.slime.devel/8378/match=fasl
> 
> Is there some other convenient way to set the location for fasl files 
> from within a slime session so that when I do a compile/load, the fasl 
> goes to the same location as the output from asdf. Currently the output 
> from asdf goes to one place, and the output from compile/load goes to my 
> source directory.
> 
> I'm looking for a simple function call that would pass a pathname or 
> would return to the default if no pathname was passed or maybe just a 
> variable that I can set from within a slime session that would do the 
> job. I only want this to to happen for some projects and not happen for 
> others that don't yet use asdf.
> 
> Thanks,
> 
> Paul Bowyer
> 
> 



More information about the slime-devel mailing list