* PATCH: zsh-3.1.5-pws-6: some basic cygwin path handling fixes
@ 1999-02-01 2:58 Matt Armstrong
0 siblings, 0 replies; only message in thread
From: Matt Armstrong @ 1999-02-01 2:58 UTC (permalink / raw)
To: zsh-workers
[-- Attachment #1: Type: text/plain, Size: 920 bytes --]
There are some problems with zsh's pathname handling that don't work
when cygwin's (poorly thought out) drive letter hacks are in effect:
1) "//<drive-letter>/dir" is a valid path. builtin.c's fixdir()
strips off double slashes, which breaks things.
2) If you chdir("..") while in //D you're put in "/" but "/D" is not a
directory in "/". This breaks zgetdir(). (there is actually
another bug in cygwin that breaks zgetdir(), but that is a moot
point after my fix)
The fixes:
For #1, I just allow a leading // under cygwin.
For #2, I just have zgetdir() call getcwd() under cygwin. I
considered having zgetdir() use getcwd() for all systems that had it.
I know the Linux kernel now has a getcwd() syscall, which is
presumbably much faster than zgetdir(). But I backed down from this
for fear that all the magic going on in zgetdir() works around bugs in
some system's implementations of getcwd().
[-- Attachment #2: Fix for cygwin path stuff --]
[-- Type: application/x-patch, Size: 2610 bytes --]
^ permalink raw reply [flat|nested] only message in thread
only message in thread, other threads:[~1999-02-01 2:58 UTC | newest]
Thread overview: (only message) (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
1999-02-01 2:58 PATCH: zsh-3.1.5-pws-6: some basic cygwin path handling fixes Matt Armstrong
Code repositories for project(s) associated with this public inbox
https://git.vuxu.org/mirror/zsh/
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).