home *** CD-ROM | disk | FTP | other *** search
/ Usenet 1994 January / usenetsourcesnewsgroupsinfomagicjanuary1994.iso / sources / misc / volume39 / elfshell / part01 / .elven / README
Encoding:
INI File  |  1993-08-29  |  4.4 KB  |  122 lines

  1. [Talisman/North-Keys Fri Jul 24 04:31:34 CDT 1992]
  2.  
  3. ~/.elven
  4.  
  5. The Elfshell
  6. Christopher Alexander North-Keys
  7. Spring 1988 through Summer 1992, etc.
  8.  
  9. To enable the elfshell:
  10.  
  11.     FIRST:  backup your existing shell scripts,
  12.     including (but not limited to):
  13.         .profile
  14.         .cshrc
  15.             .login
  16.             .logout
  17.         .bashrc
  18.             .bash_profile
  19.             .bash_login
  20.             .bash_logout
  21.         .rcrc
  22.         .path
  23.         .cdpath
  24.  
  25.     Copy this directory, .elven, into your home directory.
  26.     Run a ``make'' in subdirectories corresponding to the desired shells.
  27.     Make any needed alterations.
  28.  
  29. Warning:  this set of scripts is not officially supported,
  30.           and is of a level of complexity far higher than
  31.           most other sets of initialization scripts.
  32.  
  33. Abstract  NOTE: these notes are historics from the original csh(1) version....
  34. --------
  35. This set of shell configuartion scripts was developed with the following goals:
  36.  
  37.     o    title-bar control in windowing environments.
  38.     o    achieve effect of ".login-first" execution.
  39.     o    optimize startup time for subshells, and non-interactive shells.
  40.     o    protect against mistakes made in non-interactive shells.
  41.     o    optimize access to common values via `setenv'
  42.     o    avoid overlaying standard commands and builtins.
  43.     o    tracking of shell depth.
  44.     o    simplification of shell re-sourcing.
  45.     o    economy of standard alias set.
  46.     o    exportation of aliases into ~/bin shell scripts.
  47.     o    portability.
  48.     o    use of features like arch, and less in environment iff extant.
  49.  
  50. The basic problem had to do with an inconsistancy:  all shells could generally
  51. depend on ~/.login having been run, EXCEPT the login shell.  This reveals the
  52. purpose of ~/.login to be one of checking mail, etc., rather than setting a
  53. consistant environment.  Hence a file ~/.cshlc was created for setenv commands,
  54. and handled so as to only run once per login.  This functionality is now within
  55. the ~/.elven/environment file.
  56.  
  57. (Initially sourcing ~/.login from inside ~/.cshrc was tried, but one then
  58.  needed to prevent it from being sourced a *second* time.  Less than
  59.  elegant.)
  60.  
  61. Ideally one would like to configure a shell, core dump it, and `undump' the
  62. image into a new, pre-initialized program.  So far attempts have failed.  A
  63. completely new shell would likely be required to fix this kind of thing
  64. elegantly.
  65.  
  66. In the meanwhile, we have the following:
  67.  
  68. Module              Edit-safe           Description
  69. ------------------  --------- ----------------------------------
  70. .cshrc               no       Install this as ~/.cshrc
  71. aliases              no       Basic aliases.
  72. aliases.local       yes       Sourced by `aliases'.
  73. environment          no       Basic environment.
  74. environment.local   yes       Sourced by `environment'.
  75. interface            no       Sets TTY and INTERFACE in the environment.
  76. session             yes       Per-shell session-oriented settings.
  77. setheaders           no       Set title-bar aliases from INTERFACE.
  78. sunview              no       Exhaustive sunview window aliases list.
  79. inpath               no       Executable C-shell script.
  80.  
  81. Recommended bin scripts (see ~/bin or equiv)
  82. -----------------------
  83. l, li, lf, L, L., search
  84.  
  85. Modularity, or where to put what
  86. --------------------------------
  87. aliases:     `aliases.local'     (addition to `aliases')
  88. setenv:      `environment.local' (addition to `environment')
  89. umask:       `environment.local' (addition to `environment')
  90. set, stty:   `session'
  91. tset:        `interface` (with extreme caution)
  92.  
  93. Timings on rev 29, Sun 3/150 server, SunOS 4.0.3:
  94.     Self:    5.58 seconds
  95.     self:    1.88 to 2.64 (norm 2.0) seconds
  96.  
  97. Timings on rev 30, Sun SPARC server, SunOS 4.0.3:
  98.     Self:   avg 6 seconds (6 to 11 seconds observable)
  99.     self:   avg 1 second  (1 to 2 seconds observable)
  100.  
  101. History:
  102.  
  103.     .cshrc.v3:  rev 3.1 (Maerz.1988) .cshrc sourcing .login.
  104.     .cshrc.v4:  rev 4   (Jun.1988) begin .cshrc_mine, remove hist'cal aliases.
  105.              :  rev 7
  106.              :  rev 15
  107.              :    rev 21  (Juli.1989 - Januar.1989).
  108.              :  rev 25  (Mai.1990)
  109.              :  rev 27  (Juni.1990)
  110.              :  rev 28  (Juli.1990)
  111.              :  rev 29  (August.1990) Added shell-variant prompt support
  112.              :  rev 30  (Maerz.1991)  Added ~/.elven/inpath, prog' exist' chks.
  113.   lvn/*/1    :  1991    Major portability rewrite. ~/.path ~/.elven/{csh,bash}
  114.   lvn/*/2    :  1992    ~/.pathcd ~/.elven/environ*
  115.   lvn/*/3    :  1993    ~/.path and ~/.pathcd moved to ~/.elven/path{,cd}
  116.   lvn/bash/4 :  1993    ~/.elven/path* redone.  pathman, environ.stty added. added es.
  117.  
  118. Good Luck.
  119.  
  120. -Christoph. Alex. North-Keys
  121.  Donnerstag.d.4.Januar.1989
  122.