zsh-workers
 help / color / mirror / code / Atom feed
* 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).