From: Sam S. <sd...@gn...> - 2002-05-16 16:32:22
|
> * In message <20020516171131.A268@localhost.localdomain> > * On the subject of "Re: [clisp-list] with-open-file bug on linux" > * Sent on Thu, 16 May 2002 17:11:31 +0200 > * Honorable Peter Wood <pet...@wo...> writes: > > On Thu, May 16, 2002 at 03:53:03PM +0200, I wrote: > > > I will have a look at full_write in unixaux.d please do, if the problem persists, but first make sure that the data you are writing is actually what you really want to write! > A _combination_ of :buffered nil and setting *print-escape* to nil > appears to work, at least in some cases. This wasn't necessary > earlier. I think the problem is with your settings. *print-escape* influences "" around strings, and if "write" depends on the correct format, this may have a decisive effect! > ;;this works > > [56]> (setf register (open "/proc/sys/fs/binfmt_misc/register" :direction :output :buffered nil)) > #<output unbuffered file-stream character #P"/proc/sys/fs/binfmt_misc/register" > @1> > [57]> (setf string (format nil ":~:@(~a~):E::~a::~a:" "fas" "fas" "/usr/bin/clisp")) > ":FAS:E::fas::/usr/bin/clisp:" > [58]> (write string :escape nil :stream register) > ":FAS:E::fas::/usr/bin/clisp:" > [59]> > > ;; so does this work (princ sets *print-escape* and -readably* to nil) > > [69]> (princ string register) > ":FAS:E::fas::/usr/bin/clisp:" > [70]> > > ;; so does this! > > [77]> (format register "~a" string) > nil all these write string simply byte by byte. > ;; these do not > > [82]> (format register "~s" string) of course: this writes to register ""..."" (i.e., it sends #\" to the stream)! > *** - UNIX error 22 (EINVAL): Invalid argument > [84]> (prin1 string register) same. > *** - UNIX error 22 (EINVAL): Invalid argument > 1. Break [85]> > [86]> (write string :stream register) > > *** - UNIX error 22 (EINVAL): Invalid argument same. -- Sam Steingold (http://www.podval.org/~sds) running RedHat7.2 GNU/Linux <http://www.camera.org> <http://www.iris.org.il> <http://www.memri.org/> <http://www.mideasttruth.com/> <http://www.palestine-central.com/links.html> Your mouse has moved - WinNT has to be restarted for this to take effect. |