🚀 go-pugleaf

RetroBBS NetNews Server

Inspired by RockSolid Light RIP Retro Guy

Article View: gnu.emacs.bug
Article #87893

Enhancement request

#87893
From: Edward Welbourne, Genetics
Date: Wed, 24 Aug 1994 21:35
65 lines
4101 bytes
Basic:

Global replace "~/.emacs" with emacs-personal-startup-file, initialised by

(defvar emacs-personal-startup-file (or (getenv "EmacsInit") "~/.emacs")
  "Name of user's personal startup file, read in by Emacs between
site-start.el and startup.el and used as the root for names of all other
personal startup files for dependent applications of Emacs.  Initialised
from environment variable EmacsInit if set, otherwise taking the default
value ~/.emacs")

General:

In fact, replace every dependence on a file named ~/.something with
dependence on a file named in an elisp variable defined as above and,
where possible, initialised from an environment variable with default
~/.something if unset.

Document the environment variables and elisp variables in the same
places, or at least cross-reference them.

Make sure these things get used consistently; thus, the shell-specific
startup files would be (concat emacs-personal-startup-file "_" name)
where name is the shell-name.  If something could sensibly be named from
an environment variable but its default is ~/.emacs_something, then use
(or (getenv "EnvVar") (concat emacs-personal-startup-file "_something"))
as appropriate.

Reason:

I want to be the one who decides what goes where in my filespace.

Another user might find the way I lay things out counter-intuitive (in
fact, the first to come to mind _does_), but I have my own clear ideas
on how I want to organise things.  Given the opportunity to do so, I'd
organise my file-system on largely hierarchical lines which would make it
easier for me to find things.  There is a standard system for doing this.

The widely used Un*x convention of starting things up based on a
`hidden' file in the home directory implies a disgusting approach to
organising a file system -- namely, the monolithic flat `directory
structure'.  It gets round the primary defect of this system (the
relevant directory has so many files in it that listing it produces so
much output that it ceases to be possible to see files in the listing)
by making the crucial files `hidden'.  This then means that common users
don't know the files are there, which leads on to its own kinds of ills.

There is a (less) widely used Un*x convention of depending on
environment variables.  This produces the ghastly phenomenon of an
overloaded environment but at least gives the user choice.  In
particular, those of us who strive to have a tidy directory structure
(wherein each non-`leaf' directory contains a dozen or less files; and
wherein the way that files are arranged is based on some kind of logical
system, preferably at the whim of the soul whose filespace it is)
actually have the option of putting things where it makes sense (to the
warped sensibilities of each) to put them.

Aside from the init files for login shells and one or two equivalent
systems (eg .rlogin, .netrc ...), _no_ system has _any_ excuse for
insisting that I choke up my home directory with its datafiles.  In
fact, even the init files for login shells only have an excuse, not a
reason -- the originators of Un*x didn't think to put an init file into
the collection of things (like SHELL) that I can control in /etc/passwd
(which is, I think, the analogue of how DCL handles LOGIN.COM, which I
think it allowed me to move to where I wanted it ...).
Technical Details
Message-ID: <9408242138.AA19491@hmg1.gen.cam.ac.uk>
Path: arc1-ca.pugleaf.net!bga.com!news.sprintlink.net!redstone.interpath.net!ddsw1!panix!MathWorks.Com!europa.eng.gtefsd.com!howland.reston.ans.net!math.ohio-state.edu!magnus.acs.ohio-state.edu!cis.ohio-state.edu!gen.CAm.ac.UK!eddy

Show Full Headers
Complete Article Headers
X-Google-Language: ENGLISH,ASCII-7-bit
X-Google-Thread: fb2f1,3b4217b70a0d0cdd,start
X-Google-Attributes: gidfb2f1,public
X-Google-ArrivalTime: 1994-08-24 15:11:03 PST
Path: arc1-ca.pugleaf.net!bga.com!news.sprintlink.net!redstone.interpath.net!ddsw1!panix!MathWorks.Com!europa.eng.gtefsd.com!howland.reston.ans.net!math.ohio-state.edu!magnus.acs.ohio-state.edu!cis.ohio-state.edu!gen.CAm.ac.UK!eddy
From: eddy@gen.CAm.ac.UK (Edward Welbourne, Genetics)
Newsgroups: gnu.emacs.bug
Subject: Enhancement request
Date: 24 Aug 1994 17:35:34 -0400
Organization: GNUs Not Usenet
Lines: 65
Sender: daemon@cis.ohio-state.edu
Approved: bug-gnu-emacs@prep.ai.mit.edu
Distribution: gnu
Message-ID: <9408242138.AA19491@hmg1.gen.cam.ac.uk>