1
0
mirror of synced 2026-01-12 00:42:56 +00:00
Frank Halasz 1968021bb4
Update loadup and medley scripts to use "tag" instead of "branch"; add ability to completely delete tagged loadups rather than just thin them (#2249)
* WIP in changing loadups to tagged nomeclature rather that branch and ability to delete tagged branches as well as thin them.

* In loadup and medley scripts, changed the --branch (-br) command line argument to --tag (-tg).  Correspondingly changed the MEDLEYDIR/loadups/branches directory to be MEDLEYDIR/loadups/tagged.  Separately, added a + parameter to the --thinw and --thinl command line arguments which causes ALL files to be deleted, not just the versioned files.  Added a --thin command line argument that is equivalent to --thinw followed by --thinl.  Updated the man page to reflect all these changes.

* Updated medley script man page to reflect the new tag nomenclature instead of branch nomenclature.

* Fix issue#2063 - typo in medley man page

* 1) In loadup script made --help (-h) be a synomym of --man (-z).  2)  In both loadup and medley scripts added an optional parameter (+) to the --man (z) command line argument that when specified will display the man page without paging - i.e., sets the pager to cat.

* Fix Issue#2251 LOADUPSDIRECTORIES settings by the MEDLEYDIR fn now takes into account tagged loadups
2025-08-20 11:00:53 -07:00

478 lines
16 KiB
Groff

.\" Automatically generated by Pandoc 3.1.3
.\"
.\" Define V font for inline verbatim, using C font in formats
.\" that render this, and otherwise B font.
.ie "\f[CB]x\f[]"x" \{\
. ftr V B
. ftr VI BI
. ftr VB B
. ftr VBI BI
.\}
.el \{\
. ftr V CR
. ftr VI CI
. ftr VB CB
. ftr VBI CBI
.\}
.ad l
.TH "MEDLEY" "1" "" "" "Start Medley Interlisp"
.nh
.SH NAME
.PP
\f[B]medley\f[R] \[em] starts up Medley Interlisp
.SH SYNOPSIS
.PP
\f[B]medley\f[R] [ flags \&...
] [ \f[I]SYSOUT_FILE\f[R] ] [ -- \f[I]PASS_ON_ARGS\f[R] ]
.SH DESCRIPTION
.PP
Starts Medley Interlisp in a window.
.SH OPTIONS
.PP
\f[B]MEDLEYDIR\f[R] is an environment variable set by Medley and used by
many of the options described below.
MEDLEYDIR is the top level directory of the Medley installation that
contains the specific medley script that is invoked after all symbolic
links are resolved.
In the standard global installation this will be
/usr/local/interlisp/medley.
But Medley can be installed in multiple places on any given machine and
hence MEDLEYDIR is computed on each invocation of medley.
.SS Flags
.PP
\
.TP
-h, --help
Prints out a brief summary of the flags and arguments to medley.
.TP
-z [+], --man [+]
Show the man page for medley.
If the \f[B]+\f[R] parameter is specified, then no pager is used when
displaying the man page.
.TP
-c [\f[I]FILE\f[R] | -], --config [\f[I]FILE\f[R] | -]
Use \f[I]FILE\f[R] as the config file for this run of Medley.
See information on \f[I]CONFIG FILE\f[R] below.
.RS
.PP
If the given value is \[lq]-\[rq], then suppress the use of a config
file for this run of Medley.
.RE
.TP
-f, --full
Start Medley from the standard \[lq]full\[rq] sysout.
full.sysout includes a complete Interlisp and CommonLisp environment
with a standard set of development tools.
It does not include any of the applications built using Medley.
.RS
.PP
(See \f[I]SYSOUT_FILE\f[R] below for more information on starting
sysouts.)
.RE
.TP
-l, --lisp
Start Medley from the standard \[lq]lisp\[rq] sysout.
lisp.sysout only includes the basic Interlisp and CommonLisp
environment.
.RS
.PP
(See \f[I]SYSOUT_FILE\f[R] below for more information on starting
sysouts.)
.RE
.TP
-a, --apps
Start Medley from the standard \[lq]apps\[rq] sysout.
apps.sysout includes everything in full.sysout plus Medley applications
including Notecards, Rooms and CLOS.
It also includes pre-installed links to key Medley documentation.
.RS
.PP
(See \f[I]SYSOUT_FILE\f[R] below for more information on starting
sysouts.)
.RE
.TP
-u, --continue
Nullify any prior setting of the sysout file (e.g., from the config
file) - causing Medley to start from the virtual memory file resulting
from the previous invocation (with the same values for \[en]id and
\[en]logindir), if any.
If there is no matching virtual memory file, Medley will start from the
full.sysout (see -f/\[en]full above).
.RS
.PP
Equivalent to \[lq]-y -\[rq].
.PP
(See \f[I]SYSOUT FILE\f[R] section below.)
.RE
.TP
-y [\f[I]SYSOUT_FILE\f[R] | -], --sysout [\f[I]SYSOUT-FILE\f[R] | -]
Start Medley from the specified \f[I]SYSOUT-FILE\f[R].
This is an alternative to specifying the \f[I]SYSOUT-FILE\f[R] as the
last argument on the command line (but before any
\f[I]PASS_ON_ARGS\f[R]).
It can be used to specify the \f[I]SYSOUT-FILE\f[R] in the config file
(see information on \f[I]CONFIG FILE\f[R] below).
.RS
.PP
If the given value is \[lq]-\[rq], then any prior setting of the sysout
file (e.g., from the config file) is nullified (see -u/\[en]continue
above).
.PP
(See \f[I]SYSOUT FILE\f[R] section below.)
.RE
.TP
-e [+ | -], --interlisp [+ | -]
If value is \[lq]+\[rq] or no value, make the initial Exec window within
Medley be an Interlisp Exec.
If value is \[lq]-\[rq], make the initial Exec window be the default XCL
Exec.
.RS
.PP
This flag applies only when the \[en]apps flag is used.
.RE
.TP
-n [+ | -], --noscroll [+ | -]
Medley ordinarily displays scroll bars to enable the user to pan the
Medley virtual display within the Medley window.
This is true even when the entire virtual display fits within the
window.
.RS
.PP
Specifying \[lq]-n +\[rq] (\[en]noscroll +) turns off scroll bars.
Specifying \[lq]-n -\[rq] (\[en]scroll -) turns on scroll bars.
Specifying -n (\[en]noscroll) with no value is equivalent to specifying
\[lq]\[en]noscroll +\[rq].
.PP
Default is scroll bars off.
.PP
Note: If scroll bars are off and the virtual screen is larger than the
window, there will be no way to pan to the non-visible parts of the
virtual display.
.RE
.TP
-g [\f[I]WxH\f[R] | -], --geometry [\f[I]WxH\f[R] | -]
Sets the size of the X Window (or VNC window) that Medley runs in to be
Width x Height.
(Full X Windows geometry specification with +X+Y is not currently
supported).
.RS
.PP
If a value of \[lq]-\[rq] is given, geometry is set to the default
value.
.PP
If --geometry is not specified but --screensize is, then the window size
will be determined based on the --screensize values and the --noscroll
flag.
If neither --geometry nor --screensize is provided, then the window size
is set to 1440x900 if --noscroll is set and 1462x922 if --noscroll is
not set.
.PP
(Also see note below under \f[I]CONFIG FILE\f[R] on the use of geometry
and screensize in config files.)
.RE
.TP
-s [\f[I]WxH\f[R] | -], --screensize [\f[I]WxH\f[R] | -]
Sets the size of the virtual display as seen from Medley\[cq]s point of
view.
The Medley window is an unscaled viewport onto this virtual display.
.RS
.PP
If a value of \[lq]-\[rq] is given, screensize is set to the default
value.
.PP
If --screensize is not specified but --geometry is, then the virtual
display size will be set so that the entire virtual display fits into
the given window geometry.
If neither --screensize nor --geometry is provided, then the screen size
is set to 1440x900.
.PP
(Also see note below under \f[I]CONFIG FILE\f[R] on the use of geometry
and screensize in config files.)
.RE
.TP
-ps [\f[I]N\f[R] | -], \[en]pixelscale [\f[I]N\f[R] | -]\ \ \ \ ** \f[B]Applicable only when display is SDL-based (e.g., on Windows/Cygwin)\f[R] **
Sets the pixel scaling factor to \f[I]N\f[R], an integer
.RS
.PP
If value of \[lq]-\[rq] is given, the pixel scale factor is set to its
default of 1.
.RE
.TP
-t [\f[I]STRING\f[R] | -], --title [\f[I]STRING\f[R] | -]
Use \f[I]STRING\f[R] as title of Medley window.
.RS
.PP
If \f[I]STRING\f[R] includes the character sequence \[lq]%i\[rq], then
the value of the id string (see \[en]id flag below) prefixed by
\[lq]::\[rq] will be substituited for the \[lq]%i\[rq].
Example: if the id is \[lq]run_45\[rq] and \f[I]STRING\f[R] is
\[lq]Medley Interlisp %i\[rq], then the actual window title will be
\[lq]Medley Interlisp :: run_45\[rq].
.PP
If the value of \[lq]-\[rq] is given, sets the title to its default
value (\[lq]Medley Interlisp %i\[rq]).
.PP
This flag is ignored when when the --vnc flag is set.
.RE
.TP
-d [\f[I]:N\f[R] | -], --display [\f[I]:N\f[R] | -]
Use X display \f[I]:N\f[R].
.RS
.PP
If value is \[lq]-\[rq], reset display to its default value.
Default value is the value of $DISPLAY.
.PP
On platforms that support both SDL and X Windows, set the value of -d
(\[en]display) to \[lq]SDL\[rq] to select using SDL instead of X
Windows.
.PP
This flag is ignored on the Windows/Cygwin platform and when the --vnc
flag is set on Windows System for Linux.
.RE
.TP
-v [+ | -] , --vnc [+ | -]\ \ \ \ ** \f[B]Applicable only to WSL installations\f[R] **
If value is \[lq]+\[rq] or no value is given, then use a VNC window
running on the Windows side instead of an X window.
If value is \[lq]-\[rq], then do not use a VNC window, relying instead
on a standard X Window.
.RS
.PP
A VNC window will folllow the Windows desktop scaling setting allowing
for much more usable Medley on high resolution displays.
On WSL, X windows do not scale well.
.PP
This flag is always set for WSL1 installations.
.RE
.TP
-i [\f[I]ID_STRING\f[R] | - | --], --id [\f[I]ID_STRING\f[R] | - | --]
Use \f[I]ID_STRING\f[R] as the id for this run of Medley, unless the
given value is \[lq]-\[rq], \[lq]--\[rq], or \[lq]---\[rq].
.RS
.PP
Only one instance of Medley can be run simultaneously for any given id.
.PP
\f[I]ID-STRING\f[R] can consist of any alphanumeric character plus the
underscore (_) character, ending (optionally) in a \[lq]+\[rq]
character.
If \f[I]ID_STRING\f[R] ends with a \[lq]+\[rq] (including just a
singleton \[lq]+\[rq]), then Medley will add a number to the id to make
it unique among currently running Medley intsances.
.PP
If the given value is \[lq]-\[rq], then the id will be (re)set to
\[lq]default\[rq] (e.g., if it was previously set in the config file).
If it is \[lq]--\[rq], then id will be set to the basename of
$MEDLEYDIR.
If ID_STRING is \[lq]---\[rq], then id will be set to the basename of
the parent directory of $MEDLEYDIR.
.PP
Default id is \[lq]default\[rq].
.RE
.TP
-m [\f[I]N\f[R] | -], --mem [\f[I]N\f[R] | -]
Set Medley to run in \f[I]N\f[R] MB of virtual memory.
Defaults to 256MB.
.PP
If a value of \[lq]-\[rq] is given, resets to default value.
.TP
-p [\f[I]FILE\f[R] | -], --vmem [\f[I]FILE\f[R] | -]
Use \f[I]FILE\f[R] as the Medley virtual memory (vmem) store.
\f[I]FILE\f[R] must be writeable by the current user.
.RS
.PP
Care must be taken not to use the same vmem FILE for two instances of
Medley running simultaneously.
The --id flag will not protect against vmem collisions when the --vmem
flag is used.
.PP
If the value \[lq]-\[rq] is given, then resets the vmem file to the
default.
.PP
Default is to store the vmem in LOGINDIR/vmem/lisp_III.virtualmem, where
III is the id of this Medley run (see --id flag above).
See --logindir below for setting of LOGINDIR.
.RE
.TP
-r [\f[I]FILE\f[R] | -], --greet [\f[I]FILE\f[R] | -]
Use \f[I]FILE\f[R] as the Medley greetfile.
.RS
.PP
If the given value is \[lq]-\[rq], Medley will start up without using a
greetfile.
.PP
The default Medley greetfile is $MEDLEYDIR/greetfiles/MEDLEYDIR-INIT,
except when the --apps flag is used in which case it is
$MEDLEYDIR/greetfiles/APPS-INIT.
.PP
On Windows/Cygwin installations, \f[I]FILE\f[R] is specified in the
Medley file system, not the host Windows file system.
.RE
.TP
-cm [\f[I]FILE\f[R] | -], --rem.cm [\f[I]FILE\f[R] | -]
Use \f[I]FILE\f[R] as the REM.CM file that Medley reads and executes at
startup - after any greet files.
Usually used only for loadups and other maintenance operations .
.RS
.PP
If the given value is \[lq]-\[rq], Medley will start up without using
REM.CM file.
.PP
There is no default Medley REM.CM file.
.PP
On Windows/Cygwin installations, \f[I]FILE\f[R] is specified in the
Medley file system, not the host Windows file system.
.RE
.TP
-x [\f[I]DIR\f[R] | - | \[en]], --logindir [\f[I]DIR\f[R] | - | \[en]]
Use \f[I]DIR\f[R] as LOGINDIR in Medley.
\f[I]DIR\f[R] must be writeable by the current user.
.RS
.PP
LOGINDIR is used by Medley as the working directory on start-up and
where it loads any \[lq]personal\[rq] initialization file from.
.PP
If the given value is \[lq]-\[rq], then reset LOGINDIR to its default
value.
If the given value is \[lq]\[en]\[rq], uses $MEDLEYDIR/logindir as
LOGINDIR.
.PP
LOGINDIR defaults to $HOME/il.
.PP
On Windows/Cygwin installations, \f[I]FILE\f[R] is specified in the
Medley file system, not the host Windows file system.
.RE
.TP
-nh \f[I]Host:Port:Mac:Debug\f[R], --nethub \f[I]Host:Port:Mac:Debug\f[R]
Set the parameters for using Nethub XNS networking.
\f[I]Host\f[R] is the full domain name of the nethub host.
\f[I]Port\f[R] is the port on \f[I]Host\f[R] that nethub is using.
\f[I]Mac\f[R] is the Mac address that this instance of Medley should use
when contacting the nethub host.
\f[I]Debug\f[R] is the level of nethub debug information that should be
printed on stdout (value is 0, 1, or 2).
A \f[I]Host\f[R] value is required and serves to turn nethub
functionality on.
\f[I]Port\f[R], \f[I]Mac\f[R] and \f[I]Debug\f[R] parameters are
optional and will default if left off.
.RS
.PP
If any of the parameters have a value of \[lq]-\[rq], any previous
setting (e.g., in a config file) for the parameter will be reset to the
default value - which in the case of \f[I]Host\f[R] is the null string,
turning nethub functionality off.
.RE
.TP
-nf, -NF, \[en]nofork
No fork.
Relevant only to the Medley loadup workflow.
.TP
-prog \f[I]EXE\f[R], \[en]maikoprog \f[I]EXE\f[R]
Use \f[I]EXE\f[R] as the basename of the Maiko executable.
Relevant only to the Medley loadup workflow.
.TP
\[en]maikodir \f[I]DIR\f[R]
Use \f[I]DIR\f[R] as the directory containing the Maiko emulator.
For testing purposes only.
.TP
-cc [\f[I]FILE\f[R] | -], --repeat [\f[I]FILE\f[R] | -]
Run Medley once.
And then as long as \f[I]FILE\f[R] exists and is greater then zero
length, repeatedly run Medley using \f[I]FILE\f[R] as the REM.CM file
that Medley reads and executes at startup.
Each run of Medley can change the contents of \f[I]FILE\f[R] to effect
the subsequent run of Medley.
To end the cycle, Medley needs to delete \f[I]FILE\f[R].
WIthin Medley, \f[I]FILE\f[R] can be found as the value of the
environment variable LDEREPEATCM.
.RS
.PP
On Windows/Cygwin installations, \f[I]FILE\f[R] is specified in the
Medley file system, not the host Windows file system.
.RE
.TP
-am, \[en]automation
Useful only when using \[en]vnc (and always on WSL1).
When calling medley as part of an automation script, often Medley will
run for a very short time (< a couple of seconds).
This can cause issues with medley code that detects Xvnc server
failures.
Setting this flag notifies Medley that very short Medley sessions are
possible and the Xvnc error detection needs to be adjusted accordingly.
.TP
-tg [\f[I]TAG\f[R] | -], --tag [\f[I]TAG\f[R] | -]
By default, sysout files are loaded from the MEDLEYDIR/loadups
directory.
If \[lq]--tag \f[I]TAG\f[R]\[rq] is specified, then by default sysout
files are loaded from the MEDLEYDIR/loadups/tagged/TAG directory.
The sysouts in these directories are created using a loadups script with
the --tag flag set.
See the loadup man page.
If \f[I]TAG\f[R] is \[lq]-\[rq], then the name of the active git branch
for MEDLEYDIR (if any) is used as \f[I]TAG\f[R].
.SS Other Options
.PP
\
.TP
\f[I]SYSOUT_FILE\f[R]
The pathname of the file to use as a sysout for Medley to start from.
If SYSOUT_FILE is not provided and none of the flags (--apps, --full,
--lisp) is used, then Medley will start from the saved virtual memory
file from the previous session with the same ID_STRING as this run.
If no such virtual memory file exists, then Medley will start from the
standard full.sysout (equivalent to specifying the --full flag).
On Windows (Docker) installations, \f[I]SYSOUT_FILE\f[R] is specified in
the Medley file system, not the host Windows file system.
.TP
\f[I]PASS_ON_ARGS\f[R]
All arguments after the \[lq]--\[rq] flag, are passed unaltered to the
Maiko emulator.
.SH CONFIG FILE
.PP
A config file can be used to \[lq]pre-specify\[rq] any of the above
command line arguments.
The config file consists of command line arguments (flags or flag-value
pairs), \f[I]one per line\f[R].
These arguments are read from the config file and prepended to the
arguments actually given on the command line.
Since later arguments override earlier arguments, any argument actually
given on the command line will override a conflicting argument given in
the config file.
.PP
Unless specified using the -c (\[en]config) argument, the default config
file will be $MEDLEYDIR/.medley_config, if it exists, and
$HOME/.medley_config, otherwise.
.PP
Specifying, \[lq]-c -\[rq] or \[lq]\[en]config -\[rq] on the command
line will suppress the use of config files for the current run of
Medley.
.PP
\f[I]Note:\f[R] care must be taken when using -g (\[en]geometry) and/or
-s (\[en]screensize) arguments in config files.
If only one of these is specified, then the other is conputed.
But if both are specified, then the specified dimensions are used as
given.
Unexpected results can arise if one is specified in the config file but
the other is specified on the command line.
In this case, the two specified dimensions will be used as given.
It will not be the case, as might be expected, that the dimension given
in the config file will be overridden by a dimension computed from the
dimension given on the command line.
.SH OTHER FILES
.TP
$HOME/il
Default Medley LOGINDIR
.TP
$HOME/il/vmem/lisp.virtualmem
Default virtual memory file
.TP
$HOME/il/INIT(.LCOM)
Default personal init file
.TP
$MEDLEYDIR/greetfiles/MEDLEYDIR-INIT(.LCOM)
Default Medley greetfile
.SH BUGS
.PP
See GitHub Issues: <https://github.com/Interlisp/medley/issues>
.SH COPYRIGHT
.PP
Copyright(c) 2023-2024 by Interlisp.org