-
-
Notifications
You must be signed in to change notification settings - Fork 24
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
searching for files is over enthusiastic #1993
Comments
Trying to load a non-existent file
|
I looked at the way Tedit gets loaded. Tedit is found as library>tedit>TEDIT, and then it loades all of its hyphenated subsidiary files (TEDIT-PCTREE, TEDIT-STREAM) by a simple (FILES … command). So it is presumably doing the hyphen search for each one.
It seems that \LOAD-STREAM under LOAD binds FILE as a specvar to the fullname of the loading FILE. So would it help to change the TEDIT FILES commands to (FILES (FROM VALUEOF (HOST&DIR FILE))… where HOST&DIR packs up the host and directory of FILE? Same perhaps for some of the other hyphenated subsystems.
… On Jan 28, 2025, at 6:38 PM, Nick Briggs ***@***.***> wrote:
During startup, in the Maiko code that converts a Lisp version syntax name (file.ext;version) to a Unix version syntax (file.ext.~version~) I see the following sequence of calls (with the input and output, or if it doesn't match the required syntax, just the input):
in LVTUV: home>briggs>medley-main>greetfiles>BACKGROUND-YIELD.DFASL
in LVTUV: home>briggs>medley-main>greetfiles>BACKGROUND>BACKGROUND-YIELD.DFASL
in LVTUV: home>briggs>medley-main>greetfiles>BACKGROUND-YIELD.LCOM
in LVTUV: home>briggs>medley-main>greetfiles>BACKGROUND>BACKGROUND-YIELD.LCOM
in LVTUV: ~>BACKGROUND-YIELD.DFASL * where did this come from? *
in LVTUV: BACKGROUND>BACKGROUND-YIELD.DFASL
in LVTUV: ~>BACKGROUND-YIELD.LCOM * and this? *
in LVTUV: BACKGROUND>BACKGROUND-YIELD.LCOM
in LVTUV: home>briggs>medley-main>library>BACKGROUND-YIELD.DFASL
in LVTUV: home>briggs>medley-main>library>BACKGROUND>BACKGROUND-YIELD.DFASL
in LVTUV: home>briggs>medley-main>library>BACKGROUND-YIELD.LCOM
in LVTUV: home>briggs>medley-main>library>BACKGROUND>BACKGROUND-YIELD.LCOM
in LVTUV: home>briggs>medley-main>lispusers>BACKGROUND-YIELD.DFASL
in LVTUV: home>briggs>medley-main>lispusers>BACKGROUND>BACKGROUND-YIELD.DFASL
in LVTUV: home>briggs>medley-main>lispusers>BACKGROUND-YIELD.LCOM
in LVTUV: home>briggs>medley-main>lispusers>BACKGROUND-YIELD.LCOM;1
out LVTUV: home>briggs>medley-main>lispusers>BACKGROUND-YIELD.LCOM.~1~
in LVTUV: home>briggs>medley-main>lispusers>BACKGROUND-YIELD.LCOM;1> * and this? *
in LVTUV: home>briggs>medley-main>lispusers>BACKGROUND-YIELD.LCOM;1
out LVTUV: home>briggs>medley-main>lispusers>BACKGROUND-YIELD.LCOM.~1~
in LVTUV: home>briggs>medley-main>lispusers>BACKGROUND-YIELD.LCOM;1
out LVTUV: home>briggs>medley-main>lispusers>BACKGROUND-YIELD.LCOM.~1~
It's too bad that it has to go probing for subdirectories if there's a hyphen in the file name.
When I accidentally had a scroll meta-character hit the Exec window, it went looking for a font (that it wasn't going to find):
in LVTUV: c2>c2>HELVETICA10-BRR-C2.DISPLAYFONT
in LVTUV: c2>HELVETICA10>c2>HELVETICA10-BRR-C2.DISPLAYFONT
in LVTUV: c2>c2>HELVETICA10-BRR-C2.DISPLAYFONT
in LVTUV: c2>HELVETICA10>c2>HELVETICA10-BRR-C2.DISPLAYFONT
in LVTUV: home>briggs>medley-main>fonts>displayfonts>c2>HELVETICA10-BRR-C2.DISPLAYFONT
in LVTUV: home>briggs>medley-main>fonts>altofonts>c2>HELVETICA10-BRR-C2.DISPLAYFONT
in LVTUV: home>briggs>medley-main>fonts>adobe>c2>HELVETICA10-BRR-C2.DISPLAYFONT
in LVTUV: home>briggs>medley-main>fonts>big>c2>HELVETICA10-BRR-C2.DISPLAYFONT
in LVTUV: home>briggs>medley-main>fonts>other>c2>HELVETICA10-BRR-C2.DISPLAYFONT
For sure, LISPUSERSDIRECTORIES should not contain
({DSK}<home>briggs>medley-main>library> {DSK}<home>briggs>medley-main>lispusers>
{DSK}<home>briggs>medley-main>internal> {DSK}<home>briggs>medley-main>greetfiles>
{DSK}<home>briggs>medley-main>doctools>)
Doing (LOAD 'MEDLEYDIR-INIT 'ALLPROP) generated this sequence of version conversions:
in LVTUV: home>briggs>MEDLEYDIR-INIT
in LVTUV: home>briggs>MEDLEYDIR-INIT
in LVTUV: home>briggs>MEDLEYDIR>MEDLEYDIR-INIT
in LVTUV: home>briggs>medley-main>library>MEDLEYDIR-INIT
in LVTUV: home>briggs>medley-main>library>MEDLEYDIR>MEDLEYDIR-INIT
in LVTUV: home>briggs>medley-main>lispusers>MEDLEYDIR-INIT
in LVTUV: home>briggs>medley-main>lispusers>MEDLEYDIR>MEDLEYDIR-INIT
in LVTUV: home>briggs>medley-main>internal>MEDLEYDIR-INIT
in LVTUV: home>briggs>medley-main>internal>MEDLEYDIR>MEDLEYDIR-INIT
in LVTUV: home>briggs>medley-main>greetfiles>MEDLEYDIR-INIT
in LVTUV: home>briggs>medley-main>greetfiles>MEDLEYDIR-INIT.;1
out LVTUV: home>briggs>medley-main>greetfiles>MEDLEYDIR-INIT..~1~
in LVTUV: home>briggs>medley-main>greetfiles>MEDLEYDIR-INIT.;1>
in LVTUV: home>briggs>medley-main>greetfiles>MEDLEYDIR-INIT.;1
out LVTUV: home>briggs>medley-main>greetfiles>MEDLEYDIR-INIT..~1~
in LVTUV: home>briggs>medley-main>sources>MEDLEYDIR.LCOM
in LVTUV: home>briggs>medley-main
in LVTUV: home>briggs>medley-main>
in LVTUV: home>briggs>medley-main>library>
in LVTUV: home>briggs>medley-main>lispusers>
in LVTUV: home>briggs>medley-main>internal>
in LVTUV: home>briggs>medley-main>greetfiles>
in LVTUV: home>briggs>medley-main>doctools>
in LVTUV: home>briggs>medley-main>sources>
in LVTUV: home>briggs>medley-main>docs>dinfo>
in LVTUV: home>briggs>
in LVTUV: home>briggs>medley-main>fonts>displayfonts>
in LVTUV: home>briggs>medley-main>fonts>altofonts>
in LVTUV: home>briggs>medley-main>fonts>adobe>
in LVTUV: home>briggs>medley-main>fonts>big>
in LVTUV: home>briggs>medley-main>fonts>other>
in LVTUV: home>briggs>medley-main>fonts>postscriptfonts>
in LVTUV: home>briggs>medley-main>fonts>ipfonts>
in LVTUV: home>briggs>medley-main>unicode>xerox>
in LVTUV: home>briggs>
in LVTUV: home>briggs>medley-main>loadups>
in LVTUV: home>briggs>medley-main>loadups>whereis.hash
in LVTUV: home>briggs>medley-main>loadups>
in LVTUV: home>briggs>
in LVTUV: home>briggs>medley-main>greetfiles>MEDLEYDIR-INIT.;1
out LVTUV: home>briggs>medley-main>greetfiles>MEDLEYDIR-INIT..~1~
—
Reply to this email directly, view it on GitHub <#1993>, or unsubscribe <https://github.com/notifications/unsubscribe-auth/AQSTUJLKZGJSC57NBRSYR5L2NA5LVAVCNFSM6AAAAABWB3G7POVHI2DSMVQWIX3LMV43ASLTON2WKOZSHAYTOMJQGMYTCMA>.
You are receiving this because you are subscribed to this thread.
|
I'm not sure that |
What about building something in as a modifier of FROM:
(FILES (FROM HERE) SKETCH-OPS …)
pushes the host/directory of the current FILE onto the front of the search list
… On Jan 29, 2025, at 9:05 AM, Nick Briggs ***@***.***> wrote:
I'm not sure that (FROM VALUEOF (HOST&DIR ...)) is a pattern we'd want to promote, though. It would cut down on the number of attempts that it would make for hyphenated packages that know about themselves, but doesn't help files that just happen to have a hyphen in their names.
—
Reply to this email directly, view it on GitHub <#1993 (comment)>, or unsubscribe <https://github.com/notifications/unsubscribe-auth/AQSTUJPP7GGB37ZDGX7FYKT2NEC7JAVCNFSM6AAAAABWB3G7POVHI2DSMVQWIX3LMV43OSLTON2WKQ3PNVWWK3TUHMZDMMRSGIYTONZTGI>.
You are receiving this because you commented.
|
Looking at DOFILESLOAD - it appears that it's already trying to give priority to the location of the file it is loading for other files that get loaded, but I wonder if something is going wrong in the way it does this?
|
So maybe this part of the X/X-Y arrangement isn’t a problem? Are there a lot of bogus look ups when Sketch or Tedit are loaded?
… On Jan 29, 2025, at 11:08 AM, Nick Briggs ***@***.***> wrote:
Looking at DOFILESLOAD - it appears that it's already trying to give priority to the location of the file it is loading for other files that get loaded, but I wonder if something is going wrong in the way it does this?
(COND ((BOUNDP 'LDFLG)
(* ;; "Under a load; give priority to directory of currently loading file. ")
(LET ((INPUTNAME (FULLNAME *STANDARD-INPUT*)))
(if (AND (NEQ INPUTNAME *STANDARD-INPUT*)
(NEQ INPUTNAME T))
then
(* ;
"If reading from terminal or nameless stream, don't do this.")
(SETQ DIRS (CONS (PACKFILENAME.STRING 'VERSION NIL 'NAME NIL 'EXTENSION NIL
'BODY INPUTNAME)
(CONS T DIRECTORIES)))
(SETQ LOADOPTIONSFLG LDFLG)))))
—
Reply to this email directly, view it on GitHub <#1993 (comment)>, or unsubscribe <https://github.com/notifications/unsubscribe-auth/AQSTUJLCTIDMHU4RYABM66T2NERKJAVCNFSM6AAAAABWB3G7POVHI2DSMVQWIX3LMV43OSLTON2WKQ3PNVWWK3TUHMZDMMRSGYYDCNBYGE>.
You are receiving this because you commented.
|
It's not terrible for the case where it's actually a X/X-Y organized package. This is it trying to load TEDIT-BUTTONS.LCOM from within TEDIT.LCOM
|
I think the hyphenated file name processing is interacting badly with the font file names, where there are a bunch of hyphens separating components
|
Why is it getting the 3 look ups for .LCOM;1 in the same directory, plus the .LCOM in that directory?
Is it first finding and then loading? Do those lookups make sense?
… On Jan 29, 2025, at 12:12 PM, Nick Briggs ***@***.***> wrote:
It's not terrible for the case where it's actually a X/X-Y organized package. This is it trying to load TEDIT-BUTTONS.LCOM from within TEDIT.LCOM
LVTUV: home>briggs>medley>library>tedit>TEDIT-BUTTONS.DFASL
LVTUV: home>briggs>medley>library>tedit>TEDIT>TEDIT-BUTTONS.DFASL *** it's already in the subdir, but tries adding another one because the file wasn't found and it had a dash in the name.
LVTUV: home>briggs>medley>library>tedit>TEDIT-BUTTONS.LCOM
LVTUV: home>briggs>medley>library>tedit>TEDIT-BUTTONS.LCOM;1
LVTUV: home>briggs>medley>library>tedit>TEDIT-BUTTONS.LCOM;1> **** not sure what's generating this
LVTUV: home>briggs>medley>library>tedit>TEDIT-BUTTONS.LCOM;1
LVTUV: home>briggs>medley>library>tedit>TEDIT-BUTTONS.LCOM;1
—
Reply to this email directly, view it on GitHub <#1993 (comment)>, or unsubscribe <https://github.com/notifications/unsubscribe-auth/AQSTUJMIWWP3FTRRBYXIWCD2NEY23AVCNFSM6AAAAABWB3G7POVHI2DSMVQWIX3LMV43OSLTON2WKQ3PNVWWK3TUHMZDMMRSG42DCNJVGE>.
You are receiving this because you commented.
|
Maybe the font lookup should be somehow specified with a reduced depth parameter?
… On Jan 29, 2025, at 12:26 PM, Nick Briggs ***@***.***> wrote:
I think the hyphenated file name processing is interacting badly with the font file names, where there are a bunch of hyphens separating components
LVTUV: c0>c0>MODERN10-MRR-C0.DISPLAYFONT
LVTUV: c0>MODERN10>c0>MODERN10-MRR-C0.DISPLAYFONT
LVTUV: c0>c0>MODERN10-MRR-C0.DISPLAYFONT
LVTUV: c0>MODERN10>c0>MODERN10-MRR-C0.DISPLAYFONT
LVTUV: home>briggs>medley>fonts>displayfonts>c0>MODERN10-MRR-C0.DISPLAYFONT
—
Reply to this email directly, view it on GitHub <#1993 (comment)>, or unsubscribe <https://github.com/notifications/unsubscribe-auth/AQSTUJLAS3IMQ4NSJJJ5Z332NE2NXAVCNFSM6AAAAABWB3G7POVHI2DSMVQWIX3LMV43OSLTON2WKQ3PNVWWK3TUHMZDMMRSG43DQNZTGQ>.
You are receiving this because you commented.
|
These are logged at the point it tries to convert a Lisp-style versioned name to a Unix-style versioned name. To see what is initiating (on the Lisp side) this I'll have to trigger a URaid call and look at the Lisp stack. |
The extra
|
During startup, in the Maiko code that converts a Lisp version syntax name (
file.ext;version
) to a Unix version syntax (file.ext.~version~
) I see the following sequence of calls (with the input and output, or if it doesn't match the required syntax, just the input):It's too bad that it has to go probing for subdirectories if there's a hyphen in the file name.
When I accidentally had a scroll meta-character hit the Exec window, it went looking for a font (that it wasn't going to find):
For sure, LISPUSERSDIRECTORIES should not contain
Doing
(LOAD 'MEDLEYDIR-INIT 'ALLPROP)
generated this sequence of version conversions:The text was updated successfully, but these errors were encountered: