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

Phil pbpublist at comcast.net
Sat Sep 2 15:32:48 PDT 2006


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




More information about the Openmcl-devel mailing list