Re: Proposal: make asdf output go to *standard-output*

Richard M Kreuter <[email protected]>
Newsgroups gmane.lisp.cclan.general
Message-ID <[email protected]>
Richard M Kreuter <[email protected]> writes:

> I'd like to propose that asdf send its output to
> *standard-output*...

It's been a month, and nobody has objected in this list.  Is there
further work I should to do to get the patch applied?

Thanks,
RmK

--- asdf.lisp.~1.102.~	2006-12-13 15:56:20.000000000 -0500
+++ asdf.lisp	2006-12-14 15:12:09.000000000 -0500
@@ -872,7 +872,7 @@
   (let* ((op (apply #'make-instance operation-class
 		    :original-initargs args
 		    args))
-	 (*verbose-out* (if verbose *trace-output* (make-broadcast-stream)))
+	 (*verbose-out* (if verbose *standard-output* (make-broadcast-stream)))
 	 (system (if (typep system 'component) system (find-system system))))
     (unless (version-satisfies system version)
       (error 'missing-component :requires system :version version))

--- asdf.texinfo.~1.5.~	2004-08-18 08:54:26.000000000 -0400
+++ asdf.texinfo	2006-12-14 15:37:56.000000000 -0500
@@ -188,6 +188,11 @@
 (asdf:operate 'asdf:load-op '@var{foo})
 @end example
 
+Output from asdf and asdf extensions are supposed to be sent to the CL
+stream @code{*standard-output*}, and so rebinding that stream around
+calls to @code{asdf:operate} should redirect all output from asdf
+operations.
+
 That's all you need to know to use asdf to load systems written by
 others.  The rest of this manual deals with writing system
 definitions for Lisp software you write yourself.
@@ -204,6 +209,7 @@
 * The defsystem form::          
 * A more involved example::     
 * The defsystem grammar::       
+* Other code in .asd files::
 @end menu
 
 @node  The defsystem form, A more involved example, Defining systems with defsystem, Defining systems with defsystem
@@ -316,7 +322,7 @@
 have been processed, but before the component in question has been
 compiled.
 
-@node  The defsystem grammar,  , A more involved example, Defining systems with defsystem
+@node  The defsystem grammar,  Other code in .asd files, A more involved example, Defining systems with defsystem
 @comment  node-name,  next,  previous,  up
 @section The defsystem grammar
 
@@ -409,6 +415,23 @@
 within an editor without clobbering its source location)
 @end itemize
 
+@node Other code in .asd files, , The defsystem grammar, Defining systems with defsystem
+@section Other code in .asd files
+
+Files containing defsystem forms are regular Lisp files that are
+executed by @code{load}.  Consequently, you can put whatever Lisp code
+you like into these files (e.g., code that examines the compile-time
+environment and adds appropriate features to @code{*features*}).
+However, some conventions should be followed, so that users can
+control certain details of execution of the Lisp in .asd files:
+
+@itemize
+@item
+Any informative output (other than warnings and errors, which are the
+condition system's to dispose of) should be sent to the standard CL
+stream @code{*standard-output*}, so that users can easily control the
+disposition of output from asdf operations.
+@end itemize
 
 
 @node The object model of asdf, Error handling, Defining systems with defsystem, Top
@@ -594,6 +617,9 @@
 
 @end itemize
 
+Operations that print output should send that output to the standard
+CL stream @code{*standard-output*}, as the Lisp compiler and loader do.
+
 @node Components,  , Operations, The object model of asdf
 @comment  node-name,  next,  previous,  up
 @section Components


-------------------------------------------------------------------------
Take Surveys. Earn Cash. Influence the Future of IT
Join SourceForge.net's Techsay panel and you'll get the chance to share your
opinions on IT & business topics through brief surveys - and earn cash
http://www.techsay.com/default.php?page=join.php&p=sourceforge&CID=DEVDEV
lmpx.com only provides a reader for public news (NNTP) servers. It is not affiliated with the servers or forums shown here and is not responsible for the content of articles, which is written by their respective authors.