Lugaru's Epsilon
Programmer's
Editor 14.04

Context:
Epsilon User's Manual and Reference
   . . .
   Error Messages
   Changes from Older Versions
      Major New Features in Epsilon 14
      EEL Programming Changes in Epsilon 14
      Major New Features in Epsilon 13
      EEL Programming Changes in Epsilon 13
      . . .
   Epsilon Key Assignments
   . . .

Previous   Up    Next
Unicode Support in Epsilon 14  Changes from Older Versions   Major New Features in Epsilon 13


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

EEL Programming Changes in Epsilon 14

In EEL code, ints are now 64-bit. (As a consequence, Epsilon can now edit files bigger than 2 GB, though little work to improve performance on such large files has been done yet.) The new int32 type was added to EEL, and the TYPE_INT32 code is now defined for primitives like new_variable( ) and vartype( ).

The mouse_cursor variable is now a simple number instead of a pointer to a special structure. Existing EEL code of the form "mouse_cursor = &horiz_arrows;" must be modified by deleting the &.

We added the EEL primitives iscntrl( ), isgraph( ), ispunct( ), isprint( ), and isxdigit( ) to report on various character properties. The set_character_property( ) primitive recognizes new codes like C_PUNCT for customizing these primitives.

The new unicode_character_name( ) primitive retrieves the name of any Unicode character, given its number, or vice versa, and can interpret surrogate characters too. EEL programmers can now use the convenience macros IS_LEADING_SURROGATE( ) and IS_TRAILING_SURROGATE( ) to check if a character is a Unicode surrogate character.

The new aside( ) primitive writes some text to the #messages# buffer without displaying it.

In EEL, numeric constants starting with zero, like 0123, are no longer interpreted as octal, for consistency with Alt-x eval. Prefixes such as 0x, 0o, and 0b (hexadecimal, octal, binary) may still be used to specify the base of a numeric constant.

EEL's new get_substitution_variables( ) primitive helps Epsilon perform completion on environment variable and shell folder names.

EEL programmers can use these handy new EEL subroutines: regex_replace_in_string( ), numtoi_with_base( ), url_is_a_directory( ), count_matches_in_buffer( ).

Epsilon's encoding of RGB colors now matches HTML's. Any old code that uses hardwired color numbers instead of macros like MAKE_RGB( ) must be updated. (For example, change a hex value in the format 0xBBGGRR to MAKE_RGB(0xRR, 0xGG, 0xBB).)

Since EEL now supports 64-bit numbers, some primitives could be simplified. The EEL primitives new_file_read( ) and new_file_write( ) no longer accept optional 32-bit lowstart and highstart arguments that provided limited 64-bit file support, since their start parameter is now 64 bits. Likewise, the check_file( ) primitive's fsize_high field was removed, since its fsize field can now hold a full 64-bit size, and its 32-bit raw_file_date_high and raw_file_date_low fields were combined into one 64-bit raw_file_date.

EEL code can set some new flags in the buffer_not_saveable variable to control different aspects of buffer saving and warning.

The is_win32 variable is now called is_mswindows, and it has new values to distinguish the 32-bit and 64-bit versions of Epsilon.

The _display_class array was expanded so it can remap all the characters Epsilon can display, not just the first 256.

Epsilon's win_help_string( ) and win_help_contents( ) primitives can no longer handle .chm and .col files.

The toolbar_add_button( ) primitive in Epsilon for Windows now recognizes five more standard icon names, and Alt-x show-view-bitmaps displays them.

EEL code can now use the new use_alternate_dialog_tag variable to select a different dialog tag, meaning Epsilon for Windows will save and restore the size of that dialog separately from others.



Previous   Up    Next
Unicode Support in Epsilon 14  Changes from Older Versions   Major New Features in Epsilon 13


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