On Mon, 19 Oct 2009, Alain Picard wrote:
Date: Mon, 19 Oct 2009 13:19:32 +1100 From: Alain Picard Dr.Alain.Picard@gmail.com To: slime-devel@common-lisp.net Subject: [slime-devel] Fontification bug
Slime spat this out at me:
Warning (slime): "ele-bdb.asd":46:33 (pt=1463). Caught error during fontification while searching for forms that are suppressed by reader-conditionals. The error was: (cl-assertion-failed (<= (point) limit)).
This is a bug in Slime itself. Please report this to the mailinglist slime-devel@common-lisp.net and include your Emacs version, the guilty Lisp source file, the header of this message, and the following backtrace.
Backtrace: backtrace() slime-bug("Caught error during fontification while searching for forms that are suppressed by reader-conditionals. The error was: %S." (cl-assertion-failed (<= (point) limit))) byte-code("\302\303\304 "\207" [result condition nil slime-bug "Caught error during fontification while searching for forms that are suppressed by reader-conditionals. The error was: %S."] 3) slime-search-suppressed-forms(1101) font-lock-fontify-keywords-region(534 1101 nil) font-lock-default-fontify-region(534 1101 nil) font-lock-fontify-region(534 1101) run-hook-with-args(font-lock-fontify-region 534 1101) byte-code("\302\303 #\207" [start next run-hook-with-args jit-lock-functions] 4) jit-lock-fontify-now(534 1034) jit-lock-function(534)
So I'm dutifully following its instructions, and including this file:
I get this one a lot too. Unfortunately it is difficult to reproduce on demand. But it always seems to happen (to me) when I am inserting a line of text into an existing block of code. Take the following code for example:
(unwind-protect (progn (get-session-travel-log session-travel-log travel-log-id) (when session-travel-log (setf travel-log-id (id session-travel-log)) (setf lastaccessedby (get-lastaccessedby travel-log-pkg session-travel-log))) (setf travel-logs (get-travel-logs travel-log-pkg)) (setf dealers (get-users travel-log-pkg authenticated-user :roles 'roles_dealer :permission 'permissions_travel_log_view)) (setf dealer (let ((dealer (get-record travel-log-pkg (make-instance 'user :id (dealer_id session-travel-log))))) (if dealer dealer (make-instance 'user))))) (disconnect travel-log-pkg))
If I insert an unfinished form and a newline in there somewhere, causing an existing line of code to be pushed down a line, and (most importantly) starting at the 0th column, that's when I get the error message:
(unwind-protect (progn ( (get-session-travel-log session-travel-log travel-log-id) (when session-travel-log (setf travel-log-id (id session-travel-log)) (setf lastaccessedby (get-lastaccessedby travel-log-pkg session-travel-log))) (setf travel-logs (get-travel-logs travel-log-pkg)) (setf dealers (get-users travel-log-pkg authenticated-user :roles 'roles_dealer :permission 'permissions_travel_log_view)) (setf dealer (let ((dealer (get-record travel-log-pkg (make-instance 'user :id (dealer_id session-travel-log))))) (if dealer dealer (make-instance 'user))))) (disconnect travel-log-pkg))
But it only happens once in a while. I cannot make it happen right now, for instance. There must be some other factor(s) that cause the error message to appear. Yet I am quite sure that having a line of code at the leftmost column is a crucial element. When the error message appears, it keeps popping up quite annoyingly and will not go away. Indenting the left-justified line is a sure way to make the error popups stop.
The next time it happens to me, I will send an email to the list immediately, along with the entire buffer of code I am working on.
Carlos Konstanski