home *** CD-ROM | disk | FTP | other *** search
/ Usenet 1994 January / usenetsourcesnewsgroupsinfomagicjanuary1994.iso / sources / misc / volume39 / elfshell / part01 / .elven / csh / README < prev    next >
Encoding:
Text File  |  1993-08-29  |  3.8 KB  |  100 lines

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