home *** CD-ROM | disk | FTP | other *** search
Text File | 1989-06-10 | 49.4 KB | 1,708 lines |
- Newsgroups: comp.sources.misc
- From: allbery@uunet.UU.NET (Brandon S. Allbery - comp.sources.misc)
- Subject: v07i025: CRISP release 1.9 part 04/32
- Organization: Reuters Ltd PLC, Marlow, England
- Reply-To: fox@marlow.UUCP (Paul Fox)
-
- Posting-number: Volume 7, Issue 25
- Submitted-by: fox@marlow.UUCP (Paul Fox)
- Archive-name: crisp1.9/part05
-
-
-
- #!/bin/sh
- # this is part 4 of a multipart archive
- # do not concatenate these parts, unpack them in order with /bin/sh
- # file help/crisp/prim/C.cmd continued
- #
- CurArch=4
- if test ! -r s2_seq_.tmp
- then echo "Please unpack part 1 first!"
- exit 1; fi
- ( read Scheck
- if test "$Scheck" != $CurArch
- then echo "Please unpack part $Scheck next!"
- exit 1;
- else exit 0; fi
- ) < s2_seq_.tmp || exit 1
- echo "x - Continuing file help/crisp/prim/C.cmd"
- sed 's/^X//' << 'SHAR_EOF' >> help/crisp/prim/C.cmd
- X expression list_expr.
- X
- X Since lists may contain any data type, it is probably wise
- X to assign the result of a car operation to a polymorphic
- X variable, so that its type can be ascertained.
- X
- XEXAMPLES:
- X
- X The following example prints a message saying what type
- X the variable at the head of a list is:
- X
- X (list llist)
- X (message "Type is %s." (typeof (car llist)))
- X.HU cd
- XSYNOPSIS: (cd [path])
- X
- XRETURN VALUE:
- X
- X 0 if unsuccessful; non-zero if path changed.
- X
- XDESCRIPTION:
- X
- X This macro changes the current working directory. If path
- X is omitted, then the current path is displayed on the
- X status line.
- X
- XEXAMPLES:
- X
- X Display current path on screen:
- X
- X (cd)
- X
- X Change to users home directory:
- X
- X (cd (inq_environment "HOME"))
- X.HU cdr
- XSYNOPSIS: (cdr list_expr)
- X
- XRETURN VALUE:
- X
- X Returns the list formed by deleting the first element of
- X the list, list_expr.
- X
- XDESCRIPTION:
- X
- X The (cdr) macro is used to create a new list out of an
- X existing list by removing the first atom in the list.
- X
- X Using (car) and (cdr), macros can be written which
- X manipulate all elements on a list. However, it is more
- X efficient to use (nth) to extract individual elements,
- X since internally it avoids having to copy sub-lists.
- X.HU change_window
- XSYNOPSIS: (change_window [direction])
- X
- XRETURN VALUE:
- X
- X Returns 0 if unsuccessful; 1 if successful.
- X
- XDESCRIPTION:
- X
- X This macro is used to move to another window. direction
- X specifies in which direction to select the window. If it
- X is omitted, then the user is prompted to select the
- X window, by using the cursor keys.
- X
- X If direction is specified, it should have one of the
- X following values:
- X
- X 0 Up
- X 1 Right
- X 2 Down
- X 3 Left.
- X.HU color
- XSYNOPSIS: (color [background] [normal] [region] [messages]
- X [errors] [hilite])
- X
- XRETURN VALUE:
- X
- X Nothing.
- X
- XDESCRIPTION:
- X
- X This macro is used to control the colors that CRISP uses
- X on a color display. (The values are ignored for monochrome
- X displays).
- X
- X If any parameter is omitted, then the value is prompted for.
- X
- X background is the color for the background of normal text.
- X normal is the color associated with text in the editing
- X windows. region is the color of text when it is marked in
- X a region. messages is the color for normal messages on the
- X status line. errors is the colors for error messages on
- X the status line. hilite is used to indicate the relationship
- X between highlited text and its background.
- X
- X The colors are integers which are defined below.
- X
- X 0 Black
- X 1 Blue
- X 2 Green
- X 3 Cyan
- X 4 Red
- X 5 Magenta
- X 6 Brown (or dark yellow)
- X 7 White
- X 8 Dark Grey
- X 9 Light Blue
- X 10 Light Green
- X 11 Light Cyan
- X 12 Light Red
- X 13 Light Magenta
- X 14 Light Yellow
- X 15 Light White.
- X.HU command_list
- XSYNOPSIS: (command_list)
- X
- XRETURN VALUE:
- X
- X Returns a list consisting of a sequence of strings which
- X are the names of all the CRISP macro primitives and all
- X currently defined macro names.
- X
- XDESCRIPTION:
- X
- X This macro is used to get a list of all the keywords in
- X CRISP. Its primary purpose is to support the help macro
- X package, and avoids hardcoding the macro primitives into a
- X macro or text file.
- X
- X See all (macro_list).
- X.HU compress
- XSYNOPSIS: (compress string)
- X
- XRETURN VALUE:
- X
- X Returns a copy of string with all spaces, tabs and newlines
- X mapped to single spaces.
- X
- XDESCRIPTION:
- X
- X This macro takes a string and removes all multiple white
- X space characters (spaces, tabs and newlines).
- X.HU connect
- XSYNOPSIS: (connect [mode] [shell])
- X
- XRETURN VALUE:
- X
- X Returns 0 if buffer already connected; returns 1 if buffer
- X has been successfully connected.
- X
- XDESCRIPTION:
- X
- X This macro is used to create a sub-process and associate
- X it with the current buffer.
- X
- X mode specifies some flags which are defined below. By
- X default, the process created is a shell process, and the
- X shell is got from the SHELL environment variable. If shell
- X is specified, then it is taken as the pathname of a shell
- X to execute.
- X
- X Output from a sub-process is automatically inserted into
- X the buffer, at a position known as the process position
- X (see (inq_process_position), (set_process_position)). This
- X position is analagous to the usual input cursor.
- X
- X Any text which would normally be inserted into the buffer
- X via (self_insert), (insert) or (paste) is also forwarded
- X to the sub-process.
- X
- X CRISP implements sub-processes out of pipes or pty's
- X depending on the availability of the underlying Unix
- X implementation. When using pipes, CRISP samples the output
- X from the pipe on a 1 second interval. Ptys have better
- X interaction since the select() system call is used.
- X
- X mode is a set of flags which have the following meaning:
- X
- X 0x01 If this bit is set, then the buffer operates in
- X echo mode, ie the characters which are typed are
- X inserted into the buffer. If this bit is not
- X set, then the buffer operates in no-echo mode,
- X and the characters the user types are not
- X directly inserted into the buffer, but instead
- X only the output from the sub-process.
- X
- X 0x8000 This is the wait mode of operation. Normally
- X when a buffer is created, the output from the
- X subprocess is inserted directly into the buffer.
- X Setting this bit causes the output from the
- X process to be held onto, until the calling macro
- X issues a (wait) or (waitfor) macro call.
- X
- X (connect) may be called after a buffer has been connected
- X to change the mode flag.
- X.HU continue
- XSYNOPSIS: (continue)
- X
- XRETURN VALUE:
- X
- X Nothing.
- X
- XDESCRIPTION:
- X
- X This macro is used to finish the current iteration of a
- X (while) loop, and go back to the top of the loop, causing
- X the while condition to be re-evaluated.
- X
- X This works similar to the C continue statement.
- X.HU copy
- XSYNOPSIS: (copy [append])
- X
- XRETURN VALUE:
- X
- X Nothing.
- X
- XDESCRIPTION:
- X
- X (copy) copies the currently marked region to the scrap
- X buffer, and un-highlites the currently marked region.
- X
- X If append is specified and is non-zero, then the text is
- X appended to the current scrap without deleting it first.
- X It is not currently implemented.
- X.HU create_buffer
- XSYNOPSIS: (create_buffer buffer-name [file-name] [system])
- X
- XRETURN VALUE:
- X
- X Returns the buffer identifier associated with the newly
- X created buffer.
- X
- XDESCRIPTION:
- X
- X This macro is used to create a new buffer. The buffer is
- X given the name "buffer-name" which may be any sequence of
- X ASCII characters. This buffer name is used to label the
- X top of any windows the buffer is attached to (see
- X attach_buffer). Care should be chosen in selecting buffer
- X names, since the top title on any displayed window may be
- X truncated if the window is not wide enough to handle the
- X title.
- X
- X "file-name" is the full or relative path name of a file
- X which should be read into the buffer. If this parameter is
- X omitted, then an initially empty buffer will be created.
- X The "file-name" read into the buffer is saved for later
- X use, if the buffer is saved (via write_buffer).
- X
- X [system] is an optional integer which indicates whether
- X the buffer is to be a system buffer or user buffer. If it
- X is 0 or omitted, then the buffer is a user buffer; a
- X non-zero value indicates a system buffer. System buffers
- X are like normal buffers, except for two side-effects - no
- X (undo) information is saved for operations on system
- X buffers, and most high-level macros tend to ignore system
- X buffers, eg the (buffer_list) macro does not usually
- X display system buffers.
- X
- X System buffers are for use by user macros or CRISP
- X supplied macros and provide a way of storing information
- X without getting in the way of the user. (undo) information
- X is not saved for these buffers, and thus means that
- X operations on system buffers are slightly faster than
- X normal buffers. It is not important that (undo)
- X information is not stored with these buffers, because
- X these buffers tend to only be manipulated by the various
- X macros - not directly by the user.
- X
- XEXAMPLES:
- X
- X The following example shows how to create a buffer and
- X display it in the current window. (edit_file) may be more
- X appropriate for this particular task, but the example is
- X illustrative.
- X
- X (int newbuf)
- X
- X (= newbuf (create_buffer "My Buffer" "myfile.txt"))
- X (attach_buffer newbuf)
- X // Refresh screen with buffer contents.
- X (refresh)
- X.HU create_edge
- XSYNOPSIS: (create_edge [direction])
- X
- XRETURN VALUE:
- X
- X Returns 0 if unsuccessful; 1 if successful.
- X
- XDESCRIPTION:
- X
- X This macro is used to split the current window. The window
- X is split in the direction specified. If direction is not
- X specified then the user is prompted, and can use the arrow
- X keys to indicate the direction of the split.
- X
- X If direction is specified, it should have one of the
- X following values:
- X
- X 0 Up
- X 1 Right
- X 2 Down
- X 3 Left.
- X.HU create_window
- XSYNOPSIS: (create_window left_x bottom_y right_x top_y [message])
- X
- XRETURN VALUE:
- X
- X Nothing.
- X
- XDESCRIPTION:
- X
- X This macro is used to create a new window. left_x,
- X bottom_y, right_x and top_y specifies the co-ordinates of
- X the window.
- X
- X message is an optional string expression, which if
- X specified is a message to appear centered on the bottom
- X line of the window.
- X
- X Be careful not to create windows which do not fit within
- X the physical screen, otherwise CRISP may crash.
- X
- X The new window created becomes the current window - its id
- X can be inquired via (inq_window).
- X.HU cut
- XSYNOPSIS: (cut [append])
- X
- XRETURN VALUE:
- X
- X Nothing.
- X
- XDESCRIPTION:
- X
- X The currently highlited region is copied to the scrap
- X buffer and the region deleted from the current buffer.
- X
- X If append is specified and is non-zero, then the highlited
- X region is appended to the end of the scrap buffer, without
- X first clearing it. This is not currently implemented.
- SHAR_EOF
- echo "File help/crisp/prim/C.cmd is complete"
- chmod 0644 help/crisp/prim/C.cmd || echo "restore of help/crisp/prim/C.cmd fails"
- mkdir help help/crisp help/crisp/prim >/dev/null 2>&1
- echo "x - extracting help/crisp/prim/D.cmd (Text)"
- sed 's/^X//' << 'SHAR_EOF' > help/crisp/prim/D.cmd &&
- X.HU date
- XSYNOPSIS: (date [year] [mon] [day] [month-name] [day-name])
- X
- XRETURN VALUE:
- X
- X Nothing.
- X
- XDESCRIPTION:
- X
- X This macro retrieves the current date. year, mon and day
- X are optional integer variable names which receive the
- X current year, month number, and day of month number. Year
- X is of the form 1988; mon is in the range 1-12; day is in
- X the range 1-31.
- X
- X month-name is an optional string variable, and contains
- X the name of the month, in the format: January; day-name is
- X an optional string variable containing the day of the
- X week, in the form: Saturday.
- X
- XEXAMPLES:
- X
- X The following example can be used to print an american
- X date string:
- X
- X (int day mon year)
- X (date year mon day)
- X (message "%02/%02/%02" mon day (- 1900 year))
- X.HU debug
- XSYNOPSIS: (debug [n])
- X
- XRETURN VALUE:
- X
- X Nothing.
- X
- XDESCRIPTION:
- X
- X debug turns on or off the macro trace mode. When debug is
- X on, CRISP traces the execution of every macro statement,
- X and in addition traces assignments to the accumulators
- X (integer, string and list).
- X
- X This is the primary means of debugging macros.
- X
- X If n is omitted, then debugging is toggled and a message
- X is printed on the status line saying whether debug is on
- X or off.
- X
- X By default, debug toggles between 0 and 1. By specifying a
- X value for the debug macro, other events in CRISP can be
- X traced. The other bits are mostly for debugging CRISP
- X itself, and include the ability to trace the following:
- X
- X 0x01 Trace macro execution.
- X 0x02 Trace regular expression parsing.
- X 0x04 Trace buffer (undo) information.
- X 0x08 Turns on tracing for the prompt history code.
- X
- X When debug is turned on, all debug output is put in the
- X file 'crisp.log'. There is no way to change the name of
- X this file at present. When the debug is turned on, any
- X existing crisp.log file is truncated.
- X
- X If the user is trying to debug a macro which causes CRISP
- X to core dump, then CRISP should be run with the -f flag.
- X This causes all debug info to be flushed to the log file
- X as it is produced, rather than using the stdio buffering.
- X By default this is off, since it significantly slows CRISP
- X down due to the high volume of output.
- X
- XEXAMPLES:
- X
- X The following is a small trace of debug output caused by
- X reformatting this paragraph with the ^F key.
- X
- X KEY_EXEC: objects format_block
- X (objects "format_block" )
- X Execute macro: objects
- X 02:.......(string ext function macro_name )
- X (int arg1 )
- X (get_parm 0 function )
- X function := 'format_block'
- X (get_parm 1 arg1 )
- X ACC = 0
- X (inq_names NULL ext NULL )
- X (assign_to_key "^N" "objects next_error" )
- X (assign_to_key "^P" "objects previous_error" )
- X (= macro_name (..) )
- X (+ ext (..) )
- X lookup ext -> "cmd"
- X (+ "-" function )
- X lookup function -> "format_block"
- X SACC = '-format_block'
- X SACC = 'cmd-format_block'
- X macro_name := 'cmd-format_block'
- X SACC = 'cmd-format_block'
- X (if (..) (..) )
- X (! (..) )
- X (inq_macro macro_name )
- X lookup macro_name -> "cmd-format_block"
- X ACC = 0
- X ACC = 1
- X (= macro_name (..) )
- X (+ "default-" function )
- X lookup function -> "format_block"
- X SACC = 'default-format_block'
- X macro_name := 'default-format_block'
- X SACC = 'default-format_block'
- X SACC = 'default-format_block'
- X (execute_macro macro_name arg1 )
- X lookup macro_name -> "default-format_block"
- X.HU declare
- XSYNOPSIS: (declare var1 var2 ..)
- X
- XRETURN VALUE:
- X
- X Nothing.
- X
- XDESCRIPTION:
- X
- X This macro is used to define one or more polymorphic
- X variables. Polymorphic variables are variables that may
- X take on any of the available CRISP data types (integer,
- X string or list), depending on context.
- X
- X Polymorphic variables are most useful when dealing with
- X lists which contain unknown data types.
- X
- X The variables declared are made into local variables,
- X unless a (global) declaration follows.
- X
- X By default, polymorphic variables are typed as integers,
- X and are given the value zero.
- X.HU del
- XSYNOPSIS: (del filename)
- X
- XRETURN VALUE:
- X
- X Zero or less if unsuccessful; greater than zero means the
- X file was successfully deleted.
- X
- XDESCRIPTION:
- X
- X This macro is used to delete a file, as specified by the
- X string expression 'filename'.
- X
- X Wild-cards, etc, are not valid in 'filename'.
- X.HU delete_block
- XSYNOPSIS: (delete_block)
- X
- XRETURN VALUE:
- X
- X Nothing.
- X
- XDESCRIPTION:
- X
- X The currently highlited block is deleted.
- X.HU delete_buffer
- XSYNOPSIS: (delete_buffer bufnum)
- X
- XRETURN VALUE:
- X
- X No value is returned.
- X
- XDESCRIPTION:
- X
- X This command deletes the buffer specified by bufnum. The
- X entire buffer contents are freed, and any other resources
- X attached to that buffer are destroyed as well. In the case
- X of a process buffer, the subprocess is killed.
- X
- X Any attempt to (set_buffer) to a buffer which has been
- X deleted will fail.
- X
- X Care should be taken with (delete_buffer) since no tests
- X are made to see if the buffer being deleted is currently
- X displayed. If a currently displayed buffer is deleted,
- X then CRISP may core-dump. Macros using (delete_buffer)
- X should be carefully tested to ensure this does not happen,
- X eg by calling (inq_views).
- X
- XEXAMPLES:
- X
- X The following example creates a temporary buffer and then
- X deletes it after restoring the current buffer at the time
- X of the macro is invoked.
- X
- X (int newbuf)
- X (int curbuf)
- X
- X (= curbuf (inq_buffer))
- X (= newbuf (create_buffer "Example" NULL 1))
- X (set_buffer newbuf)
- X .
- X .
- X
- X (set_buffer curbuf)
- X (delete_buffer newbuf)
- X.HU delete_char
- XSYNOPSIS: (delete_char [num])
- X
- XRETURNS:
- X Nothing.
- X
- XDESCRIPTION:
- X
- X This macro deletes one or more characters from the current
- X buffer. If num is not specified, then 1 character is
- X deleted; if num is specified then that number of
- X characters are deleted. The deleted characters are on and
- X to the right of the current buffer position.
- X
- X This macro is the default assignment for the <Delete> key
- X on the keyboard.
- X.HU delete_edge
- XSYNOPSIS: (delete_edge [direction])
- X
- XRETURN VALUE:
- X
- X Returns <= 0 if unsuccessful; >0 otherwise.
- X
- XDESCRIPTION:
- X
- X This macro can be used to delete a window on-screen. It is
- X used by specifying an edge, and if there is another window
- X which adjoins the edge, then the edge is deleted and the
- X two windows combined into one.
- X
- X direction specifies the edge to delete and if not
- X specified, is prompted for, and the user can use the arrow
- X keys to specify the edge.
- X
- X When using this macro, the edge to be deleted must not be
- X obscured by other edges, ie only tiled window support is
- X allowed for this macro.
- X
- X If direction is specified, it should have one of the
- X following values:
- X
- X 0 Up
- X 1 Right
- X 2 Down
- X 3 Left.
- X.HU delete_line
- XSYNOPSIS: (delete_line)
- X
- XRETURNS:
- X
- X Nothing.
- X
- XDESCRIPTION:
- X
- X This macro deletes the line the cursor is currently on.
- X The cursor is placed at the same column position in the
- X line below the one deleted.
- X
- XEXAMPLES:
- X
- X The following example assigns the (delete_line) macro to
- X the <ALT-D> key (the usual case).
- X
- X (assign_to_key "<Alt-D>" "delete_line")
- X.HU delete_macro
- XSYNOPSIS: (delete_macro [file])
- X
- XRETURN VALUE:
- X
- X Nothing.
- X
- XDESCRIPTION:
- X
- X This macro is used to delete all macros which were loaded
- X from a particular macro file. file is a string expression
- X and if omitted is prompted for, containing the name of the
- X file.
- X
- X This is currently a no-op in CRISP - macros are not
- X deleteable entities. The storage allocated for a macro is
- X lost when a macro by the same name is loaded from
- X another file.
- X.HU delete_to_eol
- XSYNOPSIS: (delete_to_eol)
- X
- XRETURNS:
- X
- X Nothing.
- X
- XDESCRIPTION:
- X
- X This macro deletes all characters up to the end of the
- X line in the current buffer.
- X.HU delete_window
- XSYNOPSIS: (delete_window)
- X
- XRETURN VALUE:
- X
- X Nothing.
- X
- XDESCRIPTION:
- X
- X This macro can be used to delete the current window. It
- X can be used on overlapping or tiled windows (unlike BRIEF
- X which limits (delete_window) to overlapped windows only).
- X
- X Another window should be selected (via (set_window))
- X before trying to refresh the screen, otherwise CRISP may
- X crash.
- X.HU disconnect
- XSYNOPSIS: (disconnect)
- X
- XRETURN VALUE:
- X
- X Nothing.
- X
- XDESCRIPTION:
- X
- X This macro is used to kill a sub-process attached to a
- X buffer. The subprocess is sent a SIGTERM followed by a
- X SIGKILL signal.
- X.HU display_mode
- XSYNOPSIS: (display_mode [mode])
- X
- XRETURN VALUE:
- X
- X Returns previous value of display mode.
- X
- XDESCRIPTION:
- X
- X The display mode is a special mode for use on terminals
- X which cannot display characters with the top bit set. The
- X mode defines whether these characters should be displayed
- X in octal or hexadecimal. Octal characters appear as a
- X backslash followed by three octal digits. Hex characters
- X appear as a backslash followed by an 'x' followed by two
- X hex digits.
- X
- X The default is hexadecimal.
- X
- X If mode is 1, then the mode is set to hexadecimal. If 2,
- X then octal.
- X.HU distance_to_tab
- XSYNOPSIS: (distance_to_tab)
- X
- XRETURNS:
- X
- X Number of characters between current cursor location and
- X next tab stop.
- X
- XDESCRIPTION:
- X
- X This macro returns the number of characters between the
- X current cursor location and the next tab stop, even if
- X there are no more characters after the cursor. This number
- X will always be > than zero.
- X
- X If the cursor is on a tab stop, then the number of
- X characters to the next tab stop are returned.
- X.HU dos
- XSYNOPSIS: (dos [command] [use_shell] [completion])
- X
- XRETURN VALUE:
- X
- X Returns the shell exit status (under Unix, 0 means command
- X exited successfully, non-zero means command failed for
- X some reason).
- X
- XDESCRIPTION:
- X
- X This macro exists for compatability with BRIEF; please see
- X the (shell) command for further information.
- X.HU down
- XSYNOPSIS: (down [lines])
- X
- XRETURN VALUE:
- X
- X Nothing.
- X
- XDESCRIPTION:
- X
- X Moves the cursor to the same column on the line below. If
- X lines is specified then cursor is moved to the lines'th
- X line after the current. lines may be negative in which
- X case the cursor moves backwards.
- X.HU drop_anchor
- XSYNOPSIS: (drop_anchor [type])
- X
- XRETURN VALUE:
- X
- X Nothing.
- X
- XDESCRIPTION:
- X
- X This macro is used to define a region within the current
- X buffer. type specifies the type of region, and the values
- X are given below. If omitted a normal marked region is
- X selected.
- X
- X Regions are areas of a buffer upon which some macros have
- X special effects, eg (cut) and (copy) are used to extract
- X fragments of buffers and save them for later re-insertion.
- X The (search_fwd) and (search_back) macros can be told to
- X limit their searches to the highlited regions, etc.
- X
- X Regions are displayed on screen either in a different
- X color, or in reverse video so that they stand out.
- X
- X The following are the different region types:
- X
- X 1 Normal
- X 2 Column
- X 3 Line
- X 4 Non-inclusive.
- X
- X A normal mark is a region which encompasses from the place
- X where the anchor was dropped upto and including the
- X current cursor position. A non-inclusive mark is the same
- X but does not include the current cursor position.
- X
- X A line mark selects entire lines, and allows for easy
- X movement of text from one part of a buffer to another.
- X
- X A column mark is similar to a normal mark, except it
- X displays differently on screen, and allows rectangular
- X sections of the current buffer to be marked.
- X
- X The currently selected marked area can be found, via
- X (inq_marked). Column operations are not directly supported
- X by CRISP internally, but instead are supported by the
- X macros supplied with CRISP.
- X
- X Regions are nestable, ie multiple (drop_anchor)'s can be
- X issued without any intervening (raise_anchor).
- X
- X The marked region can be cleared by calling (raise_anchor)
- X or performing a (copy) or (cut) operation on the buffer.
- X.HU drop_bookmark
- XSYNOPSIS: (drop_bookmark [book_num] [yes] [buf] [line] [col])
- X
- XRETURN VALUE:
- X
- X Nothing.
- X
- XDESCRIPTION:
- X
- X This macro is used to set a bookmark. A bookmark is like a
- X normal bookmark - it is a place holder in a buffer.
- X book_num specifies the bookmark number 1-10; yes is a
- X string which is ignored.
- X
- X If buf, line & col are non-NULL, then bookmark book_num is
- X set to the specified buffer at the designated line and
- X column position. If buf, line or col are NULL then the
- X bookmark is set from the current buffer, line and column
- X position.
- SHAR_EOF
- chmod 0644 help/crisp/prim/D.cmd || echo "restore of help/crisp/prim/D.cmd fails"
- mkdir help help/crisp help/crisp/prim >/dev/null 2>&1
- echo "x - extracting help/crisp/prim/E.cmd (Text)"
- sed 's/^X//' << 'SHAR_EOF' > help/crisp/prim/E.cmd &&
- X.HU echo_line
- XSYNOPSIS: (echo_line [flags])
- X
- XRETURN VALUE:
- X
- X Previous value of flags.
- X
- XDESCRIPTION:
- X
- X The (echo_line) macro is used to control which fields are
- X visible in the status line. If flags is omitted then the
- X current setting is returned.
- X
- X flags is an integer expression, whose bit pattern is
- X interpreted as follows:
- X
- X 0x01 Line: field enabled.
- X 0x02 Col: field enabled.
- X 0x04 Percentage through file enabled.
- X 0x08 Current time enabled.
- X 0x10 REmember/PAuse reminders enabled.
- X 0x20 Cursor type displayed.
- X
- X The cursor type is only used if the screen cannot change
- X the cursor type to indicate insert/overtype and
- X normal/virtual space.
- X
- X.HU edit_file
- XSYNOPSIS: (edit_file [file1] [file2] ..)
- X
- XRETURN VALUE:
- X
- X Nothing.
- X
- XDESCRIPTION:
- X
- X This macro is the usual way of editing a file; if a buffer
- X is already allocated for the file, then that is set as the
- X current buffer. Otherwise a new buffer is created, the
- X contents of the named file are read into that, and the
- X filename is associated with that buffer (so that later on
- X a (write_buffer) can be used to save any changes made to
- X the buffer).
- X
- X This macro supports wild-cards and the ability to edit
- X multiple files at once. If more than one argument is
- X specified, then a separate (edit_file) is performed on
- X each file, and the current buffer is set to the last file
- X read in.
- X
- X The normal c-shell wildcards are supported:
- X
- X * wild-card -- matches any number of characters.
- X ? wild-character -- matches any single character.
- X [l-m] any character in range at this character.
- X ~/ as first part of filename matches home directory
- X ~user/ matches 'user's home directory.
- X
- X If no filenames are specified, the user is prompted for a
- X filename.
- X
- XEXAMPLES:
- X
- X The following example can be used to read in all .c files
- X in the current directory:
- X
- X (edit_file "*.c")
- X.HU ega
- XSYNOPSIS: (ega [mode])
- X
- XRETURN VALUE:
- X
- X Previous value of EGA mode.
- X
- XDESCRIPTION:
- X
- X This macro can be used to toggle between EGA 25 line mode
- X and EGA 43 line mode -- only if CRISP is running under
- X Unix V.3.2 or above on an EGA console.
- X
- X If mode is not specified, then only the current EGA state
- X is returned.
- X.HU enable_display
- XSYNOPSIS: (enable_display [enable])
- X
- XRETURN VALUE:
- X
- X Nothing.
- X
- XDESCRIPTION:
- X
- X This macro is used to enable the display. By default when
- X CRISP starts up, the code for updating the screen is
- X disabled. The startup macros initialise CRISPs internal
- X character translation tables and then call this macro to
- X allow CRISP to proceed.
- X
- X If enable is not specified, then the current value is
- X toggled. If it is non-zero, then the display is enabled.
- X
- X If the display is not enabled, then CRISP can be used as a
- X normal programming language, in the style of awk and sed,
- X using the command line arguments to load and execute a file.
- X.HU end_of_buffer
- XSYNOPSIS: (end_of_buffer)
- X
- XRETURN VALUE:
- X
- X Nothing.
- X
- XDESCRIPTION:
- X
- X Moves the cursor to the end of the last line in the
- X current buffer.
- X.HU end_of_line
- XSYNOPSIS: (end_of_line)
- X
- XRETURN VALUE:
- X
- X Nothing.
- X
- XDESCRIPTION:
- X
- X Moves the cursor to the end of the current line.
- X.HU end_of_window
- XSYNOPSIS: (end_of_window)
- X
- XRETURN VALUE:
- X
- X Returns 1 if cursor moved; 0 if cursor stayed in the same
- X position.
- X
- XDESCRIPTION:
- X
- X Moves the cursor to the last line of the window. The
- X cursor stays in the same column position.
- X.HU error
- XSYNOPSIS: (error fmt [arg1] [arg2] ..)
- X
- XRETURN VALUE:
- X
- X Nothing.
- X
- XDESCRIPTION:
- X
- X This macro is used to print a message on the status
- X (prompt) line. fmt is a string with possible embedded
- X printf-like % options. arg1, arg2, .. are optional
- X arguments (upto 4 parameters) which either evaluate to
- X strings or integer values.
- X
- X The % options are the same as for the underlying printf()
- X which the system supports. (Internally the string coding
- X is handled by sprintf). Please see the description of the
- X (message) macro for a list of the minimum supported set of
- X % options.
- X
- X This macro is similar to (message) except that the message
- X string is classified as an error. Error messages are
- X printed in the error color (see (color)).
- X
- X In addition, if the pause_on_error flag has been set (see
- X (pause_on_error)) then the error message is displayed
- X suffixed with a '..' and CRISP waits for the user to type
- X any key to continue. This is useful in debugging.
- X
- X Error messages are truncated if they are too long.
- X
- XEXAMPLES:
- X
- X (string mac)
- X (= mac "fred")
- X (error "Macro %s not loaded." mac)
- X ; displays the message 'Macro fred not loaded.')
- X
- X (error "%02d/%02d/%02d" 2 25 88)
- X ; displays '02/25/88'
- X.HU execute_macro
- XSYNOPSIS: (execute_macro [macro] [args])
- X
- XRETURN VALUE:
- X
- X Returns the value of (macro args).
- X
- XDESCRIPTION:
- X
- X This macro is used to execute another macro. It is needed
- X because it is the only way to execute a macro which is
- X defined by a string expression, rather than by virtue of
- X the CRISP language syntax.
- X
- X macro should be a string expression and if omitted is
- X prompted for; args are optional and are the arguments
- X passed to the macro.
- X.HU exist
- XSYNOPSIS: (exist filename)
- X
- XRETURN VALUE:
- X
- X Non-zero if filename exists; zero if file does not exist.
- X
- XDESCRIPTION:
- X
- X Checks for existence of file. The existence of the file is
- X performed by doing a stat() call on the named file.
- X Therefore this can be used for all file types (including
- X character/block devices, etc).
- X.HU exit
- XSYNOPSIS: (exit)
- X
- XRETURN VALUE:
- X
- X Nothing.
- X
- XDESCRIPTION:
- X
- X This macro is used to exit from CRISP, or from a recursive
- X (process) macro invocation.
- X
- X If called at the bottom level of CRISP, CRISP goes through
- X its exit procedure and prompts the user if he/she is sure,
- X if there are any buffers which have been modified.
- X
- X If called from within a nested invocation of (process), on
- X the next attempt to read keyboard input the calling
- X (process) macro will return.
- X
- X Note that CRISP currently does not support the
- X [are_you_sure] option which BRIEF supports.
- X.HU extern
- XSYNOPSIS: (extern var1 var2 ..)
- X
- XRETURN VALUE:
- X
- X Nothing.
- X
- XDESCRIPTION:
- X
- X The extern macro is provided for compatability with BRIEF.
- X In CRISP it does not do anything.
- X
- X In BRIEF it is used so that global variables defined in
- X other macro source files can be referenced without
- X resulting in undefined symbol reference errors.
- X
- X CRISP does not check for the availability of a symbol
- X until it is actually referenced at run-time.
- SHAR_EOF
- chmod 0644 help/crisp/prim/E.cmd || echo "restore of help/crisp/prim/E.cmd fails"
- mkdir help help/crisp help/crisp/prim >/dev/null 2>&1
- echo "x - extracting help/crisp/prim/G.cmd (Text)"
- sed 's/^X//' << 'SHAR_EOF' > help/crisp/prim/G.cmd &&
- X.HU get_parm
- XSYNOPSIS: (get_parm [arg] var [prompt] [length] [default])
- X
- XRETURN VALUE:
- X
- X Zero if user aborted prompt, or argument number does not
- X exist. Greater than zero if successful.
- X
- XDESCRIPTION:
- X
- X (get_parm) is the mechanism for accessing parameters
- X passed to macros. (get_parm) can also be used to prompt
- X the user for input, and possibly specify a default value.
- X
- X Arguments passed to macros are numbered, zero upwards. If
- X arg is specified, then it is evaluated to the value of the
- X argument number to be retrieved. If it is NULL, then the
- X user is prompted for the value, in which case prompt is
- X the message to prompt the user, and default (if specified)
- X is the default value which the user can then edit, using
- X the command line editing. If length is specified, it is
- X the maximum number of characters in the user's input
- X (usually used only for string variables). The users input
- X is terminated by hitting <Enter> or reaching the length.
- X
- X var is the name of an integer, string or list variable. If
- X the user is being prompted, then only integer and string
- X expressions may be input. List expressions are not
- X supported.
- X
- X Arguments passed to macros are passed as call by name, ie
- X every time a (get_parm) is issued on a particular
- X parameter, that parameter is re-evaluated. This can be
- X very useful sometimes, and at other times it can cause
- X anomalous side-effects.
- X
- X.HU get_term_characters
- XSYNOPSIS: (get_term_characters [top_left] [top_right]
- X [bot_left] [bot_right]
- X [vertical] [horizontal]
- X [top_join] [bot_join] [cross]
- X [left_join] [right_join])
- X
- XRETURN VALUE:
- X
- X Nothing.
- X
- XDESCRIPTION:
- X
- X This macro can be used to find out the current settings
- X for the various characters which make up the special
- X characters needed to display the window borders on the
- X screen.
- X
- X Each parameter is the name of a string variable to receive
- X the string expression. Any of the parameters may be omitted.
- X
- X This macro is designed to allow macros to be written which
- X make it easier for the user to tailor the display.
- X
- X Refer to (set_term_characters) for further detail on the
- X meaning of each of these characters.
- X.HU get_term_features
- XSYNOPSIS: (get_term_features [space] [char] [icursor]
- X [ocursor] [vicursor] [vocursor]
- X [escape] [repeat] [zerom]
- X [color])
- X
- XRETURN VALUE:
- X
- X Nothing.
- X
- XDESCRIPTION:
- X
- X This macro is used to retrieve the terminal options which
- X the current display supports. All the parameters are the
- X names of string variables, except for zerom and color
- X which are the names of integer variables.
- X
- X Refer to (set_term_features) for a description of the
- X meaning of each feature.
- X
- X This macro is designed to be used to allow macros to be
- X written which allow the user to easily tailor his/her
- X display environment.
- X.HU get_term_keyboard
- XSYNOPSIS: (get_term_keyboard ..)
- X
- XRETURN VALUE:
- X
- X Nothing.
- X
- XDESCRIPTION:
- X
- X This macro is designed to allow the calling macro retrieve
- X the assignments for each key, so that a user interface can
- X be written to examine and display the key bindings.
- X
- X See (set_term_keyboard) for more details of how this macro
- X is supposed to work.
- X
- X This macro has not been currently implemented.
- X.HU getpid
- XSYNOPSIS: (getpid)
- X
- XRETURN VALUE:
- X
- X Returns the current process ID (as returned via getpid()).
- X
- XDESCRIPTION:
- X
- X This function exists to allow macros to be written which
- X need to generate unique filenames. The process ID can be
- X embedded in temporary filenames to avoid clashes with any
- X other users running CRISP.
- X
- XEXAMPLES:
- X
- X The following example generates a filename for a temp file
- X in the /tmp directory.
- X
- X (string filename)
- X (sprintf filename "/tmp/gr.xx%05d" (getpid))
- X.HU global
- XSYNOPSIS: (global var1 var2 ..)
- X
- XRETURN VALUE:
- X
- X Nothing.
- X
- XDESCRIPTION:
- X
- X The global macro is used to make local variables into
- X global variables. Local variables are destroyed when the
- X macro executing them terminates. Global variables maintain
- X their value across macro invocation and occupy permanent
- X static storage.
- X
- X A variable must have been specified in a previous (int),
- X (string), (list) or (declare) statement before it can be
- X made into a global.
- X.HU goto_bookmark
- XSYNOPSIS: (goto_bookmark [book_no] [bufnum] [line] [col])
- X
- XRETURNS:
- X
- X 1 if macro was successful; 0 if bookmark invalid or prompt
- X was aborted.
- X
- XDESCRIPTION:
- X
- X book_no is an integer; bufnum, line & col are (optional)
- X names of integer variables.
- X
- X This macro is used to move the cursor to a previously
- X saved bookmark. If bufnum, line & col are all NULL or
- X omitted, then the buffer and cursor information associated
- X with book_no are selected.
- X
- X If any of bufnum, line or col are specified, then these
- X variables are modified to have that information associated
- X with the designated bookmark.
- X
- X If book_no is omitted, then the user will be prompted for
- X the bookmark number to go to.
- X
- XEXAMPLES:
- X
- X The following example gets the buffer, line & col
- X associated with bookmark 5.
- X
- X (int buf line col)
- X (goto_bookmark 5 buf line col)
- X
- X The following example jumps to bookmark 5:
- X
- X (goto_bookmark 5)
- X.HU getwd
- XSYNOPSIS: (getwd ignored dir)
- X
- XRETURN VALUE:
- X
- X Returns 1.
- X
- XDESCRIPTION:
- X
- X This function returns the current directory in the string
- X variable dir. The ignored parameter exists for
- X compatability with BRIEF which allows the calling macro to
- X specify the drive for the directory. Unix does not support
- X the concept of multiple current directories, and so is
- X ignored.
- X.HU goto_line
- XSYNOPSIS: (goto_line [line])
- X
- XRETURN VALUE:
- X
- X Nothing.
- X
- XDESCRIPTION:
- X
- X Moves the cursor to the beginning of the specified line.
- X If line is omitted it is prompted for.
- X.HU goto_old_line
- XSYNOPSIS: (goto_old_line [line])
- X
- XRETURN VALUE:
- X
- X Nothing.
- X
- XDESCRIPTION:
- X
- X When a file is read into a buffer, each line is internally
- X numbered. These internal line numbers are maintained even
- X if lines are inserted and deleted from the buffer.
- X (goto_old_line) moves the cursor to the line whose
- X original line number was line, or as near as possible if
- X the original lines have been deleted.
- X
- X This macro gets over the problem of editing a source file
- X to correct compilation errors, and the lines with errors
- X moving as text is inserted or deleted.
- X
- X If line is omitted, it is prompted for.
- X
- SHAR_EOF
- chmod 0644 help/crisp/prim/G.cmd || echo "restore of help/crisp/prim/G.cmd fails"
- mkdir help help/crisp help/crisp/prim >/dev/null 2>&1
- echo "x - extracting help/crisp/prim/I.cmd (Text)"
- sed 's/^X//' << 'SHAR_EOF' > help/crisp/prim/I.cmd &&
- X.HU if
- XSYNOPSIS: (if expr [true-list] [false-list])
- X
- XRETURN VALUE:
- X
- X Returns value of true-list if expr is true, otherwise
- X value of false-list.
- X
- XDESCRIPTION:
- X
- X The expression 'expr' is evaluated, and if it is non-zero
- X (true), the list expression 'true-list' is evaluated; if
- X expr is false, then 'false-list' is evaluated. true-list
- X and false-list are optional, in which case the result of
- X the (if) expression is undefined if they are omitted.
- X.HU index
- XSYNOPSIS: (index search-string pattern)
- X
- XRETURN VALUE:
- X
- X Returns 0 if pattern cannot be found in search-string;
- X otherwise returns the position pattern starts at in
- X search-string.
- X
- XDESCRIPTION:
- X
- X This function is used to see whether search-string
- X contains the substring pattern. A literal substring match
- X is performed. This function returns the place in
- X search-string where pattern has been located or 0 if it
- X does not occur in the search-string.
- X
- X If the user needs to search for regular expressions, then
- X the function search_string should be used instead.
- X
- XEXAMPLES:
- X
- X The following example checks to see if a string is a lower
- X case alphabetic character:
- X
- X (string letter)
- X .
- X .
- X (if (== (index "abcdefghijklmnopqrstuvwxyz" letter) 0)
- X (message "%c is upper case." letter)
- X ;else
- X (message "%c is lower case." letter)
- X.HU inq_assignment
- XSYNOPSIS: (inq_assignment key [convert])
- X
- XRETURN VALUE:
- X
- X Returns the name of a macro assigned to a keystroke or the
- X name of a keystroke assigned to a macro.
- X
- XDESCRIPTION:
- X
- X This macro can be used to find out what macro a particular
- X keyboard character is assigned to, or to which key or keys
- X a particular macro is assigned to.
- X
- X key maybe a string denoting the key sequence to be decoded
- X or an integer representing the internal key code. If key
- X is a string then it should be of the form described under
- X (assign_to_key).
- X
- X convert is an integer expression; if omitted or zero, then
- X key is treated as a keyboard character (as defined for
- X (assign_to_key)), and the name of the macro assigned to
- X that keystroke is returned. If the character is not
- X assigned to a macro, and the character is inserted into
- X the buffer when the user hits it, then the string
- X "self_insert" is returned. If there is no key assignment
- X for that key, then "nothing" is returned.
- X
- X If convert is specified and is non-zero, then 'key' is
- X taken as the name of a macro and the keys assigned to
- X invoke this macro are returned. The key assignment
- X returned is returned using the portable key definitions
- X defined for "assign_to_key".
- X
- X If more than one key stroke is assigned the same macro
- X invocation, then the returned string will contain the
- X string "<-also>" separating the key sequences.
- X
- XEXAMPLES:
- X
- X (message "%s" (inq_assignment "help"))
- X generates the message "<Alt-H>".
- X.HU inq_borders
- XSYNOPSIS: (inq_borders)
- X
- XRETURN VALUE:
- X
- X Returns zero if borders are off; non-zero if borders are on.
- X
- XDESCRIPTION:
- X
- X Not currently implemented.
- X.HU inq_brief_level
- XSYNOPSIS: (inq_brief_level)
- X
- XRETURN VALUE:
- X
- X Nothing.
- X
- XDESCRIPTION:
- X
- X This function exists for compatability with BRIEF. This
- X macro is supposed to return the level of nesting of
- X sub-shells running BRIEF/CRISP. It is not implemented in
- X CRISP, since the functionality can be gained by examining
- X the BLEVEL environment variable.
- X.HU inq_buffer
- XSYNOPSIS: (inq_buffer)
- X
- XRETURN VALUE:
- X
- X Returns the identifier associated with the current buffer.
- X
- XDESCRIPTION:
- X
- X Every buffer has an identifier (an integer value)
- X associated with it. These identifiers are allocated when
- X the buffer is created. (inq_buffer) can be used to get the
- X identifier for the current buffer, e.g. when saving the
- X current buffer in a macro, so that after the macro has
- X finished the buffer selected on entry to the macro can be
- X re-instated.
- X
- XEXAMPLES:
- X
- X The following example is typical of the code sequence used
- X in the CRISP macros on entry and exit to each macro.
- X
- X (int curbuf)
- X (= curbuf (inq_buffer))
- X .
- X .
- X (set_buffer curbuf)
- X.HU inq_buffer_flags
- XSYNOPSIS: (inq_buffer_flags [bufnum])
- X
- XRETURN VALUE:
- X
- X Flags associated with designated buffer, or -1 if the
- X designated buffer does not exist.
- X
- XDESCRIPTION:
- X
- X This macro returns the flags associated with the status of
- X the current buffer (if bufnum is omitted) or the buffer
- X whose identifier is bufnum.
- X
- X The flags returned are a set of bits with the following
- X bits being defined:
- X
- X 0x01 Buffer has been modified.
- X 0x02 Buffer will be backed up when written.
- X 0x04 Buffer is read-only.
- X 0x08 Reserved.
- X 0x10 File permissions in underlying file has
- X the 'x' (execute bit) set.
- X 0x20 Buffer has a process associated with it.
- X 0x40 Buffer contains a binary file.
- X 0x80 Buffer in ANSI mode.
- X
- X.HU inq_called
- XSYNOPSIS: (inq_called)
- X
- XRETURN VALUE:
- X
- X A string containing the name of the macro which called the
- X current macro, or "" if the macro was called from the
- X keyboard.
- X
- XDESCRIPTION:
- X
- X This macro exists so that macros can be written which need
- X to differentiate between being called directly from the
- X keyboard, or being called from another macro.
- X
- X This is especially useful when writing a (replacement)
- X macro.
- X.HU inq_cmd_line
- XSYNOPSIS: (inq_cmd_line)
- X
- XRETURN VALUE:
- X
- X Returns the field currently being typed in by user on the
- X prompt line.
- X
- XDESCRIPTION:
- X
- X This macro returns the partially typed in text which the
- X user is typing on the prompt line. It is used by various
- X macros to perform command completion.
- X.HU inq_command
- XSYNOPSIS: (inq_command)
- X
- XRETURN VALUE:
- X
- X A string containing the name of the last macro called by
- X the user.
- X
- XDESCRIPTION:
- X
- X This macro can be used to find the name of the last macro
- X which was invoked by virtue of it being bound to a
- X keyboard key.
- X.HU inq_environment
- XSYNOPSIS: (inq_environment name)
- X
- XRETURN VALUE:
- X
- X Returns a string which is the contents of the named
- X environment variable, or the null string if the variable
- X does not exist.
- X
- XDESCRIPTION:
- X
- X This function looks up 'name' in the environment and
- X returns the value of name. It is similar to the C function
- X getenv().
- X.HU inq_file_buffer
- XSYNOPSIS: (inq_file_buffer filename)
- X
- XRETURN VALUE:
- X
- X Returns the buffer identifier of the buffer which
- X currently has filename loaded; it returns 0 if the file
- X filename is not loaded into buffer.
- X
- XDESCRIPTION:
- X
- X Given the filename, this macro examines all buffers to see
- X if any buffer has the designated filename loaded into it,
- X and if so returns the buffer identifier.
- X
- X This is much faster than doing an (inq_names) on each
- X buffer to see which buffer contains filename.
- X
- X This macro is used by the (buffer_list) macro when the
- X user writes or deletes a selected entry.
- X
- XEXAMPLES:
- X
- X The following example checks to see if "fox.m" is
- X currently being edited and if not edit's it:
- X
- X (if (== (inq_file_buffer "fox.m") 0)
- X (edit_file "fox.m"))
- X.HU inq_idle_default
- XSYNOPSIS: (inq_idle_default)
- X
- XRETURN VALUE:
- X
- X Returns the value of the idle keyboard interval timer (in
- X seconds).
- X
- XDESCRIPTION:
- X
- X This function returns the interval for the idle keyboard
- X interval timer. The idle keyboard interval timer is a
- X timer which is started after the last keystroke. If no
- X keys are hit for (inq_idle_default) seconds then the type
- X 4 registered macros are called.
- X
- X The default idle timer is set by the '-i' command line
- X switch. If it is not set on the command line explicitly,
- X then CRISP uses a default value of 60 seconds.
- X.HU inq_idle_time
- XSYNOPSIS: (inq_idle_time)
- X
- XRETURN VALUE:
- X
- X Returns the number of seconds since the last key was pressed.
- X
- XDESCRIPTION:
- X
- X This function returns the number of seconds since the last
- X key was pressed. This macro is used by the autosave macros
- X to see if it is time to save the editing buffers.
- X.HU inq_kbd_char
- XSYNOPSIS: (inq_kbd_char)
- X
- XRETURN VALUE:
- X
- X Returns non-zero if there is a character to be read from
- X the keyboard; 0 if no character is available.
- X
- XDESCRIPTION:
- X
- X This macro provides a simple way of determining whether a
- X character is available to be read from the keyboard
- X without actually reading it. (See (read_char)).
- X.HU inq_keyboard
- XSYNOPSIS: (inq_keyboard)
- X
- XRETURN VALUE:
- X
- X Returns the identifier associated with the current keyboard.
- X
- XDESCRIPTION:
- X
- X This macro may be used to find out what the current
- X keyboard identifier is so that it may be restored later.
- X
- X See keyboard_push, keyboard_pop for further details on
- X keyboard identifiers.
- X.HU inq_line_length
- XSYNOPSIS: (inq_line_length [bufnum])
- X
- XRETURN VALUE:
- X
- X (inq_line_length) returns the length of the longest line,
- X or -1 if the specified buffer does not exist.
- X
- XDESCRIPTION:
- X
- X This command is used returns the length of the longest
- X line in the specified buffer (or the current buffer if
- X bufnum is omitted). The length corresponds to the column
- X position the cursor would be in if the cursor were to be
- X placed at the end of the longest line, ie it takes into
- X account any embedded tabs and control characters, etc.
- X
- X If the designated buffer has a marked region, then only
- X those lines within the marked region are looked at to find
- X the longest line.
- X
- X
- XEXAMPLES:
- X
- X The following example returns the length of the longest
- X line in the current buffer in between the current line and
- X the end of the buffer.
- X
- X # include "crisp.h"
- X .
- X .
- X (int length)
- X
- X (drop_anchor MK_LINE)
- X (save_position)
- X (= length (inq_line_length))
- X (restore_position)
- X (raise_anchor)
- X (message "Longest line = %d cols" length)
- X.HU inq_lines
- XSYNOPSIS: (inq_lines)
- X
- XRETURN VALUE:
- X
- X Number of lines in current buffer.
- X
- XDESCRIPTION:
- X
- X This macro returns the number of lines in the current
- X buffer. It is faster than going to the end of the buffer
- X and doing an (inq_position).
- X
- XEXAMPLES:
- X
- X Following example prints number of lines in buffer:
- X
- X (message "Lines = %d" (inq_lines))
- X.HU inq_local_keyboard
- XSYNOPSIS: (inq_local_keyboard)
- X
- XRETURN VALUE:
- X
- X The keyboard identifier associated with the current local
- X keyboard, or 0 if there is no local keyboard.
- X
- XDESCRIPTION:
- X
- X This function returns the identifier of the current local
- SHAR_EOF
- echo "End of part 4"
- echo "File help/crisp/prim/I.cmd is continued in part 5"
- echo "5" > s2_seq_.tmp
- exit 0
- --
- ===================== Reuters Ltd PLC,
- Tel: +44 628 891313 x. 212 Westthorpe House,
- UUCP: fox%marlow.uucp@idec.stc.co.uk Little Marlow,
- Bucks, England SL7 3RQ
-
-