Skip to content
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

GITFNS, PSUEDOHOSTS and OPENSTREAM are not all singing the same tune #959

Open
fghalasz opened this issue Sep 30, 2022 · 9 comments
Open

Comments

@fghalasz
Copy link
Contributor

Trying to a GITFNS gwc - getting a break in OPENSTREAM (see 2nd screenshot).

Same OPENSTREAM (with {WMEDLEY} pseudohost) typed into exec also fails (see 1st screenshot).

OPENSTREAM with {WMEDLEY} pseudohost replaced by it's TRUENAME - succeeds (see 1st screenshot). (Actually didn't use TRUENAME function in these screenshots - just typed true name in - but also succeeds if use TRUENAME function on {WMEDLEY}....)

Running on latest (as of 2022-09-29) maiko and medley masters. Running on Ubuntu 20.04 on top of WSL2 on Windows 11 2022H2.

Screenshot 1

Screenshot 2

@rmkaplan
Copy link
Contributor

rmkaplan commented Sep 30, 2022 via email

@fghalasz
Copy link
Contributor Author

Dot at the end makes no difference.

No specific reason why I used UNIX instead of DSK for WMEDLEY. But GIT-MAKE-PROJECT always sets GMEDLEY to UNIX (see second screenshot below).

If I set WMEDLEY to DSK in GIT-MAKE-PROJECT, then gwc still fails but this time it fails with:
 
Screenshot 5
 
 
And OPENSTREAM on GMEDLEY fails, while OPENSTREAM on WMEDLEY (set to DSK) succeeds.
 
Screenshot 4
 
 
So the issue appears related to {UNIX}?

@rmkaplan
Copy link
Contributor

rmkaplan commented Sep 30, 2022 via email

@masinter
Copy link
Member

Case sensitivity depends on the file system; in Windows with WSL, the WSL Ubuntu is case sensitive; SunOS is case insensitive. And {DSK} treats foo and foo. as equivalent but Unix doesn't.

Is there a SUBR that will translate a DSK filename to the exact shell command variable? It would be better than the ad-hoc code we have for MEDLEYDIR and other environment variables. We also need to support Unicode file names at some point, and that will require some Maiko changes.

@nbriggs
Copy link
Contributor

nbriggs commented Sep 30, 2022

SunOS is case-sensitive, Linux file systems are generally case-sensitive. WSL can be adjusted, as can macOS.

https://learn.microsoft.com/en-us/windows/wsl/case-sensitivity

Not sure what you mean by "translate a DSK filename to the exact shell command variable"

@fghalasz
Copy link
Contributor Author

Yes, case of sources makes a difference. But the ending dot makes no difference.

Screenshot 6
 
 
Seems like for GITFNS dealing with git directories of Lisp code, we want a HOST with the case-insensitivity of DSK but all the other properties of UNIX.

@rmkaplan
Copy link
Contributor

rmkaplan commented Sep 30, 2022 via email

@fghalasz
Copy link
Contributor Author

@rmkaplan I think the case is not handled correctly on the git repo side of GITFNS either.

If I switch WMEDLEY over to {dsk}, then instead I get a break trying to find {GMEDLEY}/SOURCES/10MBDECLS during gwc.

See the first screen shot in my comments about 6 back. It shows the break with GMEDLEY - although not much context I admit.

@fghalasz
Copy link
Contributor Author

fghalasz commented Oct 3, 2022

If you set the global variable *UPPER-CASE-FILE-NAMES* to NIL, then gwc works fine on Linux.

(See my closing note on Issue#964)

Since it appears quite a bit of code in Medley references *UPPER-CASE-FILE-NAMES*, setting it to NIL globally is a bit risky. We should probably just wrap the DIRECTORY call(s) inside GITFNS in a (LET ((*UPPER-CASE-FILE-NAMES* NIL)) --)

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
Status: No status
Development

No branches or pull requests

4 participants