home *** CD-ROM | disk | FTP | other *** search
/ BCI NET 2 / BCI NET 2.iso / archives / programming / source / a2.0bemacs-src.lha / Emacs-19.25 / lisp / tpu-doc.el < prev    next >
Encoding:
Text File  |  1993-11-26  |  21.1 KB  |  473 lines

  1. ;;; tpu-doc.el --- Documentation for TPU-edt
  2.  
  3. ;; Copyright (C) 1993 Free Software Foundation, Inc.
  4.  
  5. ;; Author: Rob Riepel <riepel@networking.stanford.edu>
  6. ;; Maintainer: Rob Riepel <riepel@networking.stanford.edu>
  7. ;; Keywords: emulations
  8.  
  9. ;; This file is part of GNU Emacs.
  10.  
  11. ;; GNU Emacs is free software; you can redistribute it and/or modify
  12. ;; it under the terms of the GNU General Public License as published by
  13. ;; the Free Software Foundation; either version 2, or (at your option)
  14. ;; any later version.
  15.  
  16. ;; GNU Emacs is distributed in the hope that it will be useful,
  17. ;; but WITHOUT ANY WARRANTY; without even the implied warranty of
  18. ;; MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
  19. ;; GNU General Public License for more details.
  20.  
  21. ;; You should have received a copy of the GNU General Public License
  22. ;; along with GNU Emacs; see the file COPYING.  If not, write to
  23. ;; the Free Software Foundation, 675 Mass Ave, Cambridge, MA 02139, USA.
  24.  
  25. (defconst tpu-doc-revision "$Revision: 1.6 $"
  26.   "TPU-edt documentation revision number.")
  27.  
  28.  
  29. ;; This is documentation for the TPU-edt editor for GNU emacs.  Major
  30. ;; sections of this document are separated with lines that begin with
  31. ;; ";; %% <topic>", where <topic> is what is discussed in that section.
  32.  
  33.  
  34. ;; %% Contents
  35.  
  36. ;;  % Introduction
  37. ;;  % Terminal Support
  38. ;;  % X-windows Support
  39. ;;  % Differences Between TPU-edt and the Real Thing
  40. ;;  % Starting TPU-edt
  41. ;;  % TPU-edt Default Editing Keypad, Control and Gold Key Bindings
  42. ;;  % Optional TPU-edt Extensions
  43. ;;  % Customizing TPU-edt using the Emacs Initialization File
  44. ;;  % Compiling TPU-edt
  45. ;;  % Regular expressions in TPU-edt
  46. ;;  % Etcetera
  47.  
  48.  
  49. ;; %% Introduction
  50.  
  51. ;;    TPU-edt is based on tpu.el by Jeff Kowalski.  TPU-edt endeavors
  52. ;;    to be even more like TPU's EDT emulation than the original tpu.el.
  53. ;;    Considerable effort has been expended to that end.  Still, emacs
  54. ;;    is emacs and there are differences between TPU-edt and the real
  55. ;;    thing.  Please read the "Differences Between TPU-edt and the Real
  56. ;;    Thing" and "Starting TPU-edt" sections before running TPU-edt.
  57.  
  58.  
  59. ;; %% Terminal Support
  60.  
  61. ;;    TPU-edt, like it's VMS cousin, works on VT-series terminals with
  62. ;;    DEC style keyboards.  VT terminal emulators, including xterm with
  63. ;;    the appropriate key translations, work just fine too.
  64.  
  65.  
  66. ;; %% X-windows Support
  67.  
  68. ;;    Starting with version 19 of emacs, TPU-edt works with X-windows.
  69. ;;    This is accomplished through a TPU-edt X keymap.  The emacs lisp
  70. ;;    program tpu-mapper.el creates this map and stores it in a file.
  71. ;;    Tpu-mapper will be run automatically the first time you invoke
  72. ;;    the X-windows version of emacs, or you can run it by hand.  See
  73. ;;    the commentary in tpu-mapper.el for details.
  74.  
  75.  
  76. ;; %% Differences Between TPU-edt and the Real Thing (not Coke (r))
  77.  
  78. ;;    Emacs (version 18.58) doesn't support text highlighting, so selected
  79. ;;    regions are not shown in inverse video.  Emacs uses the concept of
  80. ;;    "the mark".  The mark is set at one end of a selected region; the
  81. ;;    cursor is at the other.  The letter "M" appears in the mode line
  82. ;;    when the mark is set.  The native emacs command ^X^X (Control-X
  83. ;;    twice) exchanges the cursor with the mark; this provides a handy
  84. ;;    way to find the location of the mark.
  85.  
  86. ;;    In TPU the cursor can be either bound or free.  Bound means the
  87. ;;    cursor cannot wander outside the text of the file being edited.
  88. ;;    Free means the arrow keys can move the cursor past the ends of
  89. ;;    lines.  Free is the default mode in TPU; bound is the only mode
  90. ;;    in EDT.  Bound is the only mode in the base version of TPU-edt;
  91. ;;    optional extensions add an approximation of free mode.
  92.  
  93. ;;    Like TPU, emacs uses multiple buffers.  Some buffers are used to
  94. ;;    hold files you are editing; other "internal" buffers are used for
  95. ;;    emacs' own purposes (like showing you help).  Here are some commands
  96. ;;    for dealing with buffers.
  97.  
  98. ;;     Gold-B   moves to next buffer, including internal buffers
  99. ;;     Gold-N   moves to next buffer containing a file
  100. ;;     Gold-M   brings up a buffer menu (like TPU "show buffers")
  101.  
  102. ;;    Emacs is very fond of throwing up new windows.  Dealing with all
  103. ;;    these windows can be a little confusing at first, so here are a few
  104. ;;    commands to that may help:
  105.  
  106. ;;       Gold-Next_Scr  moves to the next window on the screen
  107. ;;       Gold-Prev_Scr  moves to the previous window on the screen
  108. ;;       Gold-TAB       also moves to the next window on the screen
  109.  
  110. ;;     Control-x 1    deletes all but the current window
  111. ;;     Control-x 0    deletes the current window
  112.  
  113. ;;    Note that the buffers associated with deleted windows still exist!
  114.  
  115. ;;    Like TPU, TPU-edt has a "command" function, invoked with Gold-KP7 or
  116. ;;    Do.  Most of the commands available are emacs commands.  Some TPU
  117. ;;    commands are available, they are: replace, exit, quit, include, and
  118. ;;    Get (unfortunately, "get" is an internal emacs function, so we are
  119. ;;    stuck with "Get" - to make life easier, Get is available as Gold-g).
  120.  
  121. ;;    Support for recall of commands, file names, and search strings was
  122. ;;    added to emacs in version 19.  For version 18 of emacs, optional
  123. ;;    extensions are available to add this recall capability (see "Optional
  124. ;;    TPU-edt Extensions" below).  The history of strings recalled in both
  125. ;;    versions of emacs differs slightly from TPU/edt, but it is still very
  126. ;;    convenient.
  127.  
  128. ;;    Help is available!  The traditional help keys (Help and PF2) display
  129. ;;    a three page help file showing the default keypad layout, control key
  130. ;;    functions, and Gold key functions.  Pressing any key inside of help
  131. ;;    splits the screen and prints a description of the function of the
  132. ;;    pressed key.  Gold-PF2 invokes the native emacs help, with it's
  133. ;;    zillions of options.  Gold-Help shows all the current key bindings.
  134.  
  135. ;;    Thanks to emacs, TPU-edt has some extensions that may make your life
  136. ;;    easier, or at least more interesting.  For example, Gold-r toggles
  137. ;;    TPU-edt rectangular mode.  In rectangular mode, Remove and Insert work
  138. ;;    on rectangles.  Likewise, Gold-* toggles TPU-edt regular expression
  139. ;;    mode.  In regular expression mode Find, Find Next, and the line-mode
  140. ;;    replace command work with regular expressions.  [A regular expression
  141. ;;    is a pattern that denotes a set of strings; like VMS wildcards.]
  142.  
  143. ;;    Emacs also gives TPU-edt the undo and occur functions.  Undo does
  144. ;;    what it says; it undoes the last change.  Multiple undos in a row
  145. ;;    undo multiple changes.  For your convenience, undo is available on
  146. ;;    Gold-u.  Occur shows all the lines containing a specific string in
  147. ;;    another window.  Moving to that window, and typing ^C^C (Control-C
  148. ;;    twice) on a particular line moves you back to the original window
  149. ;;    at that line.  Occur is on Gold-o.
  150.  
  151. ;;    Finally, as you edit, remember that all the power of emacs is at
  152. ;;    your disposal.  It really is a fantastic tool.  You may even want to
  153. ;;    take some time and read the emacs tutorial; perhaps not to learn the
  154. ;;    native emacs key bindings, but to get a feel for all the things
  155. ;;    emacs can do for you.  The emacs tutorial is available from the
  156. ;;    emacs help function: "Gold-PF2 t"
  157.  
  158.  
  159. ;; %% Starting TPU-edt
  160.  
  161. ;;    In order to use TPU-edt, the TPU-edt editor definitions, contained
  162. ;;    in tpu-edt.el, need to be loaded when emacs is run.  This can be
  163. ;;    done in a couple of ways.  The first is by explicitly requesting
  164. ;;    loading of the TPU-edt emacs definition file on the command line:
  165.  
  166. ;;        prompt> emacs -l /path/to/definitions/tpu-edt.el
  167.  
  168. ;;    If TPU-edt is installed on your system, that is, if tpu-edt.el is in
  169. ;;    a directory like /usr/local/emacs/lisp, along with dozens of other
  170. ;;    .el files, you should be able to use the command:
  171.  
  172. ;;        prompt> emacs -l tpu-edt
  173.  
  174. ;;    If you like TPU-edt and want to use it all the time, you can load
  175. ;;    the TPU-edt definitions using the emacs initialization file, .emacs.
  176. ;;    Simply create a .emacs file in your home directory containing the
  177. ;;    line:
  178.  
  179. ;;        (load "/path/to/definitions/tpu-edt")
  180.  
  181. ;;    or, if (as above) TPU-edt is installed on your system:
  182.  
  183. ;;        (load "tpu-edt")
  184.  
  185. ;;    Once TPU-edt has been loaded, you will be using an editor with the
  186. ;;    interface shown in the next section (A section that is suitable for
  187. ;;    cutting out of this document and pasting next to your terminal!).
  188.  
  189.  
  190. ;; %% TPU-edt Default Editing Keypad, Control and Gold Key Bindings
  191. ;;
  192. ;;        _______________________    _______________________________
  193. ;;       | HELP  |      Do       |  |       |       |       |       |
  194. ;;       |KeyDefs|               |  |       |       |       |       |
  195. ;;       |_______|_______________|  |_______|_______|_______|_______|
  196. ;;        _______________________    _______________________________
  197. ;;       | Find  |Insert |Remove |  | Gold  | HELP  |FndNxt | Del L |
  198. ;;       |       |       |Sto Tex|  |  key  |E-Help | Find  |Undel L|
  199. ;;       |_______|_______|_______|  |_______|_______|_______|_______|
  200. ;;       |Select |Pre Scr|Nex Scr|  | Page  | Sect  |Append | Del W |
  201. ;;       | Reset |Pre Win|Nex Win|  |  Do   | Fill  |Replace|Undel W|
  202. ;;       |_______|_______|_______|  |_______|_______|_______|_______|
  203. ;;               |Move up|          |Forward|Reverse|Remove | Del C |
  204. ;;               |  Top  |          |Bottom |  Top  |Insert |Undel C|
  205. ;;        _______|_______|_______   |_______|_______|_______|_______|
  206. ;;       |Mov Lef|Mov Dow|Mov Rig|  | Word  |  EOL  | Char  |       |
  207. ;;       |StaOfLi|Bottom |EndOfLi|  |ChngCas|Del EOL|SpecIns| Enter |
  208. ;;       |_______|_______|_______|  |_______|_______|_______|       |
  209. ;;                                  |     Line      |Select | Subs  |
  210. ;;                                  |   Open Line   | Reset |       |
  211. ;;                                  |_______________|_______|_______|
  212. ;;     Control Characters
  213. ;;
  214. ;;    ^A  toggle insert and overwrite    ^L  insert page break
  215. ;;    ^B  recall                         ^R  remember, re-center
  216. ;;    ^E  end of line                    ^U  delete to beginning of line
  217. ;;    ^G  cancel current operation       ^V  quote
  218. ;;    ^H  beginning of line              ^W  refresh
  219. ;;    ^J  delete previous word           ^Z  exit
  220. ;;    ^K  learn                        ^X^X  exchange point and mark
  221. ;;
  222. ;;
  223. ;;     Gold-<key> Functions
  224. ;;     -----------------------------------------------------------------
  225. ;;     W     Write - save current buffer
  226. ;;     K     Kill buffer - abandon edits and delete buffer
  227. ;;
  228. ;;     E     Exit - save current buffer and ask about others
  229. ;;     X     eXit - save all modified buffers and exit
  230. ;;     Q     Quit - exit without saving anything
  231. ;;
  232. ;;     G     Get - load a file into a new edit buffer
  233. ;;     I     Include - include a file in this buffer
  234. ;;
  235. ;;     B     next Buffer - display the next buffer (all buffers)
  236. ;;     N     Next file buffer - display next buffer containing a file
  237. ;;     M     buffer Menu - display a list of all buffers
  238. ;;
  239. ;;     U     Undo - undo the last edit
  240. ;;     C     Recall - edit and possibly repeat previous commands
  241. ;;
  242. ;;     O     Occur - show following lines containing REGEXP
  243. ;;     S     Search and substitute - line mode REPLACE command
  244. ;;
  245. ;;     ?     Spell check - check spelling in a region or entire buffer
  246. ;;
  247. ;;     R     Toggle Rectangular mode for remove and insert
  248. ;;     *     Toggle regular expression mode for search and substitute
  249. ;;
  250. ;;     V     Show TPU-edt version
  251. ;;     -----------------------------------------------------------------
  252.  
  253.  
  254. ;; %% Optional TPU-edt Extensions
  255.  
  256. ;;    Several optional packages have been included in this distribution
  257. ;;    of TPU-edt.  The following is a brief description of each package.
  258. ;;    See the {package}.el file for more detailed information and usage
  259. ;;    instructions.
  260.  
  261. ;;      tpu-extras  -  TPU/edt scroll margins and free cursor mode.
  262. ;;      tpu-recall  -  String, file name, and command history.
  263. ;;      vt-control  -  VTxxx terminal width and keypad controls.
  264.  
  265. ;;    Packages are normally loaded from the emacs initialization file
  266. ;;    (discussed below).  If a package is not installed in the emacs
  267. ;;    lisp directory, it can be loaded by specifying the complete path
  268. ;;    to the package file.  However, it is preferable to modify the
  269. ;;    emacs load-path variable to include the directory where packages
  270. ;;    are stored.  This way, packages can be loaded by name, just as if
  271. ;;    they were installed.  The first part of the sample .emacs file
  272. ;;    below shows how to make such a modification.
  273.  
  274.  
  275. ;; %% Customizing TPU-edt using the Emacs Initialization File
  276.  
  277. ;; .emacs - a sample emacs initialization file
  278.  
  279. ;; This is a sample emacs initialization file.  It shows how to invoke
  280. ;; TPU-edt, and how to customize it.
  281.  
  282. ;; The load-path is where emacs looks for files to fulfill load requests.
  283. ;; If TPU-edt is not installed in a standard emacs directory, the load-path
  284. ;; should be updated to include the directory where the TPU-edt files are
  285. ;; stored.  Modify and un-comment the following section if TPU-ed is not
  286. ;; installed on your system - be sure to leave the double quotes!
  287.  
  288. ;; (setq load-path
  289. ;;       (append (list (expand-file-name "/path/to/tpu-edt/files"))
  290. ;;               load-path))
  291.  
  292. ;; Load TPU-edt
  293. (load "tpu-edt")
  294.  
  295. ;; Load the optional goodies - scroll margins, free cursor mode, command
  296. ;; and string recall.  But don't complain if the file aren't available.
  297. (load "tpu-extras" t)
  298. (load "tpu-recall" t)
  299.  
  300. ;; Uncomment this line to set scroll margins 10% (top) and 15% (bottom).
  301. ;(and (fboundp 'tpu-set-scroll-margins) (tpu-set-scroll-margins "10%" "15%"))
  302.  
  303. ;; Load the vtxxx terminal control functions, but don't complain if
  304. ;; if the file is not found.
  305. (load "vt-control" t)
  306.  
  307. ;; TPU-edt treats words like EDT; here's how to add word separators.
  308. ;; Note that backslash (\) and double quote (") are quoted with '\'.
  309. (tpu-add-word-separators "]\\[-_,.\"=+()'/*#:!&;$")
  310.  
  311. ;; Emacs is happy to save files without a final newline; other Unix programs
  312. ;; hate that!  This line will make sure that files end with newlines.
  313. (setq require-final-newline t)
  314.  
  315. ;; Emacs has the ability to automatically run code embedded in files
  316. ;; you edit.  This line makes emacs ask if you want to run the code.
  317. (if tpu-emacs19-p (setq enable-local-variables "ask")
  318.   (setq inhibit-local-variables t))
  319.  
  320. ;; Emacs uses Control-s and Control-q.  Problems can occur when using emacs
  321. ;; on terminals that use these codes for flow control (Xon/Xoff flow control).
  322. ;; These lines disable emacs' use of these characters.
  323. (global-unset-key "\C-s")
  324. (global-unset-key "\C-q")
  325.  
  326. ;; top, bottom, bol, eol seem like a waste of Gold-arrow functions.  The
  327. ;; following section re-maps up and down arrow keys to top and bottom of
  328. ;; screen, and left and right arrow keys to pan left and right (pan-left,
  329. ;; right moves the screen 16 characters left or right - try it, you'll
  330. ;; like it!).
  331.  
  332. ;; Re-map the Gold-arrow functions
  333. (define-key GOLD-CSI-map "A" 'tpu-beginning-of-window)          ; up-arrow
  334. (define-key GOLD-CSI-map "B" 'tpu-end-of-window)                ; down-arrow
  335. (define-key GOLD-CSI-map "C" 'tpu-pan-right)                    ; right-arrow
  336. (define-key GOLD-CSI-map "D" 'tpu-pan-left)                     ; left-arrow
  337. (define-key GOLD-SS3-map "A" 'tpu-beginning-of-window)          ; up-arrow
  338. (define-key GOLD-SS3-map "B" 'tpu-end-of-window)                ; down-arrow
  339. (define-key GOLD-SS3-map "C" 'tpu-pan-right)                    ; right-arrow
  340. (define-key GOLD-SS3-map "D" 'tpu-pan-left)                     ; left-arrow
  341.  
  342. ;; Re-map the Gold-arrow functions for X-windows TPU-edt (emacs version 19)
  343. (cond
  344.  ((and tpu-emacs19-p window-system)
  345.   (define-key GOLD-map [up] 'tpu-beginning-of-window)           ; up-arrow
  346.   (define-key GOLD-map [down] 'tpu-end-of-window)               ; down-arrow
  347.   (define-key GOLD-map [right] 'tpu-pan-right)                  ; right-arrow
  348.   (define-key GOLD-map [left] 'tpu-pan-left)))                  ; left-arrow
  349.  
  350. ;; The emacs universal-argument function is very useful for native emacs
  351. ;; commands.  This line maps universal-argument to Gold-PF1
  352. (define-key GOLD-SS3-map "P" 'universal-argument)               ; Gold-PF1
  353.  
  354. ;; Make KP7 move by paragraphs, instead of pages.
  355. (define-key SS3-map "w" 'tpu-paragraph)                         ; KP7
  356.  
  357. ;; TPU-edt assumes you have the ispell spelling checker;
  358. ;; Un-comment this line if you don't.
  359. ;(setq tpu-have-spell nil)
  360.  
  361. ;; Display the TPU-edt version.
  362. (tpu-version)
  363.  
  364. ;; End of .emacs - a sample emacs initialization file
  365.  
  366. ;;    After initialization with the .emacs file shown above, the editing
  367. ;;    keys have been re-mapped to look like this:
  368.  
  369. ;;        _______________________    _______________________________
  370. ;;       | HELP  |      Do       |  |       |       |       |       |
  371. ;;       |KeyDefs|               |  |       |       |       |       |
  372. ;;       |_______|_______________|  |_______|_______|_______|_______|
  373. ;;        _______________________    _______________________________
  374. ;;       | Find  |Insert |Remove |  | Gold  | HELP  |FndNxt | Del L |
  375. ;;       |       |       |Sto Tex|  | U Arg |E-Help | Find  |Undel L|
  376. ;;       |_______|_______|_______|  |_______|_______|_______|_______|
  377. ;;       |Select |Pre Scr|Nex Scr|  |Paragra| Sect  |Append | Del W |
  378. ;;       | Reset |Pre Win|Nex Win|  |  Do   | Fill  |Replace|Undel W|
  379. ;;       |_______|_______|_______|  |_______|_______|_______|_______|
  380. ;;               |Move up|          |Forward|Reverse|Remove | Del C |
  381. ;;               |Tscreen|          |Bottom |  Top  |Insert |Undel C|
  382. ;;        _______|_______|_______   |_______|_______|_______|_______|
  383. ;;       |Mov Lef|Mov Dow|Mov Rig|  | Word  |  EOL  | Char  |       |
  384. ;;       |PanLeft|Bscreen|PanRigh|  |ChngCas|Del EOL|SpecIns| Enter |
  385. ;;       |_______|_______|_______|  |_______|_______|_______|       |
  386. ;;                                  |     Line      |Select | Subs  |
  387. ;;                                  |   Open Line   | Reset |       |
  388. ;;                                  |_______________|_______|_______|
  389.  
  390. ;;    Astute emacs hackers will realize that on systems where TPU-edt is
  391. ;;    installed, this documentation file can be loaded to produce the above
  392. ;;    editing keypad layout.  In fact, to get all the changes in the sample
  393. ;;    initialization file, you only need a one line initialization file:
  394.  
  395. ;;        (load "tpu-doc")
  396.  
  397. ;;    wow!
  398.  
  399.  
  400. ;; %% Compiling TPU-edt
  401.  
  402. ;;    It is not necessary to compile (byte-compile in emacs parlance)
  403. ;;    TPU-edt to use it.  However, byte-compiled code loads and runs
  404. ;;    faster, and takes up less memory when loaded.  To byte compile
  405. ;;    TPU-edt, use the following command.
  406.  
  407. ;;        emacs -batch -f batch-byte-compile tpu-edt.el
  408.  
  409. ;;    This will produce a file named tpu-edt.elc.  This new file can be
  410. ;;    used in place of the original tpu-edt.el file.  In commands where
  411. ;;    the file type is not specified, emacs always attempts to use the
  412. ;;    byte-compiled version before resorting to the source.
  413.  
  414.  
  415. ;; %% Regular expressions in TPU-edt
  416.  
  417. ;;    Gold-* toggles TPU-edt regular expression mode.  In regular expression
  418. ;;    mode, find, find next, replace, and substitute accept emacs regular
  419. ;;    expressions.  A complete list of emacs regular expressions can be
  420. ;;    found using the emacs "info" command (it's somewhat like the VMS help
  421. ;;    command).  Try the following sequence of commands:
  422.  
  423. ;;        DO info             <enter info mode>
  424. ;;      m regex             <select the "regular expression" topic>
  425. ;;      m directives        <select the "directives" topic>
  426.  
  427. ;;    Type "q" to quit out of info mode.
  428.  
  429. ;;    There is a problem in regular expression mode when searching for
  430. ;;    empty strings, like beginning-of-line (^) and end-of-line ($).
  431. ;;    When searching for these strings, find-next may find the current
  432. ;;    string, instead of the next one.  This can cause global replace and
  433. ;;    substitute commands to loop forever in the same location.  For this
  434. ;;    reason, commands like
  435.  
  436. ;;        replace "^" "> "       <add "> " to beginning of line>
  437. ;;      replace "$" "00711"    <add "00711" to end of line>
  438.  
  439. ;;    may not work properly.
  440.  
  441. ;;    Commands like those above are very useful for adding text to the
  442. ;;    beginning or end of lines.  They might work on a line-by-line basis,
  443. ;;    but go into an infinite loop if the "all" response is specified.  If
  444. ;;    the goal is to add a string to the beginning or end of a particular
  445. ;;    set of lines TPU-edt provides functions to do this.
  446.  
  447. ;;        Gold-^  Add a string at BOL in region or buffer
  448. ;;        Gold-$  Add a string at EOL in region or buffer
  449.  
  450. ;;    There is also a TPU-edt interface to the native emacs string
  451. ;;    replacement commands.  Gold-/ invokes this command.  It accepts
  452. ;;    regular expressions if TPU-edt is in regular expression mode.  Given
  453. ;;    a repeat count, it will perform the replacement without prompting
  454. ;;    for confirmation.
  455.  
  456. ;;    This command replaces empty strings correctly, however, it has its
  457. ;;    drawbacks.  As a native emacs command, it has a different interface
  458. ;;    than the emulated TPU commands.  Also, it works only in the forward
  459. ;;    direction, regardless of the current TPU-edt direction.
  460.  
  461.  
  462. ;; %% Etcetera
  463.  
  464. ;;    That's TPU-edt in a nutshell...
  465.  
  466. ;;    Please send any bug reports, feature requests, or cookies to the
  467. ;;    author, Rob Riepel, at the address shown by the tpu-version command
  468. ;;    (Gold-V).
  469.  
  470. ;;    Share and enjoy...  Rob Riepel  7/93
  471.  
  472. ;;; tpu-doc.el ends here
  473.