slime/slime — pull request #136 by acelent (2014-03-20 13:32:56+00:00)
Title: Fix Allegro CL backend problem with temporary files.

* swank-allegro.lisp (swank-compile-string): Don't bind
*default-pathname-defaults*.

---
This fixes a problem that is easy to replicate with Allegro CL in Windows:

1. Launch Allegro CL with SLIME
2. In a Lisp-mode buffer, C-c C-c over a definition, e.g. `(defun foo ())`

The following error, or a similar one, is signaled:

```
creating #P"c:\\tempa9548131523b" (which translates to
"c:\tempa9548131523b.lisp") resulted in
error: Permission denied [errno=13].
[Condition of type FILE-ERROR]

Restarts:
0: [ABORT] Abort compilation.
1: [*ABORT] Return to SLIME's top level.
2: [ABORT] Abort entirely from this (lisp) process.

Backtrace:
0: (ERROR FILE-ERROR :PATHNAME #P"c:\\tempa9548131523b" :ERRNO 13 ...)
1: ((METHOD EXCL:DEVICE-OPEN (EXCL:FILE-SIMPLE-STREAM T T)) # T ..)
2: ((METHOD SHARED-INITIALIZE :AFTER (EXCL:SIMPLE-STREAM T)) # T :FILENAME #P"c:\\tempa9548131523b" :DIRECTION ...)
3: ((:INTERNAL (:EFFECTIVE-METHOD 2 T NIL NIL NIL) 0) # T :FILENAME #P"c:\\tempa9548131523b" :DIRECTION ...)
4: ((METHOD INITIALIZE-INSTANCE (STANDARD-OBJECT)) # :FILENAME #P"c:\\tempa9548131523b" :DIRECTION :OUTPUT ...)
5: ((METHOD MAKE-INSTANCE (CLASS)) # :FILENAME #P"c:\\tempa9548131523b" :DIRECTION :OUTPUT ...)
6: ((METHOD MAKE-INSTANCE (SYMBOL)) EXCL:FILE-SIMPLE-STREAM :FILENAME #P"c:\\tempa9548131523b" :DIRECTION :OUTPUT ...)
7: (OPEN "c:\\tempa9548131523b" :DIRECTION :OUTPUT :IF-EXISTS :ERROR)
8: (CALL-WITH-TEMP-FILE #)
9: (COMPILE-FROM-TEMP-FILE ..)
--more--
```

After aborting, another error is signaled:

```
There is no file named c:\tempa9548131523b:
No such file or directory
[errno=2].: No such file or directory [errno=2].
[Condition of type FILE-ERROR]

Restarts:
0: [ABORT] Abort compilation.
1: [*ABORT] Return to SLIME's top level.
2: [ABORT] Abort entirely from this (lisp) process.

Backtrace:
0: (ERROR FILE-ERROR :ERRNO 2 :PATHNAME #P"c:\\tempa9548131523b" ...)
1: (TRUENAME #P"c:\\tempa9548131523b" :FOLLOW-SYMLINKS NIL)
2: (DELETE-FILE "c:\\tempa9548131523b")
3: (CALL-WITH-TEMP-FILE #)
4: (COMPILE-FROM-TEMP-FILE ..)
--more--
```