[slime-devel] Re: slime-edit-definition woes
Edi Weitz
edi at agharta.de
Sat Mar 5 20:39:16 UTC 2005
More data points:
1. I thought this was reproducible but it isn't... :(
2. The reason for all this may be that SLIME (or CMUCL?) gets confused
by CLSQL's reader syntax. What happens is that I look for the
definition of GET-PROJECTS-FOR-COSTS but SLIME (if it doesn't hang)
"finds" the definition for GET-PROJECTS which is two top-level
forms off. The relevant part of the code looks like this:
#.(clsql:locally-enable-sql-reader-syntax)
(defun get-project (id)
(first (db-select 'project :where [= [id] id])))
(defun get-projects ()
(db-select 'project))
#.(clsql:restore-sql-reader-syntax-state)
(defun get-projects-for-costs ()
(sort (let ((parent-hash (make-hash-table))
(projects (get-projects)))
(dolist (project projects)
(setf (gethash (parent-id project) parent-hash) t))
(loop for project in projects
unless (gethash (id project) parent-hash)
collect project))
#'project<))
3. In my ~/.cmucl-init I have the form
(mp::startup-idle-and-top-level-loops)
at the end. This could be the reason for the strange restart I got
offered.
4. My initial suspicion was that this behaviour is due to a recent
SLIME update. However, if it really is due to CLSQL's syntax that
would also be an explanation because I only recently started using
this syntax. (And I also did it in another project involving
AllegroCL which might explain that I have similar problems with
Franz' implementation.)
Nevertheless, the fact that usage of this syntax can potentially
kill Emacs/SLIME makes me kind of nervous...
Cheers,
Edi.
More information about the slime-devel
mailing list