--- freem/doc/freem.texi 2025/05/05 15:46:50 1.52 +++ freem/doc/freem.texi 2025/05/17 17:00:05 1.57 @@ -4,7 +4,7 @@ @settitle The FreeM Manual @copying -This manual is for FreeM, (version 0.64.0-rc1), which is a free software implementation of the M programming language. +This manual is for FreeM, (version 0.65.1-rc0), which is a free software implementation of the M programming language. Print-optimized versions of this book are typeset in @emph{Computer Modern} by the author using the @emph{GNU Texinfo} tools. @@ -19,7 +19,7 @@ Permission is granted to copy, distribut @title The FreeM Manual @subtitle @sc{The Official Manual of FreeM} -@subtitle Version 0.64.0-rc1 +@subtitle Version 0.65.1-rc0 @c@vskip 10pt @c@center @image{freem-logo-sm,,,,.png} @author Serena Willis @@ -100,7 +100,6 @@ This is the official manual for the Free * Accessing FreeM from C Programs:: How to use the mlib interface. * FreeM Administrator:: The fmadm system manager tool. -* FreeM Legacy Utilities:: FreeM legacy system manager utilities. * FreeM VIEW Commands and Functions:: Getting and setting info about FreeM internals. * Implementation Limits:: FreeM limitations. * US-ASCII Character Set:: The US-ASCII character set. @@ -149,6 +148,7 @@ Current contributors denoted with a @emp @cindex contributors, Gerum, Winfried @cindex contributors, Kreis, Greg @cindex contributors, Landis, Larry +@cindex contributors, McGlothlen, Ken @cindex contributors, Milligan, Lloyd @cindex contributors, Morris, Steve @cindex contributors, Murray, John @@ -190,6 +190,9 @@ Larry Landis (Coordination, Code, Docume Rick Marshall (Testing, MDC Conformance) @emph{+} @item +Ken McGlothlen (Apple Silicon build/test environment, proofreading of documentation) @emph{+} + +@item Lloyd Milligan (Code, Testing, Documentation) @item @@ -441,7 +444,7 @@ Attempting to start a FreeM interpreter The FreeM direct-mode environment is the mode entered when FreeM is invoked without the use of @option{-r @emph{}} or @option{--routine=@emph{}}: @example -Coherent Logic Development FreeM version 0.64.0-rc1 (x86_64-pc-linux-gnu) +Coherent Logic Development FreeM version 0.65.1-rc0 (x86_64-pc-linux-gnu) Copyright (C) 2014, 2020, 2021 Coherent Logic Development LLC @@ -2649,7 +2652,7 @@ In the above @emph{inclusive} form, @cod @cartouche @quotation @emph{Note} -The below @emph{argumentless} and @emph{exclusive} forms of @code{KSUBSCRIPTS} are not implemented in FreeM, as of version 0.64.0-rc1, but are planned for a future release. +The below @emph{argumentless} and @emph{exclusive} forms of @code{KSUBSCRIPTS} are not implemented in FreeM, as of version 0.65.1-rc0, but are planned for a future release. @end quotation @end cartouche @@ -2684,7 +2687,7 @@ In the above @emph{inclusive} form, @cod @cartouche @quotation @emph{Note} -The below @emph{argumentless} and @emph{exclusive} forms of @code{KVALUE} are not implemented in FreeM, as of version 0.64.0-rc1, but are planned for a future release. +The below @emph{argumentless} and @emph{exclusive} forms of @code{KVALUE} are not implemented in FreeM, as of version 0.65.1-rc0, but are planned for a future release. @end quotation @end cartouche @@ -5973,14 +5976,14 @@ Raised when an attempt is made to use a FreeM allows the following installation methods: @table @asis @item Binary Repository -On recent versions the Ubuntu and Debian distributions of GNU/Linux, we provide package repositories from which FreeM may easily be installed. See the @emph{FreeM Wiki} for more information, and @emph{https://packages.coherent-logic.com} for instructions. +For recent versions of the Ubuntu and Debian distributions of GNU/Linux, we provide package repositories from which FreeM may easily be installed. See the @emph{FreeM Wiki} for more information, and @emph{https://packages.coherent-logic.com} for instructions. If available, this is the simplest method of installing FreeM. @item Binary Packages We provide binary packages of FreeM for @emph{dpkg} and @emph{rpm}-based distributions of GNU/Linux, and @emph{pkgadd} packages for Solaris 8-10. If you cannot use repositories, this is the easiest option. See @emph{https://freem.coherent-logic.com/binaries.cfm} for downloads and instructions. -@item Source Archive +@item Source Tarball If you prefer installing from source, we recommend that you download the latest @emph{.tar.gz} file from @emph{https://freem.coherent-logic.com/downloads.cfm}, and follow these steps: @example @@ -6033,6 +6036,20 @@ $ make $ sudo make install @end example +@item @code{--enable-newglobals} (EXPERIMENTAL) +Enables a new and modernized global handler. This global handler has a number of known bugs, and thus should be used with caution. + +Note that global files created in the default global handler are incompatible with the new global handler, and vice-versa. You will need to back up and remove all globals in your environments when switching global handlers. + + +@emph{Example} + +@example +$ ./configure --enable-newglobals +$ make +$ sudo make install +@end example + @end table @subsection Initial Configuration @@ -6491,8 +6508,8 @@ int main(int argc, char **argv, char **e @cindex fmadm The @code{fmadm} utility is the preferred method of managing a FreeM installation, and will eventually replace all of the existing utilities. -Unlike the existing, legacy utilities, @code{fmadm} presents a consistent, simple interface for all FreeM management tasks, and is namespace-aware. -This appendix will document each @code{fmadm} facility as it is implemented, until all of the legacy utilities have been replaced. +In support of FreeM operators, @code{fmadm} presents a consistent, simple interface for all FreeM management tasks, and is namespace-aware. +This appendix will document each @code{fmadm} facility as it is implemented. The @code{fmadm} utility's functions all follow the below, consistent syntax: @@ -6586,43 +6603,6 @@ Supported actions are @code{list} and @c @end table -@node FreeM Legacy Utilities -@appendix FreeM Legacy Utilities -@cindex utilities, legacy - -@section Global Compactor (gcompact) -@cindex utilities, legacy, gcompact - -Compacts the specified global in place. - -@emph{Syntax} - -@example -gcompact @emph{/path/to/global/file} -@end example - -@section Block Examiner (gfix) -@cindex utilities, gfix - -The @emph{gfix} interactive utility program permits navigation of the B-tree structure of the specified global a block at a time. - -@emph{Syntax} - -@example -gfix @emph{} -@end example - -@section Global Repair Tool (grestore) -@cindex utilities, legacy, grestore - -This utility will fix problems with the specified global. - -@emph{Syntax} - -@example -grestore @emph{} -@end example - @node FreeM VIEW Commands and Functions @appendix FreeM VIEW Commands and Functions