XEROX EMACS 2 4 1 EMACS 1 4 By: Kelly Roach (Roach.pa@Xerox.com) This LISPUSERS package is named after the PDP-10 EMACS text editor developed at MIT. This package implements, on top of TEDIT, most of the commonly used EMACS commands. A former MAXC EMACS user, I now use the LISPUSERS package for both text editting and code editting. The package has the same strengths as TEDIT: multiple windows, fonts, and mouse selection. Additionally, the user has the speed and convenience of EMACS keyboard commands available to him. There is less need to switch back and forth between keyboard and mouse, so that the user is less "mouse-bound." The package supports paren balancing and lisp commands that make EMACS pleasant to use as an alternative code editor. EMACS is continuing to be developed (espescially now that the author is relying on it). Your comments, bugs, suggestions, etc. can be sent to EMACSSUPPORT^.PA. I suggest users familiarize themselves with TEDIT and TEDIT documentation first, as EMACS is built on top of TEDIT. To use EMACS, load EMACS.DCOM. You can either button EMACS in the background command menu or do (EMACS TEXT WINDOW DONTSPAWN PROPS) [Function] where args TEXT, WINDOW, DONTSPAWN, and PROPS are used just as they are with TEDIT's function TEDIT. For the most part, EMACS behaves exactly like TEDIT. The difference is that typing combinations of control characters will cause EMACS commands to be executed. The following commands are supported: ^A Go to beginning of line ^B Go back a char ^D Delete a char ^E Go to end of line ^F Go forward a char ^G Abort command ^H Put up process menu ^K Kill line ^L Redisplay window ^N Go down a line ^P Go up a line ^S Forward search ^T Transpose chars ^V Go forward a windowfull ^X^V Visit file ^X^W Write file ^X^Z EVAL following expression in EXEC process ^Z^F Forward an expression DEL Delete back a char #^A Go to beginning of definition #^E Go to end of definition #^K Kill expression #> Go to end of file #< Go to beginning of file #B Go back a word #D Delete a word #E DEDIT expression #F Go forward a word #G PRETTYPRINT expression #S Steal top selection from DEDIT #V Go down a windowfull #^ Join lines #DEL Delete back a word Indent a la LISP mode ^U Repeat following command 4 times The following items are still in the wish list category. ^Y (remember deleted material) $X Replace String $X Query Replace ^R (reverse searching, faster searching) ^Z^B (nontrivial backward commands) $X Auto Fill $X Auto Save $X Occur $^T, ^X^T (nontrivial transposes) There is some possibility for the user to customize his EMACS, but I haven't made this very easy to do yet. You can, if you wish, add your own functions to any of the lists EMACS.LIST, EMACS.MLIST, and EMACS.XLIST. The functions on these lists take a single EMACSSTREAM (i.e. TEDIT TEXTSTREAM) argument. The ACCESSFNS EMACSSTREAM may be convenient for you to use. You must do (EMACS.INIT) to have EMACS absorb your changes. (LIST ((PAGE NIL (PAPERSIZE Letter FOLIOINFO (ARABIC ) STARTINGPAGE# 1) (0 0 612 792) ((FOLIO NIL (PARALOOKS (QUAD CENTERED) CHARLOOKS (SUPERSCRIPT 0 INVISIBLE OFF SELECTPOINT OFF PROTECTED OFF SIZE 10 FAMILY MODERN OVERLINE OFF STRIKEOUT OFF UNDERLINE OFF EXPANSION REGULAR SLOPE REGULAR WEIGHT MEDIUM INVERTED OFF USERINFO NIL STYLE NIL) FORMATINFO (ARABIC )) (174 36 288 36) NIL) (HEADING NIL (HEADINGTYPE RUNNINGHEAD) (84 744 528 36) NIL) (TEXT NIL NIL (84 96 456 600) NIL))) (PAGE NIL (PAPERSIZE Letter FOLIOINFO (ARABIC )) (0 0 612 792) ((FOLIO NIL (PARALOOKS (QUAD CENTERED) CHARLOOKS (SUPERSCRIPT 0 INVISIBLE OFF SELECTPOINT OFF PROTECTED OFF SIZE 10 FAMILY MODERN OVERLINE OFF STRIKEOUT OFF UNDERLINE OFF EXPANSION REGULAR SLOPE REGULAR WEIGHT MEDIUM INVERTED OFF USERINFO NIL STYLE NIL) FORMATINFO (ARABIC )) (174 36 288 36) NIL) (HEADING NIL (HEADINGTYPE RUNNINGHEAD) (84 744 528 36) NIL) (TEXT NIL NIL (84 96 456 600) NIL))) (PAGE NIL (PAPERSIZE Letter FOLIOINFO (ARABIC )) (0 0 612 792) ((FOLIO NIL (PARALOOKS (QUAD CENTERED) CHARLOOKS (SUPERSCRIPT 0 INVISIBLE OFF SELECTPOINT OFF PROTECTED OFF SIZE 10 FAMILY MODERN OVERLINE OFF STRIKEOUT OFF UNDERLINE OFF EXPANSION REGULAR SLOPE REGULAR WEIGHT MEDIUM INVERTED OFF USERINFO NIL STYLE NIL) FORMATINFO (ARABIC )) (174 36 288 36) NIL) (HEADING NIL (HEADINGTYPE RUNNINGHEAD) (84 744 528 36) NIL) (TEXT NIL NIL (84 96 456 600) NIL)))))(È(È(ŠŠ8(ŠŠ8DÈÈ PAGEHEADING RUNNINGHEADMODERN ?1(DEFAULTFONT 1 (GACHA 10) (GACHA 8) (TERMINAL 8)) TERMINAL MODERN MODERNLOGOMODERN MODERN  HRULE.GETFNMODERN  HRULE.GETFNMODERN  HRULE.GETFNMODERN  HRULE.GETFNMODERN  HRULE.GETFNMODERN &Yá&>9ܬ ä-zº