Help for EDIBIS

PURPOSE

    EDIBIS is an interactive screen editor for editing IBIS 
tabular or graphics files on a VT100 compatible terminal.  The command 
entry is similar to keypad mode in the EDT editor. Support also
exists for performing commands in batch-mode, without a terminal.
Note: If your terminal does not generate vt100 keypad codes, you can
use the batch-mode commands on the EDIBIS command-line instead.


    
EXECUTION

   EDIBIS  INPUT.INT OUTPUT.INT  <PARAMS>

EXAMPLES

   EDIBIS  IBIS.INT
This example shows how to edit an existing IBIS tabular file.

   EDIBIS  IBIS.GR   GR1DIM=3
This example shows how to edit an existing 3D IBIS graphics-1 file.

   EDIBIS  INPUT.INT OUTPUT.INT  COLS=(1,3,4) LCOL=200
This copies the desired columns in the input file to the output, increases
the output column length to 200, and edits the output.

EXECUTION

   EDIBIS  OUT=NEWFILE.INT  NCOL=10 LCOL=100
This creates a tabular file with 10 columns of 100 rows each.

   EDIBIS IBIS.INT  SCRNSIZE=132
To edit in 132 column mode on the terminal, first put the terminal in
132 column mode with a SET TERM/WIDTH=132, and then specify the SCRNSIZE
parameter.

   EDIBIS IBIS.INT  FORMAT="(F10.4)"
This sets the initial format for all of the columns to F10.4 .
(This will only work for IBIS-1 files. IBIS-2 files are formatted).
EXAMPLES

   EDIBIS a b cols=(1,2,4) command=("(1,3) search 4.567","delete",exit)
    top,paste,exit)

This puts EDIBIS into batch mode, first doing a search through
column 3 for 4.567, and deleting the found column.

   EDIBIS  old command=("(1,2) format (a4)","search not",     cut,"(3,0) paste",exit)

This set of batch commands first changes the format of 
column 2 to "(A4)", and then searched for the string "not",
and if found, clears the cell and pastes the value into row 3.
OPERATION

Interactive Mode:

    The EDIBIS tabular file editor allows one to roam through out the
file looking at and changing any of the data values.  The format for
each column may be specified so that real numbers, integers, and character
data may be displayed and entered.  The numeric keypad is used for the
command entry, which is patterned after the EDT keypad mode commands.
The screen serves as a window into the tabular file.  Eighteen rows
and as many columns as fit are displayed.  The current cell is
highlighted and header information is display at all times.  The header
information consists of the file name and size, the current row and column,
and the format of all of the columns being displayed.  Data and command 
information is entered at the lower left corner of the screen.
OPERATION

Batch Mode:

Batch Mode is invoked when the "COMMANDS" parameter is used.
In this case interactive mode is turned off and the file is manipulated
using the commands specified by the parameter. See the COMMANDS
parameter for more information. A description of each command is
given below.

The batch commands may also be used interactively by placing the
command on the EDIBIS command-line, prefaced by a "/" character, e.g.

    ]  /(1,2) set 5.1


FAILURE MODE IN BATCH OPERATIONS

NOTE: In older versions no ABEND calls were made upon detecting errors
The basic assumption was that you were at an interactive terminal
and you could reenter bad commands. This created problems in Batch
mode in long scripts if a bad command was entered.

This particularly could be a problem  when _onfail was set to
STOP. The abend signal was never sent so the script continued. If
the proc continued for minutes to hours you may never notice that
the command had failed.

After 14-Aug-2011 this version will issue an abend for BATCH mode
operations, i.e., when COMMANDS=("some command") parameter is provided.
 
COMMANDS

SETTING CELL VALUES:

Batch command: "(row,col) SET <value>", where the (row,col) is optional.

    The value of the current cell is changed by typing the desired new value
and pressing the Return key.  If the entered value is illegal then the
cell value will not be changed.  There are a few cases where this is
the *only* way to set a value. For example, if column 2 is ASCII, 
and you want to set the value of cell (1,2) to "quit", you can't just type
"quit", because that is the command to quit EDIBIS without saving the
file. So, to set the cell value, give the command:

    ] /(1,2) set quit

To set a string value containing spaces, put it in quotes "like this".
COMMANDS

MOVING AROUND

Batch Commands: "TOP" "BOTTOM", "LEFT","RIGHT".

    The arrow keys move the current cell one place in the appropriate 
direction.  If the cell is at the edge of the screen, scrolling is performed.
As with the EDT editor there is a forward mode and a backward mode which 
are selected by (keypad 4) and (keypad 5), respectively. Using the GOLD KEY
(PF1 key) with these keys advances the file to the bottom row or top row,
respectively.

    Page up and page down (keypad 8) and page left and page right (keypad 2)
move the screen one window size unless the edges of the file are encountered.
The direction forward/backward mode is determined by the previously mentioned
keypad commands.
COMMANDS

