home *** CD-ROM | disk | FTP | other *** search
-
- SUMMARY
- -------
-
- Several changes and additions have been made to the Sage Professional Editor
- since the manuals went to press, and between the 1.0 and 1.1 releases.
-
-
-
- GENERAL IMPROVEMENTS IN RELEASE 1.1
- -----------------------------------
-
- * The Brief emulation mode supports the "routines" function. This
- function is bound to the <Ctrl-G> key.
-
- * Cursor motion commands in Epsilon emulation mode now execute faster.
- Command history and filename completion are now available from more
- prompts in this emulation.
-
- * Support has been added for function keys <F11> and <F12>, and their
- CTRL, SHIFT, and ALT derivatives.
-
- * Searches using regular expressions execute faster in many cases.
-
- * Several corrections and enhancements were made in vi mode.
-
- * Setup menus may be operated either via the keyboard or the mouse.
-
-
-
- NEW EMULATION MODE FOR EPSILON/EMACS
- ------------------------------------
-
- EPSILON emulation mode has been added to those listed in the manual. The
- Epsilon editor emulation is found in the source file EPSILON.PEL. Those
- familiar with the Epsilon product or with various dialects of EMACS will
- find the basic command set of the Epsilon emulation to be quite similar.
- Some of the more advanced features are handled differently, however. The
- comments at the beginning of the source file give the details of this
- emulation. The file EPSILON.KEY contains a Quick Reference of the key
- assignments used in this emulation.
-
-
-
- BRIEF TO PEL TRANSLATOR
- -----------------------
-
- We have provided a utility to assist Brief(tm) users in converting their
- Brief macros to a form suitable for use with Sage Professional Editor. The
- program file (B2P.EXE) and a user's manual (README) can be found in the B2P
- subdirectory on the "INSTALL DISKETTE".
-
-
-
- CONFIGURATION FILE COMMENTS
- ---------------------------
-
- If a pound sign ("#") is found in column one, the line will be treated as a
- comment and will be ignored by the configuration file processor.
-
- This is a change from the undocumented 1.0 recognition of embedded comment
- characters, and will impact anyone who relied upon the feature.
-
-
-
- COMMAND FILE FOR REBUILDING PEL FUNCTION LIBRARY
- ------------------------------------------------
-
- We have provided a DOS batch file, MAKE_AE.BAT, and an OS/2 command file,
- MAKE_AE.CMD, which can be used to rebuild the entire SAGEEDIT.AE function
- library from PEL source files. This file can be found in the SRC
- subdirectory along with the PEL source files.
-
-
-
- INSTALLING SPE UNDER OS/2 PRESENTATION MANAGER
- ----------------------------------------------
-
- Sage Professional Editor may be installed as an OS/2 Presentation Manager
- application.
-
- Whether or not Sage Professional Editor is added to the list of
- installed PM programs, it may always be run under OS/2 windowed or
- full screen environments.
-
- The procedure to add SPE to the list of installed
- PM APPs depends on which version of OS/2 you are using:
-
- OS/2 VERSION 1.2 PRESENTATION MANAGER INSTRUCTIONS:
-
- o Bring up the "Desktop Manager" window,
- o Select "Main"
- o Click on "Program", then click on "New",
- o You will be prompted for the program title - enter:
- "Sage Professional Editor" followed by the <TAB> key
- o For the file name, enter the full path name of the executable
- editor, e.g. "C:\SPE\P.EXE"
- o For the parameters, enter a question mark (?) if you wish to
- be prompted for a filename before invocation of the editor.
- o Select "Other" for the "Program type".
- o Press <ENTER>.
- o Select how you wish to run the editor (i.e. in a PM window or
- as a full screen application).
- o Press <ENTER>.
-
-
- OS/2 VERSION 1.1 PRESENTATION MANAGER INSTRUCTIONS:
-
- o Bring up the "Start Programs" window,
- o Click on "Program", then click on "Add",
- o You will be prompted for the program title, enter:
- "Sage Professional Editor", followed by the <TAB> key
- o For the file name, enter the full path name of the executable
- editor, e.g. "C:\SPE\P.EXE"
- o Color icons are not supported in OS/2 version 1.1, so the .ICO file
- corresponding to the installed executable (P.ICO) should be renamed
- or removed from the directory where the .EXE file resides.
-
-
-
-
- CHANGES TO THE PEL PRIMITIVES AND LIBRARY FUNCTIONS
- ---------------------------------------------------
-
- This section contains a brief description of the individual changes and
- additions made to system primitives, macro library functions, and to the
- documentation. These changes have been reflected in the on-line reference
- manual, and you may refer to it for additional detail.
-
- Each entry relates the change to release 1.0 or 1.1, and categorizes the
- change as follows:
-
- EXTENSION augmented functionality for an existing function
- ADDITION new functionality -- upward compatible change
- FIX a bug fix
- CHANGE change to existing behavior other than a bug fix --
- a non-upward compatible change
- MAN CHANGE a correction to the documentation -- you should make
- a note on the referenced page; man changes apply to:
-
- LRM Library Reference manual
- UM User's manual
- FBCM Functions by Category manual
-
-
- INDIVIDUAL CHANGES ARE AS FOLLOWS:
-
-
- add_compiler( ext_list, cmd_line [, err_name ] ) 1.1 ADDITION
- Adds compiler support for a compiler not in the default list.
- Two arguments are required, the third is optional:
-
- The first argument is a space separated list of the filename
- extensions used by the new compiler, with the principle extension
- listed first.
-
- The second argument is used to define the default shell command line
- to use for compiling. In it several built-in macros are defined:
-
- $< - expands to the complete name of the source file.
- $r - expands to the root (basename) of the source file.
- $e - expands to the extension of source file, excluding "."
- $p - expands to the drive and path of source file (ends in "\")
-
- The last argument specifies which rule set to use in interpreting
- the error listing file. Valid values are "generic", "pel",
- "TurboC", "Zortech", "Lahey", "ada", "Clipper87" and "Clipper5".
- The value "generic" is a catch-all, accommodating the error listing
- format used by several of the Microsoft compilers, Lattice C,
- Borland Turbo Pascal, and many others. This name, with the suffix
- ".err" appended, is also used as the name assigned to the error
- listing file.
-
- autosave( [int atime [, int ftime]] ) 1.1 EXTENSION
- The autosave() function now accepts a second optional argument.
- The new argument indicates the number of seconds between forced
- saves. That is, saves which occur without regard to keyboard
- activity. Also, the extension of the file has been changed from
- ".asp" to ".__!", where "__" are the first two characters of the
- original file extension.
-
- autosave_force_time 1.1 ADDITION
- The variable autosave_force_time has been added to allow forcing a
- save after a specified interval regardless of keyboard activity.
- Previously the autosave() function only saved after a period of
- keyboard inactivity. The user may now specify either or both types
- of autosave.
-
- backspace() 1.1 FIX
- The backspace() function has been changed to perform a back tab
- when in virtual space past the end of line.
-
- backup_directory 1.1 FIX
- This variable is now a macro variable. It contains the directory
- where backup files will be placed. A value of "*" indicates that
- backups should be placed in the file's original directory. A value
- of "" indicates that backups should be made to a directory called
- \SPE\BACKUP on the current drive.
-
- backup_file_ext 1.1 ADDITION
- This variable indicates the extension to be used for backup files.
- A "*" or "" indicates that the extension should remain the same
- as the original file's extension.
-
- backup_file() 1.1 FIX
- This function has been rewritten to place backup files in the
- directory specified by "backup_directory" with the extension
- defined by "backup_file_ext". This feature must be enabled
- by a called to toggle_file_backup().
-
- braces() 1.1 ADDITION
- Scans the remainder of the current buffer for unmatched braces,
- "{" and "}".
-
- buffer_flags 1.1 EXTENSION/MAN CHG
- The BUFFER_REAL_SPACE_ONLY (0x0400) bit of buffer_flags allows entry
- into virtual space when set to 0 and prohibits entry when 1.
- The LRM on page 35 of incorrectly states the opposite.
-
- A new buffer flag called BUFFER_TABS_TO_SPACES (0x2000) has been
- added which causes tabs to be converted to the appropriate number
- of spaces as they are entered into the buffer. Call
- toggle_tabs_to_spaces() to toggle this feature.
-
- A new buffer flag called BUFFER_WHOLE_LINES (0x4000) has been
- defined. When the bit is set, the buffer always contains at least a
- single line and always contains whole lines. This bit is enabled by
- default only in vi mode.
-
- The BUFFER_NO_UNDO (0x1000) bit of buffer_flags is read-only. The
- user may force it to be on or off when the buffer is created, either
- by changing default_buffer_flags or by using the optional second
- argument to create_buffer().
-
- The reserved buffer flag bit 15 (0x8000) is read only.
-
- The user definable bit DOS_BUFFER_FLAG (0x20000) is used by the
- system to implement DOS buffers.
-
-
- buffer_line_exists( int linenum ) 1.1 ADDITION
- The buffer_line_exists() function determines if a specified line
- exists in the current buffer. If the line exists, the function
- returns TRUE (non-zero). Otherwise a zero value (FALSE) is
- returned.
-
- calc() 1.1 ADDITION
- Invokes a "desk" calculator. It will do hex, octal and decimal
- calculations, using the mouse or the keyboard. On-line help is
- available by typing Alt-H from within the calculator.
-
- compare_buffers( [buf1, buf2] ) 1.1 ADDITION
- Performs a line by line comparison of two buffers, starting at the
- respective cursor positions. The cursor is advanced to the first
- difference encountered. The filenames of the two buffers to be
- compared may optionally be specified. If no arguments are given,
- the "current_buffer" and "next_buffer()" are compared.
-
- compare_windows() 1.1 ADDITION
- Differs from compare_buffers, in that the buffers to be compared are
- those attached to the "current_window" and the "next_window()".
-
- create_mark() 1.0 MAN CHANGE
- This function creates a bookmark and associates it with a particular
- location within a buffer. It has nothing to do with selections.
- References on page 63 of the LRM to "selection marker" should be
- changed to "bookmark".
-
- cursor_normal 1.0 MAN CHANGE
- Defaults to 0x507 for color displays.
-
- default_window_page_overlap 1.0 MAN CHANGE
- Factory default setting is 1 not 0 as documented on page 85 of
- the LRM.
-
- delete_line() 1.0 MAN CHANGE
- This function only fails if the current line contains no text or
- newline. LRM page 92 implies that the function does not delete the
- last line if it is incomplete. Such is not the case.
-
- delete_window_and_buffer( [winid win] ) 1.0 ADDITION
- This function deletes the current buffer and window or, if a
- window is specified as an argument, deletes the specified window
- and associated buffer.
-
- default_wp_right_margin 1.0 MAN CHANGE
- The initial value for this variable is 77 rather than 78 as
- noted on page 85 of the LRM.
-
- dtree( [str path] ) 1.1 ADDITION
- The dtree() function generates a tree diagram of all the directories
- below the path specified in the argument (or the root directory of
- the current drive if the argument is omitted). Mouse or arrow keys
- may be used to select a directory or file.
-
- edit_compiler( [filename_ext] ) 1.1 ADDITION
- Modifies the default compiler options used when compiling files with
- a given extension. If no filename_ext argument is given, the
- current filename extension is used. (See "add_compiler" above for a
- description of the built-in macros which can be used in the compiler
- command line.)
-
- edit_file_key( [display_menu] ) 1.1 EXTENSION
- The edit_file_key() function supports the display of a directory
- listing via the prompt_history() command. If the "display_menu"
- parameter is non-zero, a directory list will be displayed immediately
- upon invocation; otherwise, a <TAB> pressed at the prompt line is
- required. Pressing <ENTER> on a filename selects that file to
- be edited and a <BKSP> backs out of the menu.
-
- emm_available 1.0 ADDITION
- This integer variable instructs the editor to take advantage of EMS
- memory if a driver is installed. The default setting is off (0).
- When this variable is set to on (non-zero), the editor will make
- use of EMS as a swap area before using temporary disk storage.
- It is an integer variable. This variable is provided to allow you
- to reserve EMS memory for debuggers, and other utilities that may
- require EMS.
-
- emulation_mode 1.0 ADDITION
- This string variable contains the name of the editor emulation mode
- currently in use.
-
- EVENTs; several have been added 1.1 ADDITION
-
- No. Name Triggered By
- -- ------------------------- -----------------------------------
- 26 EVENT_DISPLAY_UPDATE display_update() function
- 9 EVENT_EMULATION_CHANGED change of emulation mode
- 42 EVENT_DELETE_CHARS delete_chars() function
- 40 EVENT_INSERT_KEY insert_key() function
- 43 EVENT_INSERT_NEWLINE insert_newline() function
- 41 EVENT_INSERT_STRING insert_string() function
- 27 EVENT_PROCESS_COMPLETE completion of OS/2 background task
- 44 EVENT_SHELL_EXIT completion of system() or dos_window()
- 45 EVENT_FUNCTION_CHANGED executing function changed by compile
- 46 EVENT_DELETING_BUFFER current buffer is about to be deleted
-
- factory_keymap 1.1 MAN CHANGE
- The factory_keymap has been documented in the on-line reference
- manual.
-
- filetime(), filemode() and filesize() 1.1 EXTENSION
- The argument(s) to these functions have been made optional. If no
- argument is supplied, they return the time, size or mode respectively
- of the file which was the subject of last call to findfirst() or
- findnext().
-
- function_caller() 1.1 EXTENSION
- Now returns the string "Keyboard" rather than "Primitive" if the
- function was called from the keyboard.
-
- goto_bookmark_key() 1.1 ADDITION
- An enhanced version of goto_bookmark. It suppresses the user prompt
- when only a single bookmark is defined.
-
- goto_pos() 1.1 FIX
- If the requested position is beyond the end of the file, the function
- moves to the end of the file. In 1.0, motion beyond the end of the
- file resulted in motion to the requested column of the last line.
-
- grep(str strpat) 1.1 ADDITION
- This function accepts a string and searches through the current
- buffer for the string and displays all the lines containing that
- string in a menu. Selecting an item in the menu causes the editor
- to go to that position.
-
- keyboard_flags 1.1 EXTENSION
- Bits 4 through 7 of this variable have been made read/write in order
- to allow the user to set the status of the various toggle keys:
- Scroll Lock, Num Lock, Caps Lock and Insert.
-
- keyboard_speed( repeat, delay ) 1.1 EXTENSION
- The range of keyboard repeat rates which may be specified has been
- increased from 5-30 CPS to 0-1000. The delay argument has not
- been changed. The new default is keyboard_speed( 1000, 250 ).
-
- learn_key() 1.0 ADDITION
- The learn_key() function records a sequence of keystrokes and binds a
- corresponding playback function to a designated key. This allows
- convenient re-definition of keys and more than a single keyboard
- macro to be defined at a time. The recording sequence is terminated
- by invoking learn_key() a second time. The key being defined is
- temporarily bound to learn_key() during recording, so it may be used
- to terminate the recording, eg., if learn_key was called via F10.
-
- mark_defined() 1.0 MAN CHANGE
- On page 215 of the LRM, it should be noted that mark_defined()
- applies only to the current buffer. If the mark has been defined in
- another buffer but not the current one, mark_defined() returns FALSE.
-
- mark_paragraph() 1.0 MAN CHANGE
- On page 217 of the LRM, in the third paragraph, first sentence, the
- phrase "paragraph immediately preceding" should be changed to
- "paragraph immediately following". In the same paragraph, the second
- sentence, the phrase "the beginning of the buffer" should be changed
- to "the end of the buffer".
-
- marked_region_size() 1.1 ADDITION
- Returns the size of the block currently highlighted. If the block is
- of type NORMAL, LINE, or INCLUSIVE, the return value is equal to the
- number of characters included in the block including newlines. If
- the currently marked region is of type COLUMN_SELECTION, the return
- value is the area of the block regardless of the number of characters
- in the block. If no marked region exists, the return value is zero.
-
- mouse_confirm( str prompt, str resp ) 1.0 ADDITION
- This function is identical in its use to the confirm() function ,
- except that this function allows the user to select a response using
- a mouse.
-
- mouse_selection_type 1.0 ADDITION
- This integer variable determines the type of selection or marked
- block that is created with the mouse. By default it is set to
- NORMAL_SELECTION, which will not include the character at the cursor
- position. It may be set to INCLUSIVE_SELECTION which will include
- the character at the cursor.
-
- next_window()/prev_window() 1.0 MAN CHANGE
- These functions always return the new value of current_window --
- even if the pattern match fails or if there is no other valid
- new window. The "value returned" sections on LRM pages 242 and 272
- are incorrect.
-
- os_name 1.0 ADDITION
- This string variable is set to either "DOS" or "OS/2" depending on
- the operating system you are using. The value will be "DOS" when run
- in OS/2's DOS-compatibility box.
-
- peltags( [function_name] ) 1.1 ADDITION
- Locates the definition of a PEL function in the function library
- source code. If not given as an argument, the peltags function
- prompts for a function name, which is then looked up in the symbol
- table of the current SAGEEDIT.AE file. If found, the cursor is
- moved to the beginning of the function's definition in the
- appropriate PEL source file.
-
- pop_dir() 1.1 ADDITION
- Returns to the directory which was current at the time of the
- corresponding call to push_dir().
-
- print_device 1.0 ADDITION
- The print_device string variable names the device to which the
- print_buffer() function will write. Its default value is "prn".
- It may be set to "lpt2" or "myfile.txt" to divert output to other
- locations.
-
- push_dir( new_cwd ) 1.1 ADDITION
- Save the current working directory on a "stack" and change to the
- new directory.
-
- quit( code, save ) 1.1 EXTENSION
- A second optional argument has been added to quit(). It controls
- the saving of modified buffers. If the second argument is 0,
- modified buffers are discarded; if it is non-zero, modified buffers
- are saved before SPE exits; if the argument is omitted, the user is
- prompted for the course of action. The optional first argument is
- the exit code returned to the OS, as before.
-
- raise_window() 1.0 MAN CHANGE
- Does not make the raised window current as documented on page 286 of
- the LRM. This function is of such limited value that it may be
- removed from future releases. Avoid using it.
-
- read_buffer() 1.0 MAN CHANGE
- When called without arguments, this function actually reads from the
- cursor position to the end of the line. The LRM incorrectly states
- on page 287 that it reads the entire current line of the buffer.
-
- routines() 1.1 ADDITION
- Performs a brief-like routines() call, where all function names are
- listed in a menu. Pressing <ENTER> on an entry will cause the editor
- to goto to the selected function. This function operates on .pel and
- .c files only.
-
- save_state 1.0 MAN CHANGE
- The factory setting of this variable is 0, contrary to the LRM on
- page 309.
-
- search_flags 1.1 EXTENSION
- A new bit has been defined called SEARCH_ONCE_PER_LINE. When set,
- this bit will cause global replacement operations to be limited to
- one replacement per line.
-
- The factory setting of search_flags is 23, contrary to the LRM page
- 328.
-
- SUBSEP 1.0 MAN CHANGE
- On page 350 of the LRM, the example string "\0x1C" must be changed
- to "\x1C".
-
- system() 1.1 EXTENSION
- Now can dispatch background tasks in OS/2 by placing an at sign, "@",
- at the beginning of the command string. ( e.g. "<F10>system @make" ).
-
- system() 1.0 MAN CHANGE
- The documentation is overly DOS-specific. References to "DOS" should
- be read as whatever command processor is referenced by COMSPEC.
-
- tags() 1.1 ADDITION
- Collection of functions used to locate the definition of a function
- or variable in source code by interpreting a "tags" data file.
- (For details, see file TAGS.PEL; see also "peltags" above).
-
- toggle_file_locking( [int on] ) 1.1 ADDITION
- Enable, disable or toggle file locking. Semaphore files
- are created to indicate locked file status. The semaphore files
- created have the same name in the same directory as the original
- file but with a different extension. The last character of the
- new extension is a `&' (i.e. the semaphore file for a ".c" file would
- be ".c_&"). This prevents conflicts when multiple users attempt
- to edit the same file on a network.
-
- toggle_pvcs() 1.1 EXTENSION
- The argument to this function has been generalized as follows:
-
- 0 - disable PVCS
- 1 - enable gets and puts for existing files
- 2 - enable gets and puts for non-existing files
- 3 - enable gets and puts for all files
-
- When called with no parameters, it toggles between 0 and 1.
-
- ALSO: PVCS "get" and "put" commands now change to the directory where
- the source file resides in order to properly accommodate any vcs.cfg
- file which may be found there.
-
- toggle_tabs_to_spaces() 1.1 ADDITION
- Controls the BUFFER_TABS_TO_SPACES bit in buffer_flags.
-
- trans() 1.0 MAN CHANGE
- On page 367 of the LRM, under "Value returned:", the second sentence
- begins "If any of the arguments". It should say "If the first or
- second argument".
-
- visible_spaces 1.0 MAN CHANGE
- On page 381 of the LRM, the example string "\0xfa" must be changed
- to "\xfa".
-
- visible_tabs 1.0 MAN CHANGE
- On page 382 of the LRM, the example string "\0x1a" must be changed
- to "\x1a".
-
- visible_virtual_spaces 1.0 MAN CHANGE
- On page 384 of the LRM, the example string "\0xb0" must be changed
- to "\xb0".
-
- window_cursor_y 1.0 MAN CHANGE
- On page 390 of the LRM, in the "Description:" section the first and
- third references to the variable "window_cursor_x" should read
- "window_cursor_y".
-
- window_valid( [winid win] ) 1.1 ADDITION
- Tests whether the indicated window id is valid.
-
- write_buffer() 1.1 FIX
- Writes the current buffer whenever called, as documented.
-
- write_marked_block() 1.1 FIX
- This function now expands tabs on write if the BUFFER_EXPAND_TABS bit
- is set in buffer_flags.
-
- wsearch() and wsearch_again() 1.1 ADDITION
- These functions search all buffers for the next occurrence of a
- string, rather than just the current buffer.
-
-
- ** END OF SPE README FILE **
-