Lugaru's Epsilon
Programmer's
Editor 14.04

Context:
Epsilon User's Manual and Reference
   Changes from Older Versions
      . . .
      Enhanced Features in Epsilon 10
         Dired Enhancements in Epsilon 10
         Searching & Navigation in Epsilon 10
         Grep and Multifile Searching in Epsilon 10
         . . .
         Other Changes in Epsilon 10
      New EEL Primitives and Subroutines in Epsilon 10
         . . .
         New Input Primitives in Epsilon 10
         New Color Primitives in Epsilon 10
         Other New Primitives in Epsilon 10
      Changes to EEL Primitives and Subroutines in Epsilon 10

Previous   Up    Next
New Color Primitives in Epsilon 10  Changes from Older Versions   Changes to EEL Primitives and Subroutines in Epsilon 10


Epsilon User's Manual and Reference > Changes from Older Versions > New EEL Primitives and Subroutines in Epsilon 10 >

Other New Primitives in Epsilon 10

int muldiv(int a, int b, int c)

The muldiv( ) primitive takes its arguments and returns the value a * b / c, performing this computation using 64-bit arithmetic. It's useful in such tasks as showing "percentage complete" while operating on a large buffer. Simply writing point * 100 / size() in EEL would use 32-bit arithmetic as EEL always does, and on large buffers (over about 20 megabytes) the result would be wrong.

int find_c_func_info(char *type, char *class,
                     char *func, int stop_on_key)

The find_c_func_info( ) subroutine gets info on the function or class defined at point in the current C-mode buffer, by parsing the buffer. It sets class to the class name of the current item, if any, and func to the function name if any. It sets type to "class", "struct", or "union" if it can determine which is appropriate. Outside a function or class definition, the above will be set to "". You may pass NULL for any of the above parameters if you don't need that information.

If stop_on_key is nonzero, and the user presses a key while the function is running, the function will immediately return -1 without setting the above variables. Otherwise the function returns a bit pattern: CF_INFO_TYPE if type was set non-empty; CF_INFO_CLASS if class was set non-empty; and CF_INFO_FUNC if func was set non-empty. In addition to zero, only these combination can occur:

 CF_INFO_TYPE  CF_INFO_CLASS  CF_INFO_FUNC
     
 •  •  
     
   •  
 •  •  

int isalnum(int c)
int isident(int c)

The isalnum( ) subroutine returns nonzero if the specified character is alphanumeric: either a letter or a digit. The isident( ) subroutine returns nonzero if the specified character is an identifier character: a letter, a digit, or the _ character.

int has_feature;

Epsilon provides the has-feature variable so an EEL function can determine which facilities are available in the current environment. Bits represent possible features. Often these indicate whether a certain primitive is implemented.

 FEAT_ANYCOLOR  Epsilon can use all RGB colors, not just certain ones.
 FEAT_GUI_DIALOGS  display_dialog_box( ) is implemented.
 FEAT_FILE_DIALOG  common_file_dlg( ) is implemented.
 FEAT_COLOR_DIALOG  comm_dlg_color( ) is implemented.
 FEAT_SEARCH_DIALOG  find_dialog( ) is implemented.
 FEAT_FONT_DIALOG  windows_set_font( ) is implemented.
 FEAT_SET_WIN_CAPTION  set_window_caption( ) is implemented.
 FEAT_OS_PRINTING  print_window( ) is implemented.
 FEAT_WINHELP  win_help_string( ) and similar are implemented.
 FEAT_OS_MENUS  win_load_menu( ) and similar are implemented.
 FEAT_ANSI_CHARS  Does this system normally use ANSI fonts, not DOS/OEM?
 FEAT_EEL_RESIZE_SCREEN  Does EEL code control resizing the screen?
 FEAT_INTERNET  Are Epsilon's Internet functions available?
 FEAT_SET_FONT  Can EEL set the font via variables?
 FEAT_DETECT_CONCUR_WAIT  Can Epsilon learn that a concurrent process waits for input?



Previous   Up    Next
New Color Primitives in Epsilon 10  Changes from Older Versions   Changes to EEL Primitives and Subroutines in Epsilon 10


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