<html>
  <head>
    <meta content="text/html; charset=ISO-8859-1"
      http-equiv="Content-Type">
  </head>
  <body bgcolor="#FFFFFF" text="#000000">
    <div class="moz-cite-prefix">Hello Ben,<br>
      <br>
      At first, I downloaded slime-plz-use-asdf-cache.el
      <meta http-equiv="Content-Type" content="text/html;
        charset=ISO-8859-1">
      <style type="text/css">
p, li { white-space: pre-wrap; } 
</style> and tried to use that in my ~/.emacs file, but that didn't
      work, so tried following the directions :=) and just used the
      contents of slime-plz-use-asdf-cache.el in my ~/.emacs file and
      that worked.<br>
      <br>
      Any lisp file I compile/load is placed in a folder in the asdf
      fasl location that has the same name as the folder containing the
      lisp file.<br>
      <br>
      As I've played around with this code, I've come to the realization
      that Max's code was working also. I just didn't give it enough
      testing to see.<br>
      <br>
      I have this one lisp file that I use to build the project that I
      was working on, and the fasl always showed up in my source
      directory, but that file is the one that calls asdf and it's not
      in the asdf system file so it never shows up in the asdf fasl
      location. So I thought Max's code wasn't working, but when I did
      compile/load with other code, Max's code worked fine.<br>
      <br>
      My apologies Max, for thinking your code wasn't working.<br>
      <br>
      Thanks, Ben, for the code that you put together awhile ago. I find
      that I have so much to learn that I may never live long enough to
      learn it.<br>
      <br>
      Sincerely,<br>
      <br>
      Paul Bowyer<br>
      <br>
      <br>
      On 06/17/2013 12:48 PM, Ben Hyde wrote:<br>
    </div>
    <blockquote
      cite="mid:43B8C781-D433-4D72-99B0-972244F48AC7@pobox.com"
      type="cite">
      <meta http-equiv="Content-Type" content="text/html;
        charset=ISO-8859-1">
      Max, nice, thanks!  Since I prefer to limit how many files i need
      to install on each machine I repackaged it to I could put it in my
      emacs init file:  <a moz-do-not-send="true"
        href="https://gist.github.com/bhyde/5799707">https://gist.github.com/bhyde/5799707</a>
      <div><br>
        <div>
          <div>On Jun 17, 2013, at 1:52 PM, Paul Bowyer <<a
              moz-do-not-send="true" href="mailto:pbowyer@olynet.com">pbowyer@olynet.com</a>>
            wrote:</div>
          <br class="Apple-interchange-newline">
          <blockquote type="cite">Hello Max,<br>
            <br>
            I tried the code in *inferior-lisp* and it produced this
            function<br>
            #<FUNCTION (LAMBDA (PATH OPTIONS)) {100657C57B}><br>
            <br>
            I then tried compiling/loading a file, but the fasl still
            goes in my source directory.<br>
            <br>
            I tried placing the code in ~/.swank.lisp, started
            emacs/slime, compiled/loaded a file, and still the fasl ends
            up in my source directory.<br>
            <br>
            Is there some glue code that connect this function to
            compile-file in slime that might be missing?<br>
            <br>
            By the way, when you email me, I get two messages per
            mailing.<br>
            <br>
            Sincerely,<br>
            <br>
            Paul Bowyer<br>
            <br>
            On 06/17/2013 09:20 AM, Max Mikhanosha wrote:<br>
            <blockquote type="cite">No this is on Common Lisp side, not
              the Elisp side, it needs to run<br>
              after SLIME is already loaded. I have it in a
              ~/.swank.lisp file, which<br>
              Slime loads on CommonLisp side when its initializing.<br>
              <br>
              <br>
              I suggest that you test drive the code to verify that it
              works for<br>
              you, you can execute it from REPL without making it
              permanent.<br>
              <br>
              <br>
              At Mon, 17 Jun 2013 09:15:17 -0700,<br>
              Paul Bowyer wrote:<br>
              <blockquote type="cite">Hello Max,<br>
                <br>
                Thanks for the lisp code. Now I would like to know where
                you place this<br>
                code. Is it placed in .emacs or some other place? If
                it's placed in<br>
                .emacs, is there a particular location there? The reason
                I ask is that I<br>
                tried placing a defun in .emacs and I couldn't get it to
                work. Sorry for<br>
                my ignorance...<br>
                <br>
                Sincerely,<br>
                <br>
                Paul Bowyer<br>
                <br>
                On 06/17/2013 08:03 AM, Max Mikhanosha wrote:<br>
                <blockquote type="cite">Here is what I been using for a
                  few years, C-c C-k output goes to the<br>
                  same place as asdf.  Note I don't remember why it does
                  this through<br>
                  find-symbol, but I it could be that Slime not always
                  had the<br>
                  *FASL-PATHNAME-FUNCTION* thing, and I wanted it to
                  work on both new<br>
                  and old slime.. You can probably convert find-symbol
                  to defvar or<br>
                  such.<br>
                  <br>
                  <br>
                  ;; Make C-c C-k in SLIME also use the correct
                  directory<br>
                  (let (fasl-finder-sym)<br>
                     (when (and (find-package :swank)<br>
                                (setq fasl-finder-sym<br>
                                      (find-symbol
                  "*FASL-PATHNAME-FUNCTION*" :swank))<br>
                                (null (symbol-value fasl-finder-sym)))<br>
                       (set fasl-finder-sym<br>
                            (lambda (path options)<br>
                              (declare (ignore options))<br>
                              (let ((fasl-path<br>
                                      (asdf:apply-output-translations
                  (compile-file-pathname path))))<br>
                                (when fasl-path<br>
                                  (ensure-directories-exist fasl-path)<br>
                                  fasl-path))))))<br>
                  <br>
                  <br>
                  <br>
                  <br>
                  <br>
                  <br>
                  At Sun, 16 Jun 2013 15:39:38 -0700,<br>
                  Paul Bowyer wrote:<br>
                  <blockquote type="cite">Hello Helmut,<br>
                    <br>
                    I found this link on the slime-developer mailing
                    list and I wondered if<br>
                    it is usable and if so, how would I implement it? I
                    don't have a lot of<br>
                    experience fiddling with slime's internals.<br>
                    <a moz-do-not-send="true"
                      href="http://article.gmane.org/gmane.lisp.slime.devel/8378/match=fasl">http://article.gmane.org/gmane.lisp.slime.devel/8378/match=fasl</a><br>
                    <br>
                    Is there some other convenient way to set the
                    location for fasl files<br>
                    from within a slime session so that when I do a
                    compile/load, the fasl<br>
                    goes to the same location as the output from asdf.
                    Currently the output<br>
                    from asdf goes to one place, and the output from
                    compile/load goes to my<br>
                    source directory.<br>
                    <br>
                    I'm looking for a simple function call that would
                    pass a pathname or<br>
                    would return to the default if no pathname was
                    passed or maybe just a<br>
                    variable that I can set from within a slime session
                    that would do the<br>
                    job. I only want this to to happen for some projects
                    and not happen for<br>
                    others that don't yet use asdf.<br>
                    <br>
                    Thanks,<br>
                    <br>
                    Paul Bowyer<br>
                    <br>
                    <br>
                  </blockquote>
                </blockquote>
              </blockquote>
              <br>
            </blockquote>
            <br>
            <br>
          </blockquote>
        </div>
        <br>
      </div>
    </blockquote>
    <br>
  </body>
</html>