summaryrefslogtreecommitdiff
path: root/lisp/=tpu-doc.el
diff options
context:
space:
mode:
authorRichard M. Stallman <rms@gnu.org>1993-08-02 19:11:20 +0000
committerRichard M. Stallman <rms@gnu.org>1993-08-02 19:11:20 +0000
commitd4aae507844a5b66cb9d85ab3b767726a4748de5 (patch)
treee73feeae3407ad524fcd2e285ad7c9b686341ba9 /lisp/=tpu-doc.el
parent7c1bee3aaf8f407c68b9dcd022c3ced41f231d49 (diff)
downloademacs-d4aae507844a5b66cb9d85ab3b767726a4748de5.tar.gz
Initial revision
Diffstat (limited to 'lisp/=tpu-doc.el')
-rw-r--r--lisp/=tpu-doc.el472
1 files changed, 472 insertions, 0 deletions
diff --git a/lisp/=tpu-doc.el b/lisp/=tpu-doc.el
new file mode 100644
index 00000000000..dfdb6b8a4ff
--- /dev/null
+++ b/lisp/=tpu-doc.el
@@ -0,0 +1,472 @@
+;;; tpu-doc.el --- Documentation for TPU-edt
+
+;; Copyright (C) 1993 Free Software Foundation, Inc.
+
+;; Author: Rob Riepel <riepel@networking.stanford.edu>
+;; Maintainer: Rob Riepel <riepel@networking.stanford.edu>
+;; Keywords: tpu-edt
+
+;; GNU Emacs is distributed in the hope that it will be useful,
+;; but WITHOUT ANY WARRANTY. No author or distributor
+;; accepts responsibility to anyone for the consequences of using it
+;; or for whether it serves any particular purpose or works at all,
+;; unless he says so in writing. Refer to the GNU Emacs General Public
+;; License for full details.
+
+;; Everyone is granted permission to copy, modify and redistribute
+;; GNU Emacs, but only under the conditions described in the
+;; GNU Emacs General Public License. A copy of this license is
+;; supposed to have been given to you along with GNU Emacs so you
+;; can know your rights and responsibilities. It should be in a
+;; file named COPYING. Among other things, the copyright notice
+;; and this notice must be preserved on all copies.
+;;
+
+;;; Revision: $Id: tpu-doc.el,v 3.2 1993/08/01 21:36:48 riepel Exp $
+(defconst tpu-doc-revision "$Revision: 3.2 $"
+ "TPU-edt documentation revision number.")
+
+
+;; This is documentation for the TPU-edt editor for GNU emacs. Major
+;; sections of this document are separated with lines that begin with
+;; ";; %% <topic>", where <topic> is what is discussed in that section.
+
+
+;; %% Contents
+
+;; % Introduction
+;; % Terminal Support
+;; % X-windows Support
+;; % Differences Between TPU-edt and the Real Thing
+;; % Starting TPU-edt
+;; % TPU-edt Default Editing Keypad, Control and Gold Key Bindings
+;; % Optional TPU-edt Extensions
+;; % Customizing TPU-edt using the Emacs Initialization File
+;; % Compiling TPU-edt
+;; % Regular expressions in TPU-edt
+;; % Etcetera
+
+
+;; %% Introduction
+
+;; TPU-edt is based on tpu.el by Jeff Kowalski. TPU-edt endeavors
+;; to be even more like TPU's EDT emulation than the original tpu.el.
+;; Considerable effort has been expended to that end. Still, emacs
+;; is emacs and there are differences between TPU-edt and the real
+;; thing. Please read the "Differences Between TPU-edt and the Real
+;; Thing" and "Starting TPU-edt" sections before running TPU-edt.
+
+
+;; %% Terminal Support
+
+;; TPU-edt, like it's VMS cousin, works on VT-series terminals with
+;; DEC style keyboards. VT terminal emulators, including xterm with
+;; the appropriate key translations, work just fine too.
+
+
+;; %% X-windows Support
+
+;; Starting with version 19 of emacs, TPU-edt works with X-windows.
+;; This is accomplished through a TPU-edt X keymap. The emacs lisp
+;; program tpu-mapper.el creates this map and stores it in a file.
+;; Tpu-mapper will be run automatically the first time you invoke
+;; the X-windows version of emacs, or you can run it by hand. See
+;; the commentary in tpu-mapper.el for details.
+
+
+;; %% Differences Between TPU-edt and the Real Thing (not Coke (r))
+
+;; Emacs (version 18.58) doesn't support text highlighting, so selected
+;; regions are not shown in inverse video. Emacs uses the concept of
+;; "the mark". The mark is set at one end of a selected region; the
+;; cursor is at the other. The letter "M" appears in the mode line
+;; when the mark is set. The native emacs command ^X^X (Control-X
+;; twice) exchanges the cursor with the mark; this provides a handy
+;; way to find the location of the mark.
+
+;; In TPU the cursor can be either bound or free. Bound means the
+;; cursor cannot wander outside the text of the file being edited.
+;; Free means the arrow keys can move the cursor past the ends of
+;; lines. Free is the default mode in TPU; bound is the only mode
+;; in EDT. Bound is the only mode in the base version of TPU-edt;
+;; optional extensions add an approximation of free mode.
+
+;; Like TPU, emacs uses multiple buffers. Some buffers are used to
+;; hold files you are editing; other "internal" buffers are used for
+;; emacs' own purposes (like showing you help). Here are some commands
+;; for dealing with buffers.
+
+;; Gold-B moves to next buffer, including internal buffers
+;; Gold-N moves to next buffer containing a file
+;; Gold-M brings up a buffer menu (like TPU "show buffers")
+
+;; Emacs is very fond of throwing up new windows. Dealing with all
+;; these windows can be a little confusing at first, so here are a few
+;; commands to that may help:
+
+;; Gold-Next_Scr moves to the next window on the screen
+;; Gold-Prev_Scr moves to the previous window on the screen
+;; Gold-TAB also moves to the next window on the screen
+
+;; Control-x 1 deletes all but the current window
+;; Control-x 0 deletes the current window
+
+;; Note that the buffers associated with deleted windows still exist!
+
+;; Like TPU, TPU-edt has a "command" function, invoked with Gold-KP7 or
+;; Do. Most of the commands available are emacs commands. Some TPU
+;; commands are available, they are: replace, exit, quit, include, and
+;; Get (unfortunately, "get" is an internal emacs function, so we are
+;; stuck with "Get" - to make life easier, Get is available as Gold-g).
+
+;; Support for recall of commands, file names, and search strings was
+;; added to emacs in version 19. For version 18 of emacs, optional
+;; extensions are available to add this recall capability (see "Optional
+;; TPU-edt Extensions" below). The history of strings recalled in both
+;; versions of emacs differs slightly from TPU/edt, but it is still very
+;; convenient.
+
+;; Help is available! The traditional help keys (Help and PF2) display
+;; a three page help file showing the default keypad layout, control key
+;; functions, and Gold key functions. Pressing any key inside of help
+;; splits the screen and prints a description of the function of the
+;; pressed key. Gold-PF2 invokes the native emacs help, with it's
+;; zillions of options. Gold-Help shows all the current key bindings.
+
+;; Thanks to emacs, TPU-edt has some extensions that may make your life
+;; easier, or at least more interesting. For example, Gold-r toggles
+;; TPU-edt rectangular mode. In rectangular mode, Remove and Insert work
+;; on rectangles. Likewise, Gold-* toggles TPU-edt regular expression
+;; mode. In regular expression mode Find, Find Next, and the line-mode
+;; replace command work with regular expressions. [A regular expression
+;; is a pattern that denotes a set of strings; like VMS wildcards.]
+
+;; Emacs also gives TPU-edt the undo and occur functions. Undo does
+;; what it says; it undoes the last change. Multiple undos in a row
+;; undo multiple changes. For your convenience, undo is available on
+;; Gold-u. Occur shows all the lines containing a specific string in
+;; another window. Moving to that window, and typing ^C^C (Control-C
+;; twice) on a particular line moves you back to the original window
+;; at that line. Occur is on Gold-o.
+
+;; Finally, as you edit, remember that all the power of emacs is at
+;; your disposal. It really is a fantastic tool. You may even want to
+;; take some time and read the emacs tutorial; perhaps not to learn the
+;; native emacs key bindings, but to get a feel for all the things
+;; emacs can do for you. The emacs tutorial is available from the
+;; emacs help function: "Gold-PF2 t"
+
+
+;; %% Starting TPU-edt
+
+;; In order to use TPU-edt, the TPU-edt editor definitions, contained
+;; in tpu-edt.el, need to be loaded when emacs is run. This can be
+;; done in a couple of ways. The first is by explicitly requesting
+;; loading of the TPU-edt emacs definition file on the command line:
+
+;; prompt> emacs -l /path/to/definitions/tpu-edt.el
+
+;; If TPU-edt is installed on your system, that is, if tpu-edt.el is in
+;; a directory like /usr/local/emacs/lisp, along with dozens of other
+;; .el files, you should be able to use the command:
+
+;; prompt> emacs -l tpu-edt
+
+;; If you like TPU-edt and want to use it all the time, you can load
+;; the TPU-edt definitions using the emacs initialization file, .emacs.
+;; Simply create a .emacs file in your home directory containing the
+;; line:
+
+;; (load "/path/to/definitions/tpu-edt")
+
+;; or, if (as above) TPU-edt is installed on your system:
+
+;; (load "tpu-edt")
+
+;; Once TPU-edt has been loaded, you will be using an editor with the
+;; interface shown in the next section (A section that is suitable for
+;; cutting out of this document and pasting next to your terminal!).
+
+
+;; %% TPU-edt Default Editing Keypad, Control and Gold Key Bindings
+;;
+;; _______________________ _______________________________
+;; | HELP | Do | | | | | |
+;; |KeyDefs| | | | | | |
+;; |_______|_______________| |_______|_______|_______|_______|
+;; _______________________ _______________________________
+;; | Find |Insert |Remove | | Gold | HELP |FndNxt | Del L |
+;; | | |Sto Tex| | key |E-Help | Find |Undel L|
+;; |_______|_______|_______| |_______|_______|_______|_______|
+;; |Select |Pre Scr|Nex Scr| | Page | Sect |Append | Del W |
+;; | Reset |Pre Win|Nex Win| | Do | Fill |Replace|Undel W|
+;; |_______|_______|_______| |_______|_______|_______|_______|
+;; |Move up| |Forward|Reverse|Remove | Del C |
+;; | Top | |Bottom | Top |Insert |Undel C|
+;; _______|_______|_______ |_______|_______|_______|_______|
+;; |Mov Lef|Mov Dow|Mov Rig| | Word | EOL | Char | |
+;; |StaOfLi|Bottom |EndOfLi| |ChngCas|Del EOL|SpecIns| Enter |
+;; |_______|_______|_______| |_______|_______|_______| |
+;; | Line |Select | Subs |
+;; | Open Line | Reset | |
+;; |_______________|_______|_______|
+;; Control Characters
+;;
+;; ^A toggle insert and overwrite ^L insert page break
+;; ^B recall ^R remember, re-center
+;; ^E end of line ^U delete to beginning of line
+;; ^G cancel current operation ^V quote
+;; ^H beginning of line ^W refresh
+;; ^J delete previous word ^Z exit
+;; ^K learn ^X^X exchange point and mark
+;;
+;;
+;; Gold-<key> Functions
+;; -----------------------------------------------------------------
+;; W Write - save current buffer
+;; K Kill buffer - abandon edits and delete buffer
+;;
+;; E Exit - save current buffer and ask about others
+;; X eXit - save all modified buffers and exit
+;; Q Quit - exit without saving anything
+;;
+;; G Get - load a file into a new edit buffer
+;; I Include - include a file in this buffer
+;;
+;; B next Buffer - display the next buffer (all buffers)
+;; N Next file buffer - display next buffer containing a file
+;; M buffer Menu - display a list of all buffers
+;;
+;; U Undo - undo the last edit
+;; C Recall - edit and possibly repeat previous commands
+;;
+;; O Occur - show following lines containing REGEXP
+;; S Search and substitute - line mode REPLACE command
+;;
+;; ? Spell check - check spelling in a region or entire buffer
+;;
+;; R Toggle Rectangular mode for remove and insert
+;; * Toggle regular expression mode for search and substitute
+;;
+;; V Show TPU-edt version
+;; -----------------------------------------------------------------
+
+
+;; %% Optional TPU-edt Extensions
+
+;; Several optional packages have been included in this distribution
+;; of TPU-edt. The following is a brief description of each package.
+;; See the {package}.el file for more detailed information and usage
+;; instructions.
+
+;; tpu-extras - TPU/edt scroll margins and free cursor mode.
+;; tpu-recall - String, file name, and command history.
+;; vt-control - VTxxx terminal width and keypad controls.
+
+;; Packages are normally loaded from the emacs initialization file
+;; (discussed below). If a package is not installed in the emacs
+;; lisp directory, it can be loaded by specifying the complete path
+;; to the package file. However, it is preferable to modify the
+;; emacs load-path variable to include the directory where packages
+;; are stored. This way, packages can be loaded by name, just as if
+;; they were installed. The first part of the sample .emacs file
+;; below shows how to make such a modification.
+
+
+;; %% Customizing TPU-edt using the Emacs Initialization File
+
+;; .emacs - a sample emacs initialization file
+
+;; This is a sample emacs initialization file. It shows how to invoke
+;; TPU-edt, and how to customize it.
+
+;; The load-path is where emacs looks for files to fulfill load requests.
+;; If TPU-edt is not installed in a standard emacs directory, the load-path
+;; should be updated to include the directory where the TPU-edt files are
+;; stored. Modify and un-comment the following section if TPU-ed is not
+;; installed on your system - be sure to leave the double quotes!
+
+;; (setq load-path
+;; (append (list (expand-file-name "/path/to/tpu-edt/files"))
+;; load-path))
+
+;; Load TPU-edt
+(load "tpu-edt")
+
+;; Load the optional goodies - scroll margins, free cursor mode, command
+;; and string recall. But don't complain if the file aren't available.
+(load "tpu-extras" t)
+(load "tpu-recall" t)
+
+;; Uncomment this line to set scroll margins 10% (top) and 15% (bottom).
+;(tpu-set-scroll-margins "10%" "15%")
+
+;; Load the vtxxx terminal control functions, but don't complain if
+;; if the file is not found.
+(load "vt-control" t)
+
+;; TPU-edt treats words like EDT; here's how to add word separators.
+;; Note that backslash (\) and double quote (") are quoted with '\'.
+(tpu-add-word-separators "]\\[-_,.\"=+()'/*#:!&;$")
+
+;; Emacs is happy to save files without a final newline; other Unix programs
+;; hate that! This line will make sure that files end with newlines.
+(setq require-final-newline t)
+
+;; Emacs has the ability to automatically run code embedded in files
+;; you edit. This line makes emacs ask if you want to run the code.
+(setq inhibit-local-variables t)
+
+;; Emacs uses Control-s and Control-q. Problems can occur when using emacs
+;; on terminals that use these codes for flow control (Xon/Xoff flow control).
+;; These lines disable emacs' use of these characters.
+(global-unset-key "\C-s")
+(global-unset-key "\C-q")
+
+;; top, bottom, bol, eol seem like a waste of Gold-arrow functions. The
+;; following section re-maps up and down arrow keys to top and bottom of
+;; screen, and left and right arrow keys to pan left and right (pan-left,
+;; right moves the screen 16 characters left or right - try it, you'll
+;; like it!).
+
+;; Re-map the Gold-arrow functions
+(define-key GOLD-CSI-map "A" 'tpu-beginning-of-window) ; up-arrow
+(define-key GOLD-CSI-map "B" 'tpu-end-of-window) ; down-arrow
+(define-key GOLD-CSI-map "C" 'tpu-pan-right) ; right-arrow
+(define-key GOLD-CSI-map "D" 'tpu-pan-left) ; left-arrow
+(define-key GOLD-SS3-map "A" 'tpu-beginning-of-window) ; up-arrow
+(define-key GOLD-SS3-map "B" 'tpu-end-of-window) ; down-arrow
+(define-key GOLD-SS3-map "C" 'tpu-pan-right) ; right-arrow
+(define-key GOLD-SS3-map "D" 'tpu-pan-left) ; left-arrow
+
+;; Re-map the Gold-arrow functions for X-windows TPU-edt (emacs version 19)
+(cond
+ ((and tpu-emacs19-p window-system)
+ (define-key GOLD-map [up] 'tpu-beginning-of-window) ; up-arrow
+ (define-key GOLD-map [down] 'tpu-end-of-window) ; down-arrow
+ (define-key GOLD-map [right] 'tpu-pan-right) ; right-arrow
+ (define-key GOLD-map [left] 'tpu-pan-left))) ; left-arrow
+
+;; The emacs universal-argument function is very useful for native emacs
+;; commands. This line maps universal-argument to Gold-PF1
+(define-key GOLD-SS3-map "P" 'universal-argument) ; Gold-PF1
+
+;; Make KP7 move by paragraphs, instead of pages.
+(define-key SS3-map "w" 'tpu-paragraph) ; KP7
+
+;; TPU-edt assumes you have the ispell spelling checker;
+;; Un-comment this line if you don't.
+;(setq tpu-have-spell nil)
+
+;; Display the TPU-edt version.
+(tpu-version)
+
+;; End of .emacs - a sample emacs initialization file
+
+;; After initialization with the .emacs file shown above, the editing
+;; keys have been re-mapped to look like this:
+
+;; _______________________ _______________________________
+;; | HELP | Do | | | | | |
+;; |KeyDefs| | | | | | |
+;; |_______|_______________| |_______|_______|_______|_______|
+;; _______________________ _______________________________
+;; | Find |Insert |Remove | | Gold | HELP |FndNxt | Del L |
+;; | | |Sto Tex| | U Arg |E-Help | Find |Undel L|
+;; |_______|_______|_______| |_______|_______|_______|_______|
+;; |Select |Pre Scr|Nex Scr| |Paragra| Sect |Append | Del W |
+;; | Reset |Pre Win|Nex Win| | Do | Fill |Replace|Undel W|
+;; |_______|_______|_______| |_______|_______|_______|_______|
+;; |Move up| |Forward|Reverse|Remove | Del C |
+;; |Tscreen| |Bottom | Top |Insert |Undel C|
+;; _______|_______|_______ |_______|_______|_______|_______|
+;; |Mov Lef|Mov Dow|Mov Rig| | Word | EOL | Char | |
+;; |PanLeft|Bscreen|PanRigh| |ChngCas|Del EOL|SpecIns| Enter |
+;; |_______|_______|_______| |_______|_______|_______| |
+;; | Line |Select | Subs |
+;; | Open Line | Reset | |
+;; |_______________|_______|_______|
+
+;; Astute emacs hackers will realize that on systems where TPU-edt is
+;; installed, this documentation file can be loaded to produce the above
+;; editing keypad layout. In fact, to get all the changes in the sample
+;; initialization file, you only need a one line initialization file:
+
+;; (load "tpu-doc")
+
+;; wow!
+
+
+;; %% Compiling TPU-edt
+
+;; It is not necessary to compile (byte-compile in emacs parlance)
+;; TPU-edt to use it. However, byte-compiled code loads and runs
+;; faster, and takes up less memory when loaded. To byte compile
+;; TPU-edt, use the following command.
+
+;; emacs -batch -f batch-byte-compile tpu-edt.el
+
+;; This will produce a file named tpu-edt.elc. This new file can be
+;; used in place of the original tpu-edt.el file. In commands where
+;; the file type is not specified, emacs always attempts to use the
+;; byte-compiled version before resorting to the source.
+
+
+;; %% Regular expressions in TPU-edt
+
+;; Gold-* toggles TPU-edt regular expression mode. In regular expression
+;; mode, find, find next, replace, and substitute accept emacs regular
+;; expressions. A complete list of emacs regular expressions can be
+;; found using the emacs "info" command (it's somewhat like the VMS help
+;; command). Try the following sequence of commands:
+
+;; DO info <enter info mode>
+;; m regex <select the "regular expression" topic>
+;; m directives <select the "directives" topic>
+
+;; Type "q" to quit out of info mode.
+
+;; There is a problem in regular expression mode when searching for
+;; empty strings, like beginning-of-line (^) and end-of-line ($).
+;; When searching for these strings, find-next may find the current
+;; string, instead of the next one. This can cause global replace and
+;; substitute commands to loop forever in the same location. For this
+;; reason, commands like
+
+;; replace "^" "> " <add "> " to beginning of line>
+;; replace "$" "00711" <add "00711" to end of line>
+
+;; may not work properly.
+
+;; Commands like those above are very useful for adding text to the
+;; beginning or end of lines. They might work on a line-by-line basis,
+;; but go into an infinite loop if the "all" response is specified. If
+;; the goal is to add a string to the beginning or end of a particular
+;; set of lines TPU-edt provides functions to do this.
+
+;; Gold-^ Add a string at BOL in region or buffer
+;; Gold-$ Add a string at EOL in region or buffer
+
+;; There is also a TPU-edt interface to the native emacs string
+;; replacement commands. Gold-/ invokes this command. It accepts
+;; regular expressions if TPU-edt is in regular expression mode. Given
+;; a repeat count, it will perform the replacement without prompting
+;; for confirmation.
+
+;; This command replaces empty strings correctly, however, it has its
+;; drawbacks. As a native emacs command, it has a different interface
+;; than the emulated TPU commands. Also, it works only in the forward
+;; direction, regardless of the current TPU-edt direction.
+
+
+;; %% Etcetera
+
+;; That's TPU-edt in a nutshell...
+
+;; Please send any bug reports, feature requests, or cookies to the
+;; author, Rob Riepel, at the address shown by the tpu-version command
+;; (Gold-V).
+
+;; Share and enjoy... Rob Riepel 7/93
+
+;;; tpu-doc.el ends here