unofficial mirror of emacs-devel@gnu.org 
 help / color / mirror / code / Atom feed
From: Paul Eggert <eggert@twinsun.com>
Cc: emacs-devel@gnu.org, knagano@sodan.org
Subject: Re: init_buffer PWD fix
Date: Wed, 24 Apr 2002 12:19:03 -0700 (PDT)	[thread overview]
Message-ID: <200204241919.g3OJJ3104590@shade.twinsun.com> (raw)
In-Reply-To: <uhem1t3yd.fsf@MILCH.meadowy.org> (himi@meadowy.org)

> From: MIYASHITA Hisashi(=?ISO-2022-JP?B?GyRCNVwyPBsoQiAbJEI+MBsoQjpISU1J?=)
>  <himi@meadowy.org>
> Date: Thu, 25 Apr 2002 02:13:30 +0900

> I can imagin many bad situations.  Suppose the following
> situation as an example.
> 
> (1) sh or tcsh set "PWD" and the current directory to "c:/PROGRA~1"

This should happen only if either:

 A) the user types "cd c:/PROGRA~1"; or
 B) getcwd returns "c:/PROGRA~1" when sh starts up.

In case A), the user has indicated a preference for the name "c:/PROGRA~1",
so that is a better name for Emacs to use.

In case B), there's no difference between using PWD and using getcwd,
so there's no problem.


> On Windows, however, it's not only useless but also harmful, I think.

I don't see any extra harm in Windows.  The situation is similar to
that on Unix.

The Unix convention is that PWD is the preferred name for the working
directory.  Most Unix shells obey this convention.  A few older shells
don't, and in that case the user gets a name other than the preferred
name; but the name still works so it's not a major problem.

Windows seems quite similar here, once we fix the bug in w32.c.


> The above case is an example to affirm relying on "PWD" by obscure
> convension is maybe harmful.

It's not an obscure convention; it's in the POSIX standard.

All other things being equal, it's better for w32.c to provide POSIX
behavior; that isolates the Windows-specific stuff into w32.c instead
of requiring Windows-specific changes to the rest of the code.  eliz
has proposed a fix along those lines, and this seems preferable to me
as well.


> From: MIYASHITA Hisashi(=?ISO-2022-JP?B?GyRCNVwyPBsoQiAbJEI+MBsoQjpISU1J?=)
>  <himi@m17n.org>
> Date: Thu, 25 Apr 2002 03:25:57 +0900
> 
> But "PWD" is NOT cared by almost all of the Windows application.
> On the contrary, Get/SetCurrentDirectory() is always cared.

This is like Unix.  On Unix, most applications don't use $PWD; they
use the working directory.  The only applications that set and use
$PWD are those that care about using a "nice" name for the working
directory.

The situations seem to be analogous.  In both systems, you can
have multiple names for the same directory (because of symbolic
links, or file name mangling, or backslashifying, or whatever).
It's nice to use the user's preferred name for a directory even
if it is not canonical, and $PWD is the standard way to do this.

  parent reply	other threads:[~2002-04-24 19:19 UTC|newest]

Thread overview: 54+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2002-04-21 20:15 init_buffer PWD fix Keiichiro Nagano
2002-04-21 23:00 ` Keiichiro Nagano
2002-04-22  6:18 ` Paul Eggert
2002-04-22  7:20   ` Keiichiro Nagano
2002-04-22 11:15     ` Eli Zaretskii
2002-04-22 21:16     ` Jason Rumney
2002-04-22  7:53   ` Eli Zaretskii
2002-04-22  7:01     ` Paul Eggert
2002-04-22  8:10       ` Eli Zaretskii
2002-04-22  7:22         ` Paul Eggert
2002-04-22 11:14           ` Eli Zaretskii
2002-04-22 23:21             ` Paul Eggert
2002-04-23  6:05               ` Eli Zaretskii
2002-04-22 21:21         ` Jason Rumney
2002-04-23  5:56           ` Eli Zaretskii
2002-04-23  6:14   ` MIYASHITA Hisashi
2002-04-23 11:00     ` Eli Zaretskii
2002-04-24 17:55       ` Richard Stallman
2002-04-24 18:14         ` MIYASHITA Hisashi
2002-04-23 17:45     ` Paul Eggert
2002-04-24  6:52       ` MIYASHITA Hisashi
2002-04-24  7:13         ` Paul Eggert
2002-04-24  7:45           ` MIYASHITA Hisashi
2002-04-24 11:12             ` Eli Zaretskii
2002-04-24 10:30               ` MIYASHITA Hisashi
2002-04-24 16:03                 ` Eli Zaretskii
2002-04-24 17:13                   ` MIYASHITA Hisashi
2002-04-24 18:10                     ` Eli Zaretskii
2002-04-24 18:25                       ` MIYASHITA Hisashi
2002-04-24 19:19                     ` Paul Eggert [this message]
2002-04-24 19:41                       ` MIYASHITA Hisashi
2002-04-24 19:59                         ` MIYASHITA Hisashi
2002-04-24 20:21                         ` Paul Eggert
2002-04-24 20:41                           ` MIYASHITA Hisashi
2002-04-24 21:01                             ` Paul Eggert
2002-04-24 21:23                               ` MIYASHITA Hisashi
2002-04-24 21:35                                 ` MIYASHITA Hisashi
2002-04-25 22:52                                 ` Stefan Monnier
2002-04-25  3:42                             ` Eli Zaretskii
2002-04-24 16:47                 ` Paul Eggert
2002-04-24 17:55                   ` MIYASHITA Hisashi
2002-04-24 10:38               ` MIYASHITA Hisashi
2002-04-24 16:08                 ` Eli Zaretskii
2002-04-24 16:10                 ` Eli Zaretskii
2002-04-24  7:55           ` MIYASHITA Hisashi
2002-04-24 11:07           ` Eli Zaretskii
2002-04-24 11:05         ` Eli Zaretskii
2002-04-24 10:31           ` MIYASHITA Hisashi
2002-04-24 16:05             ` Eli Zaretskii
2002-04-22  7:03 ` Eli Zaretskii
2002-04-22  6:49   ` Keiichiro Nagano
2002-04-22  8:01     ` Eli Zaretskii
2002-04-22  8:26       ` Keiichiro Nagano
2002-04-22 11:19         ` Eli Zaretskii

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

  List information: https://www.gnu.org/software/emacs/

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=200204241919.g3OJJ3104590@shade.twinsun.com \
    --to=eggert@twinsun.com \
    --cc=emacs-devel@gnu.org \
    --cc=knagano@sodan.org \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
Code repositories for project(s) associated with this public inbox

	https://git.savannah.gnu.org/cgit/emacs.git

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 read-only IMAP folder(s) and NNTP newsgroup(s).