;ELC ;;; compiled by jwz@thalidomide on Mon Dec 27 18:33:27 1993 ;;; from file /th/jwz/emacs19/lisp/emulators/tpu-edt.el ;;; emacs version 19.9 Lucid (beta6). ;;; bytecomp version 2.22; 22-dec-93. ;;; optimization is on. ;;; this file uses opcodes which do not exist in Emacs 18. (if (and (boundp 'emacs-version) (or (and (boundp 'epoch::version) epoch::version) (string-lessp emacs-version "19"))) (error "This file was compiled for Emacs 19.")) (defconst tpu-version "3.2" "\ TPU-edt version number.") (defconst tpu-have-ispell t "\ *If non-nil (default), TPU-edt uses ispell for spell checking.") (defconst tpu-kill-buffers-silently nil "\ *If non-nil, TPU-edt kills modified buffers without asking.") (defvar tpu-percent-scroll 75 "\ *Percentage of the screen to scroll for next/previous screen commands.") (defvar tpu-pan-columns 16 "\ *Number of columns the tpu-pan functions scroll left or right.") (defconst tpu-emacs19-p (byte-code "?" [emacs-version "19"] 2) "\ Non-NIL if we are running Lucid or GNU Emacs version 19.") (defconst tpu-gnu-emacs18-p (null tpu-emacs19-p) "\ Non-NIL if we are running GNU Emacs version 18.") (defconst tpu-lucid-emacs19-p (byte-code " \"" [tpu-emacs19-p string-match "Lucid" emacs-version] 3) "\ Non-NIL if we are running Lucid Emacs version 19.") (defconst tpu-gnu-emacs19-p (byte-code " ?" [tpu-emacs19-p tpu-lucid-emacs19-p] 1) "\ Non-NIL if we are running GNU Emacs version 19.") (defvar CSI-map (make-sparse-keymap) "\ Maps the CSI function keys on the VT100 keyboard. CSI is DEC's name for the sequence [.") (defvar SS3-map (make-sparse-keymap) "\ Maps the SS3 function keys on the VT100 keyboard. SS3 is DEC's name for the sequence O.") (defvar GOLD-map (make-keymap) "\ Maps the function keys on the VT100 keyboard preceeded by PF1. GOLD is the ASCII 7-bit escape sequence OP.") (defvar GOLD-CSI-map (make-sparse-keymap) "\ Maps the function keys on the VT100 keyboard preceeded by GOLD-CSI.") (defvar GOLD-SS3-map (make-sparse-keymap) "\ Maps the function keys on the VT100 keyboard preceeded by GOLD-SS3.") (defvar tpu-global-map nil "\ TPU-edt global keymap.") (defvar tpu-original-global-map (copy-keymap global-map) "\ Original global keymap.") (byte-code "! #" [tpu-lucid-emacs19-p boundp minibuffer-local-ns-map make-sparse-keymap put variable-documentation "Hack to give Lucid emacs the same maps as GNU emacs."] 4) (defvar tpu-edt-mode nil "\ If non-nil, TPU-edt mode is active.") (defvar tpu-last-replaced-text "" "\ Last text deleted by a TPU-edt replace command.") (defvar tpu-last-deleted-region "" "\ Last text deleted by a TPU-edt remove command.") (defvar tpu-last-deleted-lines "" "\ Last text deleted by a TPU-edt line-delete command.") (defvar tpu-last-deleted-words "" "\ Last text deleted by a TPU-edt word-delete command.") (defvar tpu-last-deleted-char "" "\ Last character deleted by a TPU-edt character-delete command.") (defvar tpu-searching-forward t "\ If non-nil, TPU-edt is searching in the forward direction.") (defvar tpu-search-last-string "" "\ Last text searched for by the TPU-edt search commands.") (defvar tpu-regexp-p nil "\ If non-nil, TPU-edt uses regexp search and replace routines.") (defvar tpu-rectangular-p nil "\ If non-nil, TPU-edt removes and inserts rectangles.") (defvar tpu-advance t "\ True when TPU-edt is operating in the forward direction.") (defvar tpu-reverse nil "\ True when TPU-edt is operating in the backward direction.") (defvar tpu-control-keys t "\ If non-nil, control keys are set to perform TPU functions.") (defvar tpu-xkeys-file nil "\ File containing TPU-edt X key map.") (defvar tpu-rectangle-string nil "\ Mode line string to identify rectangular mode.") (defvar tpu-direction-string nil "\ Mode line string to identify current direction.") (defvar tpu-add-at-bol-hist nil "\ History variable for tpu-edt-add-at-bol function.") (defvar tpu-add-at-eol-hist nil "\ History variable for tpu-edt-add-at-eol function.") (defvar tpu-regexp-prompt-hist nil "\ History variable for search and replace functions.") (defvar tpu-newline-and-indent-p nil "\ If non-nil, Return produces a newline and indents.") (make-variable-buffer-local 'tpu-newline-and-indent-p) (defvar tpu-newline-and-indent-string nil "\ Mode line string to identify AutoIndent mode.") (make-variable-buffer-local 'tpu-newline-and-indent-string) (defvar tpu-saved-delete-func nil "\ Saved value of the delete key.") (make-variable-buffer-local 'tpu-saved-delete-func) (defvar tpu-buffer-local-map nil "\ TPU-edt buffer local key map.") (byte-code "!! !!!" [make-variable-buffer-local tpu-buffer-local-map boundp tpu-original-mode-line mode-line-format tpu-original-mm-alist minor-mode-alist tpu-mark-flag " "] 2) (fset 'tpu-set-mode-line #[(for-tpu) "  !!!!!!!\" B B B" [for-tpu tpu-original-mode-line mode-line-format tpu-original-mm-alist minor-mode-alist set-default purecopy "" mode-line-modified mode-line-buffer-identification " " global-mode-string tpu-mark-flag " %[(" mode-name "%n" mode-line-process ")%]----" (-3 . "%p") "-%-" tpu-newline-and-indent-p (tpu-newline-and-indent-p tpu-newline-and-indent-string) tpu-rectangular-p (tpu-rectangular-p tpu-rectangle-string) tpu-direction-string (tpu-direction-string tpu-direction-string)] 18 "\ Set the mode for TPU-edt, or reset it to default Emacs."]) (fset 'tpu-update-mode-line #[nil "  !!" [tpu-mark "M" " " tpu-mark-flag tpu-emacs19-p force-mode-line-update set-buffer-modified-p buffer-modified-p sit-for 0] 2 "\ Make sure mode-line in the current buffer reflects all changes."]) (byte-code "\"\" \"\"!  !  " [tpu-gnu-emacs19-p add-hook activate-mark-hook tpu-update-mode-line deactivate-mark-hook tpu-lucid-emacs19-p zmacs-deactivate-region-hook zmacs-activate-region-hook boundp tpu-match-beginning-mark make-marker tpu-match-end-mark] 3) (fset 'tpu-set-match #[nil "T!!" [copy-marker 0 tpu-match-beginning-mark tpu-match-end-mark] 2 "\ Set markers at match beginning and end."]) (fset 'tpu-unset-match #[nil "\n" [tpu-match-beginning-mark nil tpu-match-end-mark] 3 "\ Unset match beginning and end markers."]) (fset 'tpu-match-beginning #[nil " !S" [marker-position tpu-match-beginning-mark] 2 "\ Returns the location of the last match beginning."]) (fset 'tpu-match-end #[nil " !" [marker-position tpu-match-end-mark] 2 "\ Returns the location of the last match end."]) (fset 'tpu-check-match #[nil " !p` !SY` !W !S !U !`Uć Ƈ" [marker-buffer tpu-match-beginning-mark marker-position tpu-match-end-mark t tpu-unset-match nil] 3 "\ Returns t if point is between tpu-match markers. Otherwise sets the tpu-match markers to nil and returns nil."]) (fset 'tpu-show-match-markers #[nil " ! ! S!!`p&)" [markerp tpu-match-beginning-mark marker-position beg message "(%s, %s) in %s -- current %s in %s" tpu-match-end-mark marker-buffer] 7 "\ Show the values of the match markers." nil]) (byte-code "MM" [tpu-caar #[(thingy) "@@" [thingy] 1] tpu-cadr #[(thingy) "A@" [thingy] 1]] 2) (fset 'tpu-mark #[nil "\n?! ?! " [tpu-lucid-emacs19-p mark zmacs-regions tpu-gnu-emacs19-p mark-active transient-mark-mode] 2 "\ TPU-edt version of the mark function. Return the appropriate value of the mark for the current version of emacs."]) (fset 'tpu-set-mark #[(pos) " !\n " [set-mark pos tpu-lucid-emacs19-p zmacs-activate-region] 2 "\ TPU-edt verion of the set-mark function. Sets the mark at POS and activates the region acording to the current version of emacs."]) (fset 'tpu-string-prompt #[(prompt history-symbol) "\nÉ %\n!" [tpu-emacs19-p read-from-minibuffer prompt nil history-symbol read-string] 6 "\ Read a string with PROMPT."]) (defvar tpu-last-answer nil "\ Most recent response to tpu-y-or-n-p.") (fset 'tpu-y-or-n-p #[(prompt &optional not-yes) " Ū#!  U U U U U U U ? Ū#!)%)" [message format "%s[%s]" prompt not-yes "n" "y" t doit nil read-char ans 121 89 32 tpu-last-answer 110 78 127 13 beep "Please answer y or n. %s[%s]"] 6 "\ Prompt for a y or n answer with positive default. Optional second argument NOT-YES changes default to negative. Like emacs y-or-n-p, also accepts space as y and DEL as n."]) (fset 'tpu-local-set-key #[(key func) " ! !  !\"" [keymapp tpu-buffer-local-map current-local-map copy-keymap make-sparse-keymap use-local-map local-set-key key func] 3 "\ Replace a key in the TPU-edt local key map. Create the key map if necessary."]) (fset 'tpu-current-line #[nil " `\"iUê\\\\" [count-lines window-start 0 1 -1] 3 "\ Return the vertical position of point in the selected window. Top line is 0. Counts each text line only once, even if it wraps."]) (defvar tpu-breadcrumb-plist nil "\ The set of user-defined markers (breadcrumbs), as a plist.") (fset 'tpu-drop-breadcrumb #[(num) " \np`D#\n\"" [put tpu-breadcrumb-plist num message "Mark %d set."] 5 "\ Drops a breadcrumb that can be returned to later with goto-breadcrumb." "p"]) (fset 'tpu-goto-breadcrumb #[(num) " N N@! N!b \" \"" [tpu-breadcrumb-plist num switch-to-buffer tpu-cadr message "mark %d found." "mark %d not found."] 3 "\ Returns to a breadcrumb set with drop-breadcrumb." "p"]) (fset 'tpu-change-case #[(num) "  V f fUŪ T\" Te!*  V f fUŪ T\" Te * VggUŪ``T\"Ъu S [" [tpu-mark region-beginning region-end end beg upcase-region downcase-region tpu-unselect t tpu-check-match tpu-match-beginning tpu-match-end tpu-unset-match num 0 tpu-reverse -1 1] 4 "\ Change the case of the character under the cursor or region. Accepts a prefix argument of the number of characters to invert." "p"]) (fset 'tpu-fill #[(num) " ` \n#!\n!" [tpu-mark fill-region num tpu-unselect t fill-paragraph] 4 "\ Fill paragraph or marked region. With argument, fill and justify." "P"]) (fset 'tpu-version #[nil "\n\"" [message "TPU-edt version %s by Rob Riepel (riepel@networking.stanford.edu)" tpu-version] 3 "\ Print the TPU-edt version number." nil]) (fset 'tpu-reset-screen-size #[(height width) " ! !" [set-screen-height height set-screen-width width] 2 "\ Sets the screen size." "nnew screen height: \nnnew screen width: "]) (fset 'tpu-toggle-newline-and-indent #[nil "\"\" tͪ\"" [tpu-newline-and-indent-p "" tpu-newline-and-indent-string nil tpu-local-set-key " " newline " AutoIndent" t newline-and-indent tpu-update-mode-line message "Carriage return inserts a newline%s" " and indents." "."] 3 "\ Toggle between 'newline and indent' and 'simple newline'." nil]) (fset 'tpu-spell-check #[nil " `\" `\" !" [tpu-have-ispell tpu-mark ispell-region ispell-buffer spell-region spell-buffer tpu-unselect t] 3 "\ Checks the spelling of the region, or of the entire buffer if no region is selected." nil]) (fset 'tpu-toggle-overwrite-mode #[nil " \"!!\"!" [overwrite-mode tpu-local-set-key "" tpu-saved-delete-func 0 local-key-binding picture-backward-clear-column 1] 3 "\ Switches in and out of overwrite mode" nil]) (fset 'tpu-special-insert #[(num) "! c" [overwrite-mode delete-char 1 num 0] 2 "\ Insert a character or control code according to its ASCII decimal value." "P"]) (fset 'tpu-quoted-insert #[(num) " \n ! \")" [read-char char overwrite-mode delete-char num insert-char] 3 "\ Read next input character and insert it. This is useful for inserting control characters." "*p"]) (fset 'tpu-include #[(file) " !!)" [insert-file file message ""] 2 "\ TPU-like include file" "fInclude file: "]) (fset 'tpu-get #[(file) " !" [find-file file] 2 "\ TPU-like get file" "FFile to get: "]) (fset 'tpu-what-line #[nil "md\"\"`T\"d\"#" [message "You are at the End of Buffer. The last line is %d." count-lines 1 "Line %d of %d"] 6 "\ Tells what line the point is on, and the total number of lines in the buffer." nil]) (fset 'tpu-exit #[nil " = " [recursion-depth 0 exit-recursive-edit save-buffer save-buffers-kill-emacs] 2 "\ Exit the way TPU does, save current buffer and ask about others." nil]) (fset 'tpu-quit #[nil "  \n @ ! !!! A)Z\n!*" [buffer-list t working list buffer buffer-file-name buffer-modified-p tpu-y-or-n-p "Modifications will not be saved, continue quitting? " kill-emacs nil] 2 "\ Quit the way TPU does, ask to make sure changes should be abandoned." nil]) (byte-code "MMMMMMMMMMMMMMMMMMMMMMMMMM!M*,!\".!\"2!4!6!8!:" [tpu-edt-mode tpu-edt-on TPU-EDT-MODE tpu-edt TPU-EDT exit tpu-exit EXIT Get tpu-get GET include tpu-include INCLUDE quit tpu-quit QUIT spell tpu-spell-check SPELL what\ line tpu-what-line WHAT\ LINE replace tpu-lm-replace REPLACE help tpu-help HELP set\ cursor\ free tpu-set-cursor-free SET\ CURSOR\ FREE set\ cursor\ bound tpu-set-cursor-bound SET\ CURSOR\ BOUND set\ scroll\ margins tpu-set-scroll-margins SET\ SCROLL\ MARGINS fboundp next-line-internal line-move " \n _______________________ _______________________________\n | HELP | Do | | | | | |\n |KeyDefs| | | | | | |\n |_______|_______________| |_______|_______|_______|_______|\n _______________________ _______________________________\n | Find |Insert |Remove | | Gold | HELP |FndNxt | Del L |\n | | |Sto Tex| | key |E-Help | Find |Undel L|\n |_______|_______|_______| |_______|_______|_______|_______|\n |Select |Pre Scr|Nex Scr| | Page | Sect |Append | Del W |\n | Reset |Pre Win|Nex Win| | Do | Fill |Replace|Undel W|\n |_______|_______|_______| |_______|_______|_______|_______|\n |Move up| |Forward|Reverse|Remove | Del C |\n | Top | |Bottom | Top |Insert |Undel C|\n _______|_______|_______ |_______|_______|_______|_______|\n |Mov Lef|Mov Dow|Mov Rig| | Word | EOL | Char | |\n |StaOfLi|Bottom |EndOfLi| |ChngCas|Del EOL|SpecIns| Enter |\n |_______|_______|_______| |_______|_______|_______| |\n | Line |Select | Subs |\n | Open Line | Reset | |\n |_______________|_______|_______|\n" tpu-help-keypad-map "\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n \n\n Control Characters\n\n ^A toggle insert and overwrite\n ^B recall\n ^E end of line\n\n ^G Cancel current operation\n ^H beginning of line\n ^J delete previous word\n\n ^K learn\n ^L insert page break\n ^R remember (during learn), re-center\n\n ^U delete to beginning of line\n ^V quote\n ^W refresh\n\n ^Z exit\n ^X^X exchange point and mark - useful for checking region boundaries\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n \n Gold- Functions\n\n B Next Buffer - display the next buffer (all buffers)\n C Recall - edit and possibly repeat previous commands\n E Exit - save current buffer and ask about others\n\n G Get - load a file into a new edit buffer\n I Include - include a file in this buffer\n K Kill Buffer - abandon edits and delete buffer\n\n M Buffer Menu - display a list of all buffers\n N Next File Buffer - display next buffer containing a file\n O Occur - show following lines containing REGEXP\n\n Q Quit - exit without saving anything\n R Toggle rectangular mode for remove and insert\n S Search and substitute - line mode REPLACE command\n\n U Undo - undo the last edit\n W Write - save current buffer\n X Exit - save all modified buffers and exit\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n \n\n *** No more help, use P to view previous screen" tpu-help-text boundp tpu-help-enter format "%s" "OM" tpu-help-return " " tpu-help-N "N" tpu-help-n "n" tpu-help-P "P" tpu-help-p "p"] 3) (fset 'tpu-help #[nil "" [((byte-code "!!! c c! y ̉ ? !!\" Q ڏ8 y - ߏ!y  !!/!/+" [get-buffer "*TPU-edt Help*" generate-new-buffer switch-to-buffer tpu-help-keypad-map tpu-help-text t buffer-read-only delete-other-windows tpu-move-to-beginning 1 tpu-line-to-top-of-window nil split fkey key tpu-help-return read-key-sequence "Press the key you want help on (RET=exit, ENTER=redisplay, N=next, P=prev): " "Press the key you want help on (RET to exit, N next screen, P prev screen): " format "%s" tpu-help-enter tpu-help-N tpu-help-n (scroll-other-window 8) ((error)) forward-page tpu-help-P tpu-help-p (scroll-other-window -8) ((error)) backward-page 2 describe-key key-binding sit-for 3] 3))] 1 "\ Display TPU-edt help." nil]) (fset 'tpu-insert-escape #[nil "c" [""] 1 "\ Inserts an escape character, and so becomes the escape-key alias." nil]) (fset 'tpu-insert-formfeed #[nil "c" [" "] 1 "\ Inserts a formfeed character." nil]) (defvar tpu-saved-control-r nil "\ Saved value of Control-r.") (fset 'tpu-end-define-macro-key #[(key) "! \"\"" [end-kbd-macro nil global-set-key key last-kbd-macro "" tpu-saved-control-r] 3 "\ Ends the current macro definition" "kPress the key you want to use to do what was just learned: "]) (fset 'tpu-define-macro-key #[nil "!\"!" [global-key-binding "" tpu-saved-control-r global-set-key tpu-end-define-macro-key start-kbd-macro nil] 3 "\ Bind a set of keystrokes to a single key, or key combination." nil]) (fset 'tpu-kill-buffer #[nil "!p!" [tpu-kill-buffers-silently set-buffer-modified-p nil kill-buffer] 2 "\ Kills the current buffer. If tpu-kill-buffers-silently is non-nil, kills modified buffers without asking." nil]) (fset 'tpu-save-all-buffers-kill-emacs #[nil "!" [t trim-versions-without-asking save-buffers-kill-emacs] 2 "\ Save all buffers and exit emacs." nil]) (fset 'tpu-write-current-buffers #[nil "!" [save-some-buffers t] 2 "\ Save all modified buffers without exiting." nil]) (fset 'tpu-next-buffer #[nil " !@!" [switch-to-buffer reverse buffer-list] 3 "\ Go to next buffer in ring." nil]) (fset 'tpu-next-file-buffer #[nil "  !@! !@!l !)" [buffer-name starting-buffer switch-to-buffer reverse buffer-list buffer-file-name error "No other buffers."] 3 "\ Go to next buffer in ring that is visiting a file." nil]) (fset 'tpu-next-window #[nil " !!" [one-window-p message "There is only one window on screen." other-window 1] 2 "\ Move to the next window." nil]) (fset 'tpu-previous-window #[nil " ! !" [one-window-p message "There is only one window on screen." select-window previous-window] 2 "\ Move to the previous window." nil]) (fset 'tpu-toggle-regexp #[nil "? tĪ\"" [tpu-regexp-p tpu-set-search message "Regular expression search and substitute %sabled." "en" "dis"] 3 "\ Switches in and out of regular expression search and replace mode." nil]) (fset 'tpu-regexp-prompt #[(prompt) "\nP Ɖ% !)" [tpu-regexp-p "RE " prompt re-prompt tpu-emacs19-p read-from-minibuffer nil tpu-regexp-prompt-hist read-string] 6 "\ Read a string, adding 'RE' to the prompt if tpu-regexp-p is set."]) (fset 'tpu-search #[nil " !" [tpu-set-search tpu-search-internal ""] 2 "\ Search for a string or regular expression. The search is performed in the current direction." nil]) (fset 'tpu-search-forward #[nil "!!" [t tpu-searching-forward tpu-set-search tpu-search-internal ""] 2 "\ Search for a string or regular expression. The search is begins in the forward direction." nil]) (fset 'tpu-search-reverse #[nil "!!" [nil tpu-searching-forward tpu-set-search t tpu-search-internal ""] 2 "\ Search for a string or regular expression. The search is begins in the reverse direction." nil]) (fset 'tpu-search-again #[nil " !" [tpu-search-internal tpu-search-last-string] 2 "\ Search for the same string or regular expression as last time. The search is performed in the current direction." nil]) (fset 'tpu-set-search #[(&optional arg) "  MMMM MMMM" [arg tpu-advance t tpu-searching-forward tpu-regexp-p tpu-emacs-search re-search-forward tpu-emacs-rev-search re-search-backward search-forward search-backward] 2 "\ Set the search functions and set the search direction to the current direction. If an argument is specified, don't set the search direction."]) (fset 'tpu-search-internal #[(pat &optional quiet) "! # b!ȉ  ? # Д * Ԫ\"! b ?۪ #*" [pat "" tpu-regexp-prompt "Search: " tpu-search-last-string tpu-unset-match tpu-adjust-search tpu-emacs-search nil t tpu-set-match tpu-match-beginning pos found tpu-searching-forward tpu-emacs-rev-search 0 tpu-y-or-n-p format "Found in %s direction. Go there? " "reverse" "forward" tpu-toggle-search-direction quiet message "%sSearch failed: \"%s\"" tpu-regexp-p "RE "] 4 "\ Search for a string or regular expression."]) (byte-code "KM" [tpu-search-internal-core tpu-search-internal] 2) (fset 'tpu-adjust-search #[(&optional arg) " o?um?u" [tpu-searching-forward arg -1 1] 1 "\ For forward searches, move forward a character before searching, and backward a character after a failed search. Arg means end of search."]) (fset 'tpu-toggle-search-direction #[nil "?!tŪ\"" [tpu-searching-forward tpu-set-search t message "Searching %sward." "for" "back"] 3 "\ Toggle the TPU-edt search direction. Used for reversing a search in progress." nil]) (fset 'tpu-select #[(&optional quiet) " \n!`! \n?!" [tpu-mark tpu-unselect quiet tpu-set-mark tpu-update-mode-line message "Move the text cursor to select text."] 2 "\ Sets the mark to define one end of a region." "P"]) (fset 'tpu-unselect #[(&optional quiet) "! ?!" [nil mark-ring tpu-set-mark tpu-update-mode-line quiet message "Selection canceled."] 2 "\ Removes the mark to unselect the current region." "P"]) (fset 'tpu-toggle-rectangle #[nil "? tǪ\"" [tpu-rectangular-p " Rect" "" tpu-rectangle-string tpu-update-mode-line message "Rectangular cut and paste %sabled." "en" "dis"] 4 "\ Toggle rectangular mode for remove and insert." nil]) (fset 'tpu-arrange-rectangle #[nil "i i` V \nV \n! ! \nV\n! ! *" [exchange-point-and-mark pc mc tpu-mark move-to-column-force] 2 "\ Adjust point and mark to mark upper left and lower right corners of a rectangle."]) (fset 'tpu-cut-text #[nil " ` ?#! `{ `|!    {  | *!" [tpu-mark tpu-rectangular-p tpu-arrange-rectangle picture-clear-rectangle overwrite-mode tpu-unselect t tpu-last-deleted-region tpu-check-match tpu-match-beginning tpu-match-end end beg tpu-unset-match error "No selection active."] 5 "\ Delete the selected region. The text is saved for the tpu-paste command." nil]) (fset 'tpu-store-text #[nil " ` \")! `{! { !" [tpu-mark tpu-rectangular-p tpu-arrange-rectangle extract-rectangle picture-killed-rectangle tpu-unselect t tpu-last-deleted-region tpu-check-match tpu-match-beginning tpu-match-end tpu-unset-match error "No selection active."] 3 "\ Copy the selected region to the cut buffer without deleting it. The text is saved for the tpu-paste command." nil]) (fset 'tpu-cut #[(arg) " " [arg tpu-store-text tpu-cut-text] 1 "\ Copy selected region to the cut buffer. In the absence of an argument, delete the selected region too." "P"]) (fset 'tpu-append-region #[(arg) "  {P |!*  {P | *!" [tpu-mark region-beginning region-end end beg tpu-last-deleted-region arg tpu-unselect t tpu-check-match tpu-match-beginning tpu-match-end tpu-unset-match error "No selection active."] 3 "\ Append selected region to the tpu-cut buffer. In the absence of an argument, delete the selected region too." "P"]) (fset 'tpu-delete-current-line #[(num) "` yh=c`{`|)" [beg num 10 "\n" tpu-last-deleted-lines] 2 "\ Delete one or specified number of lines after point. This includes the newline character at the end of each line. They are saved for the TPU-edt undelete-lines command." "p"]) (fset 'tpu-delete-to-eol #[(num) "`u\n`{`|)" [beg 1 num tpu-last-deleted-lines] 2 "\ Delete text up to end of line. With argument, delete up to to Nth line-end past point. They are saved for the TPU-edt undelete-lines command." "p"]) (fset 'tpu-delete-to-bol #[(num) "`\n!`{`|)" [beg tpu-next-beginning-of-line num tpu-last-deleted-lines] 2 "\ Delete text back to beginning of line. With argument, delete up to to Nth line-end past point. They are saved for the TPU-edt undelete-lines command." "p"]) (fset 'tpu-delete-current-word #[(num) "`\n!`{`|)" [beg tpu-forward-to-word num tpu-last-deleted-words] 2 "\ Delete one or specified number of words after point. They are saved for the TPU-edt undelete-words command." "p"]) (fset 'tpu-delete-previous-word #[(num) "`\n!`{`|)" [beg tpu-backward-to-word num tpu-last-deleted-words] 2 "\ Delete one or specified number of words before point. They are saved for the TPU-edt undelete-words command." "p"]) (fset 'tpu-delete-current-char #[(num) "Vm?`f !u!S_" [num 0 tpu-last-deleted-char overwrite-mode picture-clear-column 1 delete-char] 3 "\ Delete one or specified number of characters after point. The last character deleted is saved for the TPU-edt undelete-char command." "p"]) (fset 'tpu-paste #[(num) "V\n` ?!!) b)cS\\" [num 0 tpu-rectangular-p beg picture-yank-rectangle overwrite-mode message "" tpu-last-deleted-region] 3 "\ Insert the last region or rectangle of killed text. With argument reinserts the text that many times." "p"]) (fset 'tpu-undelete-lines #[(num) "` V c Ssb)" [beg num 0 tpu-last-deleted-lines] 3 "\ Insert lines deleted by last TPU-edt line-deletion command. With argument reinserts lines that many times." "p"]) (fset 'tpu-undelete-words #[(num) "` V c Ssb)" [beg num 0 tpu-last-deleted-words] 3 "\ Insert words deleted by last TPU-edt word-deletion command. With argument reinserts words that many times." "p"]) (fset 'tpu-undelete-char #[(num) "V\nu!cuSe" [num 0 overwrite-mode -1 delete-char 1 tpu-last-deleted-char] 3 "\ Insert character deleted by last TPU-edt character-deletion command. With argument reinserts the character that many times." "p"]) (fset 'tpu-replace #[nil "  { |c!*  { ??# *!" [tpu-mark region-beginning region-end end beg tpu-last-replaced-text tpu-last-deleted-region tpu-unselect t tpu-check-match tpu-match-beginning tpu-match-end replace-match case-replace tpu-regexp-p tpu-unset-match error "No selection active."] 5 "\ Replace the selected region with the contents of the cut buffer." nil]) (fset 'tpu-substitute #[(num) " \nU? ` u b\nU\n!\n!)\nSJ!" [tpu-mark tpu-check-match num 0 beg tpu-replace tpu-searching-forward -1 1 tpu-search-internal tpu-search-last-string tpu-search-internal-core error "No selection active."] 3 "\ Replace the selected region with the contents of the cut buffer, and repeat most recent search. A numeric argument serves as a repeat count. A negative argument means replace all occurrences of the search string." "p"]) (fset 'tpu-lm-replace #[(from to) " Ř! \" # ˉt! UUUU`??#\nTub) \"UUU \"UUԊ`??#\nTub) \" `??#\nTub) \"V)UU`??#\nTub)UU)\nU突#*" [t 0 strings doit from "" error "No string to replace." tpu-set-search tpu-search-internal tpu-check-match nil message "Replace? Type Yes, No, All, Last, or Quit: " read-char ans 121 89 13 32 beg replace-match to case-replace tpu-regexp-p tpu-searching-forward -1 110 78 127 97 65 tpu-search-internal-core 108 76 113 81 "Replaced %s occurrence%s." 1 "s"] 6 "\ Interactively search for OLD-string and substitute NEW-string." (byte-code "!!D" [tpu-regexp-prompt "Old String: " "New String: "] 3)]) (fset 'tpu-emacs-replace #[(&optional dont-ask) " Ū! Ǫ!" [dont-ask nil current-prefix-arg call-interactively tpu-regexp-p replace-regexp replace-string query-replace-regexp query-replace] 2 "\ A TPU-edt interface to the emacs replace functions. If TPU-edt is currently in regular expression mode, the emacs regular expression replace functions are used. If an argument is supplied, replacements are performed without asking. Only works in forward direction." "P"]) (fset 'tpu-add-at-bol #[(text) "! ` V ` W #` Wl!f)!eb#m?!o)" [text "" error "No string specified." tpu-mark exchange-point-and-mark re-search-forward "^" t replace-match tpu-unselect nil] 4 "\ Add text to the beginning of each line in a region, or each line in the entire buffer if no region is selected." (byte-code "\"C" [tpu-string-prompt "String to add: " tpu-add-at-bol-hist] 3)]) (fset 'tpu-add-at-eol #[(text) "! ` V ` W` Xcyi)!ebm?cyq)" [text "" error "No string specified." tpu-mark exchange-point-and-mark nil tpu-unselect t] 2 "\ Add text to the end of each line in a region, or each line of the entire buffer if no region is selected." (byte-code "\"C" [tpu-string-prompt "String to add: " tpu-add-at-eol-hist] 3)]) (fset 'tpu-trim-line-ends #[nil " " [picture-clean] 1 "\ Removes trailing whitespace from every line in the buffer." nil]) (fset 'tpu-char #[(num) "\n!\n!" [tpu-advance tpu-forward-char num tpu-backward-char] 2 "\ Move to the next character in the current direction. A repeat count means move that many characters." "p"]) (fset 'tpu-forward-char #[(num) "u" [num] 1 "\ Move right ARG characters (left if ARG is negative)." "p"]) (fset 'tpu-backward-char #[(num) " !" [backward-char num] 2 "\ Move left ARG characters (right if ARG is negative)." "p"]) (defconst tpu-word-separator-list nil "\ List of additional word separators.") (defconst tpu-skip-chars "^ " "\ Characters to skip when moving by word. Additional word separators are added to this string.") (fset 'tpu-word #[(num) "\n!\n!" [tpu-advance tpu-forward-to-word num tpu-backward-to-word] 2 "\ Move to the beginning of the next word in the current direction. A repeat count means move that many words." "p"]) (fset 'tpu-forward-to-word #[(num) "Vm?``\nblu`f>u w w w*SF" [num 0 beg nil end 1 tpu-word-separator-list " " tpu-skip-chars] 3 "\ Move forward until encountering the beginning of a word. With argument, do this that many times." "p"]) (fset 'tpu-backward-to-word #[(num) "Vo?`y`\nbnu`Sf >u x xn`fzUu*S=" [num 0 beg end -1 tpu-word-separator-list " " tpu-skip-chars 32] 3 "\ Move backward until encountering the beginning of a word. With argument, do this that many times." "p"]) (fset 'tpu-add-word-separators #[(separators) "\nG W\n H\n TO> \" U P U P U P  P T*1*" [0 n separators length ss char tpu-word-separator-list append 45 tpu-skip-chars "\\-" 92 "\\\\" 94 "\\^"] 5 "\ Add new word separators for TPU-edt word commands." "sSeparators: "]) (fset 'tpu-reset-word-separators #[nil "‰" [nil tpu-word-separator-list "^ " tpu-skip-chars] 2 "\ Reset word separators to default value." nil]) (fset 'tpu-set-word-separators #[(separators) " \n!" [tpu-reset-word-separators tpu-add-word-separators separators] 2 "\ Set new word separators for TPU-edt word commands." "sSeparators: "]) (fset 'tpu-next-line #[(num) " !‰" [next-line-internal num next-line this-command] 2 "\ Move to next line. Prefix argument serves as a repeat count." "p"]) (fset 'tpu-previous-line #[(num) " [!‰" [next-line-internal num previous-line this-command] 2 "\ Move to previous line. Prefix argument serves as a repeat count." "p"]) (fset 'tpu-next-beginning-of-line #[(num) "!\nZy" [backward-char 1 num] 2 "\ Move to beginning of line; if at beginning, move to beginning of next line. Accepts a prefix argument for the number of lines to move." "p"]) (fset 'tpu-end-of-line #[(num) "\n!\n!" [tpu-advance tpu-next-end-of-line num tpu-previous-end-of-line] 2 "\ Move to the next end of line in the current direction. A repeat count means move that many lines." "p"]) (fset 'tpu-next-end-of-line #[(num) "u " [1 num] 1 "\ Move to end of line; if at end, move to end of next line. Accepts a prefix argument for the number of lines to move." "p"]) (fset 'tpu-previous-end-of-line #[(num) " Z" [1 num] 2 "\ Move EOL upward. Accepts a prefix argument for the number of lines to move." "p"]) (fset 'tpu-current-end-of-line #[nil "``U!)" [beg nil message "You are already at the end of a line."] 2 "\ Move point to end of current line." nil]) (fset 'tpu-line #[(num) "\n!\n!" [tpu-advance tpu-forward-line num tpu-backward-line] 2 "\ Move to the beginning of the next line in the current direction. A repeat count means move that many lines." "p"]) (fset 'tpu-forward-line #[(num) "y" [num] 1 "\ Move to beginning of next line. Prefix argument serves as a repeat count." "p"]) (fset 'tpu-backward-line #[(num) "[y" [num] 1 "\ Move to beginning of previous line. Prefix argument serves as repeat count." "p"]) (fset 'tpu-paragraph #[(num) "\n!\n!" [tpu-advance tpu-next-paragraph num tpu-previous-paragraph] 2 "\ Move to the next paragraph in the current direction. A repeat count means move that many paragraphs." "p"]) (fset 'tpu-next-paragraph #[(num) "ym V##bdb S\\yć" [0 num re-search-forward "^[ ]*$" nil t "[^ \n]"] 4 "\ Move to beginning of the next paragraph. Accepts a prefix argument for the number of paragraphs." "p"]) (fset 'tpu-previous-paragraph #[(num) "o V####”beb SPy" [nil num 0 re-search-backward "^[ ]*$" t "[^ \n]" re-search-forward] 4 "\ Move to beginning of previous paragraph. Accepts a prefix argument for the number of paragraphs." "p"]) (fset 'tpu-page #[(num) "\n!\n!m!" [tpu-advance forward-page num backward-page recenter -1] 2 "\ Move to the next page in the current direction. A repeat count means move that many pages." "p"]) (fset 'tpu-scroll-window #[(num) "\n!\n!" [tpu-advance tpu-scroll-window-up num tpu-scroll-window-down] 2 "\ Scroll the display to the next section in the current direction. A repeat count means scroll that many sections." "p"]) (fset 'tpu-scroll-window-down #[(num) "  S _ƥ_[! V!+" [tpu-current-line beg window-height height num tpu-percent-scroll 100 lines next-line-internal recenter 0] 3 "\ Scroll the display down to the next section. A repeat count means scroll that many sections." "p"]) (fset 'tpu-scroll-window-up #[(num) "  S _ƥ_! \\ Y!+" [tpu-current-line beg window-height height num tpu-percent-scroll 100 lines next-line-internal recenter -1] 3 "\ Scroll the display up to the next section. A repeat count means scroll that many sections." "p"]) (fset 'tpu-pan-right #[(num) " \n_!" [scroll-left tpu-pan-columns num] 3 "\ Pan right tpu-pan-columns (16 by default). Accepts a prefix argument for the number of tpu-pan-columns to scroll." "p"]) (fset 'tpu-pan-left #[(num) " \n_!" [scroll-right tpu-pan-columns num] 3 "\ Pan left tpu-pan-columns (16 by default). Accepts a prefix argument for the number of tpu-pan-columns to scroll." "p"]) (fset 'tpu-move-to-beginning #[nil "eb" [] 1 "\ Move cursor to the beginning of buffer, but don't set the mark." nil]) (fset 'tpu-move-to-end #[nil "db!" [recenter -1] 2 "\ Move cursor to the end of buffer, but don't set the mark." nil]) (fset 'tpu-goto-percent #[(perc) "VW\"d_b" [perc 100 0 error "Percentage %d out of range 0 < percent < 100"] 3 "\ Move point to ARG percentage of the buffer." "NGoto-percentage: "]) (fset 'tpu-beginning-of-window #[nil "!" [move-to-window-line 0] 2 "\ Move cursor to top of window." nil]) (fset 'tpu-end-of-window #[nil "!" [move-to-window-line -1] 2 "\ Move cursor to bottom of window." nil]) (fset 'tpu-line-to-bottom-of-window #[nil "!" [recenter -1] 2 "\ Move the current line to the bottom of the window." nil]) (fset 'tpu-line-to-top-of-window #[nil "!" [recenter 0] 2 "\ Move the current line to the top of the window." nil]) (fset 'tpu-advance-direction #[nil " " [" Advance" tpu-direction-string t tpu-advance nil tpu-reverse tpu-set-search tpu-update-mode-line] 1 "\ Set TPU Advance mode so keypad commands move forward." nil]) (fset 'tpu-backup-direction #[nil " " [" Reverse" tpu-direction-string nil tpu-advance t tpu-reverse tpu-set-search tpu-update-mode-line] 1 "\ Set TPU Backup mode so keypad commands move backward." nil]) (byte-code " # # ## # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # @A# BC# DE# FG# HI# JK# L# MN# OP# QR# ST# UV# W# XY#Z#[#\\#]#^#_`#ab#cd#ef#g#hi#jk#l#m#n#o#p#q#r#st#uv#w#xy#z#{#|#}~##############################ʁ#́#Ё#΁########X###Ɓ#####~######################U#S#W##@#B#D#F#H#J~#L#M#O#Q#######ʁ#́#Ё#΁###ց#؁#ځ#܁##################### ʁ# ́# Ё# ΁# Ɓb# # # # @# B# D# F# H# J# L# M# O# Q# S# U# W# X#!#### \n#  \n#  \n#  #! \n# # Z# [# ^# c# g# hi# j# q# u# w# x# |#" [define-key global-map "[" CSI-map "O" SS3-map "P" GOLD-map GOLD-CSI-map GOLD-SS3-map "A" tpu-previous-line "B" tpu-next-line "D" tpu-backward-char "C" tpu-forward-char "1~" tpu-search "2~" tpu-paste "3~" tpu-cut "4~" tpu-select "5~" tpu-scroll-window-down "6~" tpu-scroll-window-up "11~" nil "12~" "13~" "14~" "15~" "17~" "18~" "19~" "20~" "21~" tpu-exit "23~" tpu-insert-escape "24~" tpu-next-beginning-of-line "25~" tpu-delete-previous-word "26~" tpu-toggle-overwrite-mode "28~" tpu-help "29~" execute-extended-command "31~" tpu-goto-breadcrumb "32~" "33~" "34~" "Q" "R" tpu-search-again "S" tpu-delete-current-line "p" tpu-line "q" tpu-word "r" tpu-end-of-line "s" tpu-char "t" tpu-advance-direction "u" tpu-backup-direction "v" "w" tpu-page "x" tpu-scroll-window "y" tpu-append-region "m" tpu-delete-current-word "l" tpu-delete-current-char "n" "M" newline "" "" "" "" "" "" set-visited-file-name "" keyboard-quit "" delete-other-windows " " other-window "\n" " " tpu-define-macro-key " " downcase-region " " "" "" "" "" "" "" "" tpu-toggle-control-keys "" upcase-region "" "" tpu-write-current-buffers "" "" "" " " undo "!" "#" "$" tpu-add-at-eol "%" tpu-goto-percent "&" "(" ")" "*" tpu-toggle-regexp "+" "," "-" negative-argument "." tpu-drop-breadcrumb "/" tpu-emacs-replace "0" digit-argument "1" "2" "3" "4" "5" "6" "7" "8" "9" ":" ";" tpu-trim-line-ends "<" "=" ">" "?" tpu-spell-check tpu-toggle-newline-and-indent tpu-next-buffer repeat-complex-command shell-command "E" "F" tpu-set-cursor-free "G" tpu-get "H" "I" tpu-include "K" tpu-kill-buffer "L" tpu-what-line buffer-menu "N" tpu-next-file-buffer "O" occur lpr-buffer tpu-quit tpu-toggle-rectangle replace "T" tpu-line-to-top-of-window "U" "V" tpu-version "W" save-buffer "X" tpu-save-all-buffers-kill-emacs "Y" copy-region-as-kill "Z" suspend-emacs "[" blink-matching-open "\\" "]" "^" tpu-add-at-bol "_" split-window-vertically "`" what-line "a" "b" "c" "d" "e" "f" "g" "h" "i" "k" goto-line "o" lpr-region "z" "{" "|" split-window-horizontally "}" "~" exchange-point-and-mark "" delete-window tpu-move-to-beginning tpu-move-to-end end-of-line beginning-of-line tpu-store-text tpu-unselect tpu-previous-window tpu-next-window "16~" describe-bindings help-for-help tpu-undelete-lines open-line tpu-change-case tpu-delete-to-eol tpu-special-insert tpu-fill tpu-replace tpu-undelete-words tpu-undelete-char tpu-substitute boundp repeat-complex-command-map "" previous-complex-command "" next-complex-command "OA" "OB" minibuffer-local-map "OM" exit-minibuffer minibuffer-local-ns-map minibuffer-local-completion-map minibuffer-local-must-match-map minibuffer-complete-and-exit "" quoted-insert tpu-current-end-of-line tpu-insert-formfeed recenter tpu-delete-to-bol tpu-quoted-insert redraw-display] 4) (fset 'tpu-reset-control-keys #[(tpu-style) " ?? \n  !\n!!  \"# \"# \"# \"# \"# \"# \"# \"# \"# \"# \"# \"# \"#)+" [tpu-style tpu-control-keys tpu emacs doit copy-keymap global-map tpu-global-map tpu-original-global-map map define-key "" lookup-key "" "" "" "" "\n" " " " " "" "" "" "" ""] 7 "\ Set control keys to TPU or emacs style functions."]) (fset 'tpu-toggle-control-keys #[nil " ?!t Ī\"" [tpu-reset-control-keys tpu-control-keys message "Control keys function with %s bindings." "TPU-edt" "Emacs"] 3 "\ Toggles control key bindings between TPU-edt and Emacs." nil]) (fset 'tpu-next-history-element #[(n) " !db" [next-history-element n] 2 "\ Insert the next element of the minibuffer history into the minibuffer." "p"]) (fset 'tpu-previous-history-element #[(n) " !db" [previous-history-element n] 2 "\ Insert the previous element of the minibuffer history into the minibuffer." "p"]) (fset 'tpu-arrow-history #[nil "!@ # # #\n # # AR!@ # # #\n # # AR*" [where-is-internal tpu-previous-line nil cur loc define-key read-expression-map tpu-previous-history-element minibuffer-local-map minibuffer-local-ns-map minibuffer-local-completion-map minibuffer-local-must-match-map tpu-next-line tpu-next-history-element] 5 "\ Modify minibuffer maps to use arrows for history recall." nil]) (fset 'tpu-load-xkeys #[(file) "!\n\n! ! !!!! cΉ!C\"@@\"תQ!!AO\"c!!c!," [file expand-file-name tpu-xkeys-file tpu-gnu-emacs19-p "~/.tpu-gnu-keys" tpu-lucid-emacs19-p "~/.tpu-lucid-keys" file-readable-p load-file switch-to-buffer "*scratch*" erase-buffer "\n\n Ack!! You're running TPU-edt under X-windows without loading an\n X key definition file. To create a TPU-edt X key definition\n file, run the tpu-mapper.el program. It came with TPU-edt. It\n even includes directions on how to use it! Perhaps it's laying\n around here someplace. " "tpu-mapper.el" nil append "." load-path search-list path found string-match "/$" "" "/" file-exists-p file-directory-p t format "Ah yes, there it is, in \n\n %s \n\n" tpu-y-or-n-p "Do you want to run it now? " "Nope, I can't seem to find it. :-(\n\n" sit-for 120] 6 "\ Load the TPU-edt X-windows key definitions FILE. If FILE is nil, try to load a default file. The default file names are ~/.tpu-lucid-keys for Lucid emacs, and ~/.tpu-gnu-keys for GNU emacs." "fX key definition file: "]) (fset 'tpu-edt-on #[nil "?!! ! $$$$! \"\"ĉ" [tpu-edt-mode require picture tpu-reset-control-keys t tpu-emacs19-p window-system tpu-load-xkeys nil tpu-arrow-history autoload ispell-word "ispell" "Check spelling of word at or before point" ispell-complete-word "Complete word at or before point" ispell-buffer "Check spelling of entire buffer" ispell-region "Check spelling of region" tpu-set-mode-line tpu-advance-direction set-default page-delimiter " " truncate-lines 1 scroll-step] 5 "\ Turn on TPU/edt emulation." nil]) (fset 'tpu-edt-off #[nil "!!\"\"  !‰" [tpu-edt-mode tpu-reset-control-keys nil tpu-set-mode-line set-default page-delimiter "^ " truncate-lines 0 scroll-step use-global-map global-map] 3 "\ Turn off TPU/edt emulation. Note that the keypad is left on." nil]) (byte-code " !" [tpu-edt-mode provide tpu-edt] 2)