home *** CD-ROM | disk | FTP | other *** search
Text File | 1991-11-21 | 53.8 KB | 1,504 lines |
- Newsgroups: comp.sources.misc
- From: pvr@wang.com (Peter Reilley)
- Subject: v26i038: beav - Binary file editor and viewer, v1.32, Part02/09
- Message-ID: <1991Nov21.230112.1356@sparky.imd.sterling.com>
- X-Md4-Signature: d60e4238e5b7c1c3e0b3e2ee52828e0d
- Date: Thu, 21 Nov 1991 23:01:12 GMT
- Approved: kent@sparky.imd.sterling.com
-
- Submitted-by: pvr@wang.com (Peter Reilley)
- Posting-number: Volume 26, Issue 38
- Archive-name: beav/part02
- Environment: UNIX, AIX, MS-DOS, AMIGA
- Supersedes: beav: Volume 22, Issue 10-18
-
- #! /bin/sh
- # into a shell via "sh file" or similar. To overwrite existing files,
- # type "sh file -c".
- # The tool that generated this appeared in the comp.sources.unix newsgroup;
- # send mail to comp-sources-unix@uunet.uu.net if you want that tool.
- # Contents: beav132a.txt readme.amg text.c
- # Wrapped by kent@sparky on Thu Nov 21 16:46:59 1991
- PATH=/bin:/usr/bin:/usr/ucb ; export PATH
- echo If this archive is complete, you will see the following message:
- echo ' "shar: End of archive 2 (of 9)."'
- if test -f 'beav132a.txt' -a "${1}" != "-c" ; then
- echo shar: Will not clobber existing file \"'beav132a.txt'\"
- else
- echo shar: Extracting \"'beav132a.txt'\" \(35063 characters\)
- sed "s/^X//" >'beav132a.txt' <<'END_OF_FILE'
- X
- X
- X
- X
- X
- X
- X
- X
- X THE
- X
- X
- X BEAV
- X
- X
- X
- X
- X Binary Editor And Viewer
- X
- X
- X
- X
- X
- X
- X Manual Copyright 1991
- X Version 1.32
- X November 8, 1991
- X
- X
- X
- X By
- X Peter Reilley
- X 19 Heritage Cir.
- X Hudson, N.H. 03051
- X pvr@wang.com
- X
- X
- X
- X
- X
- X
- X
- X BEAV source and executable can be freely
- X distributed for non-commercial purposes.
- X
- X
- X
- X
- X
- X
- X
- X
- X
- X
- X
- X
- X
- X
- X 1
- X
- X BEAV User Manual
- X
- X
- X Table of Contents
- X
- X
- X1.0 Introduction 3
- X 1.1 Quick Start 3
- X
- X2. Overview 5
- X 2.1 Terms and Definitions 5
- X 2.2 The Screen Format 5
- X 2.3 Display Modes 6
- X 2.4 Commands 7
- X 2.5 Buffers 8
- X 2.6 Files 8
- X 2.7 Key Binding 9
- X 2.8 Configuration 9
- X
- X3. Command Description 11
- X 3.1 Help 11
- X 3.2 Cursor Movement 11
- X 3.3 Buffer Management 13
- X 3.4 File Management 14
- X 3.5 Window Management 16
- X 3.6 Inserting and deleting 18
- X 3.7 Search and Replace Commands 19
- X 3.8 Exiting BEAV 21
- X 3.9 Printing 21
- X 3.10 Keyboard Macros 22
- X 3.11 Key Binding 22
- X 3.12 Special Functions 23
- X
- X4. Alphabetical list of commands by name 26
- X
- X5. Alphabetical list of commands by key binding 29
- X
- X6. Release notes 32
- X
- X7. Source Availability 34
- X
- X
- X
- X
- X
- X
- X
- X
- X
- X
- X
- X
- X
- X
- X
- X
- X
- X
- X
- X
- X 2
- X
- X BEAV User Manual
- X
- X
- X
- X 1.0 Introduction
- X
- X BEAV is an editor that brings the features of a powerful
- Xfull screen editor to the editing of binary files. It is the
- Xonly editor that I know of that does that.
- X
- X When you need to edit a non-text file you generally have
- Xtwo choices; a text editor or a file zap type editor. Each
- Xchoice has significant disadvantages.
- X
- X Text editors expect the file to be formatted in a certain
- Xway. At a minimum they expect that all lines be terminated by a
- Xcarriage return or line feed and be limited in length. There is
- Xno line length limit with BEAV. Most text editors get confused
- Xby bytes that are outside of the normal range (20 to 7E HEX).
- XIn BEAV no special characters such as carriage return or line
- Xfeed affect the display aside from producing their numeric value.
- XBEAV can edit any file no matter the format.
- X
- X The other choice is to use a file zap type editor which can
- Xedit a binary file without difficulty. These editors are often
- Xvery limited in their features and capabilities. Most file zap
- Xprograms can edit a file only in HEX or ASCII. They generally
- Xoperate on a sector basis and because of this they cannot insert
- Xor delete data in the middle of the file.
- X
- X All these limits are eliminated in BEAV. You can edit a
- Xfile in HEX, ASCII, EBCDIC, OCTAL, DECIMAL, and BINARY. You can
- Xsearch or search and replace in any of these modes. Data can be
- Xdisplayed in BYTE, WORD, or DOUBLE WORD formats. While
- Xdisplaying WORDS or DOUBLE WORDS the data can be displayed in
- XINTEL's or MOTOROLA's byte swap format. Data of any length can
- Xbe inserted at any point in the file. The source of this data
- Xcan be the keyboard, another buffer, of a file. Any data that
- Xis being displayed can be sent to a printer in the displayed
- Xformat. Files that are bigger than memory can be handled.
- X
- X Some users may recognize the similarity to the EMACS text
- Xeditor that was written by Richard Stallman at MIT. This is not
- Xa coincidence. I attempted to keep as much of the user
- Xinterface and functionality as possible given the very different
- Xtasks of EMACS and BEAV.
- X
- X 1.1 Quick Start
- X
- X This is a brief description of the minimal set of commands
- Xthat are necessary to start using BEAV effectively.
- X
- X The file-visit command, Ctl-X Ctl-V, can be used to read a
- Xfile in for editing. The file can also be read in from the
- Xcommand line; beav <edit_file>.
- X
- X These commands can be used to navigate around the window.
- X
- X
- X
- X 3
- X
- X BEAV User Manual
- X
- X
- X move-back-char Ctl-B moves left
- X move-back-line Ctl-P moves up
- X move-forw-char Ctl-F moves right
- X move-forw-line Ctl-N moves down
- X
- X The move-to-byte command, Ctl-X G, will prompt you for a
- Xbyte position to move to.
- X
- X These commands will insert a zero byte at the cursor
- Xposition or delete the byte at that position.
- X insert-unit Ctl-X I
- X delete-forw-unit Esc D
- X
- X The file-save command, Ctl-X Ctl-S, will save the data to
- Xthe file if a change has been made.
- X
- X The help command, Esc ?, will display a list of all
- Xcommands and their current key bindings.
- X
- X The abort-cmd command, Ctl-G, will abort any command that
- Xis in operation.
- X
- X The quit-no-save command, Ctl-X Ctl-C, will exit BEAV. If
- Xthere is any data that has not been saved you will be warned.
- X
- X
- X
- X
- X
- X
- X
- X
- X
- X
- X
- X
- X
- X
- X
- X
- X
- X
- X
- X
- X
- X
- X
- X
- X
- X
- X
- X
- X
- X
- X
- X
- X
- X 4
- X
- X BEAV User Manual
- X
- X
- X 2. Overview
- X
- X
- X 2.1 Terms and Definitions
- X
- X Throughout this manual certain terms will be used to
- Xdescribe the operation and structure of BEAV.
- X
- X The data that BEAV is editing is held in a buffer that is
- Xstructured as a byte stream. There are many commands that
- Xaffect the way that this byte stream is displayed on to the
- Xscreen. Whatever display mode is chosen the data in the buffer
- Xis not effected, only the presentation.
- X
- X One such choice is to display the data as bytes, words, or
- Xdouble words. That is; 8 bit values, 16 bit values, or 32 bit
- Xvalues. Whatever choice is made the value of the selected size
- Xwill be displayed. These values are referred to as units in
- Xthis manual. Thus the 'delete-forw-unit' command deletes the
- Xunit under the cursor. If 32 bit units are being displayed then
- X4 bytes will be deleted.
- X
- X Many commands in BEAV start by pressing the 'ESCAPE' key.
- XWhen this manual refers to a command that requires that the
- X'ESCAPE' key be pressed it will be abbreviated with 'Esc'.
- XAnother frequently used key stroke to start commands is 'CONTROL
- XX'. This in done by pressing the 'CONTROL' key then pressing
- Xthe 'X' key at the same time. In this manual this will be
- Xabbreviated by 'Ctl-X'. Many commands contain other control
- Xcharacters and these will be abbreviates similarly. Thus the
- X'insert-unit' command will be listed as 'Ctl-X I'. This will be
- Xentered be pressing the CONTROL key and while holding it hitting
- Xthe 'X' key, release the CONTROL key then hit the 'I' key.
- X
- X
- X 2.2 The Screen Format
- X BEAV presents information to the user in a number of areas.
- XThe first is the window. There will be at least one window
- Xdisplayed on the screen at all times. The window consists of
- Xtwo areas. The first is the display area. This is where the
- Xdata that is in the buffer is displayed. Most of the time the
- Xcursor will be in this area, as this is where most editing is
- Xdone. Each line in the display area will start with a number
- Xthat indicates the offset into the buffer for this line of data.
- XAt the bottom of the display area for each window is the status
- Xline.
- X
- X The status line presents the user with a number of specific
- Xpieces of information. The first is the program name which is
- X"BEAV". Next there are some flags indicating the status of this
- Xparticular buffer.
- X
- X The first flag indicates if the buffer has been damaged by a
- Xmemory allocation failure. If there is a '?' then the buffer is
- X
- X
- X
- X 5
- X
- X BEAV User Manual
- X
- X
- Xbad, otherwise there will be a space. Bad buffers are set to
- Xread only.
- X
- X The next flag indicates if the buffer has been changed and
- Xwill need to be written out if the changes are to be saved.
- XThis flag is a '*' if the buffer has been changed, otherwise
- Xthere will be a space.
- X
- X The next flag indicates insert/overstrike mode; 'I' for
- Xinsert, 'O' for overstrike. This is only meaningful in ascii or
- Xebcdic mode.
- X
- X Then the buffer name followed by the file name. A window
- Xcan be in read only, read/write, or read/write with size lock.
- XThese will be displayed as [RO], [RW], or [WL] respectively.
- XIf auto-update is enabled then [AU] will be displayed.
- X
- X Next the cursor position in bytes and the character position
- Xwithin the unit. The next piece of information gives the format
- Xthat the data is being displayed in; HEX, OCTAL, DECIMAL, BINARY,
- XASCII, EBCDIC. If a data mode is selected then the size in
- Xbytes (1, 2, 4) is displayed. If the data is being displayed
- Xin Intel mode then the swapped flag is displayed, 'S'. Lastly
- Xthe byte shift is displayed; 0 only for 8 bit data, 0 or 1 for 16
- Xbit data, or 0, 1, 2 or 3 for 32 bit data.
- X
- X There can be multiple windows on the screen at the same time
- Xbut each window will have a status line at the bottom.
- X
- X The very bottom line on the screen is the prompt line.
- XThis is where you enter data that BEAV requests. If you want to
- Xedit a new file you would type 'Ctl-X Ctl-V', BEAV would respond
- Xwith "Visit file:" on the prompt line. The cursor would be
- Xpositioned after the prompt. You would then enter the name of
- Xthe file that you wished to edit.
- X
- X If you entered the command by mistake, you can abort the
- Xoperation by typing a 'Ctl-G'. 'Control G' is a universal abort
- Xcommand and can be used anywhere. If you want to perform a
- Xsearch you will enter the search string on this line. When you
- Xhave entered the information that BEAV has requested hit 'Return'
- Xand the cursor will return to it's original position in the
- Xwindow display area. The prompt line is also where error
- Xmessages are displayed.
- X
- X
- X 2.3 Display Modes
- X
- X The data in the buffer can be displayed in a number of
- Xformats. First there is the display mode. This can be either;
- XHEXADECIMAL, DECIMAL, OCTAL, BINARY, ASCII, or EBCDIC.
- X
- X If ASCII or EBCDIC mode is chosen then each byte in the
- Xbuffer will be converted to it's ASCII or EBCDIC character and
- X
- X
- X
- X 6
- X
- X BEAV User Manual
- X
- X
- Xdisplayed. Bytes that are outside of the standard character set
- Xwill be displayed as a dot. Each line will be 64 characters
- Xlong. The byte value for "carriage return" and "line feed" will
- Xbe displayed as a dot as will any other non-printable characters.
- X
- X Within HEXADECIMAL, DECIMAL, OCTAL, or BINARY format the
- Xdata can be displayed in 8, 16 or 32 bit values. If 16 or 32 it
- Xvalues are displayed the user can choose to view these values in
- Xeither the Intel format or the Motorola format. If Intel format
- Xis chosen then the first byte in each unit is the least
- Xsignificant byte when the value is calculated. Thus in hex 32
- Xbit mode a byte string of "32 7A 9F 10" would be displayed as
- X"109F7A32". If Motorola format is chosen this value would be
- Xdisplayed as "327A9F10".
- X
- X There is another display format choice that affects the 16
- Xor 32 bit formats. This is called shift. The shift can be 0
- Xor 1 for 16 bit modes, or 0, 1, 2, 3 for 32 bit modes. Shift
- Xmoves the zero point reference for the buffer up by the selected
- Xvalue. The default is zero shift. If a buffer is displaying
- Xthe following 32 bit hex data;
- X
- X "12345678 2F4792AF 673DFEA1 88551199"
- X
- Xwith the shift at 0. Changing shift to 1 will produce;
- X
- X "3456782F 4792AF67 3DFEA188 55119955"
- X
- XThe data has been slid down toward the beginning of the buffer by
- Xone byte. This has not changed the data in the buffer at all,
- Xit has only affected the way that the data is presented on the
- Xscreen. This is useful when looking at WORD or DOUBLE WORD data
- Xthat is not aligned on two or four byte boundaries.
- X
- X When BEAV is first started or a new window is opened the
- Xdefault format is HEXADECIMAL BYTES.
- X
- X
- X 2.4 Commands
- X
- X Commands are the means that the user controls the operation
- Xof BEAV. A command can be given by using one of two methods.
- XThe first is to use the key binding.
- X
- X A command can have one or more associated key bindings. It
- Xcan also have no key binding. There are a set of default key
- Xbindings that BEAV comes configured with. The current set of
- Xkey bindings can be seen by using the 'help' command. The
- X'help' command is 'Esc ?' or Function Key 1 'F1' on the IBM PC.
- XThe help buffer can be scrolled by using the up and down arrow
- Xkeys. A printed copy may be obtained by going to the bottom of
- Xthe help buffer using the 'move-to-end' command ('Esc >' or the
- X'End' key). Then issue the 'print-mark-to-cursor' command ('Esc
- XP' or 'Ctl-Print') and enter 'PRN' or a file name when prompted
- X
- X
- X
- X 7
- X
- X BEAV User Manual
- X
- X
- Xwith "Print to:". This will output the entire help buffer to a
- Xprinter connected to the parallel interface or the specified
- Xfile.
- X
- X The second method of issuing a command is to use the
- X'extended-command' command (Esc X). You are prompted for a
- Xcommand name that you want to execute. This method is useful
- Xfor executing commands that have no key binding. Commands that
- Xcan take a long time to complete can be stopped by pressing Ctl-
- XG.
- X
- X
- X 2.5 Buffers
- X
- X Buffers are the in memory storage for all data editing and
- Xviewing. Each buffer has a name that appears in the mode line.
- XBuffers generally have a file name that is associated with them.
- XThe file name also appears in the mode line. The buffer name
- Xand the file name are independent but the buffer name defaults to
- Xthe file name.
- X
- X The buffer name is used to refer to a specific buffer.
- XThe 'change-buffer' ('Ctl-X B') command will prompt you for a
- Xbuffer name. After you enter a buffer name that buffer will be
- Xdisplayed in the current window. If there is no such buffer,
- Xone will be created and displayed (it will be empty).
- X
- X When BEAV is run with a file name as a command line
- Xparameter, the file is read into a new buffer. The buffer name
- Xwill be made the same as the file name. The file name is only
- Xused when the buffer is saved. If the file name is changed
- Xusing the 'buffer-set-file-name' ('Ctl-X Ctl-F') command then
- Xwhen the buffer is saved it will be saved to the new file.
- X
- X Buffers are dynamically allocated. They grow or shrink as
- Xthe size of the data they contain changes. The buffer size can
- Xbe frozen using the 'buffer-size-lock' ('Ctl-X Ctl-L') command.
- XThis prevents inserting or deleting data from the buffer but data
- Xcan be modified.
- X
- X Buffers continue to exist even if they are not being
- Xdisplayed. Buffers are saved in a linked list that can be
- Xstepped through using the 'change-to-next-buffer' ('Esc +') or
- X'change-to-prev-buffer' ('Esc -') commands. If the 'change-to-
- Xnext-buffer' command is given then the next buffer in the list is
- Xdisplayed in the current window.
- X
- X
- X 2.6 Files
- X
- X Files are the means of storing data on disk. Files or
- Xsegments of files can be loaded into BEAV for editing or viewing.
- XThe file on the disk has not been changed until BEAV does a save
- X
- X
- X
- X
- X 8
- X
- X BEAV User Manual
- X
- X
- Xto that file. When a save to a file is performed the original
- Xfile contents in saved in a ".bak" file.
- X
- X
- X 2.7 Key Binding
- X
- X All commands in BEAV have a command name and a default key
- Xbinding. The bindings may be changed to suit personal
- Xpreference by using the 'bind-to-key' ('Esc K') command. The
- Xcurrent binding of a key sequence can be displayed by using the
- X'binding-for-key' ('Ctl-X ?') command.
- X
- X Key bindings can be loaded automatically from a file named
- X".beavrc" under UNIX or "beav.rc" under MSDOS. I will refer to
- Xthis file as the beavrc file in this document. This file must
- Xbe in a directory specified by the PATH environment variable.
- XWhen BEAV is started this file is read and the bindings are
- Xloaded. This file is a simple text file and can be edited to
- Xmake changes.
- X
- X The beavrc file contains three columns. The first is the
- Xfunction name to be bound. The second is the key sequence that
- Xis bound to that function. The third is a number that defines
- Xthe key code. When the beavrc file is read, in only the first
- Xand third columns are used.
- X
- X The simplest way to create a valid beavrc file is to first
- Xbind the key codes to the desired functions using the 'bind-to-
- Xkey' command (Esc K). Next display the current bindings in a
- Xwindow using the 'help' command (Esc ?). Now save that buffer
- Xto a file with the 'file-write' command (Ctl-X Ctl-W). You will
- Xbe prompted for a file name. The file written is a valid beavrc
- Xfile. You may want to edit the beavrc file to remove the
- Xcommented lines, ie, those beginning with #, to make it load
- Xfaster.
- X
- X On UNIX systems there can be multiple .beavrc files, one
- Xfor each terminal type. This is accomplished by appending the
- XTERM variable to .beavrc. Thus if you use both a vt100 and a
- Xwyse60 terminal, you could have a .beavrc.wy60 and a
- X.beavrc.vt100 bindings file. When your TERM variable is
- XTERM=wy60 then the .beavrc.wy60 bindings file will be used. If
- Xthere is no .beavrc.wy60 file then the .beavrc file will be used.
- X
- X
- X 2.8 Configuration
- X
- X When the MSDOS version of BEAV run it detects whether the
- Xsystem is an IBM PC or a clone. If a PC is detected then a set
- Xof key bindings that use the 10 function keys and the relevant
- Xkeypad keys are loaded. If the system is not recognized then
- Xonly the standard bindings are loaded.
- X
- X
- X
- X
- X
- X 9
- X
- X BEAV User Manual
- X
- X
- X If a PC is detected the screen is managed by making BIOS
- Xlevel calls that enhance performance. Otherwise, the screen is
- Xcontrolled by making ANSI compatible calls to the operating
- Xsystem. This is much slower but is not sensitive to hardware
- Xconfiguration. This requires that non-standard MSDOS systems
- Xsupport ANSI display controls. The following ANSI escape
- Xsequences are used;
- X
- X Position cursor ESC [ <row> ; <column> H
- X
- X Erase to end of line ESC [ 0 K
- X
- X Erase to end of page ESC [ 0 J
- X
- X Normal video ESC [ 0 m
- X
- X Reverse video ESC [ 7 m
- X
- X On unix systems the termcap library is used. This
- Xrequires that the TERM environment variable be set correctly.
- X
- X
- X
- X
- X
- X
- X
- X
- X
- X
- X
- X
- X
- X
- X
- X
- X
- X
- X
- X
- X
- X
- X
- X
- X
- X
- X
- X
- X
- X
- X
- X
- X
- X
- X
- X
- X
- X 10
- X
- X BEAV User Manual
- X
- X
- X 3. Command Description
- X
- X This section describes all BEAV commands as to their
- Xfunction and any side effects that they may have. The first
- Xline of each description of a command will begin with the default
- Xkey binding then the command name and follows with the key
- Xbinding for a PC.
- X
- X
- X 3.1 Help
- X
- X This command returns information that will aid in the use
- Xof BEAV.
- X
- X Esc ? help F1
- X
- X A new window is opened by splitting the current window then
- Xall current key bindings are displayed. This buffer is larger
- Xthan can be shown at one time and must be scrolled up and down to
- Xsee all entries. All commands that do not alter data can be
- Xused to move around and search the help buffer. To leave the
- Xhelp buffer use the 'window-delete' command ('Ctl-X 0').
- X
- X Lines that begin with the comment character (#) are
- Xcommands that have the default bindings. Lines without the
- Xcomment character have been bound by the user or by processing a
- Xbeavrc file. The comment character helps in creating a beavrc
- Xfile by identifying only those bindings that have changed.
- X
- X
- X 3.2 Cursor Movement
- X
- X There are a number of commands that move the cursor around
- Xthe current window. If the cursor bumps the top or the bottom
- Xof the window the position of the window will be adjusted so as
- Xto keep the cursor within the bounds. When the window is moved
- Xin response to cursor movements it is moved by about one third of
- Xthe window size. This improves performance by reducing the
- Xnumber of window moves.
- X
- X Ctl-P move-back-line North (up arrow)
- X Ctl-N move-forw-line South (down arrow)
- X
- X These commands move the cursor up one line or down one
- Xline. If the cursor is on the top line in the buffer and a
- X'move-back-line' command is given the cursor will jump to the
- Xbeginning of the first unit in the buffer. If the cursor is on
- Xthe last line of the buffer and a 'move-forw-line' is given the
- Xcursor will move to the last unit in the buffer.
- X
- X Ctl-F move-forw-char East (right arrow)
- X Ctl-B Move-back-char West (left arrow)
- X
- X
- X
- X
- X
- X 11
- X
- X BEAV User Manual
- X
- X
- X These commands move the cursor forward or backward in the
- Xcurrent line. If the cursor is at the first character in the
- Xfirst unit of the line and the 'move-back-char' command is given
- Xthen the cursor will wrap to the last character of the previous
- Xline. If the cursor is at the last character of the last unit
- Xin the current line then it will wrap to the first character of
- Xthe next line.
- X
- X Esc F move-forw-unit Ctl-East
- X Esc B move-back-unit Ctl-West
- X
- X These commands are similar to the above set but they move
- Xthe cursor by units rather than characters. The command 'move-
- Xforw-unit' will position the cursor to the first character of the
- Xnext unit. The command 'move-back-unit' will move the cursor to
- Xthe first character of the previous unit.
- X
- X Ctl-V move-forw-page PageUp
- X Esc V move-back-page PageDown
- X
- X These commands move the move the data in the window by the
- Xnumber of lines in the window less one. The cursor will stay in
- Xthe same position relative to the window as the data is moved.
- X
- X Esc < move-to-beginning Home
- X Esc > move-to-end End
- X
- X Move the cursor to the beginning or the end of the buffer.
- X
- X Ctl-X G move-to-byte F9
- X
- X Prompt for a byte offset, then go to that position in the
- Xcurrent buffer.
- X
- X Ctl-X Ctl-N move-window-down Ctl-Z
- X Ctl-X Ctl-P move-window-up Esc Z
- X
- X Move the buffer in the window up or down by one line.
- XThis does not effect the cursor until it hits the top or bottom
- Xof the window.
- X
- X Esc . mark-set F2
- X
- X Set the mark position to the current cursor position. The
- Xmark position is remembered even for nonactive windows and
- Xbuffers.
- X
- X Ctl-X Ctl-X swap-cursor-and-mark
- X
- X The position of the cursor and the position of the mark are
- Xswapped.
- X
- X Esc L window-link
- X
- X
- X
- X
- X 12
- X
- X BEAV User Manual
- X
- X
- X This command causes all windows that are displaying the
- Xcontents of the current buffer to have the same cursor position.
- XThus if one window is scrolled then all other windows that
- Xdisplay that buffer are scrolled so as to keep the cursor in the
- Xwindow.
- X
- X Ctl-X = show-position
- X
- X The current position of the cursor and the mark are
- Xdisplayed. The buffer size, file size and file name are also
- Xshown.
- X
- X
- X 3.3 Buffer Management
- X
- X Buffers store all data that is being edited. The only
- Xlimit to the number of buffers is the size of available memory.
- XIf a file is loaded into a buffer and there is insufficient
- Xmemory to hold the entire file, then it will be loaded until
- Xmemory is exhausted. The buffer will then be set to read only
- Xmode.
- X
- X Ctl-X Ctl-B buffers-display Ctl-F1
- X
- X A new window is opened and a list of all buffers in BEAV is
- Xdisplayed. The list contains the buffer name, the file name (if
- Xit exists), the buffer size, and a state flag. If the list is
- Xtoo large for the window, you can scroll the list. If you
- Xposition the cursor on a line describing a buffer and give the
- Xset-mark (Esc .) command you will be prompted to; Go to, Kill, or
- XSave that buffer.
- X
- X Ctl-X B change-buffer Ctl-F2
- X
- X This command prompts you for a buffer name. If you enter
- Xthe name of an existing buffer, that buffer will be displayed in
- Xthe current window. If the name does not match an existing
- Xbuffer, a new buffer will be created and displayed. This buffer
- Xwill be empty and will have no file name.
- X
- X Esc + change-to-next-buffer Ctl-F4
- X Esc - change-to-prev-buffer Ctl-F5
- X
- X The next or the previous buffer in the buffer list is
- Xdisplayed in the current window. This does not effect buffers
- Xthat are displayed in other windows.
- X
- X Esc G move-to-buffer-split
- X
- X Prompt for a buffer name. Then split the current window
- Xand display that buffer, creating it if necessary.
- X
- X Esc Ctl-N buffer-set-name Esc Ctl-N
- X
- X
- X
- X
- X 13
- X
- X BEAV User Manual
- X
- X
- X The current buffer name is changed to the name that you
- Xenter. This does not effect the file name.
- X
- X Ctl-X Ctl-F buffer-set-file-name Ctl-F7
- X
- X The file name of the current buffer is changed to the name
- Xthat you enter. This does not affect the buffer name.
- X
- X Ctl-X K kill-buffer Ctl-F3
- X
- X This command prompts you for a buffer name. This buffer
- Xis then deleted. If the buffer is currently being displayed you
- Xare prompted for conformation. If the buffer has been changed
- Xyou are again prompted for conformation.
- X
- X Ctl-X Ctl-L buffer-size-lock
- X
- X The buffer size is prevented from being changed. Data can
- Xbe edited but only by changing the existing data. If a buffer
- Xis copied into a size-locked buffer the operation well be
- Xsuccessful but will overwrite existing data. This command
- Xtoggles between locked and unlocked.
- X
- X Esc Y yank-buffer Ctl-F6
- X
- X Data from one buffer is inserted into the current buffer at
- Xthe cursor position. You are prompted for the name of the
- Xbuffer to copy from.
- X
- X Esc O save-mark-to-cursor
- X
- X Prompt for a buffer name. Create a new buffer with that
- Xname and write the data from the mark to the cursor into that
- Xbuffer.
- X
- X Esc Ctl-W show-save-buf
- X
- X Displays the contents of the save buffer in a new window.
- XThe save buffer cannot be edited. This command can be used to
- Xsee the data that the yank (Ctl-Y) command will insert into the
- Xcurrent buffer.
- X
- X
- X 3.4 File Management
- X
- X These commands control BEAV's access to files. Files are
- Xloaded into buffers or are written from buffers. Commands that
- Xprompt for a file name also accept range parameters. Range
- Xparameters are always given in the numeric base of the current
- Xwindow. Thus if you are displaying data in decimal format then
- Xthe range parameters must be entered in decimal.
- X
- X The size of a file read or write can be limited by
- Xspecifying a range. The range parameter specifies the offset
- X
- X
- X
- X 14
- X
- X BEAV User Manual
- X
- X
- Xinto the file, not the buffer. Range parameters can be
- Xspecified in these forms;
- X
- X <file name> <start address>
- X
- X <file name> <start address> <end address>
- X
- X <file name> <start address> +<length>
- X
- X The first form causes the read or write to begin from the
- X<start address> value until the end of the buffer on write or the
- Xend of the file on read.
- X
- X The second form reads or writes from <start address> until
- X<end address> non-inclusive.
- X
- X The third form reads or writes from <start address> for
- X<length> bytes.
- X
- X Thus, if the command 'file-read' is given and you enter at
- Xthe prompt; main.obj 1000 +100. If the current display mode
- Xis hex, the file "main.obj" will be read from hex byte address
- X1000 to 10FF into the buffer.
- X
- X Ctl-X Ctl-R file-read Sh-F2
- X
- X Prompt for a file name and read that file into the current
- Xbuffer. This overwrites the current contents of the buffer.
- XThe buffer name is not changed but the buffer file name is set to
- Xthe new file name.
- X
- X Ctl-X Ctl-S file-save Sh-F3
- X
- X Write the current buffer out to the file if it has been
- Xchanged. If the buffer has not been changed then do nothing.
- X
- X Ctl-X V file-view
- X
- X Prompt for a file name and read file into a new buffer and
- Xdisplay in current window. Set to read-only mode.
- X
- X Ctl-X Ctl-V file-visit Sh-F4
- X
- X Prompt for a file name. If the buffer already exists then
- Xdisplay it in the current window. Otherwise, read file into a
- Xnew buffer and display in current window. If there is no such
- Xfile then create it.
- X
- X Esc U file-visit-split
- X
- X Same as above but split current window and display new
- Xbuffer. This displays the new buffer as well as the old buffer.
- X
- X Ctl-X Ctl-W file-write Sh-F5
- X
- X
- X
- X 15
- X
- X BEAV User Manual
- X
- X
- X
- X Prompt for a file name, then write the current buffer to
- Xthat file.
- X
- X Ctl-X Tab insert-file Sh-F8
- X
- X Prompt for a file name and insert that file into the
- Xcurrent buffer at the cursor position.
- X
- X Ctl-X Return save-all-buffers Sh-F6
- X
- X Write all buffers that have been changed to their
- Xrespective files.
- X
- X
- X 3.5 Window Management
- X
- X BEAV presents information to the user in one or more
- Xwindows. Each window is a view into a buffer where the data is
- Xactually stored. The window controls how this data is formatted
- Xfor display to the user. Data can be displayed as HEX bytes,
- XOCTAL bytes, ASCII characters, plus many others. The display
- Xformat is associated with the window. Thus if a new buffer is
- Xdisplayed in the current window that new data will be displayed
- Xin the current windows format.
- X
- X The only limit to the number of windows is the screen size.
- XA window can be no smaller than two lines. This along with the
- Xmode line associated with each window limits to eight the number
- Xof windows on an IBM PC 25 line screen.
- X
- X Any window can view any buffer including having many
- Xwindows on the same buffer. For example, two windows can
- Xdisplay the same buffer but present the data in two different
- Xmodes. One window could display HEX bytes and the other could
- Xdisplay ASCII characters.
- X
- X Ctl-P change-window-back Ctl-PageUp
- X Ctl-N change-window-forw Ctl-PageDown
- X
- X These commands move the cursor to the next or previous
- Xwindow on the screen, making it the current window.
- X
- X Ctl-X Z window-enlarge
- X Ctl-X Ctl-Z window-shrink
- X
- X Enlarge or shrink the current window size by one line.
- X
- X Esc ! window-reposition
- X
- X Move window position so that the cursor is centered in the
- Xwindow. The cursor position in the buffer does not change.
- X
- X Ctl-X 2 window-split
- X
- X
- X
- X 16
- X
- X BEAV User Manual
- X
- X
- X
- X Split the current window into equal parts. Both haves
- Xhave the same display mode and view the save buffer.
- X
- X Ctl-X 1 window-single
- X
- X Expand the current window to fill the entire display, all
- Xother windows are removed. Make the current window the only
- Xwindow displayed. This has no effect on the underlying buffers
- Xexcept that they may not be displayed any more.
- X
- X Ctl-X 0 window-delete
- X
- X Delete the current window and expand the upper window to
- Xfill the space. This has no effect on the underlying buffer
- Xexcept that it may not be displayed any more.
- X
- X Esc Ctl-A display-ascii
- X Esc Ctl-E display-ebcdic
- X Esc Ctl-H display-hex
- X Esc Ctl-O display-octal
- X Esc Ctl-D display-decimal
- X Esc Ctl-B display-binary
- X
- X These commands set the window display mode. Text buffers
- Xcan be displayed as ASCII or EBCDIC characters. Buffers that
- Xare not human readable can also be displayed in hexadecimal,
- Xoctal, decimal, or binary format.
- X
- X Esc 1 display-bytes
- X Esc 2 display-words
- X Esc 4 display-double-words
- X
- X As a further option on the non-text display modes, data can
- Xbe displayed as 8, 16, or 32 bit values.
- X
- X Ctl-E display-swap-order
- X
- X When data is displayed as words or double words the order
- Xof significance can be changed. In Intel microprocessors the
- Xleast significant byte of a word is stored at the lowest address.
- XThus if the word 5892 (HEX) were stored at memory address 10,
- Xthen 92 (HEX) would be stored at address 10 and 58 (HEX) would be
- Xstored at address 11. In Motorola microprocessors the reverse
- Xis true.
- X This command toggles between the Intel and Motorola schemes
- Xof assembling bytes into words and double words. This command
- Xhas no effect on byte display or on the text display modes. The
- Xdata in the buffer is not changed.
- X
- X Ctl-A display-byte-shift
- X
- X This command changes the offset from the beginning of the
- Xbuffer used to assemble words and double words. The default
- X
- X
- X
- X 17
- END_OF_FILE
- if test 35063 -ne `wc -c <'beav132a.txt'`; then
- echo shar: \"'beav132a.txt'\" unpacked with wrong size!
- fi
- # end of 'beav132a.txt'
- fi
- if test -f 'readme.amg' -a "${1}" != "-c" ; then
- echo shar: Will not clobber existing file \"'readme.amg'\"
- else
- echo shar: Extracting \"'readme.amg'\" \(750 characters\)
- sed "s/^X//" >'readme.amg' <<'END_OF_FILE'
- XBEAV 1.32 - Binary Editor And Viewer by Peter Reilley (pvr@wang.com),
- X AMIGA port by Simon J Raybould (sie@fulcrum.bt.co.uk)
- X
- XInstallation
- X------------
- X
- Xbeav will read a file called "beavrc" from the current directory, or S: if it
- Xcan't find one in the current directory, to map keys to your preference. Be
- Xaware though that if you re-map a key sequence that is generated by a function
- Xkey, the new command will be invoked by that function key as it is translated
- Xto the same sequence.
- X
- XAny Amiga specific problems to sie@fulcrum.bt.co.uk
- X
- XAny other probs to the original author in the doc file.
- X
- XThanks
- X------
- X
- XMany thanks to Kim DeVaughn for testing the amiga port of BEAV and suggesting
- Xchanges that have improved the port, thanks Kim!
- END_OF_FILE
- if test 750 -ne `wc -c <'readme.amg'`; then
- echo shar: \"'readme.amg'\" unpacked with wrong size!
- fi
- # end of 'readme.amg'
- fi
- if test -f 'text.c' -a "${1}" != "-c" ; then
- echo shar: Will not clobber existing file \"'text.c'\"
- else
- echo shar: Extracting \"'text.c'\" \(15253 characters\)
- sed "s/^X//" >'text.c' <<'END_OF_FILE'
- X/*
- X* This file contains all text srtings
- X*/
- X#include "def.h"
- X
- X/* in basic.c */
- Xchar MSG_mark_set[] = "Mark set";
- Xchar MSG_no_mark[] = "No mark in this window";
- Xchar MSG_go_b_n[] = "Goto byte number: ";
- Xchar MSG_bad_num[] = "ERROR: Bad number";
- Xchar MSG_lX[] = "%lX";
- Xchar MSG_lO[] = "%lO";
- Xchar MSG_lD[] = "%lD";
- X
- X/* in buffer.c */
- Xchar MSG_use_b[] = "Enter name of buffer to goto: ";
- Xchar MSG_kill_b[] = "Enter name of buffer to delete: ";
- Xchar MSG_no_del_m[] = "ERROR: Can't delete 'main'";
- Xchar MSG_buf_disp[] = "ERROR: Buffer is displayed - continue";
- Xchar MSG_main[] = "main";
- Xchar MSG_l_buf_h[] = "S T Size Buffer File";
- Xchar MSG_l_buf_h1[] = "- - ------ ------ ----";
- Xchar MSG_no_chg[] = "Discard changes";
- Xchar MSG_yank_b[] = "Yank from buffer: ";
- Xchar MSG_no_buf[] = "ERROR: no such buffer";
- Xchar MSG_no_s_yank[] = "ERROR: can't yank to self!";
- Xchar MSG_buf_nam[] = "Buffer name: ";
- Xchar MSG_bad_l[] = "ERROR: Bad line!";
- Xchar MSG_pick[] = "%s: G(oto) or K(ill) S(ave) ";
- Xchar MSG_siz_chg[] = "Current buffer size may be changed";
- Xchar MSG_no_siz_chg[]= "Current buffer size is locked";
- Xchar MSG_up_arrow[] = "^";
- Xchar MSG_null[] = "";
- Xchar MSG_cnt_al_b[] = "ERROR: Cannot allocate BUFFER block";
- Xchar MSG_ins_cnt[] = "Insert %s bytes, Hit Ctl-G to quit.";
- X
- X/* in display.c */
- Xchar MSG_prn_to[] = "Print to: ";
- Xchar MSG_disp_r_n[] = "\r\n";
- Xchar MSG_11lX[] = "%11lX:";
- Xchar MSG_11lo[] = "%11lo:";
- Xchar MSG_11ld[] = "%11ld:";
- Xchar MSG_03o[] = "%03o";
- Xchar MSG_06o[] = "%06o";
- Xchar MSG_011lo[] = "%011lo";
- Xchar MSG_03u[] = "%03u";
- Xchar MSG_05u[] = "%05u";
- Xchar MSG_010lu[] = "%010lu";
- Xchar MSG_02X[] = "%02X";
- Xchar MSG_04X[] = "%04X";
- Xchar MSG_08lX[] = "%08lX";
- Xchar MSG_prog_name[] = "BEAV";
- Xchar MSG_disp_b_lst[]= " Buffer List ";
- Xchar MSG_file[] = "File: ";
- Xchar MSG_RO[] = " [RO]";
- Xchar MSG_WL[] = " [WL]";
- Xchar MSG_RW[] = " [RW]";
- Xchar MSG_AU[] = "[AU]";
- Xchar MSG_NOT_AU[] = " ";
- Xchar MSG_curs_asc[] = "CURSOR=%08lX, ASCII";
- Xchar MSG_curs_ebc[] = "CURSOR=%08lX, EBCDIC";
- Xchar MSG_curs_hex[] = "CURSOR=%08lX,%2X HEX";
- Xchar MSG_curs_bin[] = "CURSOR=%08lX,%2X BIN";
- Xchar MSG_curs_dec[] = "CURSOR=%08lu,%2u DEC";
- Xchar MSG_curs_oct[] = "CURSOR=%08lo,%2o OCTAL";
- Xchar MSG_siz_8[] = " 8 ";
- Xchar MSG_siz_16[] = " 16";
- Xchar MSG_siz_32[] = " 32";
- Xchar MSG_siz_null[] = " ";
- Xchar MSG_int_shift[] = " S%X";
- Xchar MSG_mot_shift[] = " %X";
- Xchar MSG_print1[] = "Writing: %s; Hit Ctl-G to quit";
- Xchar MSG_print2[] = "Wrote %s lines";
- X
- X/* in ebcdic.c */
- X#if RUNCHK
- Xchar ERR_ebcdic[] =
- X"ERROR: Character %s not found in EBCDIC table\n";
- X#endif
- X
- X/* in echo.c */
- Xchar MSG_y_n[] = "%s [y/n]? ";
- Xchar MSG_hex_dig[] = "0123456789ABCDEF";
- Xchar MSG_hit_key[] = " Hit Ctl-G to continue";
- X
- X/* in extend.c */
- Xchar MSG_not_now[] = "Not now";
- Xchar MSG_func[] = "Function: ";
- Xchar MSG_unk_func[] = "ERROR: Unknown function for binding";
- Xchar MSG_cmd_t_ex[] = "Command to execute: ";
- Xchar MSG_unk_ext[] = "ERROR: Unknown extended command";
- Xchar MSG_d_b[] =
- X"Display key binding for which key? (hit key now!)";
- Xchar MSG_unbd[] = "%s is unbound";
- Xchar MSG_bnd_to[] = "%s is bound to %s";
- Xchar MSG_ins_self[] = "ins-self";
- Xchar MSG_bnd_file[] = "Binding file: ";
- Xchar MSG_bld_wall[] = "Building help buffer";
- Xchar MSG_wall_head[] = "# Function name Key binding Key code";
- Xchar MSG_beavrc[] = "beavrc";
- X
- X/* in file.c */
- Xchar MSG_rd_file[] = "Read file: ";
- Xchar MSG_trash[] = "#tempbuf#";
- Xchar MSG_ins_file[] = "Insert file: ";
- Xchar MSG_not_fnd[] = "Not found";
- Xchar MSG_visit[] = "Visit file: ";
- Xchar MSG_view[] = "View file (read only): ";
- Xchar MSG_buf_ex[] = "ERROR: Buffer exists";
- Xchar MSG_old_buf[] = "ERROR: Old buffer";
- Xchar MSG_cnt_cr[] = "ERROR: Cannot create buffer";
- Xchar MSG_reading[] = "reading <%s>";
- Xchar MSG_read_lx[] = "Read %s bytes, Hit Ctl-G to quit.";
- Xchar MSG_no_mem_rd[] =
- X"ERROR: Insufficient memory, buffer set to read only";
- Xchar MSG_wr_file[] = "Write file: ";
- Xchar MSG_no_fn[] = "ERROR: No file name";
- Xchar MSG_bk_err[] = "ERROR: Backup error, save anyway";
- Xchar MSG_writing[] = "writing <%s>";
- Xchar MSG_wrot_n[] = "Wrote %s bytes, Hit Ctl-G to quit.";
- Xchar MSG_fil_nam[] = "File name: ";
- X#if RUNCHK
- Xchar ERR_parse_fn[] =
- X"ERROR: Starting address (%s) must preceede ending address (%s)";
- Xchar ERR_addr_neg[] = "ERROR: Addresses cannot be negative";
- Xchar ERR_f_size[] =
- X"ERROR: Cannot access past end of file. (file size = %s)";
- X#endif
- X
- X/* in fileio.c */
- Xchar MSG_cnt_wr[] = "ERROR: Cannot open file for writing";
- Xchar MSG_wr_io_er[] = "ERROR: Write I/O error";
- Xchar MSG_rd_er[] = "ERROR: File read error";
- Xchar MSG_bak[] = ".bak";
- Xchar MSG_backup[] = "Back-up of %s to %s";
- Xchar MSG_back_er[] = "ERROR: Back-up of %s to %s FAILED !!";
- Xchar MSG_back_of[] = "%s - Back-up of <%s> to <%s>\n";
- X
- X/* in format.c */
- Xchar hex_str[] = "%X";
- Xchar hex_l_str[] = "%lX";
- Xchar octal_str[] = "%o";
- Xchar octal_l_str[] = "%lo";
- Xchar decimal_str[] = "%u";
- Xchar decimal_l_str[] = "%lu";
- Xchar char_str[] = "%c";
- X
- X/* in kbd.c */
- Xchar MSG_tab[] = "Tab";
- Xchar MSG_ret[] = "Return";
- Xchar MSG_bksp[] = "Backspace";
- Xchar MSG_space[] = "Space";
- Xchar MSG_rubout[] = "Rubout";
- X
- X/* in line.c */
- Xchar MSG_cnt_alloc[] = "ERROR: Cannot allocate %s bytes for a line";
- Xchar MSG_save_buf[] = "save-buffer";
- X
- X/* in main.c */
- Xchar MSG_ok[] = "ok";
- Xchar MSG_no_mod[] = "ERROR: Buffer can not be modified";
- Xchar MSG_no_s_chg[] = "ERROR: Buffer size can not be changed";
- Xchar MSG_auto_fl[] = "Doing auto buffer flush";
- Xchar MSG_quit[] = "quit-no-save";
- Xchar MSG_st_mac[] = "Start macro";
- Xchar MSG_end_mac[] = "End macro";
- Xchar MSG_num_mod[] = "Number of modifcations per update: ";
- Xchar version[] = "BEAV, Ver 1.32, 11/07/91";
- X
- X/* in random.c */
- Xchar MSG_sh_pos[] =
- X"Cursor: %s, Mark: %s, Buffer Size: %s, File Size: %s";
- Xchar MSG_sh_pos1[] =
- X"Cursor: %s, No Mark, Buffer Size: %s, File Size: %s";
- Xchar MSG_f_str[] = ", File: <%s>";
- Xchar MSG_3u[] = "%3u";
- Xchar MSG_5u[] = "%5u";
- Xchar MSG_lu[] = "%lu";
- Xchar MSG_lnk[] = "All windows on buffer <%s> are %s";
- Xchar MSG_unlink[] = "unlinked";
- Xchar MSG_link[] = "linked";
- Xchar MSG_bad_key[] = "ERROR: bad key = ";
- Xchar MSG_esc[] = "Esc,";
- Xchar MSG_ctl_x[] = "Ctl-X,";
- Xchar MSG_ctl[] = "Ctl-";
- Xchar MSG_fn[] = "FN,";
- Xchar MSG_key_code[] = "%s, %s";
- Xchar MSG_w_not_empty[] = "Destination buffer must be empty and modifiable";
- Xchar MSG_procing[] = "Processing at %s, Hit Ctl-G to quit.";
- X
- X/* in region.c */
- Xchar MSG_sv_in_b[] = "Save in buffer: ";
- Xchar MSG_sav_slf[] = "ERROR: Can't save to self!";
- X
- X/* in search.c */
- Xchar MSG_sch_str[] = " Search String";
- Xchar MSG_bsrc_str[] = "Back Search String";
- Xchar MSG_rpl_str[] = "Replace String";
- Xchar MSG_pat_fnd[] = "Pattern found at %s";
- Xchar MSG_no_srch[] = "ERROR: No last search";
- Xchar MSG_fnd_at[] =
- X"Found at %s, (R)eplace, (S)kip, (A)ll, (O)ne, (Q)uit.";
- Xchar MSG_no_rpl[] = "No replacements done";
- Xchar MSG_1_rpl[] = "1 replacement done";
- Xchar MSG_n_rpl[] = "%s replacements done";
- Xchar MSG_srcing[] = "Searching at %s, Hit Ctl-G to quit.";
- Xchar MSG_curs[] = "%s; Curs = %s, %s Len = %s => ";
- Xchar MSG_cmp_end[] = "Compare reached the end of a buffer";
- Xchar MSG_cmp_term[] = "Compare terminated by user";
- Xchar MSG_cmp_dif[] =
- X"Difference is detected at the two cursor positions";
- Xchar MSG_only_2[] =
- X"ERROR: There must be exactly two windows displayed to use Compare";
- Xchar MSG_cmping[] = "Comparing at %s, Hit Ctl-G to quit.";
- X
- X/* in spawn.c */
- Xchar MSG_shell[] = "COMSPEC";
- Xchar MSG_def_shell[] = "/command.com";
- Xchar MSG_pmpt[] = "PROMPT=[BEAV]";
- Xchar MSG_pt[] = "PROMPT";
- Xchar MSG_pme[] = "PROMPT=";
- X
- X/* in symbol.c */
- Xchar MSG_byte_shift[] = "display-byte-shift";
- Xchar MSG_back_char[] = "move-back-char";
- Xchar MSG_forw_del_char[] = "delete-forw-char";
- Xchar MSG_toggle_swap[] = "display-swap-order";
- Xchar MSG_forw_char[] = "move-forw-char";
- Xchar MSG_abort[] = "abort-cmd";
- Xchar MSG_back_del_char[] = "delete-back-char";
- Xchar MSG_refresh[] = "refresh-screen";
- Xchar MSG_forw_line[] = "move-forw-line";
- Xchar MSG_back_line[] = "move-back-line";
- Xchar MSG_quote[] = "insert-literally";
- Xchar MSG_recall[] = "recall-srch-string";
- Xchar MSG_twiddle[] = "unit-twiddle";
- Xchar MSG_forw_page[] = "move-forw-page";
- Xchar MSG_kill_region[] = "delete-mark-to-cursor";
- Xchar MSG_yank[] = "yank";
- Xchar MSG_down_window[] = "move-window-down";
- Xchar MSG_ins_toggle[] = "insert-toggle";
- Xchar MSG_display_buffers[] = "buffers-display";
- Xchar MSG_exit_flush_all[] = "quit-save-all";
- Xchar MSG_set_file_name[] = "buffer-set-file-name";
- Xchar MSG_file_insert[] = "insert-file";
- Xchar MSG_buf_size_lock[] = "buffer-size-lock";
- Xchar MSG_flush_all[] = "save-all-buffers";
- Xchar MSG_up_window[] = "move-window-up";
- Xchar MSG_file_read[] = "file-read";
- Xchar MSG_file_save[] = "file-save";
- Xchar MSG_file_visit[] = "file-visit";
- Xchar MSG_file_write[] = "file-write";
- Xchar MSG_swap_dot_and_mark[] = "swap-cursor-and-mark";
- Xchar MSG_shrink_window[] = "window-shrink";
- Xchar MSG_display_position[] = "show-position";
- Xchar MSG_start_macro[] = "macro-start";
- Xchar MSG_end_macro[] = "macro-end";
- Xchar MSG_help[] = "binding-for-key";
- Xchar MSG_only_window[] = "window-single";
- Xchar MSG_del_window[] = "window-delete";
- Xchar MSG_split_window[] = "window-split";
- Xchar MSG_use_buffer[] = "change-buffer";
- Xchar MSG_spawn_cli[] = "spawn-shell";
- Xchar MSG_execute_macro[] = "macro-execute";
- Xchar MSG_goto_line[] = "move-to-byte";
- Xchar MSG_ins_unit[] = "insert-unit";
- Xchar MSG_kill_buffer[] = "kill-buffer";
- Xchar MSG_load_bindings[] = "bindings-load";
- Xchar MSG_forw_window[] = "change-window-forw";
- Xchar MSG_back_window[] = "change-window-back";
- Xchar MSG_view_file[] = "file-view";
- Xchar MSG_enlarge_window[] = "window-enlarge";
- Xchar MSG_ascii_mode[] = "display-ascii";
- Xchar MSG_binary_mode[] = "display-binary";
- Xchar MSG_n_combine[] = "n-way-combine";
- Xchar MSG_buffer_name[] = "buffer-set-name";
- Xchar MSG_decimal_mode[] = "display-decimal";
- Xchar MSG_ebcdic_mode[] = "display-ebcdic";
- Xchar MSG_hex_mode[] = "display-hex";
- Xchar MSG_back_del_unit[] = "delete-back-unit";
- Xchar MSG_octal_mode[] = "display-octal";
- Xchar MSG_n_split[] = "n-way-split";
- Xchar MSG_display_version[] = "show-version";
- Xchar MSG_show_save_buf[] = "show-save-buf";
- Xchar MSG_unit_size1[] = "display-bytes";
- Xchar MSG_unit_size2[] = "display-words";
- Xchar MSG_unit_size4[] = "display-double-words";
- Xchar MSG_reposition_window[] = "window-reposition";
- Xchar MSG_set_mark[] = "mark-set";
- Xchar MSG_goto_eob[] = "move-to-end";
- Xchar MSG_goto_bob[] = "move-to-begining";
- Xchar MSG_next_buff[] = "change-to-next-buffer";
- Xchar MSG_prev_buff[] = "change-to-prev-buffer";
- Xchar MSG_query_replace[] = "replace";
- Xchar MSG_display_bindings[] = "help";
- Xchar MSG_auto_save[] = "auto-save";
- Xchar MSG_back_unit[] = "move-back-unit";
- Xchar MSG_compare[] = "compare";
- Xchar MSG_forw_del_unit[] = "delete-forw-unit";
- Xchar MSG_forw_unit[] = "move-forw-unit";
- Xchar MSG_link_windows[] = "window-link";
- Xchar MSG_print[] = "print-mark-to-cursor";
- Xchar MSG_back_search[] = "search-back";
- Xchar MSG_forw_search[] = "search-forw";
- Xchar MSG_back_page[] = "move-back-page";
- Xchar MSG_copy_region[] = "copy-mark-to-cursor";
- Xchar MSG_extended_command[] = "extended-command";
- Xchar MSG_search_again[] = "search-again";
- Xchar MSG_bind_to_key[] = "bind-to-key";
- Xchar MSG_file_visit_split[] = "file-visit-split";
- Xchar MSG_yank_buffer[] = "yank-buffer";
- Xchar MSG_save_region[] = "save-mark-to-cursor";
- Xchar MSG_use_buffer_split[] = "move-to-buffer-split";
- Xchar MSG_no_f_tb[] =
- X"ERROR: Could not find <%s> in look up table\n";
- X
- X/* in ttykbd.c */
- Xchar MSG_sp_key[] = "%u special keys bound\n";
- X
- X/* in window.c */
- Xchar MSG_no_splt[] = "ERROR: Cannot split a %s line window";
- Xchar MSG_cnt_al_w[] = "ERROR: Cannot allocate WINDOW block";
- Xchar MSG_one_w[] = "ERROR: Only one window";
- Xchar MSG_imp_chg[] = "ERROR: Impossible change";
- X
- X#if RUNCHK
- X/* in basic.c */
- Xchar ERR_bas_1[] = "ERROR: unknown r_type in basic #1";
- X
- X/* in display.c */
- Xchar ERR_disp_1[] = "ERROR: unknown r_type in display #1";
- Xchar ERR_disp_2[] = "ERROR: unknown r_type in display #2";
- Xchar ERR_disp_3[] = "ERROR: row less than zero\n";
- Xchar ERR_disp_4[] = "ERROR: row greater then window size\n";
- Xchar ERR_disp_5[] = "ERROR: unknown r_type in display #3";
- Xchar ERR_disp_6[] = "ERROR: unknown r_size in display ";
- X/* in line.c */
- Xchar ERR_no_alloc[] =
- X"ERROR: new line was allocated during read pattern\n";
- Xchar ERR_db_dalloc[] =
- X"ERROR: line was deallocated during read pattern\n";
- Xchar ERR_lock[] = "ERROR: This is size locked, cannot insert.";
- Xchar ERR_lock_del[] = "ERROR: This is size locked, cannot delete.";
- X/* in random.c */
- Xchar ERR_rnd_1[] = "ERROR: unknown r_type in random #1";
- Xchar ERR_rnd_2[] = "ERROR: unknown r_size in random #2";
- Xchar ERR_rnd_3[] = "ERROR: unknown r_type in random #3";
- Xchar ERR_rnd_4[] = "ERROR: unknown r_size in random #4";
- Xchar ERR_rnd_5[] = "ERROR: unknown r_size in random #5";
- Xchar ERR_rnd_6[] = "ERROR: unknown r_size in random #6";
- Xchar ERR_rnd_7[] = "ERROR: unknown r_size in random #7";
- X/* in search.c */
- Xchar ERR_rdpat[] = "ERROR: bad r_type in readpattern\n";
- Xchar ERR_mask[] = "ERROR: size of mask pattern, pat=%d, mask=%d\n";
- Xchar ERR_m_cl[] = "ERROR: in ascii mode mask byte was not cleared\n";
- X/* in ttyio.c */
- Xchar ERR_bd_pl[] = "ERROR: bad call to putline\n";
- X#endif
- END_OF_FILE
- if test 15253 -ne `wc -c <'text.c'`; then
- echo shar: \"'text.c'\" unpacked with wrong size!
- fi
- # end of 'text.c'
- fi
- echo shar: End of archive 2 \(of 9\).
- cp /dev/null ark2isdone
- MISSING=""
- for I in 1 2 3 4 5 6 7 8 9 ; do
- if test ! -f ark${I}isdone ; then
- MISSING="${MISSING} ${I}"
- fi
- done
- if test "${MISSING}" = "" ; then
- echo You have unpacked all 9 archives.
- rm -f ark[1-9]isdone ark[1-9][0-9]isdone
- else
- echo You still must unpack the following archives:
- echo " " ${MISSING}
- fi
- exit 0
- exit 0 # Just in case...
-