home *** CD-ROM | disk | FTP | other *** search
/ Frozen Fish 1: Amiga / FrozenFish-Apr94.iso / bbs / alib / d5xx / d512 / csh.lha / Csh / Changes.doc next >
Text File  |  1991-07-20  |  16KB  |  297 lines

  1. New features to 5.15:
  2. - 'exec -i' ignores return code from executed command and returns 0
  3. - 'foreach' and the other 'for...' commands are now interruptible with ^D
  4. - 'qsort' and 'readfile' no longer keep used mem for csh private needs
  5. - ^D no longer displays full path names
  6. - %s shows number of open shells in prompt or title bar
  7. - documented 'error' command and 'htype -r'
  8. - created short 'overview.doc' for the impatient
  9. - there is a new editing function for character swapping
  10. - improved various error messages
  11.  
  12. Bug fixes in 5.15:
  13. - $( ) and ` ` no longer corrupt the variables (terrible bug!)
  14. - nested blocks had an additional error: {{echo hi}} didn't work
  15. - 'qsort' could get stuck when quick scrolling was enabled
  16. - 'diskchange' was not compatible with some handlers
  17. - empty lines in multiple line blocks no longer cause problems
  18. - mansplit.sh and syms.c were missung from the distribution
  19. - files with very long names could mistakingly be sourced when started
  20. - 'csh -r' now works; makefile corrected accordingly (now also LMK-able)
  21. - 'whereis -r' works again
  22. - 'copy -r' now correctly sets file dates in deeply nested directories
  23. - functions that failed returned the previous function's value
  24. - @fileblks would return incorrect block counts
  25. - _abbrev didn't turn off abbreviations if set to 'n'
  26. - _bground was always set to '1'
  27.  
  28. Incompatibilities in 5.15:
  29. - @drives, @drive and @volume add ':'. This is more consistent.
  30.  
  31.  
  32. New features to 5.14:
  33. - 'mem -l' causes mem flush
  34. - 'rm -q' suppresses warnings if file cannot be removed
  35. - 'rxsend' can be aborted using ^C in case of emergency
  36. - 'writefile' writes a set of words as a file, one word per line
  37. - $_rback determines the command to be used for background starting ('&')
  38. - @trim( ) removes leading and trailing blanks from its arguments
  39. - @basename( ) now works with sets of words instead of only one
  40. - ^D will show the directory while editing
  41. - scripts of foreign shells are supported, e.g. /*RX as first line
  42. - backticks ` ` now remove leading, trailing and multiple blanks
  43. - arguments containing a ';' are quoted when passed to external cmds
  44. - script 'mansplit.sh' inside sample.sh makes csh.doc MRman compatible
  45.  
  46. Bug fixes of 5.14:                                         bug present since
  47. - ^U on an empty command line could cause crashes                       5.00
  48. - 'dir >prt:' is now guaranteed not to cause lockups                    5.00
  49. - 'if' now yields correct results in compares with empty strings        1.00
  50. - 'dir -n' can be combined with the option '-f'                         3.00
  51. - 'readfile' now works with large files (was  probably a realloc() bug) 5.00
  52. - 'search' no longer keeps the allocated memory for cshell private use  5.00
  53. - 'resident -d' works again, better than before (paths allowed)         5.10
  54. - 'pushd' from the sample script acts like UNIX equivalent              5.00
  55. - 'help' was misaligned                                                 5.11
  56. - 'echo .*' will no longer list all files, but those starting with '.'  5.10
  57. - 'echo >.login' no longer yields 'redirection error'                   3.00
  58. - backticks ` ` now work with large number of arguments                 5.10
  59.  
  60.  
  61. Bug fixes of 5.13:                                         bug present since
  62. - 'csh -r' now works (yet another SAS C global optimizer bug)           5.00
  63. - KS 1.3 installation docs error: 'newcli' should be 'newshell'         5.00
  64. - installations docs error: 'stack 8000' necessary before starting csh  5.00
  65.  
  66.  
  67. New features to 5.12:
  68. - 'if -o char args' checks for options in the remaining arguments
  69. - @arg( ) introduced as an alias for  @pickargs( ), @opt( ) for @pickopts( )
  70. - new format symbol in 'dir': %l inserts line feed if there's a file note
  71. - history completion (shift-arrow up) can now be repeated
  72.  
  73. Bug fixes of 5.12:                                         bug present since
  74. - nested braces now should work in all cases                            5.10
  75. - external commands with args no longer see two line feeds              5.10
  76. - external commands without args will no longer see 2 LF's (e.g. D2D)   3.00
  77. - c:Run can be used, although redirection does not work yet             3.00
  78. - redirecting 'dir >prt:' now works, although problem not 100% solved   5.00
  79. - partial tab file name completion accepts words with different case    5.00
  80. - 'dir -z' with corrupt format strings prints no random characters      5.10
  81. - 'dir -v' correctly sums up the directory sizes                        5.10
  82.  
  83. Incompatibilities in 5.12:
  84. - @drives( ) no longer adds colons, you can append them yourself easily
  85.  
  86.  
  87. Bug fixes of 5.11:                                         bug present since
  88. - 'assign' without args would crash on an MC68000 under Kick 1.3        5.10
  89.  
  90.  
  91. New features to 5.10:
  92. - totally rewritten parser, therefore:
  93. -  local variables, in aliases as well as in batch files
  94. -  blocks can be formed, redirected, aborted: {e yo;e ho}
  95. -  $(foo) will insert output of program foo at that point, similar with `foo`
  96. -  wildcard expansion also done in first arg, e.g. '*' is a legal command line
  97. -  command lines like '$mydir/$mycommand ram:' now works
  98. -  aliases/foreach/forline/fornum/source can be redirected as a whole
  99. -  direct recursion in aliases prevented, 'alias ls "ls -s"' works
  100. -  additional speedup; twice as fast as 4.xx, four times as fast as c:Execute
  101. - '.bra' and '.ket' introduced as dummy commands for script compatibility
  102. - 'assign' now yields a list of all assings including late/nonbinding, paths
  103. - 'assign -p' does path assigns (like 'c:Assign ... ADD)
  104. - 'cat' CR terminated non-CR-termintad files again if not redirected
  105. - 'class' can pattern-match now, e.g. 'class sound name="mod.*"'
  106. - 'copy' has a larger buffer and checks for ^C more often
  107. - 'copy -m' moves files (but not directories yet)
  108. - 'dir -p' prints full paths and suppresses titles
  109. - 'dir' can separate direcories at the top or bottom
  110. - 'dir -z formatstring' is a very powerful formatting feature
  111. - 'error' generates a desired return code
  112. - 'forline i STDIN' reads args from stdin
  113. - 'input' removes leading, trailing and multiple blanks
  114. - 'local' and 'unlocal' for generating and deleting local variables
  115. - 'man' can handle multiple .doc files, so you can document your own aliases
  116. - 'mem' uses , instead of ' and is right adjusted
  117. - 'source' can handle multiple line blocks of arbitrary length
  118. - 'qsort' can now sort in reverse order
  119. - 'rback'/'run' now set the variable '$_newproc' to the # of the new process
  120. - $_abbrev can be used to disable abbreviation if internal commands
  121. - $_ioerr contains the secondary return code after an error
  122. - $_path now contains S: and CSH: in order to run scripts
  123. - $_pipe now holds the directory for the temporary pipe files
  124. - $_verbose need to be set to special values, now can trace alias calls
  125. - @console tells whether stdin or stdout are interactive
  126. - @ioerr converts a secondary error number to a string (like 'Why')
  127. - @mounted indicates whether a device has been mounted yet or not
  128. - @sortnum sorts its arguments numerically
  129. - @volume now suppresses ugly system requesters
  130. - shift-arrow-up and shift-arrow-down now behave like under AmigaDOS
  131. - there is now an editing function that duplicates the last word
  132. - csh has a startup option to enable '*' as an alias for '#?' in AmigaDOS
  133. - a directory CSH: is proposed for scripts and the doc
  134. - concatted lines in source files can be as long as you want
  135. - . now stands for current directory, .. for parent
  136. - soft and hard links to directories are ignored on wild card expansion
  137.  
  138. Bug fixes of 5.10 (in order of severity):                  bug present since
  139. - AmigaDOS residents should work fine now. V37 kickstart required       5.00
  140. - 'Wait 5&' as an alias for 'rback Wait 5' now works                    5.00
  141. - 'rm -r ram:' and 'search -r "" hello' finally do their job            4.00
  142. - 'c:execute' works. check the restrictions chapter                     3.00
  143. - '!!' was broken in the first parser rewrite, fixed now.               5.00
  144. - 'return' occasionally didn't skip the whole source file               5.00
  145. - '~' now can correctly be used in path names: ~/*.c                    5.00
  146. - 'Repeat' from menu caused a loop (correct behaviour!)                 5.00
  147. - 'forline' no longer crashes if the from-file does not exist           4.00
  148. - 'set x 1 2;echo hello$x' finally yields 'hello1 2'.                   1.00
  149. - 'goto' also works if there are '\' in the source file                 4.00
  150. - command line editing on VT100's was broken. fixed.                    5.00
  151. - low mem situations now cause a graceful exit instead of a crash       1.00
  152. - actions on files with embedded blanks are performed correcty          5.00
  153. - 'man' no longer opens garbage files (SnoopDos is hard to cheat)       5.00
  154. - 'dir -o' now works (ls -o always did)                                 5.00
  155. - 'dir df0:' with no disk in drive yields correct error message         5.00
  156. - 'dir' no longer adds line feeds to invalid date stamps                5.00
  157. - 'set _prompt "% "' is now allowed (not only 'set _prompt "%% "')      5.00
  158. - 'search -l' no longer does unnecessary line feeds                     5.00
  159. - '@pickopts' stops picking options at the first non-option             5.00
  160. - system requesters are no longer unintentionally disabled              5.00
  161.  
  162. Incompatibilities in 5.10
  163. - a stand-alone '.' must be quoted now. check your strhead's and strtail's!
  164. - the quick-cd file and the manual (now named csh.doc) should reside in csh:
  165. - some builtin aliases and preset function keys have been moved to compat.sh
  166. - the functions of shift-arrow-up & down are mapped to esc-arrow-up & down
  167. - the path is now searched before auto CD is attempted (mimicking AmigaDOS)
  168. - the characters { } @ ( ) should be quoted if you just want to echo them
  169. - a redirection error now causes a return code of 20 instead of 1
  170. - _verbose now holds numeric values, 'set _verbose yes' won't work anymore
  171. - @volume no longer appends a trailing colon to the volume name
  172. - an empty string is now passed to external commands as ""
  173. - future: a leading '/' and '~' might change meaning towards UNIX
  174.  
  175. New features to 5.00
  176. - read the doc! almost everything's new.
  177.  
  178. Bug fixes to 5.00: 
  179. - recursive wild card expansion does not crash the Amiga 3000 anymore
  180. - recursive wild card expansion does not lose memory anymore
  181. - now works on AUX:
  182. - trying to start a non-object-file now properly prints 'Command Not Found'
  183. - automatic sourcing now also works if you already add .sh to the file name
  184. - files longer than 999999 bytes no longer misalign 'dir'
  185. - exec does not discard the rest of the command line ('exec echo hi;echo ho')
  186. - all memory trashing fixed. Thanks to C= for their great debugging tools!
  187. - source doesn't forget last character if batchfile was not CR terminated
  188. - run & rback also search AmigaDOS path now
  189. - division by zero does not crash rpn anymore
  190. - temporary pipe files are now written to t: instead of ram:
  191. - shift-tab does not cause a lockup anymore
  192. - running the shell via aux: no longer crashes the machine
  193. - 'history partial' now numbers the lines correctly
  194. - strleft, strright and strmid no longer crash on strings > 256 bytes
  195. - source with no arguments now prints correct error message
  196. - 'input' now cuts down lines longer than 256 bytes instead of crashing
  197. - cursor-up no more deletes lines if there's an invalid entry in the history
  198. - if history fails, no empty history entry is generated
  199. - 'echo "---"' and even 'echo ---' work, but 'echo "-a"' still doesn't
  200. - international character sets can be used
  201. - 'copy -u' won't copy a file with identical date stamp but in uppercase
  202. - 'copy -u' will no longer access low memory
  203. - 'echo "echo mem | shell" | shell' now works, not only every second time
  204. - starting from workbench now prevented
  205. - editing lines longer than 256 bytes is now correctly prevented
  206. - word-right cursor movement works correclty with multiple blanks
  207. - 'if'-stack will be adjusted when a batch file is exited
  208. - relabel occasionally crashed in Syquest drives. should be okay now
  209.  
  210. Known bugs in 5.00:
  211. - under 2.0, doing a 'cat' with no args and pressing return will cause a 
  212.   character to appear at the right border of the window. seems to be a
  213.   kickstart bug, as it does not happen under older kickstarts.
  214. - AmigaDOS 2.0 CLI commands cannot be made resident. They read their command
  215.   line from stdin. This is definitely a kickstart bug.
  216. - guaranteed to crash in extreme low mem situations
  217. - command line editing doesn't quite work on a (physical) vt100. OK on VT200
  218. - under kick 2.00, fast repetition of ^W crashed. OK under 2.02
  219. - 'set x a b;echo hello$x' still outputs only 'a b'
  220.  
  221. Incompatibilities in 5.00:
  222. - 'copy -f' now means 'freshen'. Old meaning of -f is now -p (protection)
  223. - '~' at the beginning of a file name must now be quoted
  224. - '@' is the beginning of an argument should be quoted
  225. - 'cat' no longer adds a CR to a non-CR-terminated file
  226. - '0' is now 'false'. Example: 'if 0;e hi;else;e ho;endif --> ho
  227. - variables with comparision operators inside now cause problems in 'if'
  228. - a single '?' will not pattern match, but be passed as a string
  229.  
  230.  
  231.  
  232. New to 4.02A:
  233. - Fixed bug that caused loss of memory on exit.
  234. - cp now copies protection bits; use -f switch if you want to avoid this.
  235. - Added  commands: man (and alias manlist), uniq, head, tail, tee.
  236. - This doc has been reformatted to work with man.
  237.  
  238. New to 4.01A:
  239. - This version features mostly bug fixes and corrections:
  240.  * Window title is restored after quitting.
  241.  * rxrec now answers to the 'bye' message.
  242.  * rpn can now be redirected and piped; however, this causes
  243.     some problem (see rpn for info).
  244.  * resident list now works with ARP 1.3. To recompile source, you must
  245.     modify include file "libraries/arpbase.h".
  246.     Change definition of rpn_Usage in struct ResidentProgramNode from LONG
  247.     to WORD.
  248.  * pri no more assumes 20 CLI maximum.
  249.  * you can now split long lines in source files even into more than 2 lines.
  250. - Added much info in this doc about source files (chapter XI)
  251. - Added copyright notice (see under restrictions).
  252.  
  253. New to 4.00A:
  254. - This version is called 4.00A because it is not 100% compatible with
  255.   previous versions. We choose to accept this in order to better support
  256.   the new ARP.library 1.3.
  257. - External commands are searched in a different order than before; Shell
  258.   path is now searched AFTER current directory, AmigaDOS path and C:.
  259. - ARP pattern matching has been implemented (in part for line arg expanding,
  260.   fully for search -w).
  261. - Internal changes for various optimizations.
  262. - Search command has been improved in several ways.
  263. - New commands: basename, tackon.
  264. - New options: if -v, resident -d, fornum -v -s, dir -n.
  265. - Fixed bugs with dir (some dirs remained locked), foreach -v, htype
  266.   (blanks were treated as binary), info (for devices > 32M).
  267. - rback command now works ok (run, however, doesn't).
  268. - Oh, I forgot: it also has an AREXX port... And you don't even have to get
  269.   AREXX to use it. See new commands rxsend, rxrec
  270.  
  271. New to 3.03A:
  272. - New filter commands fltlower, fltupper.
  273. - Added configuration file feature: now if you have a file named S:.login,
  274.   it will be sourced for every Shell you start.
  275. - New option dir -c.
  276. - New editing feature: shift-left(right) arrow move cursor to previous(next)
  277.   word.
  278. - Bugs fixed: alias command wasn't listed in help; typing a number as a
  279.   command was interpreted like 'alias'.
  280.  
  281. New to 3.02A:
  282. - New commands: fornum, forline, strleft, strright, strmid, strlen, exec.
  283. - Improved commands: foreach, pri.
  284. - New system variable _clinumber.
  285. - You can now split long lines in source files (see source for details).
  286. - window -q now lists also position of screens/windows, not only dimension.
  287. - Since strings are handled directly from Shell with new commands,
  288.   rpn is now used only for calculations; string commands are gone.
  289.   However, now RPN is really usable.
  290. - Changed rawgets() to fix some problems with function keys, multi-line
  291.   editing and window resizing; also, fixed bug with ^E.
  292. - cat now warns you if it can't find any file matching your pattern.
  293. - Now uses DOS packets to get ptr to CLI window; this fixes a bug that
  294.   caused problems if Shell was run on unactive windows.
  295. - Fixed minor bugs (htype printed some more ASCII bytes, some commands
  296.   returned random values, history didn't print CR's).
  297.