[comp.mail.elm] Changing default defaults

chaffee@reed.bitnet (Alex Chaffee,(259),,2341988) (09/29/90)

I've installed elm on our college computers (a Vax and a half dozen
workstations) and I'd like to make the default editor and pager be "jove"
and "builtin" respectively.  Unfortunately, in the standard .cshrc file are
definitions for $EDITOR and $PAGER, which override the compile-time standard
options.  Is there any way to get elm to ignore the environment variables?

By the way, there are two problems with the environment variables as
defined: 1) the default PAGER is more, not builtin, and 2) the default
EDITOR has the path name for the Vax spelled out ("/usr/local/jove"), which
doesn't work on the workstations ("/local/bin/jove").  Elm is bright enough
to find just "jove", without a pathname, on either machine.  But if someone
saves their elmrc with /usr/local/jove hardwired, then tries to use elm on
the workstations, it'll choke.  Oh yeah, we share the same account
filesystems no matter which machine you're logged on to.

Thanks,

 - Alex

scs@lokkur.dexter.mi.us (Steve Simmons) (09/30/90)

chaffee@reed.bitnet (Alex Chaffee,(259),,2341988) writes:

>By the way, there are two problems with the environment variables as
>defined: 1) the default PAGER is more, not builtin, and 2) the default
>EDITOR has the path name for the Vax spelled out ("/usr/local/jove"), which
>doesn't work on the workstations ("/local/bin/jove").  Elm is bright enough
>to find just "jove", without a pathname, on either machine.  But if someone
>saves their elmrc with /usr/local/jove hardwired, then tries to use elm on
>the workstations, it'll choke.  Oh yeah, we share the same account
>filesystems no matter which machine you're logged on to.

Respectfully, the problem is your users and your setup.  We run a variety
of heterogenous UNIX boxes (Ultrix, BSD4.3, SunOS 4, Gould UTS), all with
elm.  Our users who shortcircuit their paths in environment variables are
told it's their problem and to fix their .cshrc/.login/.profiles.  Typical
dialog:

They:	"But it starts up faster if I put the path."
Me:	"Well, you've already lost all that time by the errors it causes.
	Besides, all our shells hash so it's only slow the first time."
They:	"But I really need the fast startup."
Me:	"Fine.  Fix your .cshrc to set the path and aliases right on
	different systems.  Here, take a copy of my .login/.cshrc."

I would also question the sanity of the person who set up different local
bin directories on different systems where everyones home directory is
crossmounted.  It's a recipe for disaster.  A symlink of /usr/local to
/local/bin would fix it on the offending hosts, but that's just a patch
rather than a real fix.

Anyway, here's a copy of the relevant section of my .cshrc/.login, with
the needed aliases for jove added.

#
#  Usually true
#
alias jove /usr/local/jove
#
#  Do hosts-specific processing
#
setenv HOSTNAME `hostname`
switch ( "$HOSTNAME" )
	case "vax3*":
		ups -q
		# Different location here
		alias jove /local/bin/jove
		msgs
		breaksw
	case "wotan*":
	case "lokkur*":
		if ( "`tty`" == "/dev/ttyv0" ) .bin/X.startup
		breaksw
	case "zip.eecs.umich.edu":
		msgs
	case "*.eecs.umich.edu":
		alias jove /local/bin/jove
		mesg y
		breaksw
	default:
		breaksw
endsw

Put in your hostnames as appropriate, then host-specific aliases in
the right cases.

paul@uxc.cso.uiuc.edu (Paul Pomes - UofIllinois CSO) (09/30/90)

default defaults sounds too wonderful to pass up.  Here's another look:

2)   Defaults.  We put a lot of thought into our defaults.  We like
     them.  If we didn't, we would have made something else be the
     default.  So keep your cotton-picking hands off our defaults.
     Don't touch.  Consider them mandatory.  "Mandatory defaults" has a
     nice ring to it.  Change them and your system crashes, tough.  See
     Figure 1.

(From pub/figure1.{me,txt} on uxc.cso.uiuc.edu)

/pbp
--
         Paul Pomes

UUCP: {att,iuvax,uunet}!uiucuxc!paul   Internet, BITNET: paul@uxc.cso.uiuc.edu
US Mail:  UofIllinois, CSO, 1304 W Springfield Ave, Urbana, IL  61801-2910