Lugaru's Epsilon
Editor 14.04

Epsilon User's Manual and Reference
   . . .
   Error Messages
   Changes from Older Versions
      . . .
      Enhanced Features in Epsilon 10
      New EEL Primitives and Subroutines in Epsilon 10
      Changes to EEL Primitives and Subroutines in Epsilon 10
   Epsilon Key Assignments
   . . .

Previous   Up    Next
Other New Primitives in Epsilon 10  Changes from Older Versions   Epsilon Key Assignments

Epsilon User's Manual and Reference > Changes from Older Versions >

Changes to EEL Primitives and Subroutines in Epsilon 10

char *general_matcher(char *s, int flags)

Epsilon now providers a general-purpose finder function called general_matcher( ). (See "Completion Internals" in the manual for a description of finder functions.) An EEL function can perform completion on some arbitrary list of words by putting the list of words in a buffer named _MATCH_BUF (a macro defined in eel.h) and then providing general_matcher( ) as a finder function to a subroutine like comp_read( ).

There have been several changes to finder functions and the primitives that support them:

A finder function traditionally receives a set of flags that may include STARTMATCH, EXACTONLY, and LISTMATCH. Now it also receives the set of flags provided to comp_read( ), including CAUTIOUS, COMP_FOLD, MUST_MATCH, PASSWORD_PROMPT and so forth, so it can alter its behavior if needed. For one example of this, general_matcher( ) uses the COMP_FOLD flag that it receives to decide whether matching should be case-sensitive or not.

The first parameter to the buf_match( ) primitive is now a pattern of the sort that fpatmatch( ) accepts: * matches any number of characters, ? matches a single character, and [a-z] represents a character class.

The file_match( ) primitive now accepts a set of flags similar to other matching functions. Use STARTMATCH to begin returning a new set of file names. Use EXACTONLY to return exact matches, not prefix matches. (Previously it accepted FM_PREFIX to begin prefix matching, FM_EXACT to begin exact matching. Omitting both flags caused it to return another match of the current pattern.) The function still accepts FM_NO_DIRS to exclude directories, and now also accepts FM_ONLY_DIRS to make it return only directories.

The f_all_match() subroutine has been deleted. The purpose of this subroutine was to call do_file_match( ), while converting the set of flags used by completion finder functions into the corresponding set of flags used by file_match() and related functions. Since these two groups now use the same set of flags, you can now call do_file_match( ) directly without the need for an intermediate function.

To support older Epsilon extensions, there are macro definitions for f_all_match( ) and the two deleted flags above.

char *default_search_string(int flags)

The default_search_string( ) subroutine, which returns a pointer to a default search string, now accepts a flags parameter like other search functions. Previously it accepted a Boolean that indicated whether the regular expression default search string or the conventional default search string was wanted.

The EEL interface to syntax highlighting has changed. The highlighting function for a mode may now indicate that some other part of the buffer requires highlighting, or that it's colored additional areas of the buffer, by modifying the "needs-color" tagged region. See the description of tagged regions in Character Coloring. A mode may specify various new highlighting options. See the description of the coloring-flags variable.

Epsilon's Internet commands previously used functions from an external DLL called epsnet.dll. These functions have been moved into Epsilon. Several have also changed slightly.

The ctransparent macro, used with color definitions, is now named ETRANSPARENT.

The possible values for the readonly_warning variable now have macros to represent them. They indicate what Epsilon should do when editing a read-only file:

 ROWARN_MSG  Display a message.
 ROWARN_BUF_RO  Set the buffer read-only.
 ROWARN_BELL  Ring the bell.
 ROWARN_GREP  Postpone doing any of the above.

The move_level( ) subroutine and its mode-specific versions such as html_move_level( ) now take an additional parameter stop_on_key. If nonzero, it asks the subroutine to immediately return -2 if it detects that the user has pressed a key while it's searching for a match. See Other Movement Functions.

Previous   Up    Next
Other New Primitives in Epsilon 10  Changes from Older Versions   Epsilon Key Assignments

Lugaru Epsilon Programmer's Editor 14.04 manual. Copyright (C) 1984, 2021 by Lugaru Software Ltd. All rights reserved.