Hmm - trying
does not produce a usage listing with command-line switches. It would be polite to fix that. It _does_ produce a statement that includes
run this application with the option
-dump-source. Eg issue a command such as:
reduce -dump-source reduce.tar.bz2
but then, that produces the response
Executable file is damaged
So, some problem there as well.
The -dump-source feature no longer exists - it was an attempt to cope with what I now believe to have been an unnecessarily pessimistic reading of obligations brought through use of an LGPL library. The message mentioning it was a hang over. Prompted my your fair comment I have put some stuff in the source that displays a list of the command-lien flags if you pass "-help". I hope to put that in the subversion later today. Current draft text is as follows, but layout here may be a mess. IN general the source in csl/cslbase/csl.c may have longer comments explaining each option!
-a do not use. Flips meaning of the Lisp "batchp" function.
-b do not colour prompts. -bOIP sets colours for output,
input and prompt, using rgbcmyk
for Red, Green, Blue, Cyan etc.
-c display something that is not a Copyright statement (because of LGPL).
-d VVV or -d VVV=VVV define a Lisp symbol as the system start
-e enable some feature that is at present an experiment. Not for users!
-f or -f nnn listen on socket 1206 or nnn to run a remote session.
This option is not for normal users.
-g enable some options that help when debugging. You get backtraces.
-h on X windows this may use x-terminal fonts rather than ones
used via Xft that live with the application. Not recommended.
-i <image file> specific the location of the initial image file explicitly
You may have multiple image files, seached for modules in
the order listed.
-j used for depencency tracking. '-j fileuse.dat' notes what files
are accessed during this run in the indicated place.
-k nnnK or -knnnM or -knnnG suggest heap-size to use. Often not needed
-l logfile keep transcript of session for you.
-m a memory trace option not for ordinary use.
-n ignore the restart function in an image file so that the system.
starts up in raw Lisp. Sometimes useful if image file is broken.
-o <image file> specified where newly created compiled modules and
saved heap images should go. Default is in the standard image.
-p reserved for a potential profile option.-q tend to be Quiet. see also -v.
-r nnn or -r nnn,mmm sets initial random seed. Passing 0 means use
current time of day and similar nonrepeatable stuff. May be
used to force repeatability of code that uses randomness.
-s causes compiler to display "assembly code".
-t modulename prints the timestamp of the given module and exits.
-u VVV undefines the Lisp symbol VVV at the start of the run.
-v runs in a slighly more verbose mode.
-w controls if code runs in a window or in console. Also -w+ and -w-
can override cases where the system really wants to go one way.
-x avoid trapping exceptions so you can use a low-level debugger
to sort out errors in the kernel.
-y At one stage this enabled Japanese character support. Not now maintained.
-z when the code starts up it is just a basic raw Lisp core without even a compiler. Used to bootstrap the system.
-texmacs run in texmacs mode. You must use the plugin from the
-<other> reserved for additional extended options.
-help this output!
This will get into a ready-built binary when one next gets made, but where I am is now swimming in students and time is a bit tight for a while.
Some comments with respect to understanding;
You might add a comment at the top, about exiting Reduce, 'Enter "bye;" on the command line to exit Reduce.", or some such, though I do notice that "^C" does produce a useful message.
The format of "OIP" is not obvious. What is the format of "rgbcmyk"? How is that different from "rgb"? Are there no delimiters in "OIP"? Maybe you could show a single example in-line, "The default is -b black red blue" - except, I don't know what the actual format should be. Nothing I tried changed the colors, though "-b green" produces the error message '+++ Could not read file "green"'. Using "-b0000ff00ff00ffff00" is silently ignored and does nothing at all.
-w controls if code runs in a window or in console.
Please clarify - in what way does "-w" control "if"? Are the "+" and "-" characters required for "-w" to have an effect? Does "-w", by itself, default to having some effect? Does it force window behaviour in a text console? Or inhibit window behaviour in a text console? Or…?
So, it looks like "-w" means "force text-console mode from a graphics window." You might add "Reduce produces typeset graphics output by default, unless started in a text console.", which, if you are using a text console, you might not have known.
-texmacs run in texmacs mode.
Maybe you could add a couple of words, expanding upon the meaning of "texmacs mode". What does that mean, to "run in texmacs mode"? My version of Reduce responds with 'Unknown extended option "-texmacs"'. You say "use the plugin", but I wouldn't know how to start with a plugin, and none of the other command-line switches mention starting with a plugin.
Also, additionally, "-texmacs" produces the message
NB: use "- filename" (with whitespace)
for output redirection now.
You might add the comment ", with whitespace," to the description for "-".
The following are some typo's that would not be marked by a spell checker:
-i <image file> specific the location…
I'm guessing you meant "specify the location", "y" instead of "c".
-o <image file> specified where…
Again, "specifies where", "s" instead of "d".
&gt; where I am is now swimming in students and time is a bit tight for a while.
Yes - students! You can have them help with bugs and clean-up in Reduce! What a wonderful way to learn about Lisp and have an impact in the world! ;)
Thanks for the command-line switch descriptions. I thought there might be a "-w" in there somewhere, for "cut and paste" in text.
Log in to post a comment.