[Openmcl-devel] Openmcl 060826 and Slime CVS...

Phil pbpublist at comcast.net
Sat Sep 2 16:35:25 PDT 2006


No worries as  I was just reporting my experiences so that it could  
be addressed at some point... CXML is low-priority for me right now.   
So far, 1.1 is looking more than solid enough (and I can't say enough  
about the performance improvement ;-) that until I hit a real show- 
stopper,  I'm sticking with it.

On Sep 2, 2006, at 6:41 PM, Gary Byers wrote:

> I've caught a few of these things (missing methods for new/"basic"
> stream classes); some of the changes in CVS now are hard to bootstrap,
> but I'll try to put up new snapshots in a few days.
>
> (Honest.  A few days.  Not several weeks.)
>
> On Sat, 2 Sep 2006, Phil wrote:
>
>> That did the trick and I've been *very* pleasantly surprised by the
>> across-the-board speed-up I'm seeing (due to the stream changes, I
>> assume)   in 1.1.  Re: the ASDF update in 1.1, there's a code snippet
>> at http://www.cliki.net/asdf (under "Stale fasls?") for automatic
>> recompilation of fasls which will make this a non-event.  The only
>> bit of breakage I've seen so far is with CXML:
>>
>> ;Compiler warnings for "/Users/phil/.asdf-install-dir/site/
>> cxml-2006-01-05/xml/xmlns-normalizer.lisp" :
>> ;   Variable QNAME not ignored, in (SAX:START-ELEMENT (NAMESPACE-
>> NORMALIZER T T T T)).
>> ;   Variable QNAME not ignored, in (SAX:END-ELEMENT (NAMESPACE-
>> NORMALIZER T T T)).
>> ; Warning: COMPILE-FILE warned while performing #<COMPILE-OP NIL
>> #x8B0E4E6> on #<CLOSURE-SOURCE-FILE "xmlns-normalizer" #x8B07356>.
>> ; While executing: #<STANDARD-METHOD ASDF:PERFORM (ASDF:COMPILE-OP
>> ASDF:CL-SOURCE-FILE)>, in process listener(1).
>> > Error: No applicable method for args:
>> >         (#<BASIC-FILE-BINARY-INPUT-STREAM ("/Users/phil/.asdf-
>> install-dir/site/cxml-2006-01-05/catalog.dtd"/39) #x8D53156> #<VECTOR
>> 3912 type (UNSIGNED-BYTE 8), simple> 0 3912)
>> >         to #<STANDARD-GENERIC-FUNCTION CCL:STREAM-READ-VECTOR
>> #x80AF186>
>> > While executing: #<CCL::STANDARD-KERNEL-METHOD NO-APPLICABLE-
>> METHOD (T)>, in process listener(1).
>> > Type :GO to continue, :POP to abort, :R for a list of available
>> restarts.
>> > If continued: Skip loading init file.
>> > Type :? for other options.
>> 1 > (:b)
>> (F01359A0) : 0 (FUNCALL #'#<#<CCL::STANDARD-KERNEL-METHOD NO-
>> APPLICABLE-METHOD (T)>> #<STANDARD-GENERIC-FUNCTION CCL:STREAM-READ-
>> VECTOR #x80AF186> [...]) 48
>> (F01359C0) : 2 (READ-SEQUENCE #(0 0 0 0 0 ...) #<BASIC-FILE-BINARY-
>> INPUT-STREAM ("/Users/phil/.asdf-install-dir/site/cxml-2006-01-05/
>> catalog.dtd"/39) #x8D53156> [...]) 268
>> (F01359D0) : 3 (FUNCALL #'#<Anonymous Function #x8D54366>) 312
>> (F01359F0) : 4 (FUNCALL #'#<Anonymous Function #x802C1DE>
>> #<CCL::FASLSTATE #x73863E>) 48
>> (F0135A00) : 5 (%FASLOAD "/Users/phil/.asdf-install-dir/site/
>> cxml-2006-01-05/xml/catalog.dfsl" [...]) 852
>> (F0135A30) : 7 (FUNCALL #'#<CCL::ATTEMPT-LOAD> #P"/Users/phil/.asdf-
>> install-dir/site/cxml-2006-01-05/xml/catalog.dfsl") 44
>> (F0135A40) : 8 (%LOAD #P"/Users/phil/.asdf-install-dir/site/
>> cxml-2006-01-05/xml/catalog.dfsl" NIL 'CCL::%FASL-READ-
>> BYTE :ERROR :DEFAULT) 1160
>> (F0135A70) : 10 (LOAD #P"/Users/phil/.asdf-install-dir/site/
>> cxml-2006-01-05/xml/catalog.dfsl" [...]) 656
>> (F0135A90) : 11 (FUNCALL #'#<#<STANDARD-METHOD ASDF:PERFORM
>> (ASDF:LOAD-OP ASDF:CL-SOURCE-FILE)>> #<LOAD-OP NIL #x8B0F506>
>> #<CLOSURE-SOURCE-FILE "catalog" #x8B06C16>) 168
>> (F0135AB0) : 13 (%%BEFORE-AND-AFTER-COMBINED-METHOD-DCODE '(NIL
>> #<#> . 1613578)) 624
>> (F0135AD0) : 15 (%%STANDARD-COMBINED-METHOD-DCODE '(NIL # #<#>)
>> 1613578) 148
>> (F0135AF0) : 17 (OPERATE 'ASDF:LOAD-OP :CXML [...]) 912
>> (F0135B20) : 19 (CALL-CHECK-REGS 'ASDF:OPERATE [...]) 72
>> (F0135B30) : 20 (LOAD-FROM-STREAM #<BASIC-FILE-CHARACTER-INPUT-STREAM
>> ("/Users/Shared/local/src/Languages/Lisp/Lisp-Dev/pb-setup.lisp"/11)
>> #x83D573E> #<RESTART ASDF:RETRY #x7388A6>) 224
>> (F0135B40) : 21 (%LOAD #P"/Users/Shared/local/src/Languages/Lisp/ 
>> Lisp-
>> Dev/pb-setup.lisp" 'CCL::%RESTARTS% #<RESTART ASDF:ACCEPT
>> #x7388CE> :ERROR :DEFAULT) 1520
>> (F0135B70) : 23 (LOAD "/Users/Shared/local/src/Languages/Lisp/Lisp-
>> Dev/pb-setup.lisp" [...]) 656
>> (F0135BA0) : 25 (CALL-CHECK-REGS 'LOAD [...]) 72
>> (F0135BB0) : 26 (LOAD-FROM-STREAM #<BASIC-FILE-CHARACTER-INPUT-STREAM
>> ("/Users/phil/openmcl-init.lisp"/10) #x83D5CB6> #<RESTART CCL::SKIP-
>> LOAD #x738A3E>) 224
>> (F0135BC0) : 27 (%LOAD #P"/Users/phil/openmcl-init.lisp" NIL
>> #<RESTART CCL::RETRY-LOAD #x738A16> NIL :DEFAULT) 1520
>> (F0135BF0) : 29 (LOAD "home:openmcl-init" [...]) 656
>> (F0135C10) : 30 (STARTUP-CCL [...]) 428
>> (F0135C40) : 31 (FUNCALL #'#<Anonymous Function #x811022E>) 56
>> (F0135C60) : 33 (FUNCALL #'#<Anonymous Function #x81553CE>) 364
>> (F0135C80) : 34 (RUN-PROCESS-INITIAL-FORM #<PROCESS listener(1)
>> [Active] #x83D3EAE> '(#)) 400
>> (F0135CC0) : 36 (FUNCALL #'#<Anonymous Function #x810AD16> #<PROCESS
>> listener(1) [Active] #x83D3EAE> '(#)) 152
>> (F0135CE0) : 37 (FUNCALL #'#<Anonymous Function #x80FE696>) 172
>> 1 >
>>
>> On Aug 27, 2006, at 9:31 AM, Gary Byers wrote:
>>
>>> I botched it; the new ADD-AUTO-FLUSH-STREAM function and the  
>>> function
>>> that actually does the background FORCE-OUTPUTing both assume that
>>> the stream in question is of a particular type (and make assumptions
>>> about what kind of locking/sharing mechanism the stream uses and
>>> how that's implemented.)  The streams that SLIME wants to have
>>> flushed periodically are more abstract Gray streams and they seem
>>> to implement their own locking protocol.
>>>
>>> Until I can get that straightened out, the better advice for SLIME
>>> users would be to (temporarily) change swank-openmcl.lisp to avoid
>>> using the automatic flushing at all.  That would mean changing
>>> anything
>>> that originally did:
>>>
>>>    (push stream ccl::*auto-flush-streams*)
>>>
>>> to do nothing if the new (but broken) function CCL:ADD-AUTO-FLUSH-
>>> STREAM
>>> is defined (something like):
>>>
>>>   (if (fboundp 'ccl::add-auto-flush-stream)
>>>     nil; temporarily avoid the auto-flush mechanism
>>>     (push stream ccl::*auto-flush-streams*))
>>>
>>> You do lose a little bit if the stream's output doesn't get flushed
>>> out to Emacs periodically; something like
>>>
>>> (progn (print (fact 1000)) (sleep 5))
>>>
>>> wouldn't display the buffered output (or at least might not display
>>> all of it) until the SLEEP finished and the REPL tried to read
>>> something.
>>>
>>> Sorry for both the botch and the confusion it may cause.
>>>
>>>
>>> On Sun, 27 Aug 2006, Alberto Santini wrote:
>>>
>>>> Hello.
>>>>
>>>> I read the release notes about the changes in the streams.
>>>>
>>>> I use the latest version of Slime (CVS) and I don't know how to
>>>> apply the changes suggested for Slime 2.0, when there
>>>> was a different implementation (with a defmethod).
>>>>
>>>> Now the latest code in Slime (swank-openmcl, ~line 182) is:
>>>>
>>>> (defimplementation make-stream-interactive (stream)
>>>>  (typecase stream
>>>>    (ccl:fundamental-output-stream
>>>>     (push stream ccl::*auto-flush-streams*))))
>>>>
>>>>
>>>> I tried
>>>>
>>>> (defimplementation make-stream-interactive (stream)
>>>>  (typecase stream
>>>>    (ccl::add-auto-flush-stream stream
>>>>     (push stream ccl::*auto-flush-streams*))))
>>>>
>>>> but it seems it doesn't work, Slime aborts the connection and I  
>>>> don't
>>>> see any error message.
>>>>
>>>> Any help?
>>>>
>>>> Thanks in advance,
>>>> Alberto Santini
>>>> _______________________________________________
>>>> 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
>>
>> _______________________________________________
>> Openmcl-devel mailing list
>> Openmcl-devel at clozure.com
>> http://clozure.com/mailman/listinfo/openmcl-devel
>>
>>




More information about the Openmcl-devel mailing list