news.txt 32 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487488489490491492493494495496497498499500501502503504505506507508509510511512513514515516517518519520521522523524525526527528529530531532533534535536537538539540541542543544545546547548549550551552553554555556557558559560561562563564565566567568569570571572573574575576577578579580581582583584585586587588589590591592593594595596597598599600601602603604605606607608609610611612613614615616617618619620621622623624625626627628629630631632633634635636637638639640641642643644645646647648649650651652653654655656657658659660661662663664665666667668669670671672673674675676677678679680681682683684685686687688689690691692693694695696697698699700701702703704705706707708709710711712713714715716717718719720721722723724725726727728729730731732733734735736737738739740741742743744745746747748749750751752753754755756757758759760761762763764765766767768769770771772773774775776777778779780781782783784785786
  1. 28-Sep-82 17:50:20-PDT,3097;000000000000
  2. Date: 28 Sep 1982 1750-PDT
  3. From: Alan Snyder <AS>
  4. Subject: new PSL!!!!
  5. To: PSL-News: ;, PSL-Users: ;
  6. cc: AS
  7. Important Change to PSL!
  8. We have installed a new version of PSL on HULK. It contains a number of
  9. significant changes which are described here. In addition, you must change
  10. your LOGIN.CMD file to TAKE PSL:LOGICAL-NAMES.CMD instead of
  11. <PSL>LOGICAL-NAMES.CMD. The <PSL> directory will disappear soon, so make this
  12. change right away!
  13. [These changes, except for NMODE, will appear on THOR and HEWEY shortly. There
  14. are no immediate plans to move NMODE to the Vax.]
  15. Summary of changes:
  16. * If you run "PSL", you will now get a PSL that contains the NMODE editor,
  17. which is a replacement for EMODE. PSL will start up in the editor, instead of
  18. the PSL listen loop. You can easily get back to the PSL listen loop from NMODE
  19. by typing C-] L. NMODE is a decent subset of EMACS, so if you are familiar
  20. with EMACS you should be able to use NMODE without too much difficulty. If you
  21. are familiar with EMODE, you should read the file PSL:NMODE-GUIDE.TXT, which
  22. explains the differences between NMODE and EMODE. A printed copy of this memo,
  23. including the NMODE command chart, is available in the documentation area next
  24. to Helen Asakawa's office.
  25. * The "PSL" program (what you get when you say "PSL" to EXEC) no longer
  26. contains the PSL compiler. Instead, there is a separate program for compiling
  27. (Lisp) files. To compile a file "FOO.SL", give the command "PSLCOMP FOO" to
  28. EXEC. PSLCOMP will produce a binary file "FOO.B" that can then be LOADed or
  29. FASLINed. To run the compiler interactively, just say "PSLCOMP" to EXEC.
  30. * The PSL directories that contain the source and binaries for all PSL modules
  31. have been moved to a private structure called SS: (the directories are now
  32. SS:<PSL*>). The old PSL directories (PS:<PSL*>) will disappear soon. In
  33. addition, the new directories have been reorganized somewhat to better reflect
  34. the structure of the implementation. The file PSL:-THIS-.DIRECTORY contains a
  35. brief description of the new structure. If you have used logical names to
  36. refer to PSL directories, then this change should not cause too many problems.
  37. * A number of small bug fixes and improvements have been made. The most
  38. notable improvements are (1) a more readable backtrace, (2) a better
  39. prettyprinter, and (3) the definition of a "complete" set of I/O functions
  40. taking an explicit channel argument (these functions all have names like
  41. ChannelTerpri, where Terpri is an example of an I/O function that uses the
  42. default I/O channels). The file PSL:BUG-FIX.LOG contains an exhaustive listing
  43. of the recent changes.
  44. The documentation has been updated to reflect these changes. The following new
  45. or revised documents are available in the documentation area next to Helen
  46. Asakawa's office:
  47. Notes on PSL at HP
  48. DEC-20 PSL New Users' Guide
  49. NMODE for EMODE Users
  50. How to customize NMODE
  51. We have made "documentation packets" containing copies of these documents.
  52. Users are encouraged to pick up a copy!
  53. -------
  54. 11-Oct-82 15:55:41-PDT,5771;000000000000
  55. Date: 11 Oct 1982 1555-PDT
  56. From: Alan Snyder <AS>
  57. Subject: new PSL installed
  58. To: PSL-News: ;, PSL-Users: ;
  59. cc: AS
  60. PSL NEWS - 11 October 1982
  61. A new PSL has been installed on Hulk and Hewey. There are a number of
  62. improvements, plus some INCOMPATIBLE changes (see below). A most noticable
  63. change (on Hulk) is that PSL no longer automatically starts up in the NMODE
  64. editor. However, if you want PSL to start up in the editor, you can still make
  65. this happen using another new feature, INIT files (see below). Otherwise, you
  66. can explicitly enter NMODE by invoking the function NMODE, with no arguments.
  67. In addtion, NMODE now supports the extended VT52 emulator on the 9836 (get the
  68. latest version from Tracy). (No, NMODE is not yet installed on Hewey.)
  69. -------------------------------------------------------------------------------
  70. INCOMPATIBLE CHANGES TO PSL:
  71. -------------------------------------------------------------------------------
  72. This latest version of PSL has 3 changes which may require some application
  73. programs to be changed:
  74. 1. SAVESYSTEM
  75. SaveSystem now takes 3 arguments. The first argument is the banner, the second
  76. is the file to be written, and the third is a list of forms to evaluated when
  77. the new core image is started. For example:
  78. (SaveSystem "PSL 3.1" "PSL.EXE" '((InitializeInterrupts)))
  79. 2. DUMPLISP
  80. Dumplisp now takes 1 argument, the file to be written. For example:
  81. (Dumplisp "PSL.EXE")
  82. 3. DSKIN
  83. Dskin has been changed from a FEXPR to a single-argument EXPR. This should
  84. only affect calls to DSKIN with multiple arguments. They will have to be
  85. changed to several calls, each with one argument.
  86. 4. BR and UNBR
  87. The functions BR and UNBR are no longer part of PSL. These functions provided
  88. a facility for breaking on entry and exit to specific functions. However,
  89. they didn't work very well and no one has figured out how to make them work,
  90. so they have been removed. Send complaints to PSL.
  91. -------------------------------------------------------------------------------
  92. MAJOR IMPROVEMENTS TO PSL:
  93. -------------------------------------------------------------------------------
  94. The following features have been added to PSL:
  95. 1. Init files
  96. When PSL, RLISP, or PSLCOMP (note: not BARE-PSL) is executed, if a file
  97. PSL.INIT, RLISP.INIT, or PSLCOMP.INIT, respectively, is in your home (login)
  98. directory, it will be read and evaluated. This allows you to automatically
  99. customize your Lisp environment. (The init files are .pslrc, .rlisprc, and
  100. .pslcomprc on the Vax.) If you want PSL to come up in NMODE, include the
  101. statement
  102. (setf nmode-auto-start T)
  103. in your PSL.INIT file.
  104. 2. Prinlevel and Prinlength
  105. The variables PRINLEVEL and PRINLENGTH now exist, as described in the Common
  106. Lisp Reference Manual. These variables allow you to limit the depth of
  107. printing of nested structures and the number of elements of structured objects
  108. printed. These variables affect Prin1 and Prin2 (Princ) and those functions
  109. that use them (Printf, Print). They do not currently affect Prettyprint,
  110. although this may be done in the future. The Printx function now properly
  111. handles circular vectors.
  112. -------------------------------------------------------------------------------
  113. CHANGES TO NMODE:
  114. -------------------------------------------------------------------------------
  115. * NMODE also supports init files (this isn't new, but wasn't stressed in
  116. previous documentation). When NMODE starts up, it will read and execute the
  117. file NMODE.INIT in the user's home (login) directory. This file should
  118. contain PSL (Lisp) forms.
  119. * NMODE now reads a default init file if the user has no personal init file.
  120. The name of this default init file is "PSL:NMODE.INIT". If you make your
  121. own NMODE.INIT file, you should consider including in it the statement
  122. "(nmode-read-and-evaluate-file nmode-default-init-file-name)", which will
  123. execute the default init file.
  124. * NMODE now supports the 9836 VT52 emulator (which has recently been extended
  125. to accept commands to change the display enhancement). The default NMODE
  126. init file will set up the NMODE VT52 driver if the system terminal type is
  127. VT52.
  128. * NMODE no longer always starts up in the editor after it is RESET, ABORTed,
  129. or ^C'ed and STARTed. It will only restart in the editor if it was in the
  130. editor beforehand.
  131. * NMODE will now read and write files containing stray CRs.
  132. * M-X command completion is more like EMACS.
  133. * Typing an undefined command now tells you what command you typed.
  134. * New commands:
  135. C-X C-L (Lowercase Region)
  136. C-X C-U (Uppercase Region)
  137. C-X E (Exchange Windows)
  138. C-X ^ (Grow Window)
  139. M-' (Upcase Digit)
  140. M-C (Uppercase Initial)
  141. M-L (Lowercase Word)
  142. M-U (Uppercase Word)
  143. M-X Append to File
  144. M-X DIRED
  145. M-X Delete File
  146. M-X Delete and Expunge File
  147. M-X Edit Directory
  148. M-X Find File
  149. M-X Insert Buffer
  150. M-X Insert File
  151. M-X Kill Buffer
  152. M-X Kill File
  153. M-X List Buffers
  154. M-X Prepend to File
  155. M-X Query Replace
  156. M-X Replace String
  157. M-X Save All Files
  158. M-X Select Buffer
  159. M-X Undelete File
  160. M-X Visit File
  161. M-X Write File
  162. M-X Write Region
  163. (Case conversion commands contributed by Jeff Soreff)
  164. * Some bugs relating to improper window adjustment have been fixed.
  165. For example, when the bottom window "pops up", the top window will now
  166. be adjusted. Also, C-X O now works properly in 1-window mode when the
  167. two windows refer to the same buffer (i.e., it switches between two
  168. independent buffer positions).
  169. * Bug fix: It should no longer be possible to find a "killed" buffer in
  170. a previously unexposed window.
  171. -------
  172. 9-Nov-82 08:17:56-PST,4505;000000000000
  173. Date: 9 Nov 1982 0817-PST
  174. From: Alan Snyder <AS>
  175. Subject: new PSL installed
  176. To: PSL-News: ;, PSL-Users: ;
  177. A new version of PSL has been installed on Hulk.
  178. Here are the details:
  179. New PSL Changes (9 November 1982)
  180. ---- PSL Changes -------------------------------------------------------------
  181. * The major change in PSL is that CATCH/THROW has been reimplemented to
  182. conform to the Common Lisp definition (see Section 7.10 of the Common
  183. Lisp manual). In particular, CATCH has been changed to a special form
  184. so that its second argument is evaluated only once, instead of twice.
  185. THIS IS AN INCOMPATIBLE CHANGE: if you use CATCH, you must change your
  186. programs. For example, if you wrote:
  187. (catch 'foo (list 'frobnicate x y z))
  188. you should change it to:
  189. (catch 'foo (frobnicate x y z))
  190. One aspect of this change is that an "unhandled" throw is now reported
  191. as an error in the context of the throw, rather than (as before) aborting
  192. to top-level and restarting the job.
  193. Also implemented are UNWIND-PROTECT, CATCH-ALL, and UNWIND-ALL, as
  194. described in the Common Lisp manual, with the exception that the
  195. catch-function in CATCH-ALL and UNWIND-ALL should expect exactly 2 arguments.
  196. Note that in Common Lisp, the proper way to catch any throw is to
  197. use CATCH-ALL, not CATCH with a tag of NIL.
  198. * A related change is that the RESET function is now implemented by
  199. THROWing 'RESET, which is caught at the top-level. Thus, UNWIND-PROTECTs
  200. cannot be circumvented by RESET.
  201. ---- NMODE Changes -----------------------------------------------------------
  202. New Features:
  203. * C-X C-B now enters a DIRED-like "Buffer Browser" that allows you to
  204. select a buffer, delete buffers, etc.
  205. * DIRED and the Buffer Browser can now operate in a split-screen mode, where
  206. the upper window is used for displaying the buffer/file list and the bottom
  207. window is used to examine a particular buffer/file. This mode is enabled
  208. by setting the variable BROWSER-SPLIT-SCREEN to T. If this variable is
  209. NIL, then DIRED and the Buffer Browser will automatically start up in
  210. one window mode.
  211. * M-X Apropos has been implemented. It will show you all commands whose
  212. corresponding function names contain a given string. Thus, if you
  213. enter "window", you will see all commands whose names include the string
  214. "window", such as "ONE-WINDOW-COMMAND".
  215. * M-X Auto Fill Mode has been implemented by Jeff Soreff, along with
  216. C-X . (Set Fill Prefix) and C-X F (Set Fill Column). If you want NMODE
  217. to start up in Auto Fill mode, put the following in your NMODE.INIT file:
  218. (activate-minor-mode auto-fill-mode)
  219. * NMODE now attempts to display a message whenever PSL is garbage-collecting.
  220. This feature is not 100% reliable: sometimes a garbage collect will happen
  221. and no message will be displayed.
  222. Minor Improvements:
  223. * C-N now extends the buffer (like EMACS) if typed without a command argument
  224. while on the last line of the buffer.
  225. * Lisp break handling has been made more robust. In particular, NMODE now
  226. ensures that IN* and OUT* are set to reasonable values.
  227. * The OUTPUT buffer now starts out with the "modified" attribute ("*") off.
  228. * The implementation of command prefix characters (i.e., C-X, M-X, C-], and
  229. Escape) and command arguments (i.e., C-U, etc.) has changed. The most
  230. visible changes are that C-U, etc. echo differently, and that Escape can
  231. now be followed by bit-prefix characters. (In other words, NMODE will
  232. recognize "Escape ^\ E" as Esc-M-E, rather than "Esc-C-\ E"; the 9836
  233. terminal emulator has been modified to generate such escape sequences
  234. under some circumstances.) NMODE customizers may be interested to know
  235. that all of these previously-magic characters can now be redefined (on a
  236. per-mode basis, even), just like any other character.
  237. * If you are at or near the end of the buffer, NMODE will put the current
  238. line closer to the bottom of the screen when it adjusts the window.
  239. * C-X C-F (Find File) and the Dired 'E' command will no longer "find" an
  240. incorrect version of the specified file, should one happen to already be in
  241. a buffer.
  242. * The 'C' (continue) command to the PSL break loop now works again.
  243. * The "NMODE" indicator on the current window's mode line no longer
  244. disappears when the user is entering string input.
  245. * The command C-X 4 F (Find File in Other Window) now sets the buffer's
  246. file name properly.
  247. -------
  248. 6-Dec-82 18:41:19-PST,1969;000000000000
  249. Date: 6 Dec 1982 1841-PST
  250. From: Cris Perdue <Perdue>
  251. Subject: LOADable modules, and HELP for them
  252. To: PSL-News: ;, PSL-Users: ;
  253. NEW PACKAGES:
  254. Some relatively new packages have been made available by various
  255. people here. These belong in PU: (loadable utilities) at some
  256. point, but for now they are all on PNEW:, both the source code
  257. and the object code. See below for an explanation of PNEW:.
  258. Documentation for each of these is either in the source file or
  259. in PH:<file>.DOC, which has been greatly cleaned up.
  260. HASH.SL
  261. HISTORY.SL
  262. IF.SL
  263. MAN.SL
  264. NEWPP.SL
  265. STRING-INPUT.SL
  266. STRING-SEARCH.SL
  267. TIME-FNC.SL
  268. DOCUMENTATION ON PH: (the HELP directory):
  269. PH: has been greatly cleaned up. It should now be reasonable to
  270. browse through PH: for information on packages not described in
  271. the PSL reference manual.
  272. TO THE USERS:
  273. These files are intended to be IMPORTed or LOADed. If you wish
  274. to use modules from PNEW:, you must put PNEW: into your
  275. definition of the "logical device" PL:.
  276. The command "INFO LOGICAL PL:" to the EXEC will tell you what the
  277. current definition of PL: is. Put a line of the form:
  278. "DEFINE PL: <directory>,<directory>, ..., PNEW:" into your LOGIN.CMD
  279. file, including the same directories that are given when you ask
  280. the EXEC, with PNEW: added at the end as shown.
  281. GETTING MOST RECENT VERSIONS OF MODULES:
  282. PNEW: also contains the object files for new versions of existing
  283. modules where the latest version is more recent than the latest
  284. "release" of PSL. In particular, where PSL.EXE includes the
  285. module preloaded in it, PSL.EXE will not include the version in
  286. PNEW:. If you want the latest version when you LOAD or IMPORT,
  287. put PNEW: at the front of the list defining PL:.
  288. TO THE IMPLEMENTORS:
  289. If one of these is your product and you feel it is well tried and
  290. no longer experimental, please send a note to Nancy K. asking her
  291. to move the source to PU: and the object file to PL:.
  292. -------
  293. 4-Jan-83 14:37:11-PST,1577;000000000000
  294. Date: 4 Jan 1983 1437-PST
  295. From: Cris Perdue <Perdue>
  296. Subject: PSL NEWS
  297. To: PSL-News: ;, PSL-Users: ;
  298. FILES THAT DESCRIBE OTHER FILES
  299. If you need to look at the PSL directories on HULK or find
  300. something in those directories, look for files with names that
  301. start with "-", such as -THIS-.DIRECTORY or -FILE-NOTES.TXT.
  302. These files appear at the beginning of an ordinary directory
  303. listing and they describe the directory they are in, plus the
  304. files and/or subdirectories of that directory.
  305. PSL directories likely to be of interest to users are:
  306. PSL: (PSL root directory),
  307. PU: (source code for libraries),
  308. PNEW: (place to keep revisions of source files),
  309. PH: (help files and documentation for libraries).
  310. LIBRARY MODULES NOW LISTED
  311. PU: is the repository for the source code of library modules,
  312. generally contributed by users. The file PU:-FILE-NOTES.TXT
  313. contains a listing of available library modules, in most cases
  314. with a one-line description of each module. Please look here for
  315. interesting utilities. If no documentation appears to exist, bug
  316. the author of the module, also listed. (Documentation may appear
  317. in PH: or in the source file itself on PU:.)
  318. SAVESYSTEM
  319. The function SAVESYSTEM, which used to take one argument, now takes
  320. three arguments. The first is the banner, the second is the file to be
  321. written, and the third is a list of forms to be evaluated when the new
  322. core image is started.
  323. PSL.TAGS
  324. For those of you who browse through PSL source code, the file
  325. PSL.TAGS moved to p20sup: from psl:.
  326. -------
  327. 11-Jan-83 13:09:13-PST,1516;000000000000
  328. Date: 11 Jan 1983 1309-PST
  329. From: Cris Perdue <Perdue>
  330. Subject: PSL NEWS
  331. To: PSL-News: ;, PSL-Users: ;
  332. When compiled code calls a function that is undefined, the error
  333. is now continuable. If the error is continued, the function call
  334. is repeated.
  335. The function EXITLISP is now available in DEC-20 PSL, where it is
  336. currently a synonym for QUIT. Both functions cause PSL to return
  337. to a command interpreter. If the operating system permits a
  338. choice, QUIT is a continuable exit, and EXITLISP is a permanent
  339. exit (that terminates the PSL process).
  340. The functions LPOSN and CHANNELLPOSN now exist. These return a
  341. meaningful value for channels that are open for output, giving
  342. the number of the current line within the current output page.
  343. To be precise, the value is the number of newlines output since
  344. the most recent formfeed.
  345. People have been using the undocumented STRING-CONCAT function.
  346. This function is NOT actually compatible with Common LISP. It
  347. should be used as a function that applies only to string
  348. arguments, and is otherwise like CONCAT.
  349. Various bugs have been fixed, notably in the compiler and
  350. debugging facilities.
  351. A new directory of possible interest is PSYS:. This contains
  352. executable files. Executables already documented as being on
  353. PSL: will stay there for some time, but new ones are on PSYS:.
  354. DOCUMENTATION
  355. The reference manual has been significantly revised and a new
  356. version will be made available to all PSL users within a week or
  357. two.
  358. -------
  359. 11-Jan-83 13:20:09-PST,4950;000000000000
  360. Date: 11 Jan 1983 1319-PST
  361. From: Alan Snyder <AS>
  362. Subject: NMODE news
  363. To: PSL-News: ;, PSL-Users: ;
  364. cc: AS
  365. NMODE changes (10-Nov-1982 through 5-Jan-1983):
  366. * Bug fix: In the previous version of NMODE, digits and hyphen would insert
  367. themselves in the buffer even in "read-only" modes like Dired. They now act
  368. to specify command arguments in those modes.
  369. * Bug fix: control characters are now displayed properly in the message lines
  370. at the bottom of the screen.
  371. * Some bugs in auto fill mode have been fixed.
  372. * C-S and C-R now get you an incremental search, very much like that in
  373. EMACS. [Incremental search was implemented by Jeff Soreff.]
  374. * The window scrolling commands have been changed to ring the bell if no
  375. actual scrolling takes place (because you are already at the end of the
  376. buffer, etc.). In addition, some bugs in the scroll-by-pages commands have
  377. been fixed: (1) Previously, a request to scroll by too many pages was ignored;
  378. now it will scroll by as many pages as possible. (2) Previously, a backwards
  379. scroll near the beginning of the buffer could fail to leave the cursor in the
  380. same relative position on the screen.
  381. * A number of changes have been made that improve the efficiency of refresh,
  382. input completion (on buffer names and M-X command names), and Lisp I/O
  383. to and from buffers (Lisp-E).
  384. * Jeff Soreff has implemented the following commands:
  385. M-A (Backward Sentence)
  386. M-E (Forward Sentence)
  387. M-K (Kill Sentence)
  388. C-X Rubout (Backward Kill Sentence)
  389. M-[ (Backward Paragraph)
  390. M-] (Forward Paragraph)
  391. M-H (Mark Paragraph)
  392. M-Q (Fill Paragraph)
  393. M-G (Fill Region)
  394. M-Z (Fill Comment)
  395. M-S (Center Line)
  396. C-X = and C-= (What Cursor Position)
  397. These are basically the same as EMACS, except for M-Z, which is new. M-Z
  398. (Fill Comment) is like M-Q (Fill Paragraph), except that it first scans the
  399. beginning of the current line for a likely prefix and temporarily sets the
  400. fill prefix to that string. The prefix is determined to be any string of
  401. indentation, followed by zero or more non-alphanumeric, non-blank characters,
  402. followed by any indentation. The Fill Prefix works somewhat better than
  403. EMACS: lines not containing the fill prefix delimit paragraphs.
  404. * New EMACS commands implemented:
  405. C-M-\ (Indent Region) (for both Text and Lisp modes)
  406. C-M-C (inserts a ^C)
  407. * Defined C-? same as M-?, C-( same as C-M-(, C-) same as C-M-), for the
  408. convenience of 9836 users.
  409. * The following commands have been enhanced to obey the C-U argument as in
  410. EMACS:
  411. C-Y (Insert Kill Buffer)
  412. M-Y (Unkill Previous)
  413. M-^ (Delete Indentation)
  414. C-M-(, C-M-U, and C-( (Backward Up List)
  415. C-M-) and C-) (Forward Up List)
  416. C-M-N (Move Forward List)
  417. C-M-P (Move Backward List)
  418. C-M-A and C-M-[ (Move Backward Defun)
  419. C-M-E and C-M-] (End of Defun)
  420. * The C-X = command has been extended: if you give it a numeric argument,
  421. it will go to the specified line number.
  422. * NMODE's Lisp parsing has been vastly improved. It now recognizes the
  423. following: lists, vectors, comments, #/ character constants, string literals,
  424. ! as the escape character, and prefixes (including quote, backquote, comma,
  425. comma-atsign, and #-quote). The only restriction is that parsing is always
  426. done from the beginning of the line; thus newline cannot appear in string
  427. literals or be quoted in any way.
  428. * NMODE's Lisp indenting has also been improved. It now recognizes special
  429. cases of indenting under functional forms, and indents to match the leftmost
  430. (rather than the rightmost) of a sequence of forms on a line. It also knows
  431. about prefixes, like quote.
  432. * Inserting a right bracket in Lisp mode now displays the matching bracket, just
  433. as inserting a right paren does.
  434. * Inserting a right paren (or right bracket) now will avoid trying to display
  435. the "matching" left paren (or left bracket) when inside a comment, etc.
  436. * Changed multi-line Lisp indenting commands to avoid indenting (in fact, remove
  437. any indentation from) blank lines.
  438. * The indenting commands now avoid modifying the buffer if the indentation
  439. remains unchanged.
  440. * When a command (such as C-X K) asks for the name of an existing buffer,
  441. CR will now complete the name, if possible, and terminate if the name
  442. uniquely specifies one existing buffer. This behavior is more similar
  443. to EMACS than the previous behavior, where CR did no completion.
  444. * String input is now confirmed by moving the cursor to the beginning of
  445. the input line.
  446. -------
  447. 11-Jan-83 17:19:31-PST,1032;000000000001
  448. Date: 11 Jan 1983 1719-PST
  449. From: Cris Perdue <Perdue>
  450. Subject: More PSL News
  451. To: PSL-News: ;, PSL-Users: ;
  452. The behavior of LOAD has been modified so it is possible to use LOAD
  453. to load in ".SL" files. As in the past, LOAD searches in two places
  454. for a file to load: first in the connected directory (DSK: for the
  455. DEC-20 cognoscenti), then on PL: (or the equivalent on other machines).
  456. On each of these directories it searches through a list of file
  457. extensions (.b, .lap, and .sl) for a file with the right name and
  458. that extension. Thus LOAD looks first for <file>.b, then <file>.lap,
  459. then <file>.sl, then pl:<file>.b, then pl:<file>.lap, finally pl:<file>.sl.
  460. Until the latest version of PSL, LOAD would only search for .b and .lap
  461. files. The extended behavior should help people who often do not
  462. compile files. The main thing to remember is to either keep any
  463. .b file in the same directory with the .sl, or else make sure that
  464. the .b file's directory is searched before the .sl file's directory.
  465. -------
  466. 19-Jan-83 18:28:27-PST,1437;000000000003
  467. Date: 19 Jan 1983 1826-PST
  468. From: PERDUE at HP-HULK
  469. Subject: PSL News Update
  470. To: psl-news
  471. LOADing files
  472. The LOAD function uses two lists in searching for a file to actually
  473. load. The lists are:
  474. loaddirectories*
  475. This initially has the value: ("" "pl:"). It is a list of strings
  476. which indicate the directory to look in. Directories are searched in
  477. order of the list.
  478. loadextensions*
  479. This initially has the value: ((".b" . FASLIN) (".lap" . LAPIN)
  480. (".sl" . LAPIN)). It is an association list. Each element is a pair
  481. whose CAR is a string representing a file extension and whose CDR is a
  482. function to apply to LOAD a file of this extension. Within each
  483. directory of loaddirectories*, the members of loadextensions* are used
  484. in order in searching for a file to load.
  485. NOTES: The value of loadextensions* has recently changed. Removal of
  486. the last element of loadextensions* will restore the old behavior. Do
  487. not expect the exact strings that appear in these lists to remain
  488. identical across machines or across time, but it is reasonable to
  489. believe that the lists and their use will be stable for some time.
  490. DEBUGGING: BR and UNBR
  491. BR and UNBR were removed from the PSL system some time ago. To
  492. satisfy their devotees, they have been resurrected in a library named
  493. BR-UNBR. A bug has also been fixed and very soon the system library
  494. file will have the fix (if in a hurry see pnew:).
  495. -------
  496. 24-Jan-83 09:42:10-PST,703;000000000000
  497. Date: 21 Jan 1983 1909-PST
  498. From: PERDUE at HP-HULK
  499. Subject: Documentation directories
  500. To: psl-news
  501. The PSL documentation directory "pd:" has been cleaned up and
  502. there are now also machine-dependent directories p20d:, pvd:,
  503. phpd:, and pad: (Apollo). No great news of yet concerning the
  504. contents of these directories, though they do contain some rather
  505. new documents in source and final form.
  506. Note that some of these logical names are new, and there are some
  507. other new logical names as well: the group based on the root name
  508. "pdist" has been filled out, and the group based on the name
  509. "psup:" has also been filled out with a couple of new directories
  510. and their logical names.
  511. -------
  512. 9-Feb-83 13:22:20-PST,4442;000000000000
  513. Date: 9 Feb 1983 1317-PST
  514. From: AS at HP-HULK
  515. Subject: NMODE changes
  516. To: psl-news
  517. The following recent changes are available in PSL:NMODE.EXE on Hulk,
  518. and on the 9836 (except for Dired).
  519. Recent NMODE changes (20-Jan-1983 through 9-Feb-1983):
  520. Changes:
  521. * The Buffer Browser (C-X C-B) has changed in a number of ways. It has three
  522. new commands:
  523. F Saves the buffer in a file, if there are unsaved changes.
  524. M-~ Turns off the buffer-modified flag.
  525. N Restores all Ignored files to the display list.
  526. In addition, Backspace has been made equivalent to Rubout. Also, the
  527. commands D,U,K,I,Rubout,Backspace,F,N, and M-~ all obey a numeric argument
  528. of either sign. The Buffer Browser now starts up pointing at the
  529. previously-current buffer. After performing a sort command, the cursor now
  530. continues to point at the same buffer.
  531. * DIRED (the File browser) has been changed in a number of ways. One
  532. SIGNIFICANT INCOMPATIBLE change is that the K and C-K commands now delete
  533. the file immediately and remove the file from the display (instead of just
  534. marking them for later deletion). In addition, there are two new commands:
  535. I (Ignore File) Removes the file from the display list, without
  536. any effect on the actual file.
  537. N Restores all Ignored files to the display list.
  538. In addition, Backspace has been made equivalent to Rubout. Also, the
  539. commands D,U,K,I,Rubout,Backspace,and N all obey a numeric argument of
  540. either sign. The sort-by-filename procedure has been changed to sort
  541. version numbers in numerical, rather than lexicographic order. When Dired
  542. starts, the files are sorted using this procedure, instead of leaving them
  543. in the order returned by the file system. After performing a sort command,
  544. the cursor now continues to point at the same file. Dired will now
  545. automatically kill any buffer it had created for viewing a file as soon as
  546. you view a new file or exit Dired, unless the buffer contains unsaved
  547. changes.
  548. * M-X Insert File now takes as its default the file name used in the previous
  549. M-X Insert File command. This behavior matches EMACS.
  550. * Lisp-E (and Lisp-D, a new command) now insert a free EOL at the end of the
  551. buffer, if needed, whenever the buffer-modified flag is set. Previously the
  552. free EOL was inserted only when the current position was at the end of the
  553. buffer, regardless of the state of the buffer-modified flag.
  554. New commands:
  555. M-X Count Occurrences (aka M-X How Many)
  556. M-X Delete Matching Lines (aka M-X Flush Lines)
  557. M-X Delete Non-Matching Lines (aka M-X Keep Lines)
  558. M-X Insert Date (not on 9836 yet)
  559. M-X Kill Some Buffers
  560. M-X Rename Buffer
  561. M-X Revert File
  562. M-X Set Key
  563. M-X Set Visited Filename
  564. Lisp-D (in Lisp mode) executes the current defun (if the current position is
  565. within a defun) or executes from the current position (otherwise).
  566. Improvements:
  567. * NMODE now checks the system's terminal type every time it is restarted.
  568. This change allows you to use an NMODE that was detached from one kind
  569. of terminal and later attached on another kind of terminal.
  570. * Fixed bug in Dec-20 version: Find File could leave around an empty file if
  571. you tried to find a nonexistent file in a directory that allows you to
  572. create new files but whose default file protection does not allow you to
  573. delete them. (On the Dec-20, Find File determines the name of a new file by
  574. writing an empty file and immediately deleting it.)
  575. * A soft-key feature has been added, intended primarily for use on the 9836.
  576. The command Esc-/ will read a soft-key designator (a single character in the
  577. range '0' to 'W') and execute the definition of the corresponding softkey
  578. (numbered 0 through 39). Softkeys are defined using the function
  579. (nmode-define-softkey n fcn label-string), where n is the softkey number and
  580. fcn is either NIL (for undefined), a function ID (which will be invoked), or a
  581. string (which will be executed as if typed at the keyboard). NMODE on the
  582. 9836 sets up the keyboard so that the function keys K0 through K9 send an
  583. appropriate Esc-/ sequence (using shift and control as modifiers).
  584. * The two message/prompt lines at the bottom of the screen are now sometimes
  585. updated independently of the rest of the screen. This change makes writing
  586. messages and prompts more efficient.
  587. -------
  588. 25-Feb-83 11:03:02-PST,2247;000000000000
  589. Date: 25 Feb 1983 1059-PST
  590. From: AS at HP-HULK
  591. Subject: recent NMODE changes
  592. To: psl-news
  593. Recent NMODE changes (14-Feb-1983 through 24-Feb-1983):
  594. Bugs fixed:
  595. * Dired wasn't garbage collecting old buffers used to view files, as had been
  596. intended.
  597. * M-Z would enter an infinite loop on a paragraph at the end of the buffer
  598. whose last line had no terminating Newline character.
  599. * When filling with a fill prefix, the cursor would sometimes be placed
  600. improperly.
  601. * M-X Rename Buffer didn't convert the new buffer name to upper case.
  602. * The Permanent Goal Column feature (Set by C-X C-N) didn't work.
  603. * The incremental search commands did not handle bit-prefix characters
  604. (e.g., the Meta prefix) properly. Typing a bit-prefix character would
  605. terminate the search, but then the bit-prefix character would not be
  606. recognized as such.
  607. * When executing Lisp from the OUTPUT buffer in one-window mode, the window
  608. would not be adjusted if the other (unexposed) window also was attached to
  609. the OUTPUT buffer.
  610. * The cursor was being positioned improperly when the window was scrolled
  611. horizontally.
  612. Performance Improvements:
  613. * The efficiency of Lisp printing to the OUTPUT buffer has been improved
  614. significantly through the use of internal buffering. One visible change is
  615. that the screen is updated only after an entire line is written.
  616. * Insertion into text buffers has been speeded up by eliminating some
  617. unnecessary string consing that occurred when inserting at the beginning or
  618. end of a line (which is very common).
  619. EMACS Compatibility Enhancements:
  620. * M-X Set Visited Filename now converts the new name to the true name of the
  621. file, if possible.
  622. * M-X Rename Buffer now checks for attempts to use the name of an existing
  623. buffer.
  624. * Query-Replace now terminates when you type a character that is not a
  625. query-replace command and rereads that character.
  626. * C-M-D has been extended to obey the command argument (either positive
  627. or negative). It still differs from the EMACS C-M-D command in that it
  628. always stays within the current enclosing list.
  629. * M-( has been extended to obey the command argument.
  630. * The M-) command (Move Over Paren) has been implemented.
  631. -------