1
0
mirror of synced 2026-03-13 22:19:30 +00:00

Merge branch 'master' into rmk166--MOVEFONTCHARS-accepts-a-hashtable

This commit is contained in:
rmkaplan
2026-03-09 12:21:42 -07:00
9 changed files with 166 additions and 110 deletions

View File

@@ -114,8 +114,8 @@ loadup is run.
Only one instance (per <MEDLEIDIR>) of loadup can be run at a time.
There is lock file to prevent simultaneous loadups in the work directory
(named \f[B]\f[BI]lock\f[B]\f[R]) that can be manually removed.
The lock can also be automatically overridden (see the \[en]override
flag below).
The lock can also be automatically overridden (see the --override flag
below).
Alternatively, if a lock is encountered at run time, the user will be
asked to choose whether to override or simply exit the loadup.
.PP
@@ -130,7 +130,7 @@ But Medley can be installed in multiple places on any given machine and
hence MEDLEYDIR is computed on each invocation of loadup.
.SH OPTIONS
.TP
\f[B]-z [+], --man [+], -man [+], -h [+], \[en]help [+]\f[R]
\f[B]-z [+], --man [+], -man [+], -h [+], --help [+]\f[R]
Print this manual page on the screen.
If the \f[B]+\f[R] parameter is specified, then no pager is used when
displaying the man page.
@@ -138,7 +138,7 @@ displaying the man page.
\f[B]-t STAGE, --target STAGE, -target STAGE\f[R]
Run the sequential loadup procedure until the STAGE is complete,
starting from the files created by the previously run STAGE specified in
the \[en]start option.
the --start option.
.RS
.PP
STAGE can be one of the following:
@@ -175,7 +175,7 @@ Full.sysout is copied into the loadups directory.
.RS
.PP
a, apps, 5: Run the loadup sequence through Stage 5 (apps.sysout).
Also run the Aux stage as if \[en]aux option had been specified.
Also run the Aux stage as if --aux option had been specified.
Apps.sysout and the Aux files are copied into the loadups directory.
.RE
.RE
@@ -185,7 +185,7 @@ Apps.sysout and the Aux files are copied into the loadups directory.
a-, apps-, 5-: Run the loadup sequence through Stage 5 (apps.sysout).
The Aux stage is not run unless otherwise specified.
Apps.sysout is copied into the loadups directory.
Also run the Aux stage as if \[en]aux option had been specified.
Also run the Aux stage as if --aux option had been specified.
.RE
.RE
.TP
@@ -245,22 +245,22 @@ If this stage complete successfully, these files are copied into
loadups.
.TP
\f[B]-i, --init, -init, -1\f[R]
Synonym for \[lq]\[en]target init\[rq]
Synonym for \[lq]--target init\[rq]
.TP
\f[B]-m, --mid, -mid, -2\f[R]
Synonym for \[lq]\[en]target mid\[rq]
Synonym for \[lq]--target mid\[rq]
.TP
\f[B]-l, --lisp, -lisp, -3\f[R]
Synonym for \[lq]\[en]target lisp\[rq]
Synonym for \[lq]--target lisp\[rq]
.TP
\f[B]-f, --full. -full, -4\f[R]
Synonym for \[lq]\[en]target full\[rq]
Synonym for \[lq]--target full\[rq]
.TP
\f[B]-a, --apps, -apps, -5\f[R]
Synonym for \[lq]\[en]target apps\[rq]
Synonym for \[lq]--target apps\[rq]
.TP
\f[B]-a-, --apps-, -apps-, -5-\f[R]
Synonym for \[lq]\[en]target apps\[rq]
Synonym for \[lq]--target apps\[rq]
.TP
\f[B]-ov, --override, -override\f[R]
Automatically override the lock that prevents two loadups from running
@@ -300,14 +300,14 @@ contained in the working directory.
If the \f[B]+\f[R] parameter is used, then instead of deleting just the
versioned files, all files and subdirectories are deleted except for
those contained in the working directory.
If \f[B]+\f[R] is used and there is no working directory and
\f[I]\[en]tag TAG\f[R] is also specified, then the tagged loadups
directory (<MEDLEYDIR>/loadups/tagged/TAG) is also deleted.
If \f[B]+\f[R] is used and there is no working directory and \f[I]--tag
TAG\f[R] is also specified, then the tagged loadups directory
(<MEDLEYDIR>/loadups/tagged/TAG) is also deleted.
.TP
\f[B]-th [+], --thin [+], -thin [+]\f[R]
Equivalent to specifying both -tw [+] and -tl [+].
If \f[I]\[en]tag TAG\f[R] is also specified and the \f[B]+\f[R]
parameter is used here, then the tagged loadups directory
If \f[I]--tag TAG\f[R] is also specified and the \f[B]+\f[R] parameter
is used here, then the tagged loadups directory
(<MEDLEYDIR>/loadups/tagged/TAG) is removed.
.TP
\f[B]-d DIR, --maikodir DIR, -maikodir DIR\f[R]
@@ -328,38 +328,36 @@ commonly used in running Medley in the absence of an Xwindows server.
.PP
The defaults for the Options context-dependent and somewhat complicated
due to the goal of maintaining compatibility with legacy loadup scripts.
All of the following defaults rules hold independent of the
\[en]maikodir (-d) option.
All of the following defaults rules hold independent of the --maikodir
(-d) option.
.IP "1." 3
If none of \[en]target, \[en]start, \[en]aux, and \[en]db are specified,
then:
If none of --target, --start, --aux, and --db are specified, then:
.RS
.PP
1A.
If neither \[en]thinw nor \[en]thinl are specified, the options default
to:
If neither --thinw nor --thinl are specified, the options default to:
.RE
.RS
.RS
.PP
\f[B]\[en]target full \[en]start 0 \[en]aux\f[R]
\f[B]--target full --start 0 --aux\f[R]
.RE
.RE
.RS
.PP
1B.
If either \[en]thinw or \[en]thinl are specified, no loadups are run.
If either --thinw or --thinl are specified, no loadups are run.
.RE
.IP "2." 3
If neither \[en]start nor \[en]target are specified but either -aux or
-db or both are, then \[en]start defaults to \f[I]full\f[R] and
\[en]target is irrelevant.
If neither --start nor --target are specified but either -aux or -db or
both are, then --start defaults to \f[I]full\f[R] and --target is
irrelevant.
.IP "3." 3
If \[en]start is specified and \[en]target is not, then \[en]target
defaults to \f[I]full\f[R]
If --start is specified and --target is not, then --target defaults to
\f[I]full\f[R]
.IP "4." 3
If \[en]target is specified and \[en]start is not, then \[en]start
defaults to \f[I]0\f[R]
If --target is specified and --start is not, then --start defaults to
\f[I]0\f[R]
.SH EXAMPLES
.PP
\f[B]./loadup -full -s lisp\f[R] : run loadup thru Stage 4 (full.sysout)
@@ -368,14 +366,14 @@ starting from existing Stage 3 outputs (lisp.sysout).
\f[B]./loadup --target full --start lisp\f[R] : run loadup thru Stage 4
(full.sysout) starting from existing Stage 3 outputs (lisp.sysout).
.PP
\f[B]./loadup -5 \[en]aux\f[R] : run loadup from the beginning thru
Stage 5 (apps.sysout) then run the Aux \[lq]stage\[rq] to create
\f[B]./loadup -5 --aux\f[R] : run loadup from the beginning thru Stage 5
(apps.sysout) then run the Aux \[lq]stage\[rq] to create
\f[I]whereis.hash\f[R] and \f[I]exports.all\f[R]
.PP
\f[B]./loadup -db\f[R] : just run the DB \[lq]stage\[rq] starting from
an existing full.sysout; do not run any of the sequential stages.
.PP
\f[B]./loadup \[en]maikodir \[ti]/il/newmaiko\f[R] : run loadup sequence
\f[B]./loadup --maikodir \[ti]/il/newmaiko\f[R] : run loadup sequence
from beginning to full plus the loadup Aux stage, while using
\f[I]\[ti]/il/newmaiko\f[R] as the location for the lde executables when
running Medley.

