Diff for /freem/doc/freem.1 between versions 1.2 and 1.11

version 1.2, 2025/03/09 15:20:18 version 1.11, 2025/05/02 16:25:46
Line 2 Line 2
 .\"   1) Install this file along with the other subject.1 files in your  .\"   1) Install this file along with the other subject.1 files in your
 .\"      system's man1 directory (usually this is /usr/man/man1) and  .\"      system's man1 directory (usually this is /usr/man/man1) and
 .\"      enter the command:  .\"      enter the command:
 .\"        man mumps  .\"        man freem
 .\"   or  .\"   or
 .\"   2) Specify the input (this file) and the output (your favorite pager)  .\"   2) Specify the input (this file) and the output (your favorite pager)
 .\"      explicitly.  For example, if this file is in your current working  .\"      explicitly.  For example, if this file is in your current working
 .\"      directory, you can use the following to view the formatted man page  .\"      directory, you can use the following to view the formatted man page
 .\"      using the "less" pager:  .\"      using the "less" pager:
 .\"        man ./mumps.1 | less  .\"        man ./freem.1 | less
 .\"  .\"
 .\" To print this man page to a PostScript printer:  .\" To print this man page to a PostScript printer:
 .\"   man -t ./mumps.1 | lpr  .\"   man -t ./freem.1 | lpr
 .\"  .\"
 .\"   freem.1  .\"   $Id$
 .\"    FreeM man page  .\"    FreeM man page
 .\"  .\"
 .\"    .\"  
 .\"   Author: Serena Willis <snw@coherent-logic.com>  .\"   Author: Serena Willis <snw@coherent-logic.com>
 .\"    Copyright (C) 1998 MUG Deutschland  .\"    Copyright (C) 1998 MUG Deutschland
 .\"    Copyright (C) 2020 Coherent Logic Development LLC  .\"    Copyright (C) 2020, 2025 Coherent Logic Development LLC
 .\"  .\"
 .\"  .\"
 .\"   This file is part of FreeM.  .\"   This file is part of FreeM.
Line 37 Line 37
 .\"   You should have received a copy of the GNU Affero Public License  .\"   You should have received a copy of the GNU Affero Public License
 .\"   along with FreeM.  If not, see <https://www.gnu.org/licenses/>.  .\"   along with FreeM.  If not, see <https://www.gnu.org/licenses/>.
 .\"  .\"
   .\"   $Log$
   .\"   Revision 1.11  2025/05/02 16:25:46  snw
   .\"   -m
 .\"  .\"
   .\"   Revision 1.10  2025/04/28 14:52:54  snw
   .\"   Temporarily revert global handler refactor and fix reference regression in xecline
 .\"  .\"
 .TH freem 1 "20 August 2021" FreeM "FreeM User Manual"  .\"   Revision 1.9  2025/04/18 22:12:29  snw
   .\"   Fix texinfo bogosity and add subjects to man pages
   .\"
   .\"   Revision 1.8  2025/04/18 01:23:05  snw
   .\"   More documentation updates
   .\"
   .\"   Revision 1.7  2025/04/17 17:57:35  snw
   .\"   Major updates to man pages
   .\"
   .\"   Revision 1.6  2025/04/17 15:08:24  snw
   .\"   Add documentation on FREEM_LOG_THRESHOLD environment variables to man pages
   .\"
   .\"   Revision 1.5  2025/04/04 12:49:19  snw
   .\"   Dollar signs cut off in ENVIRONMENT sections of both man pages
   .\"
   .\"   Revision 1.4  2025/04/03 15:56:41  snw
   .\"   Add fmadm man page to CVS
   .\"
   .\"
   .TH freem 1 "3 April 2025" FreeM "FreeM User Manual"
 .SH NAME  .SH NAME
 freem  freem - FreeM programming language interpreter
 .SH SYNOPSIS  .SH SYNOPSIS
 .B freem [OPTION...]  .B freem [OPTION...]
 .SH DESCRIPTION  .SH DESCRIPTION
