On Tue, 2002-08-13 at 22:36, Alexander Reinwarth wrote:
[...]
 I locally defined a substitute for `with-output-to-string',
replacing 
 the last line of
 
 ,----
 | (defmacro with-output-to-string (&rest forms)
 |   "Collect output to `standard-output' while evaluating FORMS and return
 | it as a string."
 |   ;; by "William G. Dubuque" <wgd(a)zurich.ai.mit.edu> w/ mods from Stig
 |   `(with-current-buffer (get-buffer-create
 | 			 (generate-new-buffer-name " *string-output*"))
 |      (setq buffer-read-only nil)
 |      (buffer-disable-undo (current-buffer))
 |      (erase-buffer)
 |      (let ((standard-output (current-buffer)))
 |        ,@forms)
 |      (prog1
 | 	 (buffer-string)
 |        (erase-buffer))))
 `----
 
 with
 	(kill-buffer(current-buffer)))))
 
 and now everything works as expected for me.
 
 Is this something which should be changed in the XEmacs-distribution
 or did I just misunderstand the purpose and/or implementation of
 `with-output-to-string'? 
[...]
Just took a look, and GNU Emacs has
         (kill-buffer nil)))))
...there, which is basically the same thing as you did.  Looks good to
me.
-- 
\/ille Skyttä
ville.skytta at 
xemacs.org