help-- using writefile in winXP



Wolfgang Jenkner wrote:

>Doug Stewart  writes:
>
>  
>
>>Wolfgang Jenkner wrote:
>>    
>>
>>>:lisp (boundp '*socket-connection*)
>>>
>>>If this returns T [...] the problem is likely explained by what I
>>>said above.
>>>      
>>>
>>yes it does.
>>So this is fixed ?
>>how do I get the fix?
>>    
>>
>
>The fix I mentioned is part of a somewhat larger change, which
>concerns only the development sources in CVS (and I haven't even
>committed it yet), see
>
>http://www.math.utexas.edu/pipermail/maxima/2005/009681.html
>
>However, for your specific problem, it is enough to redefine a single
>function.  The problem is that, in this special case, this must happen
>before Maxima is started via (RUN), so I would suggest to make a new
>image.  I am assuming that you have some binary-only distribution,
>which, by definition, doesn't let you rebuild Maxima from sources.
>
>I can only tell how this can be done on a Unix-like system.  Perhaps,
>somebody else will give the details of how this is supposed to work on
>Windows.
>
>(1) Change to the directory which contains the maxima image, a binary
>    file normally called `maxima'.
>
>(2) Rename the image to `maxima_ori'.
>
>(3) Put the following code in some file, say `patch1.lsp'.
>
>;;; Begin code
>(in-package "MAXIMA")
>
>#+gcl
>(defun setup-server (port &optional (host "localhost"))
>  (let ((stream (open-socket host port)))
>    (check-type stream stream)
>    (setq si::*sigpipe-action* 'si::bye)
>    (setq *socket-connection* stream)
>    (setq *terminal-io* stream)
>    (format t "pid=~a~%" (getpid))
>    (force-output)
>    (values)))
>
>#+gcl
>(defmacro save-stuff ()
>  `(progn
>     ,(let ((sym (find-symbol "SGC-ON" "SI")))
>	(when (and sym (fboundp sym))
>	  `(,sym t)))
>     (si:save-system "maxima_new")))
>;;; End code
>
>(4) ./maxima_ori -load patch1.lsp -eval "(maxima::save-stuff)" 
>
>(5) The last step should have created a file `maxima_new'.  Rename it
>    to `maxima'.
>
>That's it.  Just start maxima in the usual way.  If it doesn't work
>correctly, just rename `maxima_ori' to `maxima'.
>
>Wolfgang
>  
>
Thanks  I will try it and let you know.

I did find a way to do what I wanted:
stringout("max2.txt",%);
works so I use it for now.
Doug Stewart