From: Paul Eggert <eggert@twinsun.com>
Cc: emacs-devel@gnu.org, knagano@sodan.org
Subject: Re: init_buffer PWD fix
Date: Tue, 23 Apr 2002 10:45:12 -0700 (PDT) [thread overview]
Message-ID: <200204231745.g3NHjCW00689@shade.twinsun.com> (raw)
In-Reply-To: <u662jvt4o.fsf@MILCH.meadowy.org> (himi@m17n.org)
> From: MIYASHITA Hisashi <himi@m17n.org>
> Date: Tue, 23 Apr 2002 15:14:31 +0900
>
> But, in the first place, is this code necessary on all platform?
It's not necessary everywhere, but it's necessary on many platforms
(including GNU/Linux) and would be painful to figure out exactly which
platforms need it and which don't.
> Even now, is it really efficient on almost all of the platforms?
It's pretty efficent on POSIX or near-POSIX platforms, yes. I suppose
it might be slow on Windows, though I'm not a Windows expert.
> FYI, I've tested the following code on Debian GNU/Linux (sid) to check
> the efficiency.
Efficiency is not the primary concern here. More important are:
1) Correctness. The current code works if a parent directory is
searchable but not readable; on many hosts, getcwd won't work in
that situation.
2) Using nice names for the working directory in the presence of
symbolic links. For example, on my host:
15-shade $ cd /reb
16-shade $ echo $PWD
/reb
17-shade $ /bin/pwd
/net/sic/export/ford/reb
When Emacs starts up, I want the working directory to be "/reb", not
"/net/sic/export/ford/reb".
Your benchmark indicates that Emacs needs to spend one microsecond to
get the nicer name on your host; that's a win in my book.
> Therefore, I'd like to propose to remove this hacked optimization
> from init_buffer().
I'd rather leave it in, for the above reasons. However, the code's
comment was misleading since it implies that the $PWD code is there
purely for optimization purposes. It is faster on many traditional
hosts (for example, it is faster on my Solaris 8 host) but you're
correct that it's not faster on GNU/Linux hosts.
I have checked in a fix to the comment, so that it looks like this
instead:
/* If PWD is accurate, use it instead of calling getwd. PWD is
sometimes a nicer name, and using it may avoid a fatal error if a
parent directory is searchable but not readable. */
next prev parent reply other threads:[~2002-04-23 17:45 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 [this message]
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
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=200204231745.g3NHjCW00689@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).