[Git][cmucl/cmucl][master] 3 commits: Add documentation for run-program

Raymond Toy rtoy at common-lisp.net
Tue Sep 27 03:03:52 UTC 2016


Raymond Toy pushed to branch master at cmucl / cmucl


Commits:
a773ea60 by Raymond Toy at 2016-09-26T19:50:47-07:00
Add documentation for run-program

 * Document :input and :output behavior when they are string streams.
 * Document :element-type and :external-format

- - - - -
48c1dd59 by Raymond Toy at 2016-09-26T19:51:12-07:00
Update the date

Prepare for release 21b.

- - - - -
1b8f72ed by Raymond Toy at 2016-09-26T20:03:24-07:00
Update from logs

Fix some typos too.

- - - - -


3 changed files:

- src/docs/cmu-user/cmu-user.tex
- src/docs/cmu-user/extensions.tex
- src/general-info/release-21b.txt


Changes:

=====================================
src/docs/cmu-user/cmu-user.tex
=====================================
--- a/src/docs/cmu-user/cmu-user.tex
+++ b/src/docs/cmu-user/cmu-user.tex
@@ -48,7 +48,7 @@
 \newcommand{\keywords}{lisp, Common Lisp, manual, compiler, programming
 language implementation, programming environment}
 
-\date{October 2014 \\ 20f}
+\date{October 2016 \\ 21b}
 
 
 \begin{document}


=====================================
src/docs/cmu-user/extensions.tex
=====================================
--- a/src/docs/cmu-user/extensions.tex
+++ b/src/docs/cmu-user/extensions.tex
@@ -1099,7 +1099,8 @@ It is possible to run programs from Lisp by using the following function.
       \morekeys{\kwd{if-input-does-not-exist}}
       \yetmorekeys{\kwd{output} \kwd{if-output-exists}}
       \yetmorekeys{\kwd{error} \kwd{if-error-exists}}
-      \yetmorekeys{\kwd{status-hook}}}}
+      \yetmorekeys{\kwd{status-hook} \kwd{external-format}}
+      \yetmorekeys{\kwd{element-type}}}}
      
   \code{run-program} runs \var{program} in a child process.
   \var{Program} should be a pathname or string naming the program.
@@ -1154,6 +1155,11 @@ It is possible to run programs from Lisp by using the following function.
     already contains all the input for the process.  In this case
     \code{run-program} reads all the input from this stream before
     returning, so this cannot be used to interact with the process.
+    If \kwd{input} is a string stream, it is up to the caller to call
+    \code{string-encode} or other function to convert the string to
+    the appropriate encoding.  In either case, the least significant 8
+    bits of the \code{char-code} of each \code{character} is
+    sent to the program.
     
   \item[\kwd{if-input-does-not-exist}] This specifies what to do if
     the input file does not exist.  The following values are valid:
@@ -1172,7 +1178,10 @@ It is possible to run programs from Lisp by using the following function.
     \code{process-output} slot contains an input stream from which you
     can read the program's output.  \kwd{output} can also be a stream
     in which case all output from the process is written to this
-    stream. 
+    stream.  If \kwd{output} is a string-stream, each octet read from
+    the program is converted to a character using \code{code-char}.
+    It is up to the caller to convert this using the appropriate
+    external format to create the desired encoded string.
     
   \item[\kwd{if-output-exists}] This specifies what to do if the
     output file already exists.  The following values are valid:
@@ -1197,6 +1206,15 @@ It is possible to run programs from Lisp by using the following function.
     the process changes status.  This is especially useful when
     specifying \kwd{wait} as \nil.  The function takes the process as
     a required argument.
+
+  \item[\kwd{external-format}] This specifies the external format to
+    use for streams created for \code{run-program}.  This does not
+    apply to string streams passed in as \kwd{input} or \kwd{output}
+    parameters.
+
+  \item[\kwd{element-type}] If streams are created \code{run-program},
+    use this as the \kwd{element-type} for the stream.  Defaults to
+    \code{BASE-CHAR}. 
     
 %   \item[\kwd{before-execve}] This specifies a function to run in the
 %     child process before it becomes the program to run.  This is


=====================================
src/general-info/release-21b.txt
=====================================
--- a/src/general-info/release-21b.txt
+++ b/src/general-info/release-21b.txt
@@ -48,7 +48,7 @@ New in this release:
       WITH-FLOAT-TRAPS-MASKED.
     * (EXPT 0 power) doesn't throw INTEXP-LIMIT-ERROR anymore for any
       integer value of power.
-    * Starting cmucl with "-dyanmic-space-size 0" means using the
+    * Starting cmucl with "-dynamic-space-size 0" means using the
       maximum possible heap size for the platform.
     * More descriptive docstring for
       * *environment-list*
@@ -56,16 +56,21 @@ New in this release:
     * Maximum dynamic-space-size on Linux reduced to 1530 MB because
       that's the largest available space on 32-bit Ubuntu 11.10.
     * For linux, darwin, and solaris/sparc, the binding stack and
-      control stack are now mapped into memory whereever the OS wishes
+      control stack are now mapped into memory wherever the OS wishes
       to place them instead of being mapped into a fixed location.
       This is indicated by new feature :relocatable-stacks.
 
   * ANSI compliance fixes:
     * PATHNAME-MATCH-P did not accept search-lists.
+    * (compile 'foo) returns the compiled function if foo is already
+      compiled. (See Ticket #24).  This is a change in behavior for
+      developers where foo would be recompiled if the source was
+      available.  Developers might want to investigate uncompile
+      combined with compile to get the old behavior back.
 
-  * Bugfixes:
+  * Bug fixes:
     * Linux was missing unix-setitimer which prevented saving cores.
-    * Generate inxact exceptions more carefully.
+    * Generate inexact exceptions more carefully.
     * Fix FP issue when building with Xcode 7.2 (and newer versions of
       clang).  (See ticket #12.)
     * Cleanups in handling floating-point exceptions.  See Tickets #15
@@ -94,8 +99,13 @@ New in this release:
     * Ticket #27 fixed: Regression: ASDF test failures
     * Ticket #28 fixed: Recursive function definition during
       cross-compile
+    * Ticket #30 fixed: Compilation of (describe 'foo)
+    * Ticket #31 fixed: (compile #'foo) fails
+    * Ticket #24 fixed: Compilation of (compile 'foo)
+    * Ticket #32 fixed: doc fix: ext:run-program has no before-execve option
 
   * Other changes:
+    * Update user manual.
 
   * Improvements to the PCL implementation of CLOS:
 



View it on GitLab: https://gitlab.common-lisp.net/cmucl/cmucl/compare/9fe2a7d9699b1a60d874868ccc0de6afcc74ee3b...1b8f72ed832bba4c49187a0ee632d83274d0185a
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <https://mailman.common-lisp.net/pipermail/cmucl-cvs/attachments/20160927/ea7960f8/attachment-0001.html>


More information about the cmucl-cvs mailing list