[Top][All Lists]

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: LYNX-DEV Lynx W32 bug report

From: Benjamin C. W. Sittler
Subject: Re: LYNX-DEV Lynx W32 bug report
Date: Fri, 7 Mar 1997 13:25:07 -0700 (MST)

[Warning: this is long!]

On Fri, 7 Mar 1997, Alan Cox wrote:

> > And I ask, again, why would I want my lynx.cfg to be accessable by
> > ~buttles/ ?  Can you even count on everyone's home being the same place on
> > a unix box?  NO.  So you can't be sure that ~fred/ is the same as
> > /home2/fred/ when you live in /home/buttles/.
> > 
> > I just don't see why it matters.

[unneccesary comment snipped]

> That is how ~ expansion works on unix. The code I posted handles it right,
> it doesn't assume anything about /home or /home2. Try reading a book on
> csh or bash and looking at man getpwnam and the posted code.

Much as we'd like to think otherwise, the world does not revolve about
UNIX ;). Under VMS, for example, people expect logicals to be expanded in
filenames, and Windows NT users expect environment variable references
like %windir% to work under some circumstances.

The question we should really be asking, I think, is whether Lynx should
try to present its traditional UNIX-centric interface on all platforms, or
try to adapt the interface to new platforms. Lynx under VMS already makes
some allowances for native filename conventions, for example. For the sake
of readable code, I think we should limit the number of interfaces as
stringently as possible, but DOS and Windoze users would really complain
if they couldn't use C:\lynx\lynx.cfg for a configuration file, even if we
told the the POSIX convention for files on a that device would look like
//C/lynx/lynx.cfg.  People using a POSIX subsystem under Windows, as I do
(CYGWIN32), expect C:/lynx/lynx.cfg to mean the same thing as
//C/lynx/lynx.cfg, and don't expent C:\lynx\lynx.cfg to work at all. 
Windows itself interprets \\C\lynx\lynx.cfg as a reference to the file
"lynx.cfg" on the volume "lynx" on the network server "C". 

My point (finally!) is that we should choose to stick either with native
filename semantics (i.e. \, \\machine\vol\path, c:\path) or with
UNIX/POSIX semantics, regardless of platform. (of course, under Windows we
could take the easy way out and use POSIX semantics if the name startss
with /, and native otherwise.) Personally I would prefer POSIX semantics
universally, as it means a single set of code to maintain, and we'd just
need to emulate the features (such as getpwnam) that the OS is lacking. 
Under Windows NT, for example, ~user could default to
%windir%/Profiles/user, and ~ to %windir%/Profiles/%username%.  Of course,
VMS already has lots of native-semantics code (thanks Fote!) so maybe we
should be consistently inconsistent. 

I apologize for the excessive length and wordiness of this post, but I
suspect some of the UNIX users may not understand just how much the code
has to change for other OS families.

; To UNSUBSCRIBE:  Send a mail message to address@hidden
;                  with "unsubscribe lynx-dev" (without the
;                  quotation marks) on a line by itself.

reply via email to

[Prev in Thread] Current Thread [Next in Thread]