2007-04-12 Tobias C. Rittweiler <INSERT-EMAIL-HERE>
* slime.el: Pressing `q' in *compiler notes* after a `C-c C-k' or `C-c M-k' would not probably restore the original window configuration. Fix that.
(slime-get-temp-buffer-create): New &key arg WINDOW-CONFIGURATION. (slime-with-xref-buffer): Likewise. (slime-compilation-finished): New &optional arg WINDOW-CONFIG. (slime-maybe-show-xrefs-for-notes): Likewise. (slime-show-xrefs) Likewise. (slime-maybe-list-compiler-notes): Likewise. (slime-list-compiler-notes): Likewise.
(slime-compilation-finished-continuation): Renamed to SLIME-MAKE-COMPILATION-FINISHED-CONTINUATION.
(slime-make-compilation-finished-continuation): Now takes two args, the current buffer and optionally the current window config to be restored. (slime-compile-file): Save current window configuration before popping up the REPL for compilation output, pass it down.
Helu, I tried this patch on Emacs 22.0.91.1 of 2006-12-10, but it seems to break on xrefs. The truncated backtrace reads:
Debugger entered--Lisp error: (void-variable window-configuration) (or window-configuration (current-window-configuration)) (setq slime-xref-saved-window-configuration (or window-configurat$ (progn (slime-init-xref-buffer G110255 G110253 G110254) (make-loc$ (prog2 (progn (slime-init-xref-buffer G110255 G110253 G110254) (m$ (save-current-buffer (set-buffer (get-buffer-create ...)) (prog2 $ (with-current-buffer (get-buffer-create (format "*XREF(%s: %s)*" $ (let ((G110253 type) (G110254 symbol) (G110255 package)) (with-cu$ (slime-with-xref-buffer (package type symbol :window-configuratio$ (if (null xrefs) (message "No references found for %s." symbol) ($ slime-show-xrefs((("logior" ("#'LOGIOR" :location ... ... ...) ("$ slime-show-definitions("logior" (("#'LOGIOR" (:location ... ... .$ (if (and (slime-length> definitions 1) (not all-locations-equal))$ (let ((all-locations-equal ...)) (if (and ... ...) (slime-show-de$ slime-goto-definition("logior" (("#'LOGIOR" (:location ... ... ..$ (cond ((null definitions) (if slime-edit-definition-fallback-func$ (let ((definitions ...)) (cond (... ...) (... ...) (t ...))) slime-edit-definition("logior") call-interactively(slime-edit-definition)
I suspect defmacro* is the culprit, and would suggest avoiding dependence on emacs `cl' semantics
-- Regards Madhu
Madhu enometh@meer.net writes:
Helu, I tried this patch on Emacs 22.0.91.1 of 2006-12-10, but it seems to break on xrefs. The truncated backtrace reads:
fixed.
Marco Baringer mb@bese.it writes:
Madhu enometh@meer.net writes:
Helu, I tried this patch on Emacs 22.0.91.1 of 2006-12-10, but it seems to break on xrefs. The truncated backtrace reads:
fixed.
Thanks Macro for taking care of the issue; and thanks Madhu for testing the patch!
I, however, found another regression when trying to abort a compilation, since the return value of SWANK::SWANK-COMPILER wasn't as homogeneous as I'd have thought. Fix attached.
-T.
2007-04-16 Tobias C. Rittweiler <INSERT-EMAIL-HERE>
* swank.lisp (swank-compiler): Fix the return value to always be a list of two elements even if the abort restart is invoked which originally just returned NIL. (Which wouldn't play with the recent change to use DESTRUCTURING-BIND in SLIME-COMPILATION-FINISHED.)
"Tobias C. Rittweiler" tcr@freebits.de writes:
2007-04-12 Tobias C. Rittweiler <INSERT-EMAIL-HERE>
- slime.el: Pressing `q' in *compiler notes* after a `C-c C-k' or
`C-c M-k' would not probably restore the original window configuration. Fix that.
applied.