Line 57  After years of dormancy, the FreeM proje Line 81  After years of dormancy, the FreeM proje
   
 More information is available at https://freem.coherent-logic.com/  More information is available at https://freem.coherent-logic.com/
   
 Please see the FreeM texinfo documentation for language, database, and administration details ("info freem").  Please see the FreeM
   \fIinfo\fR documentation for language, database, and administration details.
 .SH OPTIONS  .SH OPTIONS
 .TP  .TP
 \-c, --config  
 Specify a configuration file other than the default.  
 .TP  
 \-h, --help  \-h, --help
 Display a list of valid FreeM command-line options.  .RS 4
   Display a list of freem command-line flags
   .RE
 .TP  .TP
 \-i, --import  \-i, --import
 Causes your UNIX environment variables to be imported into FreeM's local symbol table.  .RS 4
   Imports UNIX environment variables as M locals
   .RE
   .TP
   \-e <environment-name>, --environment=<environment-name>
   .RS 4
   Sets active environment to
   \fI<environment-name>\fR;
   \fIDEFAULT\fR if unspecified
   .RE
 .TP  .TP
 \-f, --filter  \-f, --filter
 Allows your MUMPS code to be used as a UNIX filter.  .RS 4
   Allows M code to be used as a filter
   .RE
 .TP  .TP
 \-n <NAMESPACE>, --namespace=<NAMESPACE>  \-n <NAMESPACE>, --namespace=<NAMESPACE>
 Selects <NAMESPACE> as the startup namespace instead of USER.  .RS 4
   Selects
   \fI<NAMESPACE>\fR as the startup namespace instead of
   \fIUSER\fR
   .RE
 .TP  .TP
 \-q, --quiet  \-q, --quiet
 Disables startup messages and direct-mode prompt string.  .RS 4
   Disables startup messages and prompt string
   .RE
 .TP  .TP
 \-r <ENTRY^ROUTINE>, --routine=<ENTRY^ROUTINE>  \-r <LABEL^ROUTINE>, --routine=<LABEL^ROUTINE>
 Causes <ENTRY^ROUTINE> to be executed at startup, instead of ^%ZFREEM.  .RS 4
   Executes
   \fI<LABEL^ROUTINE>\fR on startup instead of entering direct mode
   .RE
   .TP
   \-s <standard>, --standard=<standard>
   .RS 4
   Restricts access to FreeM vendor extensions not present in relevant standards
   \fI*\fR. In this flag,
   \fI<standard>\fR can be:
   .sp
   .RS 4
   .ie n \{\
   \h'-04'\(bu\h'+03'\c
   .\}
   .el \{\
   .sp -1
   .IP \(bu 2.3
   .\}
   M77
   .RE
   .sp
   .RS 4
   .ie n \{\
   \h'-04'\(bu\h'+03'\c
   .\}
   .el \{\
   .sp -1
   .IP \(bu 2.3
   .\}
   M84
   .RE
   .sp
   .RS 4
   .ie n \{\
   \h'-04'\(bu\h'+03'\c
   .\}
   .el \{\
   .sp -1
   .IP \(bu 2.3
   .\}
   M90
   .RE
   .sp
   .RS 4
   .ie n \{\
   \h'-04'\(bu\h'+03'\c
   .\}
   .el \{\
   .sp -1
   .IP \(bu 2.3
   .\}
   M95
   .RE
   .sp
   .RS 4
   .ie n \{\
   \h'-04'\(bu\h'+03'\c
   .\}
   .el \{\
   .sp -1
   .IP \(bu 2.3
   .\}
   MDS
   .RE
   .sp
   .RS 4
   .ie n \{\
   \h'-04'\(bu\h'+03'\c
   .\}
   .el \{\
   .sp -1
   .IP \(bu 2.3
   .\}
   M5
   .RE
   .sp
   .RS 4
   .ie n \{\
   \h'-04'\(bu\h'+03'\c
   .\}
   .el \{\
   .sp -1
   .IP \(bu 2.3
   .\}
   FREEM
   
   .RE
   \fB*\fR FreeM is not entirely compliant with any MDC standard, regardless of the value of the
   \fI--standard\fR command-line flag.
   
   See the
   \fBCompliance Clause\fR on the FreeM Wiki for more information on FreeM's deviations from MDC standards.
   .RE
 .TP  .TP
 \-v, --version  \-v, --version
 Displays FreeM version information.  Display FreeM version information
 .TP  .TP
 \-x <MCODE>, --execute=<MCODE>  \-x <MCODE>, --execute=<MCODE>
 Executes M code <MCODE> at startup, instead of ^%ZFREEM.  Execute M code
   \fI<MCODE>\fR on startup
   .TP
   \-d, --daemon
   Run the FreeM daemon (one and only one FreeM daemon must always be running for each configured environment)
   .TP
   \-k, --nofork
   Run the FreeM daemon in foreground (requires
   \fI--daemon\fR)
   .TP
   \-S <BYTES>, --shmsize=<BYTES>
   Sets the size of the shared memory segment where FreeM stores the job table, lock table, and IPC table.
    - Each concurrent job takes 1024 bytes (1 page) of shared memory
    - Each LOCK takes 2048 bytes (2 pages) of shared memory
    - Each IPC takes 1024 bytes (1 page) of shared memory
 .SH "RETURN VALUES"  .SH "RETURN VALUES"
 Returns 0 for non-error condition.  Returns 0 for non-error condition.
 .SH FILES  .SH FILES
 .TP  .TP
   env.conf
   The FreeM environment catalog. Normally located in
   \fI$PREFIX/etc/freem/env.conf\fR
   .TP
 freem.conf  freem.conf
 The FreeM configuration file. Normally located in $PREFIX/etc/freem.conf.  The FreeM configuration file. Normally located in
   \fI$PREFIX/etc/freem/<environment-name>/freem.conf\fR
 .SH ENVIRONMENT  .SH ENVIRONMENT
 There may be some environment variables that affect the operation of these programs.  .TP
   $DISPLAY
   Determines the value of the
   \fI$PDISPLAY\fR intrinsic special variable. This determines the X11 display used by the M Windowing API. Only applies when FreeM is built with the
   \fI--enable-mwapi\fR configuration option.
   .TP
   $TERM
   Used by the
   \fI^$DEVICE\fR structured system variable to provide the
   \fITERMID\fR value for I/O channel 0.
   .TP
   $FREEM_LOG_THRESHOLD_FILE
   Overrides the configured threshold at which log messages are written to files in
   \fI/var/log/freem\fR, corresponding to the
   \fIlog_threshold_file\fR environment setting in
   \fI$PREFIX/etc/env.conf\fR. The default value is
   \fIinfo\fR.
   .TP
   $FREEM_LOG_THRESHOLD_SYSLOG
   Overrides the configured threshold at which log messages are sent to the
   \fIsyslog\fR facility on systems that support it, corresponding to the
   \fIlog_threshold_syslog\fR environment setting in
   \fI$PREFIX/etc/env.conf\fR. The default value is
   \fIinfo\fR.
   .TP
   $FREEM_LOG_THRESHOLD_STDERR
   Overrides the configured threshold at which log messages are sent to
   \fIstderr\fR, corresponding to the
   \fIlog_threshold_stderr\fR environment setting in
   \fI$PREFIX/etc/env.conf\fR. The default value is
   \fIwarning\fR.
   .SH LOG THRESHOLD VALUES
   This section details the valid values for each of the
   \fI$FREEM_LOG_THRESHOLD_*\fR environment variables, and each value indicates a minimum diagnostic level at which the indicated class of message will be delivered through the selected mechanism. All messages with an equal or higher diagnostic level than the class indicated will be delivered, i.e., if
   \fIwarning\fR is selected, messages with a diagnostic class of
   \fIwarning\fR,
   \fIerror\fR, and
   \fIfatal\fR will be delivered through the selected mechanism.
   
   Valid values for each of these environment variables are as follows:
   .TP
   debug
   .RS 4
   Messages useful mostly for developers contributing to FreeM itself. Will produce a high volume of log messages, and is likely to impact system performance. Not recommended for production usage.
   .RE
   .TP
   info
   .RS 4
   Includes messages of an informational nature. Will produce a moderately high volume of log messages. For heavily multi-user and multi-process systems, it is recommended to use
   \fIwarning\fR instead.
   .RE
   .TP
   warning
   .RS 4
   Includes warning messages. These indicate conditions (including retries when attempting to acquire semaphores) that warrant further investigation by the system operator, but do not typically prevent applications from running.
   .RE
   .TP
   error
   .RS 4
   Includes error messages. This class of messages indicates that a recoverable error has occurred in the FreeM engine. Warrants immediate attention by the system operator.
   .RE
   .TP
   fatal
   .RS 4
   Includes messages indicating errors that are not recoverable. If this class of message occurs, the process that triggered the message has terminated abnormally. Requires immediate system operator intervention, and can indicate gross misconfiguration of the FreeM engine or the host operating system environment, or even a FreeM bug.
   .RE
 .SH BUGS  .SH BUGS
 Check the issue tracker at https://gitlab.coherent-logic.com/jpw/freem for more detailed information on current bugs.  Check the issue tracker at https://bugs.coherent-logic.com for more detailed information on current bugs.
 .SH AUTHOR  .SH AUTHOR
 Provided by Shalom ha-Ashkenaz, 1998/06/18 CE, to the stewardship of the  Provided by Shalom ha-Ashkenaz, 1998/06/18 CE, to the stewardship of the
 MUG Deutschland. The GUMP (Generic Universal M Project) took over after this point,  MUG Deutschland. The GUMP (Generic Universal M Project) took over after this point,
Line 113  Maintained and updated by Serena Willis Line 331  Maintained and updated by Serena Willis
   
 Copyright (C) 1998 MUG Deutschland  Copyright (C) 1998 MUG Deutschland
 .br  .br
 Copyright (C) 2014-2021 Coherent Logic Development LLC  Copyright (C) 2025 Coherent Logic Development LLC
   
 Permission is hereby granted, free of charge, to any person obtaining a copy of  Permission is granted to copy, distribute and/or modify this document under the terms of the GNU Free Documentation License, Version 1.3 or any later version published by the Free Software Foundation; with no Invariant Sections, with no Front-Cover texts, and with no Back-Cover Texts.
 this software and associated documentation files (the "Software"), to deal in  
 the Software without restriction, including without limitation the rights to  
 use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies  
 of the Software, and to permit persons to whom the Software is furnished to do  
 so, subject to the following conditions:  
   
 The above copyright notice and this permission notice shall be included in all  
 copies or substantial portions of the Software.  
   
 THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR  
 IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FIT-  
 NESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.  IN NO EVENT SHALL THE  
 MUG DEUTSCHLAND BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN  
 AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION  
 WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.  
   
 Except as contained in this notice, the name of FreeM shall not  
 be used in advertising or otherwise to promote the sale, use or other dealings  
 in this Software without prior written authorization from Coherent Logic Development  
 LLC.  
 .SH "SEE ALSO"  .SH "SEE ALSO"
 .BR fmadm (8)  .PP
   \fBfmadm\fR(8),
   \fBenv.conf\fR(5),
   \fBfreem.conf\fR(5),
   \fBfreem_conformance\fR(1)
   

Removed from v.1.2  
changed lines
  Added in v.1.11


FreeBSD-CVSweb <freebsd-cvsweb@FreeBSD.org>