.\" To display this man page, either:
.\" 1) Install this file along with the other subject.1 files in your
.\" system's man1 directory (usually this is /usr/man/man1) and
.\" enter the command:
.\" man freem
.\" or
.\" 2) Specify the input (this file) and the output (your favorite pager)
.\" explicitly. For example, if this file is in your current working
.\" directory, you can use the following to view the formatted man page
.\" using the "less" pager:
.\" man ./freem.1 | less
.\"
.\" To print this man page to a PostScript printer:
.\" man -t ./freem.1 | lpr
.\"
.\" freem.1
.\" FreeM man page
.\"
.\"
.\" Author: Serena Willis <snw@coherent-logic.com>
.\" Copyright (C) 1998 MUG Deutschland
.\" Copyright (C) 2020, 2025 Coherent Logic Development LLC
.\"
.\"
.\" This file is part of FreeM.
.\"
.\" FreeM is free software: you can redistribute it and/or modify
.\" it under the terms of the GNU Affero Public License as published by
.\" the Free Software Foundation, either version 3 of the License, or
.\" (at your option) any later version.
.\"
.\" FreeM is distributed in the hope that it will be useful,
.\" but WITHOUT ANY WARRANTY; without even the implied warranty of
.\" MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
.\" GNU Affero Public License for more details.
.\"
.\" You should have received a copy of the GNU Affero Public License
.\" along with FreeM. If not, see <https://www.gnu.org/licenses/>.
.\"
.\"
.\"
.TH freem 1 "3 April 2025" FreeM "FreeM User Manual"
.SH NAME
freem
.SH SYNOPSIS
.B freem [OPTION...]
.SH DESCRIPTION
The
.B freem
program runs an instance of
.IR "FreeM"
\.
FreeM is an implementation of the MUMPS programming language, began by the efforts of the mysterious Shalom ha-Ashkenaz. In response to InterSystems' spree of buying up all competing MUMPS implementations, Shalom gifted FreeM to MUG Deutschland in 1998, in hopes that the MUMPS community would turn it into a viable, freely available, and fully-featured MUMPS implementation.
After years of dormancy, the FreeM project has been resurrected, and under the stewardship of Coherent Logic Development and a small core team of contributors, work is proceeding towards completing the original FreeM team's goals, and much more.
More information is available at https://freem.coherent-logic.com/
Please see the FreeM texinfo documentation for language, database, and administration details ("info freem").
.SH OPTIONS
.TP
\-h, --help
Display a list of freem command-line flags
.TP
\-i, --import
Imports UNIX environment variables as M locals
.TP
\-e <environment-name>, --environment=<environment-name>
Sets active environment to <environment-name> (DEFAULT if unspecified)
.TP
\-f, --filter
Allows M code to be used as a filter
.TP
\-n <NAMESPACE>, --namespace=<NAMESPACE>
Selects <NAMESPACE> as the startup namespace instead of USER
.TP
\-q, --quiet
Sisables startup messages and prompt string
.TP
\-r <LABEL^ROUTINE>, --routine=<LABEL^ROUTINE>
Executes <LABEL^ROUTINE> on startup instead of entering direct mode
\-s <standard>, --standard=<standard>
Restricts access to FreeM vendor extensions not present in relevant standards*. In this flag, <standard> can be:
- M77
- M84
- M90
- M95
- MDS
- M5
- FREEM
.TP
\-v, --version
Display FreeM version information
.TP
\-x <MCODE>, --execute=<MCODE>
Execute M code <MCODE> 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 --daemon)
.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"
Returns 0 for non-error condition.
.SH FILES
.TP
env.conf
The FreeM environment catalog. Normally located in $PREFIX/etc/freem/env.conf
.TP
freem.conf
The FreeM configuration file. Normally located in $PREFIX/etc/freem/<environment-name>/freem.conf.
.SH ENVIRONMENT
.TP
\$DISPLAY
Determines the value of the $PDISPLAY intrinsic special variable. This determines the X11 display used by the M Windowing API. Only applies when FreeM is built with the '--enable-mwapi' configuration option.
.TP
\$TERM
Used by the ^$DEVICE structured system variable to provide the TERMID value for I/O channel 0.
.SH BUGS
Check the issue tracker at https://bugs.coherent-logic.com for more detailed information on current bugs.
.SH AUTHOR
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,
and ownership of the original SourceForge project was handed over to Serena Willis of
Coherent Logic Development LLC in 2014.
.br
The author's identity is a mystery. Can anyone shed light on this?
.br
.br
Man page written by Ron Fox (rfox@dls.queens.org)
.br
Maintained and updated by Serena Willis (snw@coherent-logic.com)
.SH COPYRIGHT
Copyright (C) 1998 MUG Deutschland
.br
Copyright (C) 2014. 2021, 2025 Coherent Logic Development LLC
Permission is hereby granted, free of charge, to any person obtaining a copy of
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"
.BR fmadm (8)
FreeBSD-CVSweb <freebsd-cvsweb@FreeBSD.org>