I am having a problem with slime, xemacs and sbcl.
slime is from cvs and up to date. I'm using the xemacs from fedora 11. With sbcl 1.0.30
The problem happens when slime is printing function info a window at the bottom of the screen. At the REPL when I type
(search
and then hit <space> slime will bring up a *SLIME Note* window with the function info.
If I type a second <space> then some kind of xemacs error window comes up:
(12) (command/warning) Error in `pre-command-hook' (resetting to nil): (invalid-change (Deletion of this object not currently permitted #<window on "*SLIME Note*" 0xeaa1c7>))
Backtrace follows:
# bind (inhibit-quit) delete-windows-on(#<buffer "*SLIME Note*">) # bind (G59432) (lambda (G59432) (delete-windows-on (symbol-value G59432)) (bury-buffer (symbol-value G59432)))(--buffer--) apply((lambda (G59432) (delete-windows-on (symbol-value G59432)) (bury-buffer (symbol-value G59432))) --buffer-- nil) # bind (--cl-rest--) (lambda (&rest --cl-rest--) (apply (quote (lambda (G59432) (delete-windows-on (symbol-value G59432)) (bury-buffer (symbol-value G59432)))) (quote --buffer--) --cl-rest--))() funcall((lambda (&rest --cl-rest--) (apply (quote (lambda (G59432) (delete-windows-on (symbol-value G59432)) (bury-buffer (symbol-value G59432)))) (quote --buffer--) --cl-rest--))) (while --dolist-temp--59436 (setq undo-fn (car --dolist-temp--59436)) (funcall undo-fn) (setq --dolist-temp--59436 (cdr --dolist-temp--59436))) # bind (undo-fn --dolist-temp--59436) (let ((--dolist-temp--59436 slime-pre-command-actions) undo-fn) (while --dolist-temp--59436 (setq undo-fn (car --dolist-temp--59436)) (funcall undo-fn) (setq --dolist-temp--59436 (cdr --dolist-temp--59436))) nil) # (catch --cl-block-nil-- ...) (catch (quote --cl-block-nil--) (let ((--dolist-temp--59436 slime-pre-command-actions) undo-fn) (while --dolist-temp--59436 (setq undo-fn (car --dolist-temp--59436)) (funcall undo-fn) (setq --dolist-temp--59436 (cdr --dolist-temp--59436))) nil)) (cl-block-wrapper (catch (quote --cl-block-nil--) (let ((--dolist-temp--59436 slime-pre-command-actions) undo-fn) (while --dolist-temp--59436 (setq undo-fn (car --dolist-temp--59436)) (funcall undo-fn) (setq --dolist-temp--59436 (cdr --dolist-temp--59436))) nil))) (block nil (let ((--dolist-temp--59436 slime-pre-command-actions) undo-fn) (while --dolist-temp--59436 (setq undo-fn (car --dolist-temp--59436)) (funcall undo-fn) (setq --dolist-temp--59436 (cdr --dolist-temp--59436))) nil)) (dolist (undo-fn slime-pre-command-actions) (funcall undo-fn)) slime-pre-command-hook() # (unwind-protect ...) # (catch #<INTERNAL OBJECT (XEmacs bug?) (opaque, size=0) 0x845a9a8> ...) # (unwind-protect ...) # (unwind-protect ...) # (condition-case ... . error) # (catch top-level ...)
* Ram Bhamidipaty [2009-10-27 14:36+0100] writes:
I am having a problem with slime, xemacs and sbcl.
slime is from cvs and up to date. I'm using the xemacs from fedora 11. With sbcl 1.0.30
The problem happens when slime is printing function info a window at the bottom of the screen. At the REPL when I type
(search
and then hit <space> slime will bring up a *SLIME Note* window with the function info.
If I type a second <space> then some kind of xemacs error window comes up:
(12) (command/warning) Error in `pre-command-hook' (resetting to nil): (invalid-change (Deletion of this object not currently permitted #<window on "*SLIME Note*" 0xeaa1c7>))
OK, I can reproduce this problem with XEmacs 21.5 (beta29) but not with XEmacs 21.4.
There are also other problems like (make-overlay (point-marker) (1+ (point))) which doesn't work in 21.5 but works in 21.4.
I'd say that those are XEmacs regressions.
Keeping XEmacs compatibility gets harder every day. We can't use the newer Emacs features and we have to invent new workarounds for the growing number of XEmacs bugs. Everybody who uses 21.5 (and doesn't use the typeout window) would have seen this problem but you are the first to report it, which makes me think that there are only few XEmacs users left. 21.5 is still beta and Debian only ships 21.4 so maybe everybody uses 21.4.
Fixing this is not fun at all.
Helmut
* Helmut Eller [2009-10-28 10:18+0100] writes:
OK, I can reproduce this problem with XEmacs 21.5 (beta29) but not with XEmacs 21.4.
I fixed the pre-command-hook problem by removing the special support for multi-line messages and replaced it with a plain call to message which only displays the first line. Alternatively you you can use the slime-typeout-frame from contrib which displays multi-line messages in a separate frame.
There are also other problems like (make-overlay (point-marker) (1+ (point))) which doesn't work in 21.5 but works in 21.4.
This was apparently a problem with the prebuild sumo-tarball that I used. Removing .elc files fixed it.
Helmut
On Wed, Oct 28, 2009 at 3:20 AM, Helmut Eller heller@common-lisp.net wrote:
- Helmut Eller [2009-10-28 10:18+0100] writes:
OK, I can reproduce this problem with XEmacs 21.5 (beta29) but not with XEmacs 21.4.
I fixed the pre-command-hook problem by removing the special support for multi-line messages and replaced it with a plain call to message which only displays the first line. Alternatively you you can use the slime-typeout-frame from contrib which displays multi-line messages in a separate frame.
There are also other problems like (make-overlay (point-marker) (1+ (point))) which doesn't work in 21.5 but works in 21.4.
This was apparently a problem with the prebuild sumo-tarball that I used. Removing .elc files fixed it.
Helmut
Hi,
Thank you for looking into this. I appreciate that xemacs is not doing very well right now - but it does show signs of coming back to life.
Are there specific .elc files that I should delete?
-Ram
* Ram Bhamidipaty [2009-10-28 13:39+0100] writes:
Are there specific .elc files that I should delete?
No, probably not. I built XEmacs from sources but used the prebuilt xemacs-packages because I'm unable to built them myself. If you use Fedara's version you should get xemacs&xemacs-packages which work toghether.
Helmut
[disclaimer:useless post]\
* Helmut Eller m28wevc1wj.fsf@common-lisp.net : Wrote on Wed, 28 Oct 2009 10:18:20 +0100:
| Keeping XEmacs compatibility gets harder every day. We can't use the | newer Emacs features and we have to invent new workarounds for the | growing number of XEmacs bugs. Everybody who uses 21.5 (and doesn't use | the typeout window) would have seen this problem but you are the first | to report it, which makes me think that there are only few XEmacs users | left. Fixing this is not fun at all.
It is easier to
(remove-hook 'pre-command-hook 'slime-pre-command-hook t) (remove-hook 'post-command-hook 'slime-post-command-hook t)
in slime-mode-hook and slime-repl-mode-hook
-- Madhu