unofficial mirror of emacs-devel@gnu.org 
 help / color / mirror / code / Atom feed
From: Thien-Thi Nguyen <ttn@glug.org>
Cc: emacs-devel@gnu.org
Subject: Re: loaddefs.el filenames as seen by `update-file-autoloads'
Date: Mon, 12 May 2003 20:41:04 -0400	[thread overview]
Message-ID: <E19FNqq-0004xY-00@colo.agora-net.com> (raw)
In-Reply-To: <200305122305.h4CN5EGw009946@rum.cs.yale.edu> (monnier+gnu/emacs@rum.cs.yale.edu)

   From: "Stefan Monnier" <monnier+gnu/emacs@rum.cs.yale.edu>
   Date: Mon, 12 May 2003 19:05:14 -0400

   Any reason why it's upcased ?
   Is it just the tradition under VMS ?

i don't know about the internals of other programs under vms, but yes,
traditionally (Richard Levitte's work) emacs has upcased filenames.  i
suppose there may be code that relies on this behavior by now.  one
notable exception is the buffer name -- that is downcased.

   At least under Emacs, the tradition is rather to use lowercase for
   most file names, so it would make more sense to downcase (and most
   places where we want to ignore case, we downcase rather than upcase,
   your code below being a prime example).

ok.

   Also it would be better to do what W32 does: preserve capitalization.
   Is that possible ?

a directory listing from the command line shows filenames all uppercase,
so upcasing everything internally is indeed preserving capitalization.
(this possibility is the current reality.)  perhaps i misunderstand you.

   I'd rather use file-name-equal.

thanks for the tip -- will check it out.  i'm working from 21.2 release
at the moment, will move to 21.3 after "make bootstrap" (actually "mms
bootstrap") works.

   Admittedly, since loaddefs.el is still under CVS control and is hence
   shared between all kinds of systems, it might be better to just
   systematically downcase, independently from the system in use.

yes, this is one important factor that i didn't mention: future
harmonization of build process, including supporting "make bootstrap"
from fresh cvs checkout.

   Hold it.  What about the file name in the (autoload ...) form ?

the cvs loaddefs.el uses lowercase.  the change i proposed would
maintain that convention.  this is possible because under vms,
`expand-file-name' upcases (and practically everything filesystem
related passes through that function at some point -- sometimes
multiply!).

   Since the `autoload' might be used on case-sensitive systems, it
   needs to have the right capitalization (now there's an example where
   preserving capitalization in filenames (even if you ignore it) is
   beneficial).

well, unixoids are case-sensitive.  we sidestep the problem there by
adhering in practice to lowercase filenames that moreover are unique
amongst themselves w/o regard to case.  the proposed change is not for
all systems, but only those that are vms-like.

   > changing `load-name' instead of making the comparison case-insensitive
   > means loaddefs.el will have lowercased frags (under vms), a change that
   > is transparent to `expand-file-name'.  is this ok?  other ideas?

   I don't understand your references to expand-file-name.
   Could you lay out what you mean ?

here is an example under vms:

  (expand-file-name "foo.el") => "AXPA:[TTN.EMACS.EMACS212_3]FOO.EL"

because autoloading eventually triggers loading which eventually uses
`expand-file-name', we don't need to store "FOO.EL" in loaddefs.el to
actually access "FOO.EL" on disk; "foo.el" is sufficient (under vms).

thi

  reply	other threads:[~2003-05-13  0:41 UTC|newest]

Thread overview: 8+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2003-05-12 22:30 loaddefs.el filenames as seen by `update-file-autoloads' Thien-Thi Nguyen
2003-05-12 23:05 ` Stefan Monnier
2003-05-13  0:41   ` Thien-Thi Nguyen [this message]
2003-05-13  1:14     ` Stefan Monnier
2003-05-13  2:05       ` Miles Bader
2003-05-13  4:06       ` Thien-Thi Nguyen
2003-05-13 14:00         ` Stefan Monnier
2003-05-13 16:08           ` Thien-Thi Nguyen

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=E19FNqq-0004xY-00@colo.agora-net.com \
    --to=ttn@glug.org \
    --cc=emacs-devel@gnu.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).