On Fri, 1 Oct 2004 at 17:06:43 +0300, Alex Mizrahi wrote:
> (compile-system) failed on my system, sources are newest from cvs.
> my system is winxp, sun java 1.4.2_05.
> if fails on asdf.lisp, function operate.
> here's a backtrace:
> 0: (EXTENSIONS:BACKTRACE-AS-LIST)
> 1: (SIGNAL #<FORMAT::FORMAT-ERROR @ #x1443800>)
> 2: (ERROR FORMAT::FORMAT-ERROR :COMPLAINT "unknown directive
> ~@[(character: ~A)~]" :ARGS ("Return"))
It looks like you're trying to compile source files with lines that end
in #\return + #\linefeed; that's not going to work as things stand.
The issue is really with FORMAT, and there is some disagreement about
the proper fix.
(formatter "~@<Continue, treating ~S on ~S as ~
having been successful.~@:>")
Currently the tilde newline format directive at the end of the first
line won't work if the #\newline after the tilde is preceded by a
=46rom section 18.104.22.168:
"Tilde immediately followed by a newline ignores the newline and
any following non-newline whitespace characters."
where newline is defined in the Glossary as follows:
newline n. the standard character <Newline>, notated for the Lisp
reader as #\Newline.
My own inclination is to define a "tilde return" format directive for
ABCL which would do the right thing on Windows (it would ignore the
return and any following non-return whitespace characters, including
#\newline), and make this a part of ABCL's FORMAT both on Windows and
on Unix, so that both platforms could use source files with either kind
of line ending. But I don't think that's quite ANSI, and the idea was
not universally well-received, so I haven't implemented it.
The workaround is to fix the line endings. It's also possible that
asdf.lisp is the only library file that will run into this problem, so
you might try commenting out the "asdf.lisp" line in compile-system.lisp.=