[slime-devel] (slime-compilation-finished) doesnt help solving stated goal.

Tobias C Rittweiler tcr at freebits.de
Fri Oct 22 16:24:23 UTC 2010


In article <m37hha9w0v.fsf at leonis4.robolove.meer.net>,
 Madhu <enometh at meer.net> wrote:

> |
> | So what are you criticizing? that you need to use C-c C-k or that you
> | can't be bothered to press y?
> 
> I wish to use slime-compile-and-load-file to compile and load and a
> file.  Period.  If I just want to load a file, I'd use slime-load-file.
> If I just wanted to see warnings/errors I'd use `slime-compile-file'.

The short discussion which eventually resulted in the current 
behaviour can be viewed here:

  http://thread.gmane.org/gmane.lisp.slime.devel/9905

So there are at least 3 ways of doing things:

  1) C-c C-k compiles and loads the resulting fasl file
     unconditionally.

     You can compile-only a file (C-c M-k), look at warnings
     and then explicitly load the file (C-c C-l), too.

     This kind of was the original behaviour except it was not
     entirely clear to me that all backends actually really
     implement that behaviour.


  2) C-c C-k compiles a file, and loads the resulting fasl
     IF AND ONLY IF the compilation was successful.

     You can then look at warnings, and explicitly load
     the file via (C-c C-l) as an explicit after step.


  3) C-c C-k compiles a file, and loads the resulting fasl
     IF AND ONLY IF the compilation was successfull.

     If compilation failed, the user is queried if the
     resulting fasl should be loaded, or not.

     That's the current behaviour. Using Y-OR-N-P makes it
     impossible to look at warnings. Using YES-OR-NO-P would
     kind of allow for that but would still make it a bit
     awkward (as you're kind of inside a recursive input loop)

Is that an accurate description? Are there more viable options?


For me, it's 2) that sounds most reasonable. I don't like
1) because I am totally entrenched in using C-c C-k.
OTOH, 2) might annoy people who're deeply used to the
unconditionally loading bit -- in which case 3) is a compromise
except it makes looking at warnings somewhat unwieldly.


I also find it surprising that C-c C-c does /not/ do the query
bit at the moment. Unconditionally loading is annoying in case
you're working with precious image state (running application),
and then render your application useless (and lose your state)
because you recompiled a crucial function with, say, a typo in
it.

In these precious-state circumstances I seldomly use C-c C-k
in the first place, though, but rather use C-c C-c on a few
key parts.

What about you?

  -T.





More information about the slime-devel mailing list