[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

FORMAT bug in ACL4.0.1 (after patch installed)



I'm running ACL-4.0.1 (with patches through 'patch91') and am having
trouble with format.  I'm trying to construct a string which I can later
pass to FORMAT as a control string.  The problem is that when I include
a sequence such as "~~{" or "~~[" inside a '~:[...~] directive, (so that
the resulting string contains either a "~{" or "~[" based on a flag),
FORMAT wants to process the '~{' or '~[ before the '~~'.  It doesn't seem
to be processing things in a left-to-right order as one would assume.
Is there some precedence-order in how FORMAT directives are processed?
I can't seem to find one listed in Cltl-2.

-- Tony Guzzi
   Taylor L. Booth Center for Computer Applications and Research

 Internet:		     |	U.S. Mail:
	tony@brc.uconn.edu   |		University of Connecticut
			     |		Rm 54, U-31, Booth Research Center
			     |		233 Glenbrook Road
			     |		Storrs, CT  06269-4031

###########################################################################
###		Transcript of session showing possible bug.		###
###########################################################################
Script started on Sun Jul 26 15:55:29 1992
SunOS Release 4.1.1 (LOGIXOS) #2: Fri Mar 8 10:40:26 EST 1991

1  sparc1.brc>>> cl4.0p
Allegro CL 4.0.1 [Sun4] (2/8/91)
Copyright (C) 1985-1991, Franz Inc., Berkeley, CA, USA
Starting execution of '~/.clinit.cl' file.

Ignoring case of package names.
Loading alternate 'loop' definition from ACL dist.
Setting top-level parameters.

Done executing '~/.clinit.cl' file.

<cl> (format "~~ nil "~~{" )

"~{" 
<cl> (format nil "~:[~;~~~]" t)

"~" 
<cl> (format nil"~:[~;~~T~]" t)

"~T" 
<cl> (format nil "~:[~;~~{~]" t)
Error: formatter found unsyntactic format string 
No matching close directive
"~:[~;~~{~]"
        |
[1] <cl> :pop
<cl> (format nil "~~% ~~A~:[~;~~1{~]~{~~DT~~A~~^~}" t 6)
Error: formatter found unsyntactic format string 
No matching close directive
"~~% ~~A~:[~;~~1{~]~{~~DT~~A~~^~}"
                |
[1] <cl> :pop
<cl> (format nil "~~% ~~A~:[~;~~~]" t)

"~% ~A~" 
<cl> (format nil "~~% ~~A~:[~~[~;~~{~]" t)
Error: formatter found unsyntactic format string 
No matching close directive
"~~% ~~A~:[~~[~;~~{~]"
          |
[1] <cl> :pop
<cl> EOF
Really exit lisp [n]? y
; Exiting Lisp
2  sparc1.brc>>> 
script done on Sun Jul 26 16:02:53 1992