View File

@@ -52,7 +52,7 @@ Loadup does all of its work in a work directory (\<MEDLEYDIR>/loadups/build). T
If \<MEDLEYDIR> is a git directory, then a file is created in the loadups output directory called *gitinfo* which contains the git commit, git branch and git status information for the directory at the time the loadup is run.
Only one instance (per \<MEDLEIDIR>) of loadup can be run at a time. There is lock file to prevent simultaneous loadups in the work directory (named ***lock***) that can be manually removed. The lock can also be automatically overridden (see the --override flag below). Alternatively, if a lock is encountered at run time, the user will be asked to choose whether to override or simply exit the loadup.
Only one instance (per \<MEDLEIDIR>) of loadup can be run at a time. There is lock file to prevent simultaneous loadups in the work directory (named ***lock***) that can be manually removed. The lock can also be automatically overridden (see the \-\-override flag below). Alternatively, if a lock is encountered at run time, the user will be asked to choose whether to override or simply exit the loadup.
Note: **MEDLEYDIR** is an environment variable set by the loadup script. It is set to the top level directory of the Medley installation that contains the specific loadup script that
is invoked after all symbolic links are resolved. In the standard global installation this will
@@ -61,12 +61,12 @@ hence MEDLEYDIR is computed on each invocation of loadup.
OPTIONS
=======
**-z [+], \-\-man [+], \-man [+], -h [+], --help [+]**
**-z [+], \-\-man [+], \-man [+], -h [+], \-\-help [+]**
: Print this manual page on the screen. If the **+** parameter is specified, then no pager is used when
displaying the man page.
**-t STAGE, \-\-target STAGE, -target STAGE**
: Run the sequential loadup procedure until the STAGE is complete, starting from the files created by the previously run STAGE specified in the --start option.
: Run the sequential loadup procedure until the STAGE is complete, starting from the files created by the previously run STAGE specified in the \-\-start option.
>STAGE can be one of the following:
@@ -78,9 +78,9 @@ displaying the man page.
>>f, full, 4: Run the loadup sequence through Stage 4 (full.sysout). Full.sysout is copied into the loadups directory.
>>a, apps, 5: Run the loadup sequence through Stage 5 (apps.sysout). Also run the Aux stage as if --aux option had been specified. Apps.sysout and the Aux files are copied into the loadups directory.
>>a, apps, 5: Run the loadup sequence through Stage 5 (apps.sysout). Also run the Aux stage as if \-\-aux option had been specified. Apps.sysout and the Aux files are copied into the loadups directory.
>>a-, apps-, 5-: Run the loadup sequence through Stage 5 (apps.sysout). The Aux stage is not run unless otherwise specified. Apps.sysout is copied into the loadups directory. Also run the Aux stage as if --aux option had been specified.
>>a-, apps-, 5-: Run the loadup sequence through Stage 5 (apps.sysout). The Aux stage is not run unless otherwise specified. Apps.sysout is copied into the loadups directory. Also run the Aux stage as if \-\-aux option had been specified.
**-s STAGE \-\-start STAGE, -start STAGE**
@@ -105,22 +105,22 @@ displaying the man page.
: Run the DB loadup stage, creating the *fuller.database* file. If this stage complete successfully, these files are copied into loadups.
**-i, \-\-init, -init, -1**
: Synonym for "--target init"
: Synonym for "\-\-target init"
**-m, \-\-mid, -mid, -2**
: Synonym for "--target mid"
: Synonym for "\-\-target mid"
**-l, \-\-lisp, -lisp, -3**
: Synonym for "--target lisp"
: Synonym for "\-\-target lisp"
**-f, \-\-full. -full, -4**
: Synonym for "--target full"
: Synonym for "\-\-target full"
**-a, \-\-apps, -apps, -5**
: Synonym for "--target apps"
: Synonym for "\-\-target apps"
**-a-, \-\-apps-, -apps-, -5-**
: Synonym for "--target apps"
: Synonym for "\-\-target apps"
**-ov, \-\-override, -override**
: Automatically override the lock that prevents two loadups from running simultaneously. If this flag is not set and an active lock is encountered, the user will be asked to choose whether to override or exit.
@@ -149,11 +149,11 @@ working directory (and all files and subdirectories it contains) is deleted.
files except for those contained in the working directory.
If the **+** parameter is used, then instead of deleting just the versioned files, all files and
subdirectories are deleted except for those contained in the working directory. If **+** is used and
there is no working directory and *--tag TAG* is also specified,
there is no working directory and *\-\-tag TAG* is also specified,
then the tagged loadups directory (\<MEDLEYDIR>/loadups/tagged/TAG) is also deleted.
**-th [+], \-\-thin [+], -thin [+]**
: Equivalent to specifying both -tw [+] and -tl [+]. If *--tag TAG* is also specified and
: Equivalent to specifying both -tw [+] and -tl [+]. If *\-\-tag TAG* is also specified and
the **+** parameter is used here, then the tagged loadups directory (\<MEDLEYDIR>/loadups/tagged/TAG)
is removed.
@@ -168,21 +168,21 @@ running Medley in the absence of an Xwindows server.
DEFAULTS
====
The defaults for the Options context-dependent and somewhat complicated due to the goal of maintaining compatibility with legacy loadup scripts. All of the following defaults rules hold independent of the --maikodir (-d) option.
The defaults for the Options context-dependent and somewhat complicated due to the goal of maintaining compatibility with legacy loadup scripts. All of the following defaults rules hold independent of the \-\-maikodir (-d) option.
1. If none of --target, --start, --aux, and --db are specified, then:
1. If none of \-\-target, \-\-start, \-\-aux, and \-\-db are specified, then:
>1A. If neither --thinw nor --thinl are specified, the options default to:
>1A. If neither \-\-thinw nor \-\-thinl are specified, the options default to:
>> **--target full --start 0 --aux**
>> **\-\-target full \-\-start 0 \-\-aux**
>1B. If either --thinw or --thinl are specified, no loadups are run.
>1B. If either \-\-thinw or \-\-thinl are specified, no loadups are run.
2. If neither --start nor --target are specified but either -aux or -db or both are, then --start defaults to *full* and --target is irrelevant.
2. If neither \-\-start nor \-\-target are specified but either -aux or -db or both are, then \-\-start defaults to *full* and \-\-target is irrelevant.
3. If --start is specified and --target is not, then --target defaults to *full*
3. If \-\-start is specified and \-\-target is not, then \-\-target defaults to *full*
4. If --target is specified and --start is not, then --start defaults to *0*
4. If \-\-target is specified and \-\-start is not, then \-\-start defaults to *0*
EXAMPLES
====
@@ -190,11 +190,11 @@ EXAMPLES
**./loadup \-\-target full \-\-start lisp** : run loadup thru Stage 4 (full.sysout) starting from existing Stage 3 outputs (lisp.sysout).
**./loadup -5 --aux** : run loadup from the beginning thru Stage 5 (apps.sysout) then run the Aux "stage" to create *whereis.hash* and *exports.all*
**./loadup -5 \-\-aux** : run loadup from the beginning thru Stage 5 (apps.sysout) then run the Aux "stage" to create *whereis.hash* and *exports.all*
**./loadup -db** : just run the DB "stage" starting from an existing full.sysout; do not run any of the sequential stages.
**./loadup --maikodir ~/il/newmaiko** : run loadup sequence from beginning to full plus the loadup Aux stage, while using *~/il/newmaiko* as the location for the lde executables when running Medley.
**./loadup \-\-maikodir ~/il/newmaiko** : run loadup sequence from beginning to full plus the loadup Aux stage, while using *~/il/newmaiko* as the location for the lde executables when running Medley.
**./loadup -full** : run loadup sequence from beginning thru full

View File

@@ -87,7 +87,7 @@ the time the loadup is run.</p>
time. There is lock file to prevent simultaneous loadups in the work
directory (named <strong><em>lock</em></strong>) that can be manually
removed. The lock can also be automatically overridden (see the
override flag below). Alternatively, if a lock is encountered at run
--override flag below). Alternatively, if a lock is encountered at run
time, the user will be asked to choose whether to override or simply
exit the loadup.</p>
<p>Note: <strong>MEDLEYDIR</strong> is an environment variable set by
@@ -99,7 +99,8 @@ installed in multiple places on any given machine and hence MEDLEYDIR is
computed on each invocation of loadup.</p>
<h1>OPTIONS</h1>
<dl>
<dt><strong>-z [+], --man [+], -man [+], -h [+], help [+]</strong></dt>
<dt><strong>-z [+], --man [+], -man [+], -h [+], --help
[+]</strong></dt>
<dd>
<p>Print this manual page on the screen. If the <strong>+</strong>
parameter is specified, then no pager is used when displaying the man
@@ -109,7 +110,7 @@ page.</p>
<dd>
<p>Run the sequential loadup procedure until the STAGE is complete,
starting from the files created by the previously run STAGE specified in
the start option.</p>
the --start option.</p>
<p>STAGE can be one of the following:</p>
<blockquote>
<p>i, init, 1: Run the loadup sequence through Stage 1 (init.dlinit).
@@ -129,13 +130,13 @@ Full.sysout is copied into the loadups directory.</p>
</blockquote>
<blockquote>
<p>a, apps, 5: Run the loadup sequence through Stage 5 (apps.sysout).
Also run the Aux stage as if aux option had been specified. Apps.sysout
and the Aux files are copied into the loadups directory.</p>
Also run the Aux stage as if --aux option had been specified.
Apps.sysout and the Aux files are copied into the loadups directory.</p>
</blockquote>
<blockquote>
<p>a-, apps-, 5-: Run the loadup sequence through Stage 5 (apps.sysout).
The Aux stage is not run unless otherwise specified. Apps.sysout is
copied into the loadups directory. Also run the Aux stage as if aux
copied into the loadups directory. Also run the Aux stage as if --aux
option had been specified.</p>
</blockquote>
</dd>
@@ -181,27 +182,27 @@ loadups.</p>
</dd>
<dt><strong>-i, --init, -init, -1</strong></dt>
<dd>
<p>Synonym for “target init”</p>
<p>Synonym for “--target init”</p>
</dd>
<dt><strong>-m, --mid, -mid, -2</strong></dt>
<dd>
<p>Synonym for “target mid”</p>
<p>Synonym for “--target mid”</p>
</dd>
<dt><strong>-l, --lisp, -lisp, -3</strong></dt>
<dd>
<p>Synonym for “target lisp”</p>
<p>Synonym for “--target lisp”</p>
</dd>
<dt><strong>-f, --full. -full, -4</strong></dt>
<dd>
<p>Synonym for “target full”</p>
<p>Synonym for “--target full”</p>
</dd>
<dt><strong>-a, --apps, -apps, -5</strong></dt>
<dd>
<p>Synonym for “target apps”</p>
<p>Synonym for “--target apps”</p>
</dd>
<dt><strong>-a-, --apps-, -apps-, -5-</strong></dt>
<dd>
<p>Synonym for “target apps”</p>
<p>Synonym for “--target apps”</p>
</dd>
<dt><strong>-ov, --override, -override</strong></dt>
<dd>
@@ -245,13 +246,13 @@ contained in the working directory. If the <strong>+</strong> parameter
is used, then instead of deleting just the versioned files, all files
and subdirectories are deleted except for those contained in the working
directory. If <strong>+</strong> is used and there is no working
directory and <em>tag TAG</em> is also specified, then the tagged
directory and <em>--tag</em> TAG is also specified, then the tagged
loadups directory (&lt;MEDLEYDIR&gt;/loadups/tagged/TAG) is also
deleted.</p>
</dd>
<dt><strong>-th [+], --thin [+], -thin [+]</strong></dt>
<dd>
<p>Equivalent to specifying both -tw [+] and -tl [+]. If <em>tag
<p>Equivalent to specifying both -tw [+] and -tl [+]. If <em>--tag
TAG</em> is also specified and the <strong>+</strong> parameter is used
here, then the tagged loadups directory
(&lt;MEDLEYDIR&gt;/loadups/tagged/TAG) is removed.</p>
@@ -277,24 +278,24 @@ absence of an Xwindows server.</p>
<p>The defaults for the Options context-dependent and somewhat
complicated due to the goal of maintaining compatibility with legacy
loadup scripts. All of the following defaults rules hold independent of
the maikodir (-d) option.</p>
the --maikodir (-d) option.</p>
<ol type="1">
<li><p>If none of target, start, aux, and db are specified,
<li><p>If none of --target, --start, --aux, and --db are specified,
then:</p>
<p>1A. If neither thinw nor thinl are specified, the options default
<p>1A. If neither --thinw nor --thinl are specified, the options default
to:</p>
<blockquote>
<p><strong>target full start 0 aux</strong></p>
<p><strong>--target full --start 0 --aux</strong></p>
</blockquote>
<p>1B. If either thinw or thinl are specified, no loadups are
<p>1B. If either --thinw or --thinl are specified, no loadups are
run.</p></li>
<li><p>If neither start nor target are specified but either -aux or
-db or both are, then start defaults to <em>full</em> and target is
<li><p>If neither --start nor --target are specified but either -aux or
-db or both are, then --start defaults to <em>full</em> and --target is
irrelevant.</p></li>
<li><p>If start is specified and target is not, then target defaults
to <em>full</em></p></li>
<li><p>If target is specified and start is not, then start defaults
to <em>0</em></p></li>
<li><p>If --start is specified and --target is not, then --target
defaults to <em>full</em></p></li>
<li><p>If --target is specified and --start is not, then --start
defaults to <em>0</em></p></li>
</ol>
<h1>EXAMPLES</h1>
<p><strong>./loadup -full -s lisp</strong> : run loadup thru Stage 4
@@ -302,12 +303,12 @@ to <em>0</em></p></li>
<p><strong>./loadup --target full --start lisp</strong> : run loadup
thru Stage 4 (full.sysout) starting from existing Stage 3 outputs
(lisp.sysout).</p>
<p><strong>./loadup -5 aux</strong> : run loadup from the beginning
<p><strong>./loadup -5 --aux</strong> : run loadup from the beginning
thru Stage 5 (apps.sysout) then run the Aux “stage” to create
<em>whereis.hash</em> and <em>exports.all</em></p>
<p><strong>./loadup -db</strong> : just run the DB “stage” starting from
an existing full.sysout; do not run any of the sequential stages.</p>
<p><strong>./loadup maikodir ~/il/newmaiko</strong> : run loadup
<p><strong>./loadup --maikodir ~/il/newmaiko</strong> : run loadup
sequence from beginning to full plus the loadup Aux stage, while using
<em>~/il/newmaiko</em> as the location for the lde executables when
running Medley.</p>

52
lispusers/CONVERT-TO-UTF8 Normal file
View File

@@ -0,0 +1,52 @@
(DEFINE-FILE-INFO PACKAGE "INTERLISP" READTABLE "INTERLISP" BASE 10)
(FILECREATED "25-Feb-2026 09:09:57" {WMEDLEY}<lispusers>CONVERT-TO-UTF8.;16 2573
:EDIT-BY rmk
:CHANGES-TO (FNS CONVERT-TO-UTF8)
:PREVIOUS-DATE "24-Feb-2026 22:45:57" {WMEDLEY}<lispusers>CONVERT-TO-UTF8.;14)
(PRETTYCOMPRINT CONVERT-TO-UTF8COMS)
(RPAQQ CONVERT-TO-UTF8COMS ((FNS CONVERT-TO-UTF8)))
(DEFINEQ
(CONVERT-TO-UTF8
[LAMBDA (FILENAME FILETYPE) (* ; "Edited 25-Feb-2026 09:09 by rmk")
(* ;; "This produces a new version of the source FILENAME with :UTF-8 external format.")
(* ;; "If we had a list of problematic functions (multiple definitions on multiple files, MOVD's), we could check that against the functions in FILENAME, and at least produce a warning.")
(* ;; "Compiling may be tricky: some files have CL:COMPILE-FILE FILETYPE properties that don't correspond to the fact that they actually have only an LCOM. This tries to revert the filetype back to FAKE-COMPILE-FILE so that we don't get confused when a DFASL mysteriously appears.")
(SETQ FILENAME (PSEUDOFILENAME FILENAME))
(SETQ FILENAME (OR (FINDFILE FILENAME T)
(ERROR "FILE NOT FOUND" FILENAME)))
(if [EQ :UTF-8 (CL:WITH-OPEN-FILE (STREAM FILENAME :DIRECTION :INPUT)
(fetch (READER-ENVIRONMENT REFORMAT) of (GET-ENVIRONMENT-AND-FILEMAP STREAM
T]
then (PRINTOUT T FILENAME " is already " .P2 :UTF-8 T)
NIL
else (LOAD? (MEDLEYDIR "loadups" 'EXPORTS.ALL)) (* ; "Maybe this should load SYSEDIT ?")
(LOAD FILENAME 'PROP)
(LOADCOMP FILENAME)
(SETQ FILENAME (PACKFILENAME 'VERSION NIL 'BODY FILENAME))
(CL:WHEN [AND (EQ 'CL:COMPILE-FILE (GETPROP (ROOTFILENAME FILENAME)
'FILETYPE))
(FINDFILE (PACKFILENAME 'EXTENSION 'LCOM 'BODY FILENAME))
(NOT (FINDFILE (PACKFILENAME 'EXTENSION 'DFASL 'BODY FILENAME]
(CL:UNLESS FILETYPE (SETQ FILETYPE :FAKE-COMPILE-FILE))
(PRINTOUT T "Changing FILETYPE back to " .P2 FILETYPE T)
(PUTPROP (ROOTFILENAME FILENAME)
'FILETYPE FILETYPE))
[SETQ FILENAME (MAKEFILE FILENAME '(NEW :UTF-8]
(MAKEFILE1 FILENAME NIL '(F))
FILENAME])
)
(DECLARE%: DONTCOPY
(FILEMAP (NIL (406 2550 (CONVERT-TO-UTF8 416 . 2548)))))
STOP

Binary file not shown.

Binary file not shown.

View File

@@ -1,12 +1,12 @@
(DEFINE-FILE-INFO PACKAGE "INTERLISP" READTABLE "INTERLISP" BASE 10)
(DEFINE-FILE-INFO :PACKAGE "INTERLISP" :READTABLE "INTERLISP" :BASE 10)
(FILECREATED "11-Sep-2025 16:49:07" {WMEDLEY}<sources>COREIO.;18 56903
(FILECREATED "28-Feb-2026 12:09:38" {WMEDLEY}<sources>COREIO.;20 57201
:EDIT-BY rmk
:CHANGES-TO (FNS \CORE.DIRECTORYNAMEP)
:PREVIOUS-DATE " 5-Jun-2022 00:14:07" {WMEDLEY}<sources>COREIO.;17)
:PREVIOUS-DATE "11-Sep-2025 16:49:07" {WMEDLEY}<sources>COREIO.;18)
(PRETTYCOMPRINT COREIOCOMS)
@@ -89,6 +89,8 @@
(\CORE.DIRECTORYNAMEP
[LAMBDA (DIRNAME DEV)
(* ;; "Edited 28-Feb-2026 12:08 by rmk")
(* ;; "Edited 11-Sep-2025 16:48 by rmk")
(* ;; "Edited 18-Jan-2022 11:17 by rmk")
@@ -106,18 +108,21 @@
(* ;; "Returns NIL for a DIRNAME of just {CORE}, or {CORE}xxx. If the latter, then we want it to be a directory and not a file (assuming that xxx and xxx> can't both exist.")
[LET [(DIR (FILENAMEFIELD DIRNAME 'DIRECTORY]
(CL:WHEN DIR
(SETQ DIR (CONCAT DIR ">"))
(LET [(DIR (FILENAMEFIELD DIRNAME 'DIRECTORY]
(if DIR
then (SETQ DIR (CONCAT DIR ">"))
(* ;; "DIRPOS because caller may not have stripped off the device. This will match the first < or / (or >)")
(* ;; "DIRPOS because caller may not have stripped off the device. This will match the first < or / (or >)")
(FOR ENTRY (DIRPOS _ (STRPOS "<" DIRNAME 1 NIL NIL NIL FILEDIRCASEARRAY))
FIRST (CL:UNLESS (EQ DIRPOS 1)
(SETQ DIRNAME (SUBSTRING DIRNAME DIRPOS)))
IN (CDR (FETCH COREDIRECTORY OF DEV))
WHEN (STRPOS DIRNAME (CAR ENTRY)
1 NIL T NIL FILEDIRCASEARRAY) DO (RETURN T)))])])
(FOR ENTRY (DIRPOS _ (STRPOS "<" DIRNAME 1 NIL NIL NIL FILEDIRCASEARRAY))
FIRST (CL:UNLESS (EQ DIRPOS 1)
(SETQ DIRNAME (SUBSTRING DIRNAME DIRPOS)))
IN (CDR (FETCH COREDIRECTORY OF DEV))
WHEN (STRPOS DIRNAME (CAR ENTRY)
1 NIL T NIL FILEDIRCASEARRAY) DO (RETURN T))
else (* ;
 "Top level: does the device exist at al. The cd {CORE}case")
T)))])
(\CORE.FINDPAGE
[LAMBDA (STREAM PN) (* bvm%: "20-Apr-85 13:32")
@@ -997,16 +1002,16 @@
)
)
(DECLARE%: DONTCOPY
(FILEMAP (NIL (1572 46115 (\CORE.CLOSEFILE 1582 . 2355) (\CORE.DELETEFILE 2357 . 4343) (
\CORE.DIRECTORYNAMEP 4345 . 5838) (\CORE.FINDPAGE 5840 . 9069) (\CORE.GENERATEFILES 9071 . 11658) (
\CORE.NEXTFILEFN 11660 . 12159) (\CORE.FILEINFOFN 12161 . 12390) (\CORE.GETFILEHANDLE 12392 . 14546) (
\CORE.GETFILEINFO 14548 . 15511) (\CORE.GETFILEINFO.FROM.INFOBLOCK 15513 . 17050) (\CORE.GETFILENAME
17052 . 19341) (\CORE.GETINFOBLOCK 19343 . 21966) (\CORE.NAMESCAN 21968 . 23515) (\CORE.NAMESEGMENT
23517 . 23954) (\CORE.OPENFILE 23956 . 27348) (\COREFILE.SETPARAMETERS 27350 . 29531) (
\CORE.PACKFILENAME 29533 . 29928) (\CORE.RELEASEPAGES 29930 . 30531) (\CORE.SETFILEPTR 30533 . 31632)
(\CORE.UPDATEOF 31634 . 33263) (\CORE.BACKFILEPTR 33265 . 35473) (\CORE.SETEOFPTR 35475 . 37344) (
\CORE.SETACCESSTIME 37346 . 37971) (\CORE.SETFILEINFO 37973 . 40275) (\CORE.GETNEXTBUFFER 40277 .
44233) (\CORE.UNPACKFILENAME 44235 . 46113)) (46116 49749 (COREDEVICE 46126 . 46297) (
\CREATECOREDEVICE 46299 . 49747)) (49750 52164 (\NODIRCOREFDEV 49760 . 50357) (\NODIRCORE.OPENFILE
50359 . 52162)))))
(FILEMAP (NIL (1572 46413 (\CORE.CLOSEFILE 1582 . 2355) (\CORE.DELETEFILE 2357 . 4343) (
\CORE.DIRECTORYNAMEP 4345 . 6136) (\CORE.FINDPAGE 6138 . 9367) (\CORE.GENERATEFILES 9369 . 11956) (
\CORE.NEXTFILEFN 11958 . 12457) (\CORE.FILEINFOFN 12459 . 12688) (\CORE.GETFILEHANDLE 12690 . 14844) (
\CORE.GETFILEINFO 14846 . 15809) (\CORE.GETFILEINFO.FROM.INFOBLOCK 15811 . 17348) (\CORE.GETFILENAME
17350 . 19639) (\CORE.GETINFOBLOCK 19641 . 22264) (\CORE.NAMESCAN 22266 . 23813) (\CORE.NAMESEGMENT
23815 . 24252) (\CORE.OPENFILE 24254 . 27646) (\COREFILE.SETPARAMETERS 27648 . 29829) (
\CORE.PACKFILENAME 29831 . 30226) (\CORE.RELEASEPAGES 30228 . 30829) (\CORE.SETFILEPTR 30831 . 31930)
(\CORE.UPDATEOF 31932 . 33561) (\CORE.BACKFILEPTR 33563 . 35771) (\CORE.SETEOFPTR 35773 . 37642) (
\CORE.SETACCESSTIME 37644 . 38269) (\CORE.SETFILEINFO 38271 . 40573) (\CORE.GETNEXTBUFFER 40575 .
44531) (\CORE.UNPACKFILENAME 44533 . 46411)) (46414 50047 (COREDEVICE 46424 . 46595) (
\CREATECOREDEVICE 46597 . 50045)) (50048 52462 (\NODIRCOREFDEV 50058 . 50655) (\NODIRCORE.OPENFILE
50657 . 52460)))))
STOP

Binary file not shown.