MOVING AROUND (cont'd)

Batch command: "Row N", "Column M" and/or "(N,M) JUMP"

    The current row may be set to a particular row by typing an integer and
touching the (keypad enter) key. The current column may be set by typing
an integer and using GOLD KEY and (kepad enter). 

COMMANDS

DELETING/INSERTING ROWS:

 Batch Commands: "(row,col) DELETE N" 
             and "(row,col) INSERT N". The (row,col) is optional.

    Any number of rows may be deleted or inserted at the current position
by typing the number of rows and pressing (keypad PF4) or (keypad PF1,
keypad PF4) respectively.  If no number is specified then one row is 
deleted or inserted.  The inserted rows are inserted after the current 
line and are filled with zeros.

Warning: the whole file must be rewritten for these two commands so 
they can take a while, especially if the file is large.
COMMANDS

CUT/PASTING Values:

Batch commands: "(row,col) Cut" and "(row,col) PASTE".

    The (keypad -) key zeros (or blanks, if character format) the current
cell.  The (keypad PF1, keypad -) combination changes the current cell by 
recalling the value of the last zeroed cell.

COMMANDS

COLUMN FORMATTING (IBIS-1 only)

Batch command: "(row,col) FORMAT (formt)" where the (row,col) is optional.

    The display format of the current column is automatically determined
for IBIS-2 format files, and is set to floating point for IBIS-1 and
GRAPHICS-1 files. The format may be changed by typing the
new format and then typing ^F.  The format string must be a legal
Fortran format statement beginning and ending with parentheses.  If
blank spacing is specified (e.g. 2X) it must precede the data part or
it will be ignored.  The format string itself must be less than or equal 
to 16 characters, and the length of the display it specifies must be less 
than or equal to 32 characters. 
COMMANDS

SCREEN-REFRESH/HELP

    The screen can be refreshed (i.e. redisplayed) with the ^R key.

    The (keypad PF2) key will display a brief command summary.  Hit 
<return> for batch-command help, and any other key (e.g. spacebar) to
go back to editing.

COMMANDS

SEARCHING FOR VALUES

Batch Command: "(row,col) SEARCH <string>", where (row,col) is optional.

   The PF1 PF3 combination will initialize the EDIBIS search mode.  It will
prompt you with:

	ENTER RANGE]

and will take the command string to be a range of values to search for
within the current column marked by the cursor.
COMMANDS

SEARCHING (ctd')

Batch Command: "FWD" and "BACKWARD"

 The direction of the search is determined by the keypad FWD/BACK mode,
and valid syntax for search strings is as follows:

	ENTER RANGE] VALUE	Find first exact match to VALUE
	ENTER RANGE] MIN:MAX	Find first value not outside interval
	ENTER RANGE] MIN:	Find first value not smaller than MIN
	ENTER RANGE] :MAX	Find first value not larger than MAX

If the column is in CHARACTER format, a string match is performed.
ENDING AN EDITING SESSION

Batch Command:  "EXIT" will save the file and quit.

In interactive mode "EXIT" will save and quit, and "QUIT"
will exit without saving the file. If the file was opened
read-only no saving is done at all.

VMS SHORT-CUTS:

    The editing session is ended, the file saved, and the program ended
with the ^Z key.    Hitting ^C will abort and leave a temp file called 
'EDIBIS.TMP' -- the scroll will be disabled ,though.  The session may be
gracefully aborted with the ^D key or by typing "quit"; no changes or
temp files.

RESTRICTIONS

The maximum number of columns allowed for IBIS-1 tabular files
and GRAPHICS-1 files is 40, and for IBIS-2 files the limit is 1024.
There is no limit on the column length.
The each cell may occupy no more than 64 characters on the display.

Original Programmer:   Frank Evans	January 1987

Cognizant Programmer:  Ray Bambery 

Revision       8		02 September 2013

       REVISION HISTORY
            
               Rev 8           RJB             02 September 2013
               --- Changed mabend call to xvmessage + abend. Had
                    some kind of buffer overrun on output with mabend
               Rev 7           RJB             30 August 2013
               --- Changed a variable that failed in AFIDS
                   autotools make environment (VERSION to VERS) 

               Rev 6           RJB             08 December 2012
               --- Fixes edibis_windows.c and dibis_terminal.c
                   For POSIX compliance with RedHat Linus 6.2 and 
                   MacOSX 10.7.4

               Rev 5           RJB             14 August 2011
               --- Fixes for gcc 4.4.4 under Linux
                   In SUBROUTINE CONVERT_STRING_TO_COMMAND
                   had to add new call CALL FIND_ROWCOL
                   THISROW and THISCOL are found from list directed read
                   in gcc 4.4.4:
                   READ (CMDLINE(CMDPOS:),*,ERR=332) THISCOL i
                   does not detect properly the trailing ")" as a terminator
                   It gives an error, where the older compilers evidently 
                   recognized ")" as a proper terminator

               REV 4           NDR             17 November 1994
               --- Changed code to use direct IBIS2 routines
                   for forward compatibility. Converted all
                   FORTRAN I/O to C for portable coding.
                   Added scripting and command-line features.
                   and portable "curses" library windowing.

               REV 3           NDR             4 February 1991
               --- FIXED BUG CAUSING LOCKOUT WHEN "NEXT SCRN"
                   KEYS HIT ON WYSE TERMINALS (FAILED IN INPUTKEY).
                   Ref:   FR #66574 by C. Avis

               REV 2           NDR             7 October 1987
               --- ADDED SEARCH AND QUIT COMMANDS



PARAMETERS:


INP

The input IBIS tabular file.

OUT

The output IBIS tabular file. (optional).

NCOL

The number of columns. Only if output file.

LCOL

The column length. Only if output file.

COLS

The columns in the input file to copy to output file. Default is all columns.

FORMAT

The initial column format. Fortran format statement.

SCRNSIZE

The number of columns on the screen to use.

VERSION

Create IBIS-1 or IBIS-2 file?

ORG

File organized by ROW/COLUMN?

HOST

Host Data format(IBIS-2 only)

CFORMAT

Column Formats (IBIS-2 only)

GR1DIM

GRAPHICS-1 file dimension

DEFFMT

Default column data format

COMMANDS

Commands for Batch-processing

SCRATCH

Name of working scratch file

MODE

Open file read-only?

See Examples:


Cognizant Programmer: