home *** CD-ROM | disk | FTP | other *** search
/ Usenet 1994 January / usenetsourcesnewsgroupsinfomagicjanuary1994.iso / sources / misc / volume26 / beav / part02 < prev    next >
Encoding:
Text File  |  1991-11-21  |  53.8 KB  |  1,504 lines

  1. Newsgroups: comp.sources.misc
  2. From: pvr@wang.com (Peter Reilley)
  3. Subject:  v26i038:  beav - Binary file editor and viewer, v1.32, Part02/09
  4. Message-ID: <1991Nov21.230112.1356@sparky.imd.sterling.com>
  5. X-Md4-Signature: d60e4238e5b7c1c3e0b3e2ee52828e0d
  6. Date: Thu, 21 Nov 1991 23:01:12 GMT
  7. Approved: kent@sparky.imd.sterling.com
  8.  
  9. Submitted-by: pvr@wang.com (Peter Reilley)
  10. Posting-number: Volume 26, Issue 38
  11. Archive-name: beav/part02
  12. Environment: UNIX, AIX, MS-DOS, AMIGA
  13. Supersedes: beav: Volume 22, Issue 10-18
  14.  
  15. #! /bin/sh
  16. # into a shell via "sh file" or similar.  To overwrite existing files,
  17. # type "sh file -c".
  18. # The tool that generated this appeared in the comp.sources.unix newsgroup;
  19. # send mail to comp-sources-unix@uunet.uu.net if you want that tool.
  20. # Contents:  beav132a.txt readme.amg text.c
  21. # Wrapped by kent@sparky on Thu Nov 21 16:46:59 1991
  22. PATH=/bin:/usr/bin:/usr/ucb ; export PATH
  23. echo If this archive is complete, you will see the following message:
  24. echo '          "shar: End of archive 2 (of 9)."'
  25. if test -f 'beav132a.txt' -a "${1}" != "-c" ; then 
  26.   echo shar: Will not clobber existing file \"'beav132a.txt'\"
  27. else
  28.   echo shar: Extracting \"'beav132a.txt'\" \(35063 characters\)
  29.   sed "s/^X//" >'beav132a.txt' <<'END_OF_FILE'
  30. X                                
  31. X                                
  32. X                                
  33. X                                
  34. X                                
  35. X                                
  36. X                                
  37. X                                
  38. X                               THE
  39. X                                
  40. X                                
  41. X                              BEAV
  42. X                                
  43. X                                
  44. X                                
  45. X                                
  46. X                    Binary Editor And Viewer
  47. X                                
  48. X                                
  49. X                                
  50. X                                
  51. X                                
  52. X                                
  53. X                      Manual Copyright 1991
  54. X                          Version 1.32
  55. X                        November 8, 1991
  56. X                                
  57. X                                
  58. X                                
  59. X                               By
  60. X                          Peter Reilley
  61. X                        19 Heritage Cir.
  62. X                       Hudson, N.H. 03051
  63. X                          pvr@wang.com
  64. X                                
  65. X                                
  66. X                                
  67. X                                
  68. X                                
  69. X                                
  70. X                                
  71. X            BEAV source and executable can be freely
  72. X            distributed for non-commercial purposes.
  73. X                                
  74. X                                
  75. X
  76. X
  77. X
  78. X
  79. X
  80. X
  81. X
  82. X
  83. X
  84. X
  85. X
  86. X
  87. X                                1
  88. X
  89. X                      BEAV User Manual
  90. X
  91. X
  92. X                     Table of Contents
  93. X
  94. X
  95. X1.0  Introduction                                          3
  96. X    1.1   Quick Start                                      3
  97. X
  98. X2.   Overview                                              5
  99. X    2.1   Terms and Definitions                            5
  100. X    2.2   The Screen Format                                5
  101. X    2.3   Display Modes                                    6
  102. X    2.4   Commands                                         7
  103. X    2.5   Buffers                                          8
  104. X    2.6   Files                                            8
  105. X    2.7   Key Binding                                      9
  106. X    2.8   Configuration                                    9
  107. X
  108. X3.   Command Description                                  11
  109. X    3.1   Help                                            11
  110. X    3.2   Cursor Movement                                 11
  111. X    3.3   Buffer Management                               13
  112. X    3.4   File Management                                 14
  113. X    3.5   Window Management                               16
  114. X    3.6   Inserting and deleting                          18
  115. X    3.7   Search and Replace Commands                     19
  116. X    3.8   Exiting BEAV                                    21
  117. X    3.9   Printing                                        21
  118. X    3.10  Keyboard Macros                                 22
  119. X    3.11  Key Binding                                     22
  120. X    3.12  Special Functions                               23
  121. X
  122. X4.   Alphabetical list of commands by name                26
  123. X
  124. X5.   Alphabetical list of commands by key binding         29
  125. X
  126. X6.   Release notes                                        32
  127. X
  128. X7.   Source Availability                                  34
  129. X
  130. X
  131. X
  132. X
  133. X
  134. X
  135. X
  136. X
  137. X
  138. X
  139. X
  140. X
  141. X
  142. X
  143. X
  144. X
  145. X
  146. X
  147. X
  148. X
  149. X                                2
  150. X
  151. X                      BEAV User Manual
  152. X
  153. X
  154. X
  155. X 1.0     Introduction
  156. X
  157. X      BEAV is an editor that brings the features of a powerful
  158. Xfull screen editor to the editing of binary files.   It is the
  159. Xonly editor that I know of that does that.
  160. X
  161. X      When you need to edit a non-text file you generally have
  162. Xtwo choices; a text editor or a file zap type editor.   Each
  163. Xchoice has significant disadvantages.
  164. X
  165. X      Text editors expect the file to be formatted in a certain
  166. Xway.   At a minimum they expect that all lines be terminated by a
  167. Xcarriage return or line feed and be limited in length.   There is
  168. Xno line length limit with BEAV.   Most text editors get confused
  169. Xby bytes that are outside of the normal range (20 to 7E HEX).
  170. XIn BEAV no special characters such as carriage return or line
  171. Xfeed affect the display aside from producing their numeric value.
  172. XBEAV can edit any file no matter the format.
  173. X
  174. X      The other choice is to use a file zap type editor which can
  175. Xedit a binary file without difficulty.  These editors are often
  176. Xvery limited in their features and capabilities.   Most file zap
  177. Xprograms can edit a file only in HEX or ASCII.   They generally
  178. Xoperate on a sector basis and because of this they cannot insert
  179. Xor delete data in the middle of the file.
  180. X
  181. X      All these limits are eliminated in BEAV.   You can edit a
  182. Xfile in HEX, ASCII, EBCDIC, OCTAL, DECIMAL, and BINARY.   You can
  183. Xsearch or search and replace in any of these modes.   Data can be
  184. Xdisplayed in BYTE, WORD, or DOUBLE WORD formats.   While
  185. Xdisplaying WORDS or DOUBLE WORDS the data can be displayed in
  186. XINTEL's or MOTOROLA's byte swap format.   Data of any length can
  187. Xbe inserted at any point in the file.   The source of this data
  188. Xcan be the keyboard, another buffer, of a file.   Any data that
  189. Xis being displayed can be sent to a printer in the displayed
  190. Xformat.   Files that are bigger than memory can be handled.
  191. X
  192. X      Some users may recognize the similarity to the EMACS text
  193. Xeditor that was written by Richard Stallman at MIT.   This is not
  194. Xa coincidence.   I attempted to keep as much of the user
  195. Xinterface and functionality as possible given the very different
  196. Xtasks of EMACS and BEAV.
  197. X
  198. X   1.1   Quick Start
  199. X
  200. X      This is a brief description of the minimal set of commands
  201. Xthat are necessary to start using BEAV effectively.
  202. X
  203. X      The file-visit command, Ctl-X Ctl-V, can be used to read a
  204. Xfile in for editing.   The file can also be read in from the
  205. Xcommand line; beav <edit_file>.
  206. X
  207. X      These commands can be used to navigate around the window.
  208. X
  209. X
  210. X
  211. X                                3
  212. X
  213. X                      BEAV User Manual
  214. X
  215. X
  216. X           move-back-char      Ctl-B     moves left
  217. X           move-back-line      Ctl-P     moves up
  218. X           move-forw-char      Ctl-F     moves right
  219. X           move-forw-line      Ctl-N     moves down
  220. X
  221. X      The move-to-byte command, Ctl-X G, will prompt you for a
  222. Xbyte position to move to.
  223. X
  224. X      These commands will insert a zero byte at the cursor
  225. Xposition or delete the byte at that position.
  226. X           insert-unit         Ctl-X I
  227. X           delete-forw-unit    Esc D
  228. X
  229. X      The file-save command, Ctl-X Ctl-S, will save the data to
  230. Xthe file if a change has been made.
  231. X
  232. X      The help command, Esc ?, will display a list of all
  233. Xcommands and their current key bindings.
  234. X
  235. X      The abort-cmd command, Ctl-G, will abort any command that
  236. Xis in operation.
  237. X
  238. X      The quit-no-save command, Ctl-X Ctl-C, will exit BEAV.   If
  239. Xthere is any data that has not been saved you will be warned.
  240. X
  241. X
  242. X
  243. X
  244. X
  245. X
  246. X
  247. X
  248. X
  249. X
  250. X
  251. X
  252. X
  253. X
  254. X
  255. X
  256. X
  257. X
  258. X
  259. X
  260. X
  261. X
  262. X
  263. X
  264. X
  265. X
  266. X
  267. X
  268. X
  269. X
  270. X
  271. X
  272. X
  273. X                                4
  274. X
  275. X                      BEAV User Manual
  276. X
  277. X
  278. X 2. Overview
  279. X
  280. X
  281. X   2.1  Terms and Definitions
  282. X
  283. X      Throughout this manual certain terms will be used to
  284. Xdescribe the operation and structure of BEAV.
  285. X
  286. X      The data that BEAV is editing is held in a buffer that is
  287. Xstructured as a byte stream.   There are many commands that
  288. Xaffect the way that this byte stream is displayed on to the
  289. Xscreen.   Whatever display mode is chosen the data in the buffer
  290. Xis not effected, only the presentation.
  291. X
  292. X      One such choice is to display the data as bytes, words, or
  293. Xdouble words.   That is; 8 bit values, 16 bit values, or 32 bit
  294. Xvalues.   Whatever choice is made the value of the selected size
  295. Xwill be displayed.   These values are referred to as units in
  296. Xthis manual.   Thus the 'delete-forw-unit' command deletes the
  297. Xunit under the cursor.   If 32 bit units are being displayed then
  298. X4 bytes will be deleted.
  299. X
  300. X      Many commands in BEAV start by pressing the 'ESCAPE' key.
  301. XWhen this manual refers to a command that requires that the
  302. X'ESCAPE' key be pressed it will be abbreviated with 'Esc'.
  303. XAnother frequently used key stroke to start commands is 'CONTROL
  304. XX'.   This in done by pressing the 'CONTROL' key then pressing
  305. Xthe 'X' key at the same time.   In this manual this will be
  306. Xabbreviated by 'Ctl-X'.   Many commands contain other control
  307. Xcharacters and these will be abbreviates similarly.   Thus the
  308. X'insert-unit' command will be listed as 'Ctl-X I'.   This will be
  309. Xentered be pressing the CONTROL key and while holding it hitting
  310. Xthe 'X' key, release the CONTROL key then hit the 'I' key.
  311. X
  312. X
  313. X   2.2  The Screen Format
  314. X   BEAV presents information to the user in a number of areas.
  315. XThe first is the window.   There will be at least one window
  316. Xdisplayed on the screen at all times.   The window consists of
  317. Xtwo areas.   The first is the display area.   This is where the
  318. Xdata that is in the buffer is displayed.   Most of the time the
  319. Xcursor will be in this area, as this is where most editing is
  320. Xdone.  Each line in the display area will start with a number
  321. Xthat indicates the offset into the buffer for this line of data.
  322. XAt the bottom of the display area for each window is the status
  323. Xline.
  324. X
  325. X     The status line presents the user with a number of specific
  326. Xpieces of information.   The first is the program name which is
  327. X"BEAV".   Next there are some flags indicating the status of this
  328. Xparticular buffer.
  329. X
  330. X     The first flag indicates if the buffer has been damaged by a
  331. Xmemory allocation failure.   If there is a '?' then the buffer is
  332. X
  333. X
  334. X
  335. X                                5
  336. X
  337. X                      BEAV User Manual
  338. X
  339. X
  340. Xbad, otherwise there will be a space.   Bad buffers are set to
  341. Xread only.
  342. X
  343. X     The next flag indicates if the buffer has been changed and
  344. Xwill need to be written out if the changes are to be saved.
  345. XThis flag is a '*' if the buffer has been changed, otherwise
  346. Xthere will be a space.
  347. X
  348. X     The next flag indicates insert/overstrike mode; 'I' for
  349. Xinsert, 'O' for overstrike.  This is only meaningful in ascii or
  350. Xebcdic mode.
  351. X
  352. X     Then the buffer name followed by the file name.   A window
  353. Xcan be in read only, read/write, or read/write with size lock.
  354. XThese  will be displayed as [RO], [RW], or [WL] respectively.
  355. XIf auto-update is enabled then [AU] will be displayed.
  356. X
  357. X     Next the cursor position in bytes and the character position
  358. Xwithin the unit.   The next piece of information gives the format
  359. Xthat the data is being displayed in; HEX, OCTAL, DECIMAL, BINARY,
  360. XASCII, EBCDIC.   If a data mode is selected then the size in
  361. Xbytes (1, 2, 4) is displayed.  If the data is being  displayed
  362. Xin Intel mode then the swapped flag is displayed, 'S'.   Lastly
  363. Xthe byte shift is displayed; 0 only for 8 bit data, 0 or 1 for 16
  364. Xbit data, or 0, 1, 2 or 3 for 32 bit data.
  365. X
  366. X     There can be multiple windows on the screen at the same time
  367. Xbut each window will have a status line at the bottom.
  368. X
  369. X     The very bottom line on the screen is the prompt line.
  370. XThis is where you enter data that BEAV requests.   If you want to
  371. Xedit a new file you would type 'Ctl-X Ctl-V', BEAV would respond
  372. Xwith "Visit file:" on the prompt line.   The cursor would be
  373. Xpositioned after the prompt.   You would then enter the name of
  374. Xthe file that you wished to edit.
  375. X
  376. X     If you entered the command by mistake, you can abort the
  377. Xoperation by typing a 'Ctl-G'.   'Control G' is a universal abort
  378. Xcommand and can be used anywhere.   If you want to perform a
  379. Xsearch you will enter the search string on this line.   When you
  380. Xhave entered the information that BEAV has requested hit 'Return'
  381. Xand the cursor will return to it's original position in the
  382. Xwindow display area.   The prompt line is also where error
  383. Xmessages are displayed.
  384. X
  385. X
  386. X   2.3  Display Modes
  387. X
  388. X      The data in the buffer can be displayed in a number of
  389. Xformats.   First there is the display mode.   This can be either;
  390. XHEXADECIMAL, DECIMAL, OCTAL, BINARY, ASCII, or EBCDIC.
  391. X
  392. X      If ASCII or EBCDIC mode is chosen then each byte in the
  393. Xbuffer will be converted to it's ASCII or EBCDIC character and
  394. X
  395. X
  396. X
  397. X                                6
  398. X
  399. X                      BEAV User Manual
  400. X
  401. X
  402. Xdisplayed.   Bytes that are outside of the standard character set
  403. Xwill be displayed as a dot.   Each line will be 64 characters
  404. Xlong.   The byte value for "carriage return" and "line feed" will
  405. Xbe displayed as a dot as will any other non-printable characters.
  406. X
  407. X      Within HEXADECIMAL, DECIMAL, OCTAL, or BINARY format the
  408. Xdata can be displayed in 8, 16 or 32 bit values.   If 16 or 32 it
  409. Xvalues are displayed the user can choose to view these values in
  410. Xeither the Intel format or the Motorola format.   If Intel format
  411. Xis chosen then the first byte in each unit is the least
  412. Xsignificant byte when the value is calculated.   Thus in hex 32
  413. Xbit mode a byte string of "32 7A 9F 10" would be displayed as
  414. X"109F7A32".   If Motorola format is chosen this value would be
  415. Xdisplayed as "327A9F10".
  416. X
  417. X      There is another display format choice that affects the 16
  418. Xor 32 bit formats.   This is called shift.   The shift can be 0
  419. Xor 1 for 16 bit modes, or 0, 1, 2, 3 for 32 bit modes.   Shift
  420. Xmoves the zero point reference for the buffer up by the selected
  421. Xvalue.   The default is zero shift.   If a buffer is displaying
  422. Xthe following 32 bit hex data;
  423. X
  424. X           "12345678 2F4792AF 673DFEA1 88551199"
  425. X
  426. Xwith the shift at 0.   Changing shift to 1 will produce;
  427. X
  428. X           "3456782F 4792AF67 3DFEA188 55119955"
  429. X
  430. XThe data has been slid down toward the beginning of the buffer by
  431. Xone byte.   This has not changed the data in the buffer at all,
  432. Xit has only affected the way that the data is presented on the
  433. Xscreen.   This is useful when looking at WORD or DOUBLE WORD data
  434. Xthat is not aligned on two or four byte boundaries.
  435. X
  436. X      When BEAV is first started or a new window is opened the
  437. Xdefault format is HEXADECIMAL BYTES.
  438. X
  439. X
  440. X   2.4  Commands
  441. X
  442. X      Commands are the means that the user controls the operation
  443. Xof BEAV.   A command can be given by using one of two methods.
  444. XThe first is to use the key binding.
  445. X
  446. X     A command can have one or more associated key bindings.   It
  447. Xcan also have no key binding.   There are a set of default key
  448. Xbindings that BEAV comes configured with.   The current set of
  449. Xkey bindings can be seen by using the 'help' command.   The
  450. X'help' command is 'Esc ?' or Function Key 1 'F1' on the IBM PC.
  451. XThe help buffer can be scrolled by using the up and down arrow
  452. Xkeys.   A printed copy may be obtained by going to the bottom of
  453. Xthe help buffer using the 'move-to-end' command ('Esc >' or the
  454. X'End' key).   Then issue the 'print-mark-to-cursor' command ('Esc
  455. XP' or 'Ctl-Print') and enter 'PRN' or a file name when prompted
  456. X
  457. X
  458. X
  459. X                                7
  460. X
  461. X                      BEAV User Manual
  462. X
  463. X
  464. Xwith "Print to:".   This will output the entire help buffer to a
  465. Xprinter connected to the parallel interface or the specified
  466. Xfile.
  467. X
  468. X     The second method of issuing a command is to use the
  469. X'extended-command' command (Esc X).   You are prompted for a
  470. Xcommand name that you want to execute.   This method is useful
  471. Xfor executing commands that have no key binding.   Commands that
  472. Xcan take a long time to complete can be stopped by pressing Ctl-
  473. XG.
  474. X
  475. X
  476. X   2.5  Buffers
  477. X
  478. X      Buffers are the in memory storage for all data editing and
  479. Xviewing.   Each buffer has a name that appears in the mode line.
  480. XBuffers generally have a file name that is associated with them.
  481. XThe file name also appears in the mode line.   The buffer name
  482. Xand the file name are independent but the buffer name defaults to
  483. Xthe file name.
  484. X
  485. X      The buffer name is used to refer to a specific buffer.
  486. XThe 'change-buffer' ('Ctl-X B') command will prompt you for a
  487. Xbuffer name.   After you enter a buffer name that buffer will be
  488. Xdisplayed in the current window.   If there is no such buffer,
  489. Xone will be created and displayed (it will be empty).
  490. X
  491. X      When BEAV is run with a file name as a command line
  492. Xparameter, the file is read into a new buffer.  The buffer name
  493. Xwill be made the same as the file name.   The file name is only
  494. Xused when the buffer is saved.   If the file name is changed
  495. Xusing the 'buffer-set-file-name' ('Ctl-X Ctl-F') command then
  496. Xwhen the buffer is saved it will be saved to the new file.
  497. X
  498. X      Buffers are dynamically allocated.   They grow or shrink as
  499. Xthe size of the data they contain changes.   The buffer size can
  500. Xbe frozen using the 'buffer-size-lock' ('Ctl-X Ctl-L') command.
  501. XThis prevents inserting or deleting data from the buffer but data
  502. Xcan be modified.
  503. X
  504. X      Buffers continue to exist even if they are not being
  505. Xdisplayed.   Buffers are saved in a linked list that can be
  506. Xstepped through using the 'change-to-next-buffer' ('Esc +') or
  507. X'change-to-prev-buffer' ('Esc -') commands.   If the 'change-to-
  508. Xnext-buffer' command is given then the next buffer in the list is
  509. Xdisplayed in the current window.
  510. X
  511. X
  512. X   2.6  Files
  513. X
  514. X      Files are the means of storing data on disk.   Files or
  515. Xsegments of files can be loaded into BEAV for editing or viewing.
  516. XThe file on the disk has not been changed until BEAV does a save
  517. X
  518. X
  519. X
  520. X
  521. X                                8
  522. X
  523. X                      BEAV User Manual
  524. X
  525. X
  526. Xto that file.   When a save to a file is performed the original
  527. Xfile contents in saved in a ".bak" file.
  528. X
  529. X
  530. X   2.7  Key Binding
  531. X
  532. X      All commands in BEAV have a command name and a default key
  533. Xbinding.   The bindings may be changed to suit personal
  534. Xpreference by using the 'bind-to-key' ('Esc K') command.   The
  535. Xcurrent binding of a key sequence can be displayed by using the
  536. X'binding-for-key' ('Ctl-X ?') command.
  537. X
  538. X      Key bindings can be loaded automatically from a file named
  539. X".beavrc" under UNIX or "beav.rc" under MSDOS.   I will refer to
  540. Xthis file as the beavrc file in this document.   This file must
  541. Xbe in a directory specified by the PATH environment variable.
  542. XWhen BEAV is started this file is read and the bindings are
  543. Xloaded.   This file is a simple text file and can be edited to
  544. Xmake changes.
  545. X
  546. X      The beavrc file contains three columns.   The first is the
  547. Xfunction name to be bound.   The second is the key sequence that
  548. Xis bound to that function.   The third is a number that defines
  549. Xthe key code.   When the beavrc file is read, in only the first
  550. Xand third columns are used.
  551. X
  552. X      The simplest way to create a valid beavrc file is to first
  553. Xbind the key codes to the desired functions using the 'bind-to-
  554. Xkey' command (Esc K).   Next display the current bindings in a
  555. Xwindow using the 'help' command (Esc ?).   Now save that buffer
  556. Xto a file with the 'file-write' command (Ctl-X Ctl-W).   You will
  557. Xbe prompted for a file name.   The file written is a valid beavrc
  558. Xfile.   You may want to edit the beavrc file to remove the
  559. Xcommented lines, ie, those beginning with #, to make it load
  560. Xfaster.
  561. X
  562. X      On UNIX systems there can be multiple .beavrc files, one
  563. Xfor each terminal type.   This is accomplished by appending the
  564. XTERM variable to .beavrc.   Thus if you use both a vt100 and a
  565. Xwyse60 terminal, you could have a .beavrc.wy60 and a
  566. X.beavrc.vt100 bindings file.   When your TERM variable is
  567. XTERM=wy60 then the .beavrc.wy60 bindings file will be used.   If
  568. Xthere is no .beavrc.wy60 file then the .beavrc file will be used.
  569. X
  570. X
  571. X   2.8  Configuration
  572. X
  573. X      When the MSDOS version of BEAV run it detects whether the
  574. Xsystem is an IBM PC or a clone.   If a PC is detected then a set
  575. Xof key bindings that use the 10 function keys and the relevant
  576. Xkeypad keys are loaded.   If the system is not recognized then
  577. Xonly the standard bindings are loaded.
  578. X
  579. X
  580. X
  581. X
  582. X
  583. X                                9
  584. X
  585. X                      BEAV User Manual
  586. X
  587. X
  588. X      If a PC is detected the screen is managed by making BIOS
  589. Xlevel calls that enhance performance.   Otherwise, the screen is
  590. Xcontrolled by making ANSI compatible calls to the operating
  591. Xsystem.   This is much slower but is not sensitive to hardware
  592. Xconfiguration.   This requires that non-standard MSDOS systems
  593. Xsupport ANSI display controls.   The following ANSI escape
  594. Xsequences are used;
  595. X
  596. X      Position cursor          ESC [ <row> ; <column> H
  597. X
  598. X      Erase to end of line     ESC [ 0 K
  599. X
  600. X      Erase to end of page     ESC [ 0 J
  601. X
  602. X      Normal video             ESC [ 0 m
  603. X
  604. X      Reverse video            ESC [ 7 m
  605. X
  606. X      On unix systems the termcap library is used.   This
  607. Xrequires that the TERM environment variable be set correctly.
  608. X
  609. X
  610. X
  611. X
  612. X
  613. X
  614. X
  615. X
  616. X
  617. X
  618. X
  619. X
  620. X
  621. X
  622. X
  623. X
  624. X
  625. X
  626. X
  627. X
  628. X
  629. X
  630. X
  631. X
  632. X
  633. X
  634. X
  635. X
  636. X
  637. X
  638. X
  639. X
  640. X
  641. X
  642. X
  643. X
  644. X
  645. X                               10
  646. X
  647. X                      BEAV User Manual
  648. X
  649. X
  650. X 3. Command Description
  651. X
  652. X      This section describes all BEAV commands as to their
  653. Xfunction and any side effects that they may have.   The first
  654. Xline of each description of a command will begin with the default
  655. Xkey binding then the command name and follows with the key
  656. Xbinding for a PC.
  657. X
  658. X
  659. X   3.1             Help
  660. X
  661. X      This command returns information that will aid in the use
  662. Xof BEAV.
  663. X
  664. X      Esc ?          help                     F1
  665. X
  666. X      A new window is opened by splitting the current window then
  667. Xall current key bindings are displayed.   This buffer is larger
  668. Xthan can be shown at one time and must be scrolled up and down to
  669. Xsee all entries.    All commands that do not alter data can be
  670. Xused to move around and search the help buffer.   To leave the
  671. Xhelp buffer use the 'window-delete' command ('Ctl-X 0').
  672. X
  673. X      Lines that begin with the comment character (#) are
  674. Xcommands that have the default bindings.   Lines without the
  675. Xcomment character have been bound by the user or by processing a
  676. Xbeavrc file.   The comment character helps in creating a beavrc
  677. Xfile by identifying only those bindings that have changed.
  678. X
  679. X
  680. X   3.2             Cursor Movement
  681. X
  682. X      There are a number of commands that move the cursor around
  683. Xthe current window.   If the cursor bumps the top or the bottom
  684. Xof the window the position of the window will be adjusted so as
  685. Xto keep the cursor within the bounds.   When the window is moved
  686. Xin response to cursor movements it is moved by about one third of
  687. Xthe window size.   This improves performance by reducing the
  688. Xnumber of window moves.
  689. X
  690. X      Ctl-P     move-back-line      North (up arrow)
  691. X      Ctl-N     move-forw-line      South (down arrow)
  692. X
  693. X      These commands move the cursor up one line or down one
  694. Xline.   If the cursor is on the top line in the buffer and a
  695. X'move-back-line' command is given the cursor will jump to the
  696. Xbeginning of the first unit in the buffer.   If the cursor is on
  697. Xthe last line of the buffer and a 'move-forw-line' is given the
  698. Xcursor will move to the last unit in the buffer.
  699. X
  700. X      Ctl-F     move-forw-char     East (right arrow)
  701. X      Ctl-B     Move-back-char     West (left arrow)
  702. X
  703. X
  704. X
  705. X
  706. X
  707. X                               11
  708. X
  709. X                      BEAV User Manual
  710. X
  711. X
  712. X      These commands move the cursor forward or backward in the
  713. Xcurrent line.   If the cursor is at the first character in the
  714. Xfirst unit of the line and the 'move-back-char' command is given
  715. Xthen the cursor will wrap to the last character of the previous
  716. Xline.   If the cursor is at the last character of the last unit
  717. Xin the current line then it will wrap to the first character of
  718. Xthe next line.
  719. X
  720. X      Esc F          move-forw-unit     Ctl-East
  721. X      Esc B          move-back-unit     Ctl-West
  722. X
  723. X      These commands are similar to the above set but they move
  724. Xthe cursor by units rather than characters.   The command 'move-
  725. Xforw-unit' will position the cursor to the first character of the
  726. Xnext unit.   The command 'move-back-unit' will move the cursor to
  727. Xthe first character of the previous unit.
  728. X
  729. X      Ctl-V          move-forw-page     PageUp
  730. X      Esc V          move-back-page     PageDown
  731. X
  732. X      These commands move the move the data in the window by the
  733. Xnumber of lines in the window less one.   The cursor will stay in
  734. Xthe same position relative to the window as the data is moved.
  735. X
  736. X      Esc <          move-to-beginning  Home
  737. X      Esc >          move-to-end        End
  738. X
  739. X      Move the cursor to the beginning or the end of the buffer.
  740. X
  741. X      Ctl-X G        move-to-byte       F9
  742. X
  743. X      Prompt for a byte offset, then go to that position in the
  744. Xcurrent buffer.
  745. X
  746. X      Ctl-X Ctl-N    move-window-down   Ctl-Z
  747. X      Ctl-X Ctl-P    move-window-up     Esc Z
  748. X
  749. X      Move the buffer in the window up or down by one line.
  750. XThis does not effect the cursor until it hits the top or bottom
  751. Xof the window.
  752. X
  753. X      Esc .          mark-set           F2
  754. X
  755. X      Set the mark position to the current cursor position.   The
  756. Xmark position is remembered even for nonactive windows and
  757. Xbuffers.
  758. X
  759. X      Ctl-X Ctl-X    swap-cursor-and-mark
  760. X
  761. X      The position of the cursor and the position of the mark are
  762. Xswapped.
  763. X
  764. X      Esc L          window-link
  765. X
  766. X
  767. X
  768. X
  769. X                               12
  770. X
  771. X                      BEAV User Manual
  772. X
  773. X
  774. X      This command causes all windows that are displaying the
  775. Xcontents of the current buffer to have the same cursor position.
  776. XThus if one window is scrolled then all other windows that
  777. Xdisplay that buffer are scrolled so as to keep the cursor in the
  778. Xwindow.
  779. X
  780. X      Ctl-X =        show-position
  781. X
  782. X      The current position of the cursor and the mark are
  783. Xdisplayed.   The buffer size, file size and file name are also
  784. Xshown.
  785. X
  786. X
  787. X   3.3             Buffer Management
  788. X
  789. X      Buffers store all data that is being edited.   The only
  790. Xlimit to the number of buffers is the size of available memory.
  791. XIf a file is loaded into a buffer and there is insufficient
  792. Xmemory to hold the entire file, then it will be loaded until
  793. Xmemory is exhausted.   The buffer will then be set to read only
  794. Xmode.
  795. X
  796. X      Ctl-X Ctl-B    buffers-display    Ctl-F1
  797. X
  798. X      A new window is opened and a list of all buffers in BEAV is
  799. Xdisplayed.   The list contains the buffer name, the file name (if
  800. Xit exists), the buffer size, and a state flag.   If the list is
  801. Xtoo large for the window, you can scroll the list.   If you
  802. Xposition the cursor on a line describing a buffer and give the
  803. Xset-mark (Esc .) command you will be prompted to; Go to, Kill, or
  804. XSave that buffer.
  805. X
  806. X      Ctl-X B        change-buffer      Ctl-F2
  807. X
  808. X      This command prompts you for a buffer name.   If you enter
  809. Xthe name of an existing buffer, that buffer will be displayed in
  810. Xthe current window.   If the name does not match an existing
  811. Xbuffer, a new buffer will be created and displayed.   This buffer
  812. Xwill be empty and will have no file name.
  813. X
  814. X      Esc +          change-to-next-buffer    Ctl-F4
  815. X      Esc -          change-to-prev-buffer    Ctl-F5
  816. X
  817. X      The next or the previous buffer in the buffer list is
  818. Xdisplayed in the current window.   This does not effect buffers
  819. Xthat are displayed in other windows.
  820. X
  821. X      Esc G          move-to-buffer-split
  822. X
  823. X      Prompt for a buffer name.   Then split the current window
  824. Xand display that buffer, creating it if necessary.
  825. X
  826. X      Esc Ctl-N      buffer-set-name    Esc Ctl-N
  827. X
  828. X
  829. X
  830. X
  831. X                               13
  832. X
  833. X                      BEAV User Manual
  834. X
  835. X
  836. X      The current buffer name is changed to the name that you
  837. Xenter.   This does not effect the file name.
  838. X
  839. X      Ctl-X Ctl-F    buffer-set-file-name     Ctl-F7
  840. X
  841. X      The file name of the current buffer is changed to the name
  842. Xthat you enter.   This does not affect the buffer name.
  843. X
  844. X      Ctl-X K        kill-buffer        Ctl-F3
  845. X
  846. X      This command prompts you for a buffer name.   This buffer
  847. Xis then deleted.   If the buffer is currently being displayed you
  848. Xare prompted for conformation.   If the buffer has been changed
  849. Xyou are again prompted for conformation.
  850. X
  851. X      Ctl-X Ctl-L    buffer-size-lock
  852. X
  853. X      The buffer size is prevented from being changed.   Data can
  854. Xbe edited but only by changing the existing data.   If a buffer
  855. Xis copied into a size-locked buffer the operation well be
  856. Xsuccessful but will overwrite existing data.   This command
  857. Xtoggles between locked and unlocked.
  858. X
  859. X      Esc Y          yank-buffer        Ctl-F6
  860. X
  861. X      Data from one buffer is inserted into the current buffer at
  862. Xthe cursor position.   You are prompted for the name of the
  863. Xbuffer to copy from.
  864. X
  865. X      Esc O          save-mark-to-cursor
  866. X
  867. X      Prompt for a buffer name.   Create a new buffer with that
  868. Xname and write the data from the mark to the cursor into that
  869. Xbuffer.
  870. X
  871. X      Esc Ctl-W      show-save-buf
  872. X
  873. X      Displays the contents of the save buffer in a new window.
  874. XThe save buffer cannot be edited.   This command can be used to
  875. Xsee the data that the yank (Ctl-Y) command will insert into the
  876. Xcurrent buffer.
  877. X
  878. X
  879. X   3.4             File Management
  880. X
  881. X      These commands control BEAV's access to files.   Files are
  882. Xloaded into buffers or are written from buffers.   Commands that
  883. Xprompt for a file name also accept range parameters.   Range
  884. Xparameters are always given in the numeric base of the current
  885. Xwindow.   Thus if you are displaying data in decimal format then
  886. Xthe range parameters must be entered in decimal.
  887. X
  888. X      The size of a file read or write can be limited by
  889. Xspecifying a range.   The range parameter specifies the offset
  890. X
  891. X
  892. X
  893. X                               14
  894. X
  895. X                      BEAV User Manual
  896. X
  897. X
  898. Xinto the file, not the buffer.   Range parameters can be
  899. Xspecified in these forms;
  900. X
  901. X      <file name> <start address>
  902. X
  903. X      <file name> <start address> <end address>
  904. X
  905. X      <file name> <start address> +<length>
  906. X
  907. X      The first form causes the read or write to begin from the
  908. X<start address> value until the end of the buffer on write or the
  909. Xend of the file on read.
  910. X
  911. X      The second form reads or writes from <start address> until
  912. X<end address> non-inclusive.
  913. X
  914. X      The third form reads or writes from <start address> for
  915. X<length> bytes.
  916. X
  917. X      Thus, if the command 'file-read' is given and you enter at
  918. Xthe prompt;   main.obj 1000 +100.   If the current display mode
  919. Xis hex, the file "main.obj" will be read from hex byte address
  920. X1000 to 10FF into the buffer.
  921. X
  922. X      Ctl-X Ctl-R    file-read          Sh-F2
  923. X
  924. X      Prompt for a file name and read that file into the current
  925. Xbuffer.   This overwrites the current contents of the buffer.
  926. XThe buffer name is not changed but the buffer file name is set to
  927. Xthe new file name.
  928. X
  929. X      Ctl-X Ctl-S    file-save          Sh-F3
  930. X
  931. X      Write the current buffer out to the file if it has been
  932. Xchanged.   If the buffer has not been changed then do nothing.
  933. X
  934. X      Ctl-X V        file-view
  935. X
  936. X      Prompt for a file name and read file into a new buffer and
  937. Xdisplay in current window.   Set to read-only mode.
  938. X
  939. X      Ctl-X Ctl-V    file-visit         Sh-F4
  940. X
  941. X      Prompt for a file name.   If the buffer already exists then
  942. Xdisplay it in the current window.   Otherwise, read file into a
  943. Xnew buffer and display in current window.   If there is no such
  944. Xfile then create it.
  945. X
  946. X      Esc U          file-visit-split
  947. X
  948. X      Same as above but split current window and display new
  949. Xbuffer.   This displays the new buffer as well as the old buffer.
  950. X
  951. X      Ctl-X Ctl-W    file-write         Sh-F5
  952. X
  953. X
  954. X
  955. X                               15
  956. X
  957. X                      BEAV User Manual
  958. X
  959. X
  960. X
  961. X      Prompt for a file name, then write the current buffer to
  962. Xthat file.
  963. X
  964. X      Ctl-X Tab      insert-file        Sh-F8
  965. X
  966. X      Prompt for a file name and insert that file into the
  967. Xcurrent buffer at the cursor position.
  968. X
  969. X      Ctl-X Return   save-all-buffers   Sh-F6
  970. X
  971. X      Write all buffers that have been changed to their
  972. Xrespective files.
  973. X
  974. X
  975. X   3.5             Window Management
  976. X
  977. X      BEAV presents information to the user in one or more
  978. Xwindows.   Each window is a view into a buffer where the data is
  979. Xactually stored.   The window controls how this data is formatted
  980. Xfor display to the user.   Data can be displayed as HEX bytes,
  981. XOCTAL bytes, ASCII characters, plus many others.   The display
  982. Xformat is associated with the window.   Thus if a new buffer is
  983. Xdisplayed in the current window that new data will be displayed
  984. Xin the current windows format.
  985. X
  986. X      The only limit to the number of windows is the screen size.
  987. XA window can be no smaller than two lines.   This along with the
  988. Xmode line associated with each window limits to eight the number
  989. Xof windows on an IBM PC 25 line screen.
  990. X
  991. X      Any window can view any buffer including having many
  992. Xwindows on the same buffer.   For example, two windows can
  993. Xdisplay the same buffer but present the data in two different
  994. Xmodes.   One window could display HEX bytes and the other could
  995. Xdisplay ASCII characters.
  996. X
  997. X      Ctl-P       change-window-back    Ctl-PageUp
  998. X      Ctl-N       change-window-forw    Ctl-PageDown
  999. X
  1000. X      These commands move the cursor to the next or previous
  1001. Xwindow on the screen, making it the current window.
  1002. X
  1003. X      Ctl-X Z        window-enlarge
  1004. X      Ctl-X Ctl-Z    window-shrink
  1005. X
  1006. X      Enlarge or shrink the current window size by one line.
  1007. X
  1008. X      Esc !          window-reposition
  1009. X
  1010. X      Move window position so that the cursor is centered in the
  1011. Xwindow.   The cursor position in the buffer does not change.
  1012. X
  1013. X      Ctl-X 2        window-split
  1014. X
  1015. X
  1016. X
  1017. X                               16
  1018. X
  1019. X                      BEAV User Manual
  1020. X
  1021. X
  1022. X
  1023. X      Split the current window into equal parts.   Both haves
  1024. Xhave the same display mode and view the save buffer.
  1025. X
  1026. X      Ctl-X 1        window-single
  1027. X
  1028. X      Expand the current window to fill the entire display, all
  1029. Xother windows are removed.   Make the current window the only
  1030. Xwindow displayed.   This has no effect on the underlying buffers
  1031. Xexcept that they may not be displayed any more.
  1032. X
  1033. X      Ctl-X 0        window-delete
  1034. X
  1035. X      Delete the current window and expand the upper window to
  1036. Xfill the space.   This has no effect on the underlying buffer
  1037. Xexcept that it may not be displayed any more.
  1038. X
  1039. X      Esc Ctl-A      display-ascii
  1040. X      Esc Ctl-E      display-ebcdic
  1041. X      Esc Ctl-H      display-hex
  1042. X      Esc Ctl-O      display-octal
  1043. X      Esc Ctl-D      display-decimal
  1044. X      Esc Ctl-B      display-binary
  1045. X
  1046. X      These commands set the window display mode.   Text buffers
  1047. Xcan be displayed as ASCII or EBCDIC characters.   Buffers that
  1048. Xare not human readable can also be displayed in hexadecimal,
  1049. Xoctal, decimal, or binary format.
  1050. X
  1051. X      Esc 1          display-bytes
  1052. X      Esc 2          display-words
  1053. X      Esc 4          display-double-words
  1054. X
  1055. X      As a further option on the non-text display modes, data can
  1056. Xbe displayed as 8, 16, or 32 bit values.
  1057. X
  1058. X      Ctl-E          display-swap-order
  1059. X
  1060. X      When data is displayed as words or double words the order
  1061. Xof significance can be changed.   In Intel microprocessors the
  1062. Xleast significant byte of a word is stored at the lowest address.
  1063. XThus if the word 5892 (HEX) were stored at memory address 10,
  1064. Xthen 92 (HEX) would be stored at address 10 and 58 (HEX) would be
  1065. Xstored at address 11.   In Motorola microprocessors the reverse
  1066. Xis true.
  1067. X      This command toggles between the Intel and Motorola schemes
  1068. Xof assembling bytes into words and double words.   This command
  1069. Xhas no effect on byte display or on the text display modes.   The
  1070. Xdata in the buffer is not changed.
  1071. X
  1072. X      Ctl-A          display-byte-shift
  1073. X
  1074. X      This command changes the offset from the beginning of the
  1075. Xbuffer used to assemble words and double words.   The default
  1076. X
  1077. X
  1078. X
  1079. X                               17
  1080. END_OF_FILE
  1081.   if test 35063 -ne `wc -c <'beav132a.txt'`; then
  1082.     echo shar: \"'beav132a.txt'\" unpacked with wrong size!
  1083.   fi
  1084.   # end of 'beav132a.txt'
  1085. fi
  1086. if test -f 'readme.amg' -a "${1}" != "-c" ; then 
  1087.   echo shar: Will not clobber existing file \"'readme.amg'\"
  1088. else
  1089.   echo shar: Extracting \"'readme.amg'\" \(750 characters\)
  1090.   sed "s/^X//" >'readme.amg' <<'END_OF_FILE'
  1091. XBEAV 1.32 - Binary Editor And Viewer by Peter Reilley (pvr@wang.com),
  1092. X            AMIGA port by Simon J Raybould (sie@fulcrum.bt.co.uk)
  1093. X
  1094. XInstallation
  1095. X------------
  1096. X
  1097. Xbeav will read a file called "beavrc" from the current directory, or S: if it
  1098. Xcan't find one in the current directory, to map keys to your preference. Be
  1099. Xaware though that if you re-map a key sequence that is generated by a function
  1100. Xkey, the new command will be invoked by that function key as it is translated
  1101. Xto the same sequence.
  1102. X
  1103. XAny Amiga specific problems to sie@fulcrum.bt.co.uk
  1104. X
  1105. XAny other probs to the original author in the doc file.
  1106. X
  1107. XThanks
  1108. X------
  1109. X
  1110. XMany thanks to Kim DeVaughn for testing the amiga port of BEAV and suggesting
  1111. Xchanges that have improved the port, thanks Kim!
  1112. END_OF_FILE
  1113.   if test 750 -ne `wc -c <'readme.amg'`; then
  1114.     echo shar: \"'readme.amg'\" unpacked with wrong size!
  1115.   fi
  1116.   # end of 'readme.amg'
  1117. fi
  1118. if test -f 'text.c' -a "${1}" != "-c" ; then 
  1119.   echo shar: Will not clobber existing file \"'text.c'\"
  1120. else
  1121.   echo shar: Extracting \"'text.c'\" \(15253 characters\)
  1122.   sed "s/^X//" >'text.c' <<'END_OF_FILE'
  1123. X/*
  1124. X*   This file contains all text srtings
  1125. X*/
  1126. X#include    "def.h"
  1127. X
  1128. X/* in basic.c */
  1129. Xchar    MSG_mark_set[]  = "Mark set";
  1130. Xchar    MSG_no_mark[]   = "No mark in this window";
  1131. Xchar    MSG_go_b_n[]    = "Goto byte number: ";
  1132. Xchar    MSG_bad_num[]   = "ERROR: Bad number";
  1133. Xchar    MSG_lX[]        = "%lX";
  1134. Xchar    MSG_lO[]        = "%lO";
  1135. Xchar    MSG_lD[]        = "%lD";
  1136. X
  1137. X/* in buffer.c */
  1138. Xchar    MSG_use_b[]     = "Enter name of buffer to goto: ";
  1139. Xchar    MSG_kill_b[]    = "Enter name of buffer to delete: ";
  1140. Xchar    MSG_no_del_m[]  = "ERROR: Can't delete 'main'";
  1141. Xchar    MSG_buf_disp[]  = "ERROR: Buffer is displayed - continue";
  1142. Xchar    MSG_main[]      = "main";
  1143. Xchar    MSG_l_buf_h[]   = "S T    Size  Buffer           File";
  1144. Xchar    MSG_l_buf_h1[]  = "- -   ------ ------           ----";
  1145. Xchar    MSG_no_chg[]    = "Discard changes";
  1146. Xchar    MSG_yank_b[]    = "Yank from buffer: ";
  1147. Xchar    MSG_no_buf[]    = "ERROR: no such buffer";
  1148. Xchar    MSG_no_s_yank[] = "ERROR: can't yank to self!";
  1149. Xchar    MSG_buf_nam[]   = "Buffer name: ";
  1150. Xchar    MSG_bad_l[]     = "ERROR: Bad line!";
  1151. Xchar    MSG_pick[]      = "%s: G(oto) or K(ill) S(ave) ";
  1152. Xchar    MSG_siz_chg[]   = "Current buffer size may be changed";
  1153. Xchar    MSG_no_siz_chg[]= "Current buffer size is locked";
  1154. Xchar    MSG_up_arrow[]  = "^";
  1155. Xchar    MSG_null[]      = "";
  1156. Xchar    MSG_cnt_al_b[]  = "ERROR: Cannot allocate BUFFER block";
  1157. Xchar    MSG_ins_cnt[]   = "Insert %s bytes, Hit Ctl-G to quit.";
  1158. X
  1159. X/* in display.c */
  1160. Xchar    MSG_prn_to[]    = "Print to: ";
  1161. Xchar    MSG_disp_r_n[]  = "\r\n";
  1162. Xchar    MSG_11lX[]      = "%11lX:";
  1163. Xchar    MSG_11lo[]      = "%11lo:";
  1164. Xchar    MSG_11ld[]      = "%11ld:";
  1165. Xchar    MSG_03o[]       = "%03o";
  1166. Xchar    MSG_06o[]       = "%06o";
  1167. Xchar    MSG_011lo[]     = "%011lo";
  1168. Xchar    MSG_03u[]       = "%03u";
  1169. Xchar    MSG_05u[]       = "%05u";
  1170. Xchar    MSG_010lu[]     = "%010lu";
  1171. Xchar    MSG_02X[]       = "%02X";
  1172. Xchar    MSG_04X[]       = "%04X";
  1173. Xchar    MSG_08lX[]      = "%08lX";
  1174. Xchar    MSG_prog_name[] = "BEAV";
  1175. Xchar    MSG_disp_b_lst[]= " Buffer List ";
  1176. Xchar    MSG_file[]      = "File: ";
  1177. Xchar    MSG_RO[]        = " [RO]";
  1178. Xchar    MSG_WL[]        = " [WL]";
  1179. Xchar    MSG_RW[]        = " [RW]";
  1180. Xchar    MSG_AU[]        = "[AU]";
  1181. Xchar    MSG_NOT_AU[]    = "    ";
  1182. Xchar    MSG_curs_asc[]  = "CURSOR=%08lX,   ASCII";
  1183. Xchar    MSG_curs_ebc[]  = "CURSOR=%08lX,  EBCDIC";
  1184. Xchar    MSG_curs_hex[]  = "CURSOR=%08lX,%2X   HEX";
  1185. Xchar    MSG_curs_bin[]  = "CURSOR=%08lX,%2X   BIN";
  1186. Xchar    MSG_curs_dec[]  = "CURSOR=%08lu,%2u   DEC";
  1187. Xchar    MSG_curs_oct[]  = "CURSOR=%08lo,%2o OCTAL";
  1188. Xchar    MSG_siz_8[]     = " 8 ";
  1189. Xchar    MSG_siz_16[]    = " 16";
  1190. Xchar    MSG_siz_32[]    = " 32";
  1191. Xchar    MSG_siz_null[]  = "   ";
  1192. Xchar    MSG_int_shift[] = " S%X";
  1193. Xchar    MSG_mot_shift[] = "  %X";
  1194. Xchar    MSG_print1[]    = "Writing: %s; Hit Ctl-G to quit";
  1195. Xchar    MSG_print2[]    = "Wrote %s lines";
  1196. X
  1197. X/*  in ebcdic.c */
  1198. X#if RUNCHK
  1199. Xchar    ERR_ebcdic[]    = 
  1200. X"ERROR: Character %s not found in EBCDIC table\n";
  1201. X#endif
  1202. X
  1203. X/* in echo.c */
  1204. Xchar    MSG_y_n[]       = "%s [y/n]? ";
  1205. Xchar    MSG_hex_dig[]   = "0123456789ABCDEF";
  1206. Xchar    MSG_hit_key[]   = "  Hit Ctl-G to continue";
  1207. X
  1208. X/* in extend.c */
  1209. Xchar    MSG_not_now[]   = "Not now";
  1210. Xchar    MSG_func[]      = "Function: ";
  1211. Xchar    MSG_unk_func[]  = "ERROR: Unknown function for binding";
  1212. Xchar    MSG_cmd_t_ex[]  = "Command to execute: ";
  1213. Xchar    MSG_unk_ext[]   = "ERROR: Unknown extended command";
  1214. Xchar    MSG_d_b[]       = 
  1215. X"Display key binding for which key? (hit key now!)";
  1216. Xchar    MSG_unbd[]      = "%s is unbound";
  1217. Xchar    MSG_bnd_to[]    = "%s is bound to %s";
  1218. Xchar    MSG_ins_self[]  = "ins-self";
  1219. Xchar    MSG_bnd_file[]  = "Binding file: ";
  1220. Xchar    MSG_bld_wall[]  = "Building help buffer";
  1221. Xchar    MSG_wall_head[] = "#  Function name                Key binding        Key code";
  1222. Xchar    MSG_beavrc[]  = "beavrc";
  1223. X
  1224. X/* in file.c */
  1225. Xchar    MSG_rd_file[]   = "Read file: ";
  1226. Xchar    MSG_trash[]     = "#tempbuf#";
  1227. Xchar    MSG_ins_file[]  = "Insert file: ";
  1228. Xchar    MSG_not_fnd[]   = "Not found";
  1229. Xchar    MSG_visit[]     = "Visit file: ";
  1230. Xchar    MSG_view[]      = "View file (read only): ";
  1231. Xchar    MSG_buf_ex[]    = "ERROR: Buffer exists";
  1232. Xchar    MSG_old_buf[]   = "ERROR: Old buffer";
  1233. Xchar    MSG_cnt_cr[]    = "ERROR: Cannot create buffer";
  1234. Xchar    MSG_reading[]   = "reading <%s>";
  1235. Xchar    MSG_read_lx[]   = "Read %s bytes, Hit Ctl-G to quit.";
  1236. Xchar    MSG_no_mem_rd[] = 
  1237. X"ERROR: Insufficient memory, buffer set to read only";
  1238. Xchar    MSG_wr_file[]   = "Write file: ";
  1239. Xchar    MSG_no_fn[]     = "ERROR: No file name";
  1240. Xchar    MSG_bk_err[]    = "ERROR: Backup error, save anyway";
  1241. Xchar    MSG_writing[]   = "writing <%s>";
  1242. Xchar    MSG_wrot_n[]    = "Wrote %s bytes, Hit Ctl-G to quit.";
  1243. Xchar    MSG_fil_nam[]   = "File name: ";
  1244. X#if RUNCHK
  1245. Xchar    ERR_parse_fn[]  = 
  1246. X"ERROR: Starting address (%s) must preceede ending address (%s)";
  1247. Xchar    ERR_addr_neg[]  = "ERROR: Addresses cannot be negative";
  1248. Xchar    ERR_f_size[]    = 
  1249. X"ERROR: Cannot access past end of file. (file size = %s)";
  1250. X#endif
  1251. X
  1252. X/* in fileio.c */
  1253. Xchar    MSG_cnt_wr[]    = "ERROR: Cannot open file for writing";
  1254. Xchar    MSG_wr_io_er[]  = "ERROR: Write I/O error";
  1255. Xchar    MSG_rd_er[]     = "ERROR: File read error";
  1256. Xchar    MSG_bak[]       = ".bak";
  1257. Xchar    MSG_backup[]    = "Back-up of %s to %s";
  1258. Xchar    MSG_back_er[]   = "ERROR: Back-up of %s to %s FAILED !!";
  1259. Xchar    MSG_back_of[]   = "%s - Back-up of  <%s> to <%s>\n";
  1260. X
  1261. X/* in format.c */
  1262. Xchar    hex_str[]       = "%X";
  1263. Xchar    hex_l_str[]     = "%lX";
  1264. Xchar    octal_str[]     = "%o";
  1265. Xchar    octal_l_str[]   = "%lo";
  1266. Xchar    decimal_str[]   = "%u";
  1267. Xchar    decimal_l_str[] = "%lu";
  1268. Xchar    char_str[]      = "%c";
  1269. X
  1270. X/* in kbd.c */
  1271. Xchar    MSG_tab[]       = "Tab";
  1272. Xchar    MSG_ret[]       = "Return";
  1273. Xchar    MSG_bksp[]      = "Backspace";
  1274. Xchar    MSG_space[]     = "Space";
  1275. Xchar    MSG_rubout[]    = "Rubout";
  1276. X
  1277. X/* in line.c */
  1278. Xchar    MSG_cnt_alloc[] = "ERROR: Cannot allocate %s bytes for a line";
  1279. Xchar    MSG_save_buf[]  = "save-buffer";
  1280. X
  1281. X/* in main.c */
  1282. Xchar    MSG_ok[]        = "ok";
  1283. Xchar    MSG_no_mod[]    = "ERROR: Buffer can not be modified";
  1284. Xchar    MSG_no_s_chg[]  = "ERROR: Buffer size can not be changed";
  1285. Xchar    MSG_auto_fl[]   = "Doing auto buffer flush";
  1286. Xchar    MSG_quit[]      = "quit-no-save";
  1287. Xchar    MSG_st_mac[]    = "Start macro";
  1288. Xchar    MSG_end_mac[]   = "End macro";
  1289. Xchar    MSG_num_mod[]   = "Number of modifcations per update: ";
  1290. Xchar    version[]       = "BEAV, Ver 1.32,  11/07/91";
  1291. X
  1292. X/*  in random.c */
  1293. Xchar    MSG_sh_pos[]  = 
  1294. X"Cursor: %s, Mark: %s,  Buffer Size: %s, File Size: %s";
  1295. Xchar    MSG_sh_pos1[] = 
  1296. X"Cursor: %s, No Mark, Buffer Size: %s, File Size: %s";
  1297. Xchar    MSG_f_str[]     = ", File: <%s>";
  1298. Xchar    MSG_3u[]        = "%3u";
  1299. Xchar    MSG_5u[]        = "%5u";
  1300. Xchar    MSG_lu[]        = "%lu";
  1301. Xchar    MSG_lnk[]       = "All windows on buffer <%s> are %s";
  1302. Xchar    MSG_unlink[]    = "unlinked";
  1303. Xchar    MSG_link[]      = "linked";
  1304. Xchar    MSG_bad_key[]   = "ERROR: bad key = ";
  1305. Xchar    MSG_esc[]       = "Esc,";
  1306. Xchar    MSG_ctl_x[]     = "Ctl-X,";
  1307. Xchar    MSG_ctl[]       = "Ctl-";
  1308. Xchar    MSG_fn[]        = "FN,";
  1309. Xchar    MSG_key_code[]  = "%s, %s";
  1310. Xchar    MSG_w_not_empty[] = "Destination buffer must be empty and modifiable";
  1311. Xchar    MSG_procing[]   = "Processing at %s, Hit Ctl-G to quit.";
  1312. X
  1313. X/* in region.c */
  1314. Xchar    MSG_sv_in_b[]   = "Save in buffer: ";
  1315. Xchar    MSG_sav_slf[]   = "ERROR: Can't save to self!";
  1316. X
  1317. X/* in search.c */
  1318. Xchar    MSG_sch_str[]   = " Search String";
  1319. Xchar    MSG_bsrc_str[]  = "Back Search String";
  1320. Xchar    MSG_rpl_str[]   = "Replace String";
  1321. Xchar    MSG_pat_fnd[]   = "Pattern found at %s";
  1322. Xchar    MSG_no_srch[]   = "ERROR: No last search";
  1323. Xchar    MSG_fnd_at[]    = 
  1324. X"Found at %s, (R)eplace, (S)kip, (A)ll, (O)ne, (Q)uit.";
  1325. Xchar    MSG_no_rpl[]    = "No replacements done";
  1326. Xchar    MSG_1_rpl[]     = "1 replacement done";
  1327. Xchar    MSG_n_rpl[]     = "%s replacements done";
  1328. Xchar    MSG_srcing[]    = "Searching at %s, Hit Ctl-G to quit.";
  1329. Xchar    MSG_curs[]      = "%s; Curs = %s, %s Len = %s => ";
  1330. Xchar    MSG_cmp_end[]   = "Compare reached the end of a buffer";
  1331. Xchar    MSG_cmp_term[]  = "Compare terminated by user";
  1332. Xchar    MSG_cmp_dif[]   =
  1333. X"Difference is detected at the two cursor positions";
  1334. Xchar    MSG_only_2[]    = 
  1335. X"ERROR: There must be exactly two windows displayed to use Compare";
  1336. Xchar    MSG_cmping[]    = "Comparing at %s, Hit Ctl-G to quit.";
  1337. X
  1338. X/* in spawn.c */
  1339. Xchar    MSG_shell[]     = "COMSPEC";
  1340. Xchar    MSG_def_shell[] = "/command.com";
  1341. Xchar    MSG_pmpt[]      = "PROMPT=[BEAV]";
  1342. Xchar    MSG_pt[]        = "PROMPT";
  1343. Xchar    MSG_pme[]       = "PROMPT=";
  1344. X
  1345. X/* in symbol.c */
  1346. Xchar    MSG_byte_shift[]        = "display-byte-shift";
  1347. Xchar    MSG_back_char[]         = "move-back-char";
  1348. Xchar    MSG_forw_del_char[]     = "delete-forw-char";
  1349. Xchar    MSG_toggle_swap[]       = "display-swap-order";
  1350. Xchar    MSG_forw_char[]         = "move-forw-char";
  1351. Xchar    MSG_abort[]             = "abort-cmd";
  1352. Xchar    MSG_back_del_char[]     = "delete-back-char";
  1353. Xchar    MSG_refresh[]           = "refresh-screen";
  1354. Xchar    MSG_forw_line[]         = "move-forw-line";
  1355. Xchar    MSG_back_line[]         = "move-back-line";
  1356. Xchar    MSG_quote[]             = "insert-literally";
  1357. Xchar    MSG_recall[]            = "recall-srch-string";
  1358. Xchar    MSG_twiddle[]           = "unit-twiddle";
  1359. Xchar    MSG_forw_page[]         = "move-forw-page";
  1360. Xchar    MSG_kill_region[]       = "delete-mark-to-cursor";
  1361. Xchar    MSG_yank[]              = "yank";
  1362. Xchar    MSG_down_window[]       = "move-window-down";
  1363. Xchar    MSG_ins_toggle[]        = "insert-toggle";
  1364. Xchar    MSG_display_buffers[]   = "buffers-display";
  1365. Xchar    MSG_exit_flush_all[]    = "quit-save-all";
  1366. Xchar    MSG_set_file_name[]     = "buffer-set-file-name";
  1367. Xchar    MSG_file_insert[]       = "insert-file";
  1368. Xchar    MSG_buf_size_lock[]     = "buffer-size-lock";
  1369. Xchar    MSG_flush_all[]         = "save-all-buffers";
  1370. Xchar    MSG_up_window[]         = "move-window-up";
  1371. Xchar    MSG_file_read[]         = "file-read";
  1372. Xchar    MSG_file_save[]         = "file-save";
  1373. Xchar    MSG_file_visit[]        = "file-visit";
  1374. Xchar    MSG_file_write[]        = "file-write";
  1375. Xchar    MSG_swap_dot_and_mark[] = "swap-cursor-and-mark";
  1376. Xchar    MSG_shrink_window[]     = "window-shrink";
  1377. Xchar    MSG_display_position[]  = "show-position";
  1378. Xchar    MSG_start_macro[]       = "macro-start";
  1379. Xchar    MSG_end_macro[]         = "macro-end";
  1380. Xchar    MSG_help[]              = "binding-for-key";
  1381. Xchar    MSG_only_window[]       = "window-single";
  1382. Xchar    MSG_del_window[]        = "window-delete";
  1383. Xchar    MSG_split_window[]      = "window-split";
  1384. Xchar    MSG_use_buffer[]        = "change-buffer";
  1385. Xchar    MSG_spawn_cli[]         = "spawn-shell";
  1386. Xchar    MSG_execute_macro[]     = "macro-execute";
  1387. Xchar    MSG_goto_line[]         = "move-to-byte";
  1388. Xchar    MSG_ins_unit[]          = "insert-unit";
  1389. Xchar    MSG_kill_buffer[]       = "kill-buffer";
  1390. Xchar    MSG_load_bindings[]     = "bindings-load";
  1391. Xchar    MSG_forw_window[]       = "change-window-forw";
  1392. Xchar    MSG_back_window[]       = "change-window-back";
  1393. Xchar    MSG_view_file[]         = "file-view";
  1394. Xchar    MSG_enlarge_window[]    = "window-enlarge";
  1395. Xchar    MSG_ascii_mode[]        = "display-ascii";
  1396. Xchar    MSG_binary_mode[]       = "display-binary";
  1397. Xchar    MSG_n_combine[]         = "n-way-combine";
  1398. Xchar    MSG_buffer_name[]       = "buffer-set-name";
  1399. Xchar    MSG_decimal_mode[]      = "display-decimal";
  1400. Xchar    MSG_ebcdic_mode[]       = "display-ebcdic";
  1401. Xchar    MSG_hex_mode[]          = "display-hex";
  1402. Xchar    MSG_back_del_unit[]     = "delete-back-unit";
  1403. Xchar    MSG_octal_mode[]        = "display-octal";
  1404. Xchar    MSG_n_split[]           = "n-way-split";
  1405. Xchar    MSG_display_version[]   = "show-version";
  1406. Xchar    MSG_show_save_buf[]     = "show-save-buf";
  1407. Xchar    MSG_unit_size1[]        = "display-bytes";
  1408. Xchar    MSG_unit_size2[]        = "display-words";
  1409. Xchar    MSG_unit_size4[]        = "display-double-words";
  1410. Xchar    MSG_reposition_window[] = "window-reposition";
  1411. Xchar    MSG_set_mark[]          = "mark-set";
  1412. Xchar    MSG_goto_eob[]          = "move-to-end";
  1413. Xchar    MSG_goto_bob[]          = "move-to-begining";
  1414. Xchar    MSG_next_buff[]         = "change-to-next-buffer";
  1415. Xchar    MSG_prev_buff[]         = "change-to-prev-buffer";
  1416. Xchar    MSG_query_replace[]     = "replace";
  1417. Xchar    MSG_display_bindings[]  = "help";
  1418. Xchar    MSG_auto_save[]         = "auto-save";
  1419. Xchar    MSG_back_unit[]         = "move-back-unit";
  1420. Xchar    MSG_compare[]           = "compare";
  1421. Xchar    MSG_forw_del_unit[]     = "delete-forw-unit";
  1422. Xchar    MSG_forw_unit[]         = "move-forw-unit";
  1423. Xchar    MSG_link_windows[]      = "window-link";
  1424. Xchar    MSG_print[]             = "print-mark-to-cursor";
  1425. Xchar    MSG_back_search[]       = "search-back";
  1426. Xchar    MSG_forw_search[]       = "search-forw";
  1427. Xchar    MSG_back_page[]         = "move-back-page";
  1428. Xchar    MSG_copy_region[]       = "copy-mark-to-cursor";
  1429. Xchar    MSG_extended_command[]  = "extended-command";
  1430. Xchar    MSG_search_again[]      = "search-again";
  1431. Xchar    MSG_bind_to_key[]       = "bind-to-key";
  1432. Xchar    MSG_file_visit_split[]  = "file-visit-split";
  1433. Xchar    MSG_yank_buffer[]       = "yank-buffer";
  1434. Xchar    MSG_save_region[]       = "save-mark-to-cursor";
  1435. Xchar    MSG_use_buffer_split[]  = "move-to-buffer-split";
  1436. Xchar    MSG_no_f_tb[]           = 
  1437. X"ERROR: Could not find <%s> in look up table\n";
  1438. X
  1439. X/* in ttykbd.c */
  1440. Xchar    MSG_sp_key[]    = "%u special keys bound\n";
  1441. X
  1442. X/* in window.c */
  1443. Xchar    MSG_no_splt[]   = "ERROR: Cannot split a %s line window";
  1444. Xchar    MSG_cnt_al_w[]  = "ERROR: Cannot allocate WINDOW block";
  1445. Xchar    MSG_one_w[]     = "ERROR: Only one window";
  1446. Xchar    MSG_imp_chg[]   = "ERROR: Impossible change";
  1447. X
  1448. X#if RUNCHK
  1449. X/* in basic.c */
  1450. Xchar    ERR_bas_1[]     = "ERROR: unknown r_type in basic #1";
  1451. X
  1452. X/* in display.c */
  1453. Xchar    ERR_disp_1[]    = "ERROR: unknown r_type in display #1";
  1454. Xchar    ERR_disp_2[]    = "ERROR: unknown r_type in display #2";
  1455. Xchar    ERR_disp_3[]    = "ERROR: row less than zero\n";
  1456. Xchar    ERR_disp_4[]    = "ERROR: row greater then window size\n";
  1457. Xchar    ERR_disp_5[]    = "ERROR: unknown r_type in display #3";
  1458. Xchar    ERR_disp_6[]    = "ERROR: unknown r_size in display ";
  1459. X/* in line.c */
  1460. Xchar    ERR_no_alloc[]  = 
  1461. X"ERROR: new line was allocated during read pattern\n";
  1462. Xchar    ERR_db_dalloc[] = 
  1463. X"ERROR: line was deallocated during read pattern\n";
  1464. Xchar    ERR_lock[]      = "ERROR: This is size locked, cannot insert.";
  1465. Xchar    ERR_lock_del[]  = "ERROR: This is size locked, cannot delete.";
  1466. X/* in random.c */
  1467. Xchar    ERR_rnd_1[]     = "ERROR: unknown r_type in random #1";
  1468. Xchar    ERR_rnd_2[]     = "ERROR: unknown r_size in random #2";
  1469. Xchar    ERR_rnd_3[]     = "ERROR: unknown r_type in random #3";
  1470. Xchar    ERR_rnd_4[]     = "ERROR: unknown r_size in random #4";
  1471. Xchar    ERR_rnd_5[]     = "ERROR: unknown r_size in random #5";
  1472. Xchar    ERR_rnd_6[]     = "ERROR: unknown r_size in random #6";
  1473. Xchar    ERR_rnd_7[]     = "ERROR: unknown r_size in random #7";
  1474. X/* in search.c */
  1475. Xchar    ERR_rdpat[] = "ERROR: bad r_type in readpattern\n";
  1476. Xchar    ERR_mask[]  = "ERROR: size of mask pattern, pat=%d, mask=%d\n";
  1477. Xchar    ERR_m_cl[]  = "ERROR: in ascii mode mask byte was not cleared\n";
  1478. X/* in ttyio.c */
  1479. Xchar    ERR_bd_pl[] = "ERROR: bad call to putline\n";
  1480. X#endif
  1481. END_OF_FILE
  1482.   if test 15253 -ne `wc -c <'text.c'`; then
  1483.     echo shar: \"'text.c'\" unpacked with wrong size!
  1484.   fi
  1485.   # end of 'text.c'
  1486. fi
  1487. echo shar: End of archive 2 \(of 9\).
  1488. cp /dev/null ark2isdone
  1489. MISSING=""
  1490. for I in 1 2 3 4 5 6 7 8 9 ; do
  1491.     if test ! -f ark${I}isdone ; then
  1492.     MISSING="${MISSING} ${I}"
  1493.     fi
  1494. done
  1495. if test "${MISSING}" = "" ; then
  1496.     echo You have unpacked all 9 archives.
  1497.     rm -f ark[1-9]isdone ark[1-9][0-9]isdone
  1498. else
  1499.     echo You still must unpack the following archives:
  1500.     echo "        " ${MISSING}
  1501. fi
  1502. exit 0
  1503. exit 0 # Just in case...
  1504.