mirror of
https://github.com/lcn2/calc.git
synced 2025-08-16 01:03:29 +03:00
Release calc version 2.11.1t2
This commit is contained in:
9
CHANGES
9
CHANGES
@@ -46,6 +46,10 @@ The following are the changes from calc version 2.11.1 to date:
|
|||||||
|
|
||||||
Changed the recommended Comqaq cc compile to be -std0 -fast -O4 -static.
|
Changed the recommended Comqaq cc compile to be -std0 -fast -O4 -static.
|
||||||
|
|
||||||
|
Fixed a problem related to asking for help for a non-existent file.
|
||||||
|
|
||||||
|
Added ./.calcinit to the default calcrc.
|
||||||
|
|
||||||
|
|
||||||
The following are the changes from calc version 2.11.0t10 to 2.11.0t11:
|
The following are the changes from calc version 2.11.0t10 to 2.11.0t11:
|
||||||
|
|
||||||
@@ -279,6 +283,7 @@ The following are the changes from calc version 2.11.0t10 to 2.11.0t11:
|
|||||||
# this is a comment
|
# this is a comment
|
||||||
#
|
#
|
||||||
# The lone # above was also a comment
|
# The lone # above was also a comment
|
||||||
|
## is also a comment
|
||||||
|
|
||||||
Improved how calc makes changes to file descriptor interactive state.
|
Improved how calc makes changes to file descriptor interactive state.
|
||||||
Moved state changing code to calc_tty() and orig_tty() in lib_calc.c.
|
Moved state changing code to calc_tty() and orig_tty() in lib_calc.c.
|
||||||
@@ -4710,8 +4715,8 @@ Following is a list of visible changes to calc from version 1.24.7 to 1.26.1:
|
|||||||
## received a copy with calc; if not, write to Free Software Foundation, Inc.
|
## received a copy with calc; if not, write to Free Software Foundation, Inc.
|
||||||
## 59 Temple Place, Suite 330, Boston, MA 02111-1307, USA.
|
## 59 Temple Place, Suite 330, Boston, MA 02111-1307, USA.
|
||||||
##
|
##
|
||||||
## @(#) $Revision: 29.3 $
|
## @(#) $Revision: 29.4 $
|
||||||
## @(#) $Id: CHANGES,v 29.3 1999/12/15 09:13:45 chongo Exp $
|
## @(#) $Id: CHANGES,v 29.4 1999/12/17 10:06:46 chongo Exp $
|
||||||
## @(#) $Source: /usr/local/src/cmd/calc/RCS/CHANGES,v $
|
## @(#) $Source: /usr/local/src/cmd/calc/RCS/CHANGES,v $
|
||||||
##
|
##
|
||||||
## Under source code control: 1993/06/02 18:12:57
|
## Under source code control: 1993/06/02 18:12:57
|
||||||
|
6
Makefile
6
Makefile
@@ -20,8 +20,8 @@
|
|||||||
# received a copy with calc; if not, write to Free Software Foundation, Inc.
|
# received a copy with calc; if not, write to Free Software Foundation, Inc.
|
||||||
# 59 Temple Place, Suite 330, Boston, MA 02111-1307, USA.
|
# 59 Temple Place, Suite 330, Boston, MA 02111-1307, USA.
|
||||||
#
|
#
|
||||||
# @(#) $Revision: 29.4 $
|
# @(#) $Revision: 29.5 $
|
||||||
# @(#) $Id: Makefile.ship,v 29.4 1999/12/15 08:54:07 chongo Exp $
|
# @(#) $Id: Makefile.ship,v 29.5 1999/12/17 09:07:35 chongo Exp $
|
||||||
# @(#) $Source: /usr/local/src/cmd/calc/RCS/Makefile.ship,v $
|
# @(#) $Source: /usr/local/src/cmd/calc/RCS/Makefile.ship,v $
|
||||||
#
|
#
|
||||||
# Under source code control: 1990/02/15 01:48:41
|
# Under source code control: 1990/02/15 01:48:41
|
||||||
@@ -425,7 +425,7 @@ CALCPATH= .:./cal:~/cal:${LIBDIR}:${CUSTOMLIBDIR}
|
|||||||
# If the $CALCRC environment variable is not defined, then the following
|
# If the $CALCRC environment variable is not defined, then the following
|
||||||
# path will be search for calc resource files.
|
# path will be search for calc resource files.
|
||||||
#
|
#
|
||||||
CALCRC= ${LIBDIR}/startup:~/.calcrc
|
CALCRC= ${LIBDIR}/startup:~/.calcrc:./.calcinit
|
||||||
|
|
||||||
# Determine of the GNU-readline facility will be used instead of the
|
# Determine of the GNU-readline facility will be used instead of the
|
||||||
# built-in calc binding method.
|
# built-in calc binding method.
|
||||||
|
6
calc.c
6
calc.c
@@ -19,8 +19,8 @@
|
|||||||
* received a copy with calc; if not, write to Free Software Foundation, Inc.
|
* received a copy with calc; if not, write to Free Software Foundation, Inc.
|
||||||
* 59 Temple Place, Suite 330, Boston, MA 02111-1307, USA.
|
* 59 Temple Place, Suite 330, Boston, MA 02111-1307, USA.
|
||||||
*
|
*
|
||||||
* @(#) $Revision: 29.1 $
|
* @(#) $Revision: 29.2 $
|
||||||
* @(#) $Id: calc.c,v 29.1 1999/12/14 09:15:34 chongo Exp $
|
* @(#) $Id: calc.c,v 29.2 1999/12/17 09:21:45 chongo Exp $
|
||||||
* @(#) $Source: /usr/local/src/cmd/calc/RCS/calc.c,v $
|
* @(#) $Source: /usr/local/src/cmd/calc/RCS/calc.c,v $
|
||||||
*
|
*
|
||||||
* Under source code control: 1990/02/15 01:48:11
|
* Under source code control: 1990/02/15 01:48:11
|
||||||
@@ -197,7 +197,7 @@ main(int argc, char **argv)
|
|||||||
*/
|
*/
|
||||||
fprintf(stderr,
|
fprintf(stderr,
|
||||||
"usage: %s [-c] [-C] [-d] [-e] [-h] [-i] [-m mode]\n"
|
"usage: %s [-c] [-C] [-d] [-e] [-h] [-i] [-m mode]\n"
|
||||||
"\t[-D calc_debug[:resource_debug:[user_debug]]]\n"
|
"\t[-D calc_debug[:resource_debug[:user_debug]]]\n"
|
||||||
"\t[-n] [-p] [-q] [-s] [-u] [-v] "
|
"\t[-n] [-p] [-q] [-s] [-u] [-v] "
|
||||||
"[[--] calc_cmd ...]\n",
|
"[[--] calc_cmd ...]\n",
|
||||||
program);
|
program);
|
||||||
|
250
calc.man
250
calc.man
@@ -15,8 +15,8 @@
|
|||||||
.\" received a copy with calc; if not, write to Free Software Foundation, Inc.
|
.\" received a copy with calc; if not, write to Free Software Foundation, Inc.
|
||||||
.\" 59 Temple Place, Suite 330, Boston, MA 02111-1307, USA.
|
.\" 59 Temple Place, Suite 330, Boston, MA 02111-1307, USA.
|
||||||
.\"
|
.\"
|
||||||
.\" @(#) $Revision: 29.1 $
|
.\" @(#) $Revision: 29.4 $
|
||||||
.\" @(#) $Id: calc.man,v 29.1 1999/12/14 09:15:35 chongo Exp $
|
.\" @(#) $Id: calc.man,v 29.4 1999/12/17 10:06:31 chongo Exp $
|
||||||
.\" @(#) $Source: /usr/local/src/cmd/calc/RCS/calc.man,v $
|
.\" @(#) $Source: /usr/local/src/cmd/calc/RCS/calc.man,v $
|
||||||
.\"
|
.\"
|
||||||
.\" Under source code control: 1991/07/23 05:48:26
|
.\" Under source code control: 1991/07/23 05:48:26
|
||||||
@@ -36,7 +36,7 @@ calc \- arbitrary precision calculator
|
|||||||
.RB [ \-c ]
|
.RB [ \-c ]
|
||||||
.RB [ \-C ]
|
.RB [ \-C ]
|
||||||
.RB [ \-d ]
|
.RB [ \-d ]
|
||||||
.RB [ -D\ \&calc_debug[:resource_debug:[user_debug]] ]
|
.RB [ -D\ \&calc_debug[:resource_debug[:user_debug]] ]
|
||||||
.br
|
.br
|
||||||
.in +5n
|
.in +5n
|
||||||
.RB [ \-e ]
|
.RB [ \-e ]
|
||||||
@@ -53,7 +53,7 @@ calc \- arbitrary precision calculator
|
|||||||
.RB [ calc_cmd\ \&.\|.\|. ]
|
.RB [ calc_cmd\ \&.\|.\|. ]
|
||||||
.in -5n
|
.in -5n
|
||||||
.sp
|
.sp
|
||||||
\fI#!${BINDIR}/calc\fP\ \fB\-S\fP\ [\-other_flags\ \&...]
|
\fI#!${BINDIR}/calc\fP\ \fB\-S\fP\ [other_flags\ \&...]
|
||||||
.SH DESCRIPTION
|
.SH DESCRIPTION
|
||||||
\&
|
\&
|
||||||
.br
|
.br
|
||||||
@@ -89,7 +89,7 @@ cause
|
|||||||
to try to process each line being read
|
to try to process each line being read
|
||||||
despite the errors that it encounters.
|
despite the errors that it encounters.
|
||||||
.sp 1
|
.sp 1
|
||||||
By default, calc startup resource files ($CALCRC) are silently
|
By default, calc startup resource files are silently
|
||||||
ignored if not found.
|
ignored if not found.
|
||||||
This flag will report missing
|
This flag will report missing
|
||||||
startup resource files unless
|
startup resource files unless
|
||||||
@@ -103,10 +103,10 @@ Without
|
|||||||
this flag, calling the custom() builtin function will
|
this flag, calling the custom() builtin function will
|
||||||
simply generate an error.
|
simply generate an error.
|
||||||
.sp 1
|
.sp 1
|
||||||
Use if this flag may cause
|
Use of this flag may cause
|
||||||
.B calc
|
.B calc
|
||||||
to execute functions that
|
to execute functions
|
||||||
are non-standard and that are not portable. Custom builtin
|
that are non-standard and that are not portable. Custom builtin
|
||||||
functions are disabled by default for this reason.
|
functions are disabled by default for this reason.
|
||||||
|
|
||||||
.TP
|
.TP
|
||||||
@@ -147,14 +147,14 @@ It's nearly ten past six.
|
|||||||
.in -5n
|
.in -5n
|
||||||
.sp 1
|
.sp 1
|
||||||
This flag disables the reporting of missing calc
|
This flag disables the reporting of missing calc
|
||||||
startup resource files ($CALCRC).
|
startup resource files.
|
||||||
|
|
||||||
.TP
|
.TP
|
||||||
.BR -D " calc_debug[:resource_debug:[user_debug]]"
|
.BR -D " calc_debug[:resource_debug[:user_debug]]"
|
||||||
Force the initial value of config("calc_debug"),
|
Force the initial value of config("calc_debug"),
|
||||||
config("resource_debug") and config("user_debug").
|
config("resource_debug") and config("user_debug").
|
||||||
.sp 1
|
.sp 1
|
||||||
The : separated strings are interpreted as signed 32 bit values.
|
The : separated strings are interpreted as signed 32 bit integers.
|
||||||
After an optional leading sign a leading zero indicates octal
|
After an optional leading sign a leading zero indicates octal
|
||||||
conversion, and a leading ``0x'' or ``0X'' hexadecimal
|
conversion, and a leading ``0x'' or ``0X'' hexadecimal
|
||||||
conversion. Otherwise, decimal conversion is assumed.
|
conversion. Otherwise, decimal conversion is assumed.
|
||||||
@@ -197,14 +197,14 @@ See
|
|||||||
.TP
|
.TP
|
||||||
.B \-i
|
.B \-i
|
||||||
Become interactive if possible.
|
Become interactive if possible.
|
||||||
Be default, if
|
If
|
||||||
.I calc_cmd
|
.I calc_cmd
|
||||||
args are given,
|
args are given,
|
||||||
.B calc
|
.B calc
|
||||||
will execute them and exit.
|
by default, calc will execute them and exit.
|
||||||
This flag args are given,
|
This flag causes
|
||||||
.B calc
|
.B calc
|
||||||
will execute them and exit.
|
to drop into interactive mode after the commands are executed.
|
||||||
This flag will cause
|
This flag will cause
|
||||||
.B calc
|
.B calc
|
||||||
to drop into interactive mode after the
|
to drop into interactive mode after the
|
||||||
@@ -294,7 +294,7 @@ unknown mode.
|
|||||||
will attempt to read or write them if directed.
|
will attempt to read or write them if directed.
|
||||||
.sp 1
|
.sp 1
|
||||||
If the mode disables opening of files for reading, then
|
If the mode disables opening of files for reading, then
|
||||||
the startup resource files are disabled as of
|
the startup resource files are disabled as if
|
||||||
.B \-q
|
.B \-q
|
||||||
was given.
|
was given.
|
||||||
The reading of key bindings is also disabled
|
The reading of key bindings is also disabled
|
||||||
@@ -330,7 +330,7 @@ flag overrides
|
|||||||
|
|
||||||
.TP
|
.TP
|
||||||
.B \-q
|
.B \-q
|
||||||
Disable the use of the $CALCRC startup resource files.
|
Disable the reading of the startup scripts.
|
||||||
|
|
||||||
.TP
|
.TP
|
||||||
.B \-s
|
.B \-s
|
||||||
@@ -355,26 +355,20 @@ version number and exit.
|
|||||||
.br
|
.br
|
||||||
CALC COMMAND LINE
|
CALC COMMAND LINE
|
||||||
.PP
|
.PP
|
||||||
Without
|
With no
|
||||||
.IR calc_cmd ,
|
.I calc_cmd
|
||||||
|
arguments,
|
||||||
.B calc
|
.B calc
|
||||||
operates interactively.
|
operates interactively.
|
||||||
If one or more
|
If one or more
|
||||||
.I calc_cmd
|
arguments are given on the command line and
|
||||||
are given on the command line and
|
|
||||||
.B \-s
|
.B \-s
|
||||||
is NOT given, then
|
is NOT given, then
|
||||||
.B calc
|
.B calc
|
||||||
will evaluate and execute them and then exit.
|
will read and execute them and either attempt
|
||||||
.sp
|
to go interactive according as the
|
||||||
If
|
|
||||||
.B \-i
|
.B \-i
|
||||||
is given,
|
flag was present or absent.
|
||||||
.B calc
|
|
||||||
will attempt to become interactive
|
|
||||||
even of one or more
|
|
||||||
.I calc_cmd
|
|
||||||
are given on the command line.
|
|
||||||
.sp
|
.sp
|
||||||
If
|
If
|
||||||
.B \-s
|
.B \-s
|
||||||
@@ -384,32 +378,157 @@ will not evaluate any
|
|||||||
.I calc_cmd
|
.I calc_cmd
|
||||||
arguments but instead make them available
|
arguments but instead make them available
|
||||||
as strings to the argv() builtin function.
|
as strings to the argv() builtin function.
|
||||||
|
|
||||||
|
Sufficiently simple commands with no no characters like
|
||||||
|
parentheses, brackets, semicolons, '*', which have special
|
||||||
|
interpretations in UNIX shells may be entered, possibly with
|
||||||
|
spaces, until the terminating newline.
|
||||||
|
For example:
|
||||||
|
.sp 1
|
||||||
|
.in +5n
|
||||||
|
.nf
|
||||||
|
calc 23 + 47
|
||||||
|
.fi
|
||||||
|
.in -5n
|
||||||
|
.sp 1
|
||||||
|
should respond with display of 70, but
|
||||||
|
.sp 1
|
||||||
|
.in +5n
|
||||||
|
.nf
|
||||||
|
calc 23 * 47
|
||||||
|
.fi
|
||||||
|
.in -5n
|
||||||
|
.sp 1
|
||||||
|
may fail.
|
||||||
|
Such cases can usually be made to work as expected by
|
||||||
|
enclosing the command between single marks as in:
|
||||||
|
.sp 1
|
||||||
|
.in +5n
|
||||||
|
.nf
|
||||||
|
calc '23 * 47'
|
||||||
|
.fi
|
||||||
|
.in -5n
|
||||||
|
.sp 1
|
||||||
|
and
|
||||||
|
.sp 1
|
||||||
|
.in +5n
|
||||||
|
.nf
|
||||||
|
calc 'print sqrt(2), exp(1)'
|
||||||
|
.fi
|
||||||
|
.in -5n
|
||||||
|
.sp
|
||||||
|
If '!' is to be used to indicate the factorial function, for
|
||||||
|
shells like
|
||||||
|
.BI csh (1)
|
||||||
|
for which '!' followed by a non-space character
|
||||||
|
is used for history substitution, it may be necessary to
|
||||||
|
include a space or use a backslash to escape the special
|
||||||
|
meaning of '!'.
|
||||||
|
For example, the command:
|
||||||
|
.sp 1
|
||||||
|
.in +5n
|
||||||
|
.nf
|
||||||
|
print 27!^2
|
||||||
|
.fi
|
||||||
|
.in -5n
|
||||||
|
.sp 1
|
||||||
|
may have to be replaced by:
|
||||||
|
.sp 1
|
||||||
|
.in +5n
|
||||||
|
.nf
|
||||||
|
print 27! ^2 or print 27\!^2
|
||||||
|
.fi
|
||||||
|
.in -5n
|
||||||
|
|
||||||
|
\&
|
||||||
|
.br
|
||||||
|
CALC STARTUP FILES
|
||||||
.PP
|
.PP
|
||||||
Normally on startup,
|
Normally on startup,
|
||||||
|
if the environment variable
|
||||||
|
.B $CALCRC
|
||||||
|
is undefined and
|
||||||
.B calc
|
.B calc
|
||||||
attempts to execute a collection of
|
is invoked without the
|
||||||
startup resource files.
|
|
||||||
The environment variable $CALCRC (if non-existent
|
|
||||||
then a compiled in value) contains a : separated list of startup
|
|
||||||
resource files.
|
|
||||||
No error conditions are produced if these startup
|
|
||||||
resource files are not found.
|
|
||||||
.PP
|
|
||||||
If the mode disables opening of files for reading, then the startup
|
|
||||||
resource files are disabled as of
|
|
||||||
.B \-q
|
.B \-q
|
||||||
was given and $CALCRC as well
|
flag, or if
|
||||||
as the default compiled in value are ignored.
|
.B $CALCRC
|
||||||
|
is defined and calc is invoked with
|
||||||
|
.BR \-e ,
|
||||||
|
.B calc
|
||||||
|
looks for a file "startup" in the calc resource directory
|
||||||
|
.B .calcrc
|
||||||
|
in the user's home directory, and
|
||||||
|
.B .calcinit in the current directory.
|
||||||
|
If one or more of these are found, they are read in succession as
|
||||||
|
.B calc
|
||||||
|
scripts and their commands executed.
|
||||||
|
When defined,
|
||||||
|
.B $CALCRC
|
||||||
|
is to contain a ':' separated list of names of files,
|
||||||
|
and if calc is then invoked without either the
|
||||||
|
.B \-q
|
||||||
|
or
|
||||||
|
.B \-e
|
||||||
|
flags, these files are read in succession and their commands executed.
|
||||||
|
No error condition is produced if a listed file is not found.
|
||||||
|
.sp
|
||||||
|
If the mode specified by
|
||||||
|
.B \-m
|
||||||
|
disables opening of files for reading, then the reading of startup
|
||||||
|
files is also disabled as if
|
||||||
|
.B \-q
|
||||||
|
was given.
|
||||||
|
|
||||||
|
\&
|
||||||
|
.br
|
||||||
|
CALC FILE SEARCH PATH
|
||||||
.PP
|
.PP
|
||||||
Filenames are subject to ``~'' expansion (see below).
|
If the environment variable
|
||||||
The
|
.B $CALCPATH
|
||||||
environment variable $CALCPATH (if non-existent then a compiled in
|
is undefined, or if it
|
||||||
value) contains a : separated list of search directories.
|
is defined and
|
||||||
If a
|
.B calc
|
||||||
file does not begin with /, ~ or ./, then it is searched for under
|
is invoked with the
|
||||||
each directory listed in the $CALCPATH.
|
.B \-e
|
||||||
It is an error if no such
|
flag, when a file name not beginning with
|
||||||
readable file is found.
|
.BR / ,
|
||||||
|
.B ~
|
||||||
|
or
|
||||||
|
.BR ./ ,
|
||||||
|
is specified as in:
|
||||||
|
.sp 1
|
||||||
|
.in +5n
|
||||||
|
.nf
|
||||||
|
calc read myfile
|
||||||
|
.fi
|
||||||
|
.in -5n
|
||||||
|
.sp 1
|
||||||
|
.B calc
|
||||||
|
searches in succession:
|
||||||
|
.sp 1
|
||||||
|
.in +5n
|
||||||
|
.nf
|
||||||
|
./myfile
|
||||||
|
./myfile.cal
|
||||||
|
${LIBDIR}/myfile
|
||||||
|
${LIBDIR}/myfile.cal
|
||||||
|
${CUSTOMLIBDIR}/myfile
|
||||||
|
${CUSTOMLIBDIR}/myfile.cal
|
||||||
|
.fi
|
||||||
|
.in -5n
|
||||||
|
.sp 1
|
||||||
|
If the file is found, the
|
||||||
|
search stops and the commands in the file are executed.
|
||||||
|
It is an error if no readable file with the specified name is found.
|
||||||
|
An alternative search path can be specified by defining
|
||||||
|
.B $CALCPATH
|
||||||
|
in the same way as PATH is defined, as a ':' separated
|
||||||
|
list of directories, and then invoking
|
||||||
|
.B calc
|
||||||
|
without the
|
||||||
|
.B \-e
|
||||||
|
flag.
|
||||||
.PP
|
.PP
|
||||||
.B Calc
|
.B Calc
|
||||||
treats all open files, other than stdin, stdout and
|
treats all open files, other than stdin, stdout and
|
||||||
@@ -447,11 +566,17 @@ help config
|
|||||||
.br
|
.br
|
||||||
SHELL SCRIPT MODE
|
SHELL SCRIPT MODE
|
||||||
.PP
|
.PP
|
||||||
If an executable file begins with:
|
If first line of an executable file begins
|
||||||
|
.B #!
|
||||||
|
followed by the absolute pathname of the
|
||||||
|
.B calc
|
||||||
|
program and the flag
|
||||||
|
.B \-S
|
||||||
|
as in:
|
||||||
.sp 1
|
.sp 1
|
||||||
.in +5n
|
.in +5n
|
||||||
.nf
|
.nf
|
||||||
\fI#!${BINDIR}/calc\fP\ \fB\-S\fP\ [\-other_flags\ \&...]
|
\fI#!${BINDIR}/calc\fP\ \fB\-S\fP\ [other_flags\ \&...]
|
||||||
.fi
|
.fi
|
||||||
.in -5n
|
.in -5n
|
||||||
.sp 1
|
.sp 1
|
||||||
@@ -462,19 +587,22 @@ Note that
|
|||||||
(UPPER CASE
|
(UPPER CASE
|
||||||
.BR \-S )
|
.BR \-S )
|
||||||
must be the first \-flag on the ``#!'' line.
|
must be the first \-flag on the ``#!'' line.
|
||||||
Any other optional ``\-other_flags'' must come after
|
Any other optional
|
||||||
|
.B "other_flags"
|
||||||
|
must come after
|
||||||
the
|
the
|
||||||
.BR \-S .
|
.BR \-S .
|
||||||
.sp 1
|
.sp 1
|
||||||
In
|
In
|
||||||
.B "shell script mode"
|
.B "shell script mode"
|
||||||
the contents of the file
|
the contents of the file are read and
|
||||||
are evaluated and executed as if they were processed
|
executed as if they were in a file being processed by a read
|
||||||
by the
|
command, except that a "command" beginning with '#' followed by
|
||||||
.B read
|
whitespace and ending at the next newline is treated as a comment.
|
||||||
command.
|
Any optional
|
||||||
Any optional ``\-other_flags'' will by parsed first
|
.B "other_flags"
|
||||||
followed by any arguments given shell script itself.
|
will be parsed first followed by
|
||||||
|
the later lines within the script itself.
|
||||||
.sp 1
|
.sp 1
|
||||||
In
|
In
|
||||||
.BR "shell script mode" ,
|
.BR "shell script mode" ,
|
||||||
|
20
help.c
20
help.c
@@ -17,8 +17,8 @@
|
|||||||
* received a copy with calc; if not, write to Free Software Foundation, Inc.
|
* received a copy with calc; if not, write to Free Software Foundation, Inc.
|
||||||
* 59 Temple Place, Suite 330, Boston, MA 02111-1307, USA.
|
* 59 Temple Place, Suite 330, Boston, MA 02111-1307, USA.
|
||||||
*
|
*
|
||||||
* @(#) $Revision: 29.1 $
|
* @(#) $Revision: 29.2 $
|
||||||
* @(#) $Id: help.c,v 29.1 1999/12/14 09:15:40 chongo Exp $
|
* @(#) $Id: help.c,v 29.2 1999/12/17 09:22:03 chongo Exp $
|
||||||
* @(#) $Source: /usr/local/src/cmd/calc/RCS/help.c,v $
|
* @(#) $Source: /usr/local/src/cmd/calc/RCS/help.c,v $
|
||||||
*
|
*
|
||||||
* Under source code control: 1997/09/14 10:58:30
|
* Under source code control: 1997/09/14 10:58:30
|
||||||
@@ -253,19 +253,15 @@ givehelp(char *type)
|
|||||||
stream = fopen(helppath, "r");
|
stream = fopen(helppath, "r");
|
||||||
if (stream == NULL) {
|
if (stream == NULL) {
|
||||||
|
|
||||||
/*
|
/* no such help file */
|
||||||
* we have the help file open, now display it
|
|
||||||
*/
|
|
||||||
page_file(stream);
|
|
||||||
(void) fclose(stream);
|
|
||||||
|
|
||||||
/*
|
|
||||||
* no such help file
|
|
||||||
*/
|
|
||||||
} else {
|
|
||||||
fprintf(stderr,
|
fprintf(stderr,
|
||||||
"%s: no such help file, try: help help\n",
|
"%s: no such help file, try: help help\n",
|
||||||
type);
|
type);
|
||||||
|
} else {
|
||||||
|
|
||||||
|
/* we have the help file open, now display it */
|
||||||
|
page_file(stream);
|
||||||
|
(void) fclose(stream);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
150
help/usage
150
help/usage
@@ -2,11 +2,11 @@ Calc command line
|
|||||||
|
|
||||||
Calc has the following command line:
|
Calc has the following command line:
|
||||||
|
|
||||||
calc [-c] [-C] [-d] [-D calc_debug[:resource_debug:[user_debug]]]
|
calc [-c] [-C] [-d] [-D calc_debug[:resource_debug[:user_debug]]]
|
||||||
[-e] [-h] [-i] [-m mode] [-n] [-p] [-q] [-s] [-u] [-v]
|
[-e] [-h] [-i] [-m mode] [-n] [-p] [-q] [-s] [-u] [-v]
|
||||||
[calc_cmd ...]
|
[calc_cmd ...]
|
||||||
|
|
||||||
#!/usr/local/bin/calc -S [-other_flags ...]
|
#!/usr/local/bin/calc -S [other_flags]
|
||||||
|
|
||||||
-c Continue reading command lines even after an execution
|
-c Continue reading command lines even after an execution
|
||||||
error has caused the abandonment of a line.
|
error has caused the abandonment of a line.
|
||||||
@@ -22,7 +22,7 @@ Calc command line
|
|||||||
will cause calc to try to process each line being read
|
will cause calc to try to process each line being read
|
||||||
despite the errors that it encounters.
|
despite the errors that it encounters.
|
||||||
|
|
||||||
By default, calc startup resource files ($CALCRC) are
|
By default, calc startup resource files are
|
||||||
silently ignored if not found. This flag will report
|
silently ignored if not found. This flag will report
|
||||||
missing startup scripts unless -d is also given.
|
missing startup scripts unless -d is also given.
|
||||||
|
|
||||||
@@ -31,7 +31,7 @@ Calc command line
|
|||||||
Without this flag, calling the custom() builtin
|
Without this flag, calling the custom() builtin
|
||||||
function will simply generate an error.
|
function will simply generate an error.
|
||||||
|
|
||||||
Use if this flag may cause calc to execute functions
|
Use of this flag may cause calc to execute functions
|
||||||
that are non-standard and that are not portable.
|
that are non-standard and that are not portable.
|
||||||
Custom builtin functions are disabled by default for
|
Custom builtin functions are disabled by default for
|
||||||
this reason.
|
this reason.
|
||||||
@@ -60,7 +60,7 @@ Calc command line
|
|||||||
It's nearly ten past six.
|
It's nearly ten past six.
|
||||||
|
|
||||||
This flag disables the reporting of missing calc
|
This flag disables the reporting of missing calc
|
||||||
startup scripts ($CALCRC).
|
startup scripts.
|
||||||
|
|
||||||
|
|
||||||
-D calc_debug[:resource_debug:[user_debug]]
|
-D calc_debug[:resource_debug:[user_debug]]
|
||||||
@@ -68,7 +68,7 @@ Calc command line
|
|||||||
config("resource_debug") and config("user_debug").
|
config("resource_debug") and config("user_debug").
|
||||||
|
|
||||||
The : separated strings are interpreted as signed 32
|
The : separated strings are interpreted as signed 32
|
||||||
bit values. After an optional leading sign a leading
|
bit integers. After an optional leading sign a leading
|
||||||
zero indicates octal conversion, and a leading ``0x''
|
zero indicates octal conversion, and a leading ``0x''
|
||||||
or ``0X'' hexadecimal conversion. Otherwise, decimal
|
or ``0X'' hexadecimal conversion. Otherwise, decimal
|
||||||
conversion is assumed.
|
conversion is assumed.
|
||||||
@@ -91,11 +91,10 @@ Calc command line
|
|||||||
-m.
|
-m.
|
||||||
|
|
||||||
|
|
||||||
-i Become interactive if possible. Be default, if
|
-i Become interactive if possible. If calc_cmd args are given,
|
||||||
calc_cmd args are given, calc will execute them and
|
by default, calc will execute them and exit. This flag causes
|
||||||
exit. This flag args are given, calc will execute them
|
calc to drop into interactive mode after the commands are
|
||||||
and exit. This flag will cause calc to drop into
|
executed.
|
||||||
interactive mode after the commands are executed.
|
|
||||||
|
|
||||||
For example:
|
For example:
|
||||||
|
|
||||||
@@ -144,7 +143,7 @@ Calc command line
|
|||||||
if directed.
|
if directed.
|
||||||
|
|
||||||
If the mode disables opening of files for reading, then
|
If the mode disables opening of files for reading, then
|
||||||
the startup resource files are disabled as of -q was
|
the startup resource files are disabled as if -q was
|
||||||
given. The reading of key bindings is also disabled
|
given. The reading of key bindings is also disabled
|
||||||
when the mode disables opening of files for reading.
|
when the mode disables opening of files for reading.
|
||||||
|
|
||||||
@@ -163,7 +162,7 @@ Calc command line
|
|||||||
The -p flag overrides -i.
|
The -p flag overrides -i.
|
||||||
|
|
||||||
|
|
||||||
-q Disable the use of the $CALCRC startup scripts.
|
-q Disable the reading of the startup scripts.
|
||||||
|
|
||||||
|
|
||||||
-s By default, all calc_cmd args are evaluated and
|
-s By default, all calc_cmd args are evaluated and
|
||||||
@@ -178,39 +177,87 @@ Calc command line
|
|||||||
-v Print the calc version number and exit.
|
-v Print the calc version number and exit.
|
||||||
|
|
||||||
|
|
||||||
CALC COMMAND LINE
|
CALC COMMAND ARGUMENTS
|
||||||
|
|
||||||
Without calc_cmd, calc operates interactively. If one or
|
With no calc_cmd arguments, calc operates interactively. If one
|
||||||
more calc_cmd are given on the command line and -s is NOT
|
or more arguments are given on the command line and -s is NOT
|
||||||
given, then calc will evaluate and execute them and then
|
given, then calc will read and execute them and either attempt
|
||||||
exit.
|
to go interactive according as the -i flag was present or absent.
|
||||||
|
|
||||||
If -i is given, calc will attempt to become interactive even
|
|
||||||
of one or more calc_cmd are given on the command line.
|
|
||||||
|
|
||||||
If -s is given, calc will not evaluate any calc_cmd
|
If -s is given, calc will not evaluate any calc_cmd
|
||||||
arguments but instead make them available as strings to the
|
arguments but instead make them available as strings to the
|
||||||
argv() builtin function.
|
argv() builtin function.
|
||||||
|
|
||||||
Normally on startup, calc attempts to execute a collection
|
Sufficiently simple commands with no no characters like
|
||||||
of resource files. The environment variable $CALCRC (if
|
parentheses, brackets, semicolons, '*', which have special
|
||||||
non-existent then a compiled in value) contains a
|
interpretations in UNIX commands may be entered, possibly with
|
||||||
: separated list of startup resource files. No error
|
spaces, until the terminating newline. For example:
|
||||||
conditions are produced if these startup resource file are
|
|
||||||
not found.
|
|
||||||
|
|
||||||
If the mode disables opening of files for reading, then the
|
calc 23 + 47
|
||||||
startup resource files are disabled as of -q was given and
|
|
||||||
$CALCRC as well as the default compiled in value are
|
|
||||||
ignored.
|
|
||||||
|
|
||||||
Filenames are subject to ``~'' expansion (see below). The
|
should respond with display of 70, but:
|
||||||
environment variable $CALCPATH (if non-existent then a
|
|
||||||
compiled in value) contains a : separated list of search
|
calc 23 * 47
|
||||||
directories. If a file does not begin with /, ~ or ./, then
|
|
||||||
it is searched for under each directory listed in the
|
may fail. Such cases can usually be made to work as expected by
|
||||||
$CALCPATH. It is an error if no such readable file is
|
enclosing the command between single quotation marks as in:
|
||||||
found.
|
|
||||||
|
calc '23 * 47'
|
||||||
|
|
||||||
|
and
|
||||||
|
|
||||||
|
calc 'print sqrt(2), exp(1)'
|
||||||
|
|
||||||
|
If '!' is to be used to indicate the factorial function, for
|
||||||
|
shells like csh for which '!' followed by a non-space character
|
||||||
|
is used for history substitution, it may be necessary to
|
||||||
|
include a space or use a backslash to escape the special
|
||||||
|
meaning of '!'. For example, the command "print 27!^2" may have
|
||||||
|
to be replaced by "print 27! ^2" or "print 27\!^2".
|
||||||
|
|
||||||
|
|
||||||
|
CALC STARTUP FILES
|
||||||
|
|
||||||
|
Normally on startup, if the environment variable $CALCRC is
|
||||||
|
undefined and calc is invoked without the -q flag, or if
|
||||||
|
$CALCRC is defined and calc is invoked with -e, calc looks
|
||||||
|
for a file "startup" in the calc resource directory, .calcrc in
|
||||||
|
the user's home directory, and .calcinit in the current directory.
|
||||||
|
If one or more of these are found, they are read in succession
|
||||||
|
as calc scripts and their commands executed. When defined,
|
||||||
|
$CALCRC is to contain a ':' separated list of names of files,
|
||||||
|
and if calc is then invoked without either the -q or -e flags,
|
||||||
|
these files are read in succession and their commands executed.
|
||||||
|
No error condition is produced if a listed file is not found.
|
||||||
|
|
||||||
|
If the mode specified by -m disables opening of files for
|
||||||
|
reading, then the reading of startup files is also disabled
|
||||||
|
as if -q was given.
|
||||||
|
|
||||||
|
|
||||||
|
CALC FILE SEARCH PATH
|
||||||
|
|
||||||
|
If the environment variable $CALCPATH is undefined, or if it
|
||||||
|
is defined and calc is invoked with the -e flag, when a file
|
||||||
|
name not beginning with /, ~ or ./, is specified as in:
|
||||||
|
|
||||||
|
calc read myfile
|
||||||
|
|
||||||
|
calc searches in succession:
|
||||||
|
|
||||||
|
./myfile
|
||||||
|
./myfile.cal
|
||||||
|
${LIBDIR}/myfile
|
||||||
|
${LIBDIR}/myfile.cal
|
||||||
|
${CUSTOMLIBDIR}/myfile
|
||||||
|
${CUSTOMLIBDIR}/myfile.cal
|
||||||
|
|
||||||
|
If the file is found, the search stops and the commands in
|
||||||
|
the file are executed. It is an error if no readable file
|
||||||
|
with the specified name is found. An alternative search
|
||||||
|
path can be specified by defining $CALCPATH in the same way
|
||||||
|
as PATH is defined, as a ':' separated list of directories,
|
||||||
|
and then invoking calc without the -e flag.
|
||||||
|
|
||||||
Calc treats all open files, other than stdin, stdout and
|
Calc treats all open files, other than stdin, stdout and
|
||||||
stderr as files available for reading and writing. One may
|
stderr as files available for reading and writing. One may
|
||||||
@@ -222,21 +269,24 @@ Calc command line
|
|||||||
|
|
||||||
SHELL SCRIPT MODE
|
SHELL SCRIPT MODE
|
||||||
|
|
||||||
If an executable file begins with:
|
If first line of an executable file begins #! followed by the
|
||||||
|
absolute pathname of the calc program and the flag -S as in
|
||||||
|
|
||||||
#!/usr/local/bin/calc -S [-other_flags ...]
|
#!/usr/local/bin/calc -S [other_flags]
|
||||||
|
|
||||||
the rest of the file will be processed in shell script mode.
|
the rest of the file will be processed in shell script mode.
|
||||||
Note that -S (UPPER CASE -S) must be the first -flag on the
|
Note that -S (UPPER CASE S) must be the first -flag on the
|
||||||
``#!'' line. Any other optional ``-other_flags'' must come
|
``#!'' line. Any optional ``other_flags'' must come after
|
||||||
after the -S.
|
the -S.
|
||||||
|
|
||||||
In shell script mode the contents of the file are evaluated
|
In shell script mode the contents of the file are read and
|
||||||
and executed as if they were processed by the read command.
|
executed as if they were in a file being processed by a read
|
||||||
Any optional ``-other_flags'' will by parsed first followed
|
command, except that a "command" beginning with '#' followed by
|
||||||
by any arguments given shell script itself.
|
whitespace and ending at the next newline is treated as a comment.
|
||||||
|
Any optional ``other_flags'' will be parsed first followed by
|
||||||
|
the later lines within the script itself.
|
||||||
|
|
||||||
In shell script mode, -s (lower case -s) is always assumed.
|
In shell script mode, -s (lower case s) is always assumed.
|
||||||
In addition, -d and -p are automatically set if -i is not
|
In addition, -d and -p are automatically set if -i is not
|
||||||
given.
|
given.
|
||||||
|
|
||||||
@@ -303,8 +353,8 @@ For more information use the following calc commands:
|
|||||||
## received a copy with calc; if not, write to Free Software Foundation, Inc.
|
## received a copy with calc; if not, write to Free Software Foundation, Inc.
|
||||||
## 59 Temple Place, Suite 330, Boston, MA 02111-1307, USA.
|
## 59 Temple Place, Suite 330, Boston, MA 02111-1307, USA.
|
||||||
##
|
##
|
||||||
## @(#) $Revision: 29.1 $
|
## @(#) $Revision: 29.2 $
|
||||||
## @(#) $Id: usage,v 29.1 1999/12/14 09:16:10 chongo Exp $
|
## @(#) $Id: usage,v 29.2 1999/12/17 10:05:20 chongo Exp $
|
||||||
## @(#) $Source: /usr/local/src/cmd/calc/help/RCS/usage,v $
|
## @(#) $Source: /usr/local/src/cmd/calc/help/RCS/usage,v $
|
||||||
##
|
##
|
||||||
## Under source code control: 1991/07/21 04:37:25
|
## Under source code control: 1991/07/21 04:37:25
|
||||||
|
13
token.c
13
token.c
@@ -19,8 +19,8 @@
|
|||||||
* received a copy with calc; if not, write to Free Software Foundation, Inc.
|
* received a copy with calc; if not, write to Free Software Foundation, Inc.
|
||||||
* 59 Temple Place, Suite 330, Boston, MA 02111-1307, USA.
|
* 59 Temple Place, Suite 330, Boston, MA 02111-1307, USA.
|
||||||
*
|
*
|
||||||
* @(#) $Revision: 29.1 $
|
* @(#) $Revision: 29.2 $
|
||||||
* @(#) $Id: token.c,v 29.1 1999/12/14 09:16:16 chongo Exp $
|
* @(#) $Id: token.c,v 29.2 1999/12/17 09:22:38 chongo Exp $
|
||||||
* @(#) $Source: /usr/local/src/cmd/calc/RCS/token.c,v $
|
* @(#) $Source: /usr/local/src/cmd/calc/RCS/token.c,v $
|
||||||
*
|
*
|
||||||
* Under source code control: 1990/02/15 01:48:25
|
* Under source code control: 1990/02/15 01:48:25
|
||||||
@@ -335,10 +335,11 @@ gettoken(void)
|
|||||||
switch(nextchar()) {
|
switch(nextchar()) {
|
||||||
case '=': type = T_HASHEQUALS; break;
|
case '=': type = T_HASHEQUALS; break;
|
||||||
case '!': type = T_POUNDBANG; eatline(); break;
|
case '!': type = T_POUNDBANG; eatline(); break;
|
||||||
case ' ': type = T_POUNDCOMMENT; eatline();
|
case '#':
|
||||||
break;
|
case ' ':
|
||||||
case '\t': type = T_POUNDCOMMENT; eatline();
|
case '\t':
|
||||||
break;
|
type = T_POUNDCOMMENT; eatline();
|
||||||
|
break;
|
||||||
case '\n': type = T_POUNDCOMMENT; break;
|
case '\n': type = T_POUNDCOMMENT; break;
|
||||||
default: type = T_HASH; reread();
|
default: type = T_HASH; reread();
|
||||||
}
|
}
|
||||||
|
@@ -19,8 +19,8 @@
|
|||||||
* received a copy with calc; if not, write to Free Software Foundation, Inc.
|
* received a copy with calc; if not, write to Free Software Foundation, Inc.
|
||||||
* 59 Temple Place, Suite 330, Boston, MA 02111-1307, USA.
|
* 59 Temple Place, Suite 330, Boston, MA 02111-1307, USA.
|
||||||
*
|
*
|
||||||
* @(#) $Revision: 29.3 $
|
* @(#) $Revision: 29.4 $
|
||||||
* @(#) $Id: version.c,v 29.3 1999/12/15 09:13:59 chongo Exp $
|
* @(#) $Id: version.c,v 29.4 1999/12/17 10:06:46 chongo Exp $
|
||||||
* @(#) $Source: /usr/local/src/cmd/calc/RCS/version.c,v $
|
* @(#) $Source: /usr/local/src/cmd/calc/RCS/version.c,v $
|
||||||
*
|
*
|
||||||
* Under source code control: 1990/05/22 11:00:58
|
* Under source code control: 1990/05/22 11:00:58
|
||||||
@@ -43,7 +43,7 @@ static char *program;
|
|||||||
#define MAJOR_VER 2 /* major version */
|
#define MAJOR_VER 2 /* major version */
|
||||||
#define MINOR_VER 11 /* minor version */
|
#define MINOR_VER 11 /* minor version */
|
||||||
#define MAJOR_PATCH 1 /* patch level or 0 if no patch */
|
#define MAJOR_PATCH 1 /* patch level or 0 if no patch */
|
||||||
#define MINOR_PATCH "1" /* test number or empty string if no patch */
|
#define MINOR_PATCH "2" /* test number or empty string if no patch */
|
||||||
|
|
||||||
/*
|
/*
|
||||||
* calc version constants
|
* calc version constants
|
||||||
|
Reference in New Issue
Block a user