[Openmcl-devel] How to deal with random Hemlock errors

R. Matthew Emerson rme at clozure.com
Tue Aug 25 17:27:37 UTC 2009


On Aug 25, 2009, at 12:44 PM, Ron Garret wrote:

> Just for the record, my latest Hemlock crash output is attached to
> this message.
>
> rg
>
>
> ---
>
> Lisp error: "value NIL is not of the expected type REAL."
[...]
>  (4426F0) : 7 (>-2 0 NIL) 413
>   (CCL::X CCL::Y)
>    CCL::X: 0
>    CCL::Y: NIL
>
>   #:G164212: 0
>   #:G164215: 3
>
>  (442720) : 8 (<=-2 0 NIL) 37
>   (CCL::X CCL::Y)
>    CCL::X: 0
>    CCL::Y: NIL
>
>
>
>  (442740) : 9 (COPY-LINE-CHARPROPS #<Hemlock Line "? (let ((*standard-
> output* nil))"> :START 2 :END 2) 1149
>   (HI:LINE &KEY :START :END)
>    HI:LINE: #<Hemlock Line "? (let ((*standard-output* nil))">
>    HI::START: 2
>    HI::END: 2
>
>   HI::CHANGES: #(#S(HI::CHARPROPS-CHANGE :INDEX 2 :PLIST #))
>   HI::NEW-CHANGES: #()
>   HI::START-IDX: 0
>   HI::END-IDX: NIL
>   HI::I: 0

This charprops business involves new code that I wrote, so that means  
there's a double chance that there are bugs here (the code being both  
new and written by me).

Listeners set the character properties of the last input region to  
bold (like slime does).  The current text drawing doesn't pay any  
attention to character properties, though, but this is how non-default  
charprops are getting into the listener buffers.

I'll try to take a look as soon as I get a chance.






>
>  (4427B0) : 10 (COPY-REGION #<Hemlock Region "(let ((*standard-
> output* nil))/(print "If you can see this something is wrong")/t)">)
> 1549
>   (HEMLOCK-INTERFACE:REGION)
>    HEMLOCK-INTERFACE:REGION: #<Hemlock Region "(let ((*standard-
> output* nil))/(print "If you can see this something is wrong")/t)">
>
>   HI::START: #<Hemlock Mark "? ^(let ((*standard-output* nil))">
>   HI::END: #<Hemlock Mark "t)^">
>   HI::FIRST-LINE: #<Hemlock Line "? (let ((*standard-output* nil))">
>   HI::LAST-LINE: #<Hemlock Line "t)">
>   HI::FIRST-CHARPOS: 2
>   HI::LAST-CHARPOS: 2
>   COUNT: 1148
>   HI::FIRST-CHARS: "? (let ((*standard-output* nil))"
>   LENGTH: 30
>   HI::CHARS: "(let ((*standard-output* nil))"
>   HI::FIRST-COPIED-LINE: #<Hemlock Line "(let ((*standard-output*
> nil))">
>
>  (442838) : 11 (INPUT-REGION-CONTAINING-MARK #<Hemlock Mark "t)^">
> ((#) (#) (# . #) (#))) 309
>   (HEMLOCK::M HEMLOCK::HISTORY-LIST)
>    HEMLOCK::M: #<Hemlock Mark "t)^">
>    HEMLOCK::HISTORY-LIST: ((#) (#) (# . #) (#))
>
>   #:G21840: ((#) (# . #) (#))
>   HEMLOCK::PAIR: (#<Hemlock Region "(let ((*standard-output* nil))/
> (print "If you can see this something is wrong")/t)">)
>   HEMLOCK::ACTUAL: #<Hemlock Region "(let ((*standard-output* nil))/
> (print "If you can see this something is wrong")/t)">
>   HEMLOCK::START: #<Hemlock Mark "? ^(let ((*standard-output* nil))">
>   HEMLOCK::END: #<Hemlock Mark "t)^">
>
>  (442880) : 12 (CONFIRM-LISTENER-INPUT-COMMAND NIL) 445
>   (HEMLOCK::P)
>    HEMLOCK::P: NIL




More information about the Openmcl-devel mailing list