[Openmcl-devel] Hemlock ain't Fred

Ron Garret ron at awun.net
Tue Oct 30 08:34:52 UTC 2007


Aw geez, don't mind me.  Classes.  Structs.  Blarg.

So I got all that squared away.  I can insert characters into a buffer  
now.  But when I try to delete them I get some, er, "interesting"  
results.  :-)

rg

On Oct 30, 2007, at 1:27 AM, Ron Garret wrote:

> Guess I ought to RTFM.  This is explained in http://trac.clozure.com/openmcl/wiki/CocoaIdeInternals
>
> But now I'm stuck on this:
>
> ? (describe b)
> #<Hemlock Buffer "Untitled 2">
> Type: HEMLOCK-INTERNALS:BUFFER
> Class: #<STRUCTURE-CLASS HEMLOCK-INTERNALS:BUFFER>
> %NAME: "Untitled 2"
> %REGION: #<Hemlock Region "">
> %PATHNAME: NIL
> MODES: ("Lisp" "Editor")
> MODE-OBJECTS: (#<Hemlock Mode "Editor"> #<Hemlock Mode "Lisp">)
> BINDINGS: #<HASH-TABLE :TEST EQL size 0/60 #x3000418D2E3D>
> POINT: #<Hemlock Mark "^">
> %MARK: #<Hemlock Mark "^">
> REGION-ACTIVE: NIL
> %WRITABLE: T
> MODIFIED-TICK: -2
> UNMODIFIED-TICK: -1
> DOCUMENT: #<HEMLOCK-EDITOR-DOCUMENT <HemlockEditorDocument: 0xa6b3e70>
> (#xA6B3E70)>
> VAR-VALUES: #((#<Hemlock Variable-Object #1="Buffer Mark Ring">)
>               #<Hemlock Variable-Object #1#>
>               #((#<Hemlock Variable-Object #2="Current Package">)
>                 #<Hemlock Variable-Object #2#> NIL HEMLOCK::CURRENT-
> PACKAGE)
>               HEMLOCK::BUFFER-MARK-RING)
> VARIABLES: #<String Table>
> WRITE-DATE: NIL
> DISPLAY-START: #<Hemlock Mark "^">
> %MODELINE-FIELDS: (#<Hemlock Modeline-field-info :MODIFIEDP>
>                    #<Hemlock Modeline-field-info :EXTERNAL-FORMAT>
>                    #<Hemlock Modeline-field-info :PACKAGE>
>                    #<Hemlock Modeline-field-info :MODES>)
> DELETE-HOOK: NIL
> LINE-TERMINATION: :UNIX
> PROCESS: NIL
> GAP-CONTEXT: #S(HEMLOCK-INTERNALS::BUFFER-GAP-CONTEXT :LOCK
> #<RECURSIVE-LOCK [ptr @ #xA6D6140] #x3000418D22DD>
>                                                       :LEFT-OPEN-POS 0
>                                                       :RIGHT-OPEN- 
> POS 0
>                                                       :LINE-CACHE-
> LENGTH 200
>                                                       :OPEN-LINE NIL
>                                                       :OPEN-CHARS
> "
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
> PROTECTED-REGION: NIL
> FONT-REGIONS: #<DLL-HEADER  #x3000418D2C7D>
> ACTIVE-FONT-REGION: NIL
> ? (slot-value b 'gap-context)
>> Error: #<Hemlock Buffer "Untitled 2"> has no slot named GAP-CONTEXT.
>> While executing: #<CCL::STANDARD-KERNEL-METHOD SLOT-MISSING (T T T
> T)>, in process Listener(75).
>> Type :POP to abort, :R for a list of available restarts.
>> Type :? for other options.
> 1 >
>
> On Oct 29, 2007, at 11:56 PM, Ron Garret wrote:
>
>> I'm trying to manipulate Hemlock windows in the new IDE the way I  
>> used
>> to be able to manipulate Fred windows.  Turns out I can't just do  
>> e.g.
>>
>> (insert-string mark string)
>>
>> Instead I have to do this:
>>
>> (let ((HEMLOCK-INTERNALS::*BUFFER-GAP-CONTEXT* (hi::buffer-gap- 
>> context
>> (line-buffer (mark-line mark)))))
>> (insert-string mark "foo"))
>>
>> which is not a show stopper, but it's damned annoying.  What is this
>> *BUFFER-GAP-CONTEXT* thing and why isn't it bound automatically?
>>
>> rg
>>
>> _______________________________________________
>> Openmcl-devel mailing list
>> Openmcl-devel at clozure.com
>> http://clozure.com/mailman/listinfo/openmcl-devel
>
>
> _______________________________________________
> Openmcl-devel mailing list
> Openmcl-devel at clozure.com
> http://clozure.com/mailman/listinfo/openmcl-devel




More information about the Openmcl-devel mailing list