Artifact 0b78518813ae7c8ac23ac54801360245dacbc5b10248099ce321c6e1fb9b72b0:
- File
psl-1983/help/emode.hlp
— part of check-in
[eb17ceb7f6]
at
2020-04-21 19:40:01
on branch master
— Add Reduce 3.0 to the historical section of the archive, and some more
files relating to version sof PSL from the early 1980s. Thanks are due to
Paul McJones and Nelson Beebe for these, as well as to all the original
authors.git-svn-id: https://svn.code.sf.net/p/reduce-algebra/code/historical@5328 2bfe0521-f11c-4a00-b80e-6202646ff360 (user: arthurcnorman@users.sourceforge.net, size: 12075) [annotate] [blame] [check-ins using] [more...]
EMODE - A PSL SCREEN EDITOR Comments and questions about EMODE should be addressed to Will Galway (GALWAY@UTAH-20). Further documentation is available in the file EMODE.LPT on logical device PE: Running EMODE EMODE is available as a "loadable" file. It can be invoked as follows: @PSL:RLISP [1] load emode; [2] emode(); Of course, you may choose to invoke RLISP (or "just plain Lisp") differently, and to perform other operations before loading and running EMODE. EMODE is built to run on a site dependent "default terminal" as the default (a Teleray terminal at the University of Utah). To use some other terminal you must LOAD in a set of different driver functions after loading EMODE. For example, to run EMODE on the Hewlett Packard 2648A terminal, you could type: @PSL:RLISP [1] load emode; [2] load hp2648a; [3] emode(); The following drivers are currently available: AAA For the Ann Arbor Ambassador. DM1520 For the Datamedia 1520. HP2648A For the Hewlett Packard 2648A (and similar HP terminals). TELERAY For the Teleray 1061. VT52 For the DEC VT52. VT100 For the DEC VT100. See the file PE:EMODE.LPT for information on creating new terminal drivers. When EMODE starts up, it will typically be in "two window mode". To enter "one window mode", you can type "C-X 1" (as in EMACS). Commands can be typed into a buffer shown in the top window. The result of evaluating a command is printed into the OUT_WINDOW buffer (shown in the bottom window). To evaluate the expression starting on the current line, type M-E. M-E will (normally) automatically enter two window mode if anything is "printed" to the OUT_WINDOW buffer. If you don't want to see things being printed to the output window, you can set the variable !*OUTWINDOW to NIL. (Or use the RLISP command "OFF OUTWINDOW;".) This prevents EMODE from automatically going into two window mode when something is printed to OUT_WINDOW. You must still use the "C-X 1" command to enter one window mode initially. Commands for EMODE The following commands are notable either for their difference from EMACS, or for their importance to getting started with EMODE: - To leave EMODE type C-X C-Z to "QUIT" to the EXEC, or C-Z C-Z to return to "normal" PSL input/output. - While in EMODE, the "M-?" (meta- question mark) character asks for a command character and prints the name of the routine attached to that character. - The function "PrintAllDispatch()" will print out the current dispatch table. You must call EMODE first, to set this table up. - M-C-Y inserts into the current buffer the text printed as a result of the last M-E. - M-X prompts for a one line string and then executes it as a Lisp expression. Of course, similar results can be achieved by using M-E in a buffer. A (fairly) complete table of keyboard bindings follows: C-@ Runs the function SETMARK. C-A Runs the function !$BEGINNINGOFLINE. C-B Runs the function !$BACKWARDCHARACTER. C-D Runs the function !$DELETEFORWARDCHARACTER. C-E Runs the function !$ENDOFLINE. C-F Runs the function !$FORWARDCHARACTER. Tab In Lisp mode, runs the function LISP-TAB-COMMAND. Indents as appropriate for Lisp. Linefeed In text mode, runs the function !$CRLF and acts like a carriage return. In Lisp mode, runs the function LISP-LINEFEED-COMMAND. Inserts a newline and indents as appropriate for Lisp. C-K Runs the function KILL_LINE. C-L Runs the function FULLREFRESH. Return Runs the function $CRLF (inserts a carriage return). C-N Runs the function !$FORWARDLINE. C-O Runs the function OPENLINE. C-P Runs the function !$BACKWARDLINE. C-Q Runs the function INSERTNEXTCHARACTER. Acts like a "quote" for the next character typed. C-R Backward search for string, type a carriage return to terminate the search string. Default (for a null string) is the last string previously searched for. C-S Forward search for string. C-T Transpose the last two characters typed (if the last character typed was self inserting). Otherwise, transpose the characters to the left and right of point, or the two characters to the left of point if at the end of a line. C-U Repeat a command. Similar to EMACS's C-U. C-V Runs the function SCROLL-WINDOW-UP-PAGE-COMMAND. C-W Runs the function KILL_REGION. C-X As in EMACS, control-X is a prefix for "fancier" commands. C-Y Runs the function INSERT_KILL_BUFFER. Yanks back killed text. C-Z Runs the function DOCONTROLMETA. As in EMACS, acts like "Control-Meta" (or "Meta-Control"). ESCAPE Runs the function ESCAPEASMETA. As in EMACS, ESCAPE acts like the "Meta" key. ) Inserts a "matching" right parenthesis. Bounces back to the corresponding left parenthesis, or beeps if no matching parenthesis is found. RUBOUT Runs the function !$DELETEBACKWARDCHARACTER. M-C-@ Runs the function MARK-SEXP-COMMAND. Sets mark at the end of the s-expression following point. M-C-A In Lisp mode, runs the function BEGINNING-OF-DEFUN-COMMAND. Moves backward to the beginning of the current or previous) DEFUN. A DEFUN is heuristically defined to be a line whose first character is a left parenthesis. M-C-B Runs the function BACKWARD_SEXPR. M-C-D Runs the function DOWN-LIST. Moves "deeper" into the next contained list. M-C-E In Lisp mode, runs the function END-OF-DEFUN-COMMAND. Moves forward to the beginning of the next line following the end of a DEFUN. M-C-F Runs the function FORWARD_SEXPR. M-Backspace In Lisp mode, runs the function MARK-DEFUN-COMMAND. M-Tab In Lisp mode, runs the function LISP-TAB-COMMAND. M-C-K Runs the function KILL_FORWARD_SEXPR. M-Return Runs the function BACK-TO-INDENTATION-COMMAND. Similar to C-A, but skips past any leading blanks. M-C-N Runs the function MOVE-PAST-NEXT-LIST. Moves to the right of the current or next list. M-C-O Runs the function FORWARD-UP-LIST. Moves to the right of the current list. M-C-P Runs the function MOVE-PAST-PREVIOUS-LIST. Moves to the beginning of the current or previous list. M-C-Q Runs the function LISP-INDENT-SEXPR. "Lisp indents" each line in the next s-expr. M-C-U Runs the function BACKWARD-UP-LIST. Does the "opposite" of FORWARD-UP-LIST. M-C-Y In Lisp and Rlisp mode runs the function INSERT_LAST_EXPRESSION. Inserts the last body of text typed as the result of a M-E. M-C-Z Runs the function OLDFACE. Leaves EMODE, goes back to "regular" PSL input/output. M-Escape In Lisp mode, runs the function BEGINNING-OF-DEFUN-COMMAND. (See M-C-A.) M-C-] In Lisp mode, runs the function END-OF-DEFUN-COMMAND. (See M-C-E.) M-C-RUBOUT Runs the function KILL_BACKWARD_SEXPR. M-% Runs the function QUERY-REPLACE-COMMAND. Similar to EMACS's query replace. M-( Runs the function INSERT-PARENS. Inserts a matching pair of parenthesis, leaving point between them. M-) Runs the function MOVE-OVER-PAREN. Moves over a ")" updating indentation (as appropriate for Lisp). M-/ Runs the function !$HELPDISPATCH, see the description of M-? below. M-; In Lisp and Rlisp mode runs the function INSERTCOMMENT. M-< Runs the function !$BEGINNINGOFBUFFER. Move to beginning of buffer. M-> Runs the function !$ENDOFBUFFER. Move to end of buffer. M-? Runs the function !$HELPDISPATCH. Asks for a character and prints the name of the routine attached to that character. M-@ Runs the function MARK-WORD-COMMAND. M-B Runs the function BACKWARD_WORD. Backs up over a word. M-D Runs the function KILL_FORWARD_WORD. M-E In Lisp and RLISP modes evaluates the expression starting at the beginning of the current line. M-F Runs the function FORWARD_WORD. Moves forward over a word. M-M Runs the function BACK-TO-INDENTATION-COMMAND. (See M-Return for more description.) M-V Runs the function SCROLL-WINDOW-DOWN-PAGE-COMMAND. Moves up a window. M-W Runs the function COPY_REGION. Like C-W only it doesn't kill the region. M-X Runs the function EXECUTE_COMMAND. Prompts for a string and then converts it to Lisp expression and evaluates it. M-Y Runs the function UNKILL_PREVIOUS. Used to cycle through the kill buffer. Deletes the last yanked back text and then proceeds to yank back the previous piece of text in the kill buffer. M-\ Runs the function DELETE-HORIZONTAL-SPACE-COMMAND. Deletes all blanks (and tabs) around point. M-^ Runs the function DELETE-INDENTATION-COMMAND. Deletes CRLF and indentation at front of line, leaves one space in place of them. M-RUBOUT Runs the function KILL_BACKWARD_WORD. C-X C-B Runs the function PRINTBUFFERNAMES. Prints a list of all the buffers present. C-X C-F Runs the function FIND_FILE. Asks for a filename and then selects the buffer that that file resides in, or creates a new buffer and reads the file into it. C-X C-O Runs the function DELETE-BLANK-LINES-COMMAND. Deletes blank lines around point (leaving one left). C-X C-P Runs the function WRITESCREENPHOTO. Write a "photograph" of the screen to a file. C-X C-R Runs the function CNTRLXREAD. Read a file into the buffer. C-X C-S Runs the function SAVE_FILE. Writes the buffer to the file associated with that buffer, asks for an associated file if none defined. C-X C-W Runs the function CNTRLXWRITE. Write the buffer out to a file. C-X C-X Runs the function EXCHANGEPOINTANDMARK C-X C-Z As in EMACS, exits to the EXEC. C-X 1 Goes into one window mode. C-X 2 Goes into two window mode. C-X B Runs the function CHOOSEBUFFER. EMODE asks for a buffer name, and then selects (or creates) that buffer for editing. C-X H Runs the function MARK-WHOLE-BUFFER-COMMAND. C-X N Runs the function NEXT_WINDOW. Selects the "next" window in the list of active windows. Note that some active windows may be covered by other screens, so they will be invisible until C-X N reaches them and "pops" them to the "top" of the screen. C-X O An alternate way to invoke NEXT_WINDOW. C-X P Runs the function PREVIOUS_WINDOW. Selects the "previous" window in the list of active windows.