Lugaru's Epsilon
Programmer's
Editor

Context:
Epsilon User's Manual and Reference
   . . .
   Error Messages
   Changes from Older Versions
      Major New Features in Epsilon 13
      EEL Programming Changes in Epsilon 13
         Improvements to File-Handling Functions in Epsilon 13
         Display-related Enhancements in Epsilon 13
         More Options for Running Programs in Epsilon 13
      New Features in Epsilon 12
      EEL Programming Changes in Epsilon 12
      . . .
   Epsilon Key Assignments
   . . .

Previous   Up    Next
EEL Improvements in Epsilon 13  Changes from Older Versions   Improvements to File-Handling Functions in Epsilon 13


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

EEL Programming Changes in Epsilon 13

It's now easier to extend Epsilon to perform additional tasks at various times. When Epsilon is idle, its when_idle( ) subroutine now calls any function whose name starts with do_when_idle_..., passing the same parameters and expecting the same return value as the original. You can define similar functions to be called when a key repeats, when Epsilon builds a mode line, or when Epsilon is exiting. Or you can register a function to be called during screen updating, just before Epsilon displays a window.

The fpatmatch( ) primitive now recognizes | in patterns to provide alternatives.

The indent_to_column( ) subroutine is now careful to change the buffer only when necessary. In combination with the new COLOR_IGNORE_INDENT macro below, this makes block indenting much faster in languages that use syntax coloring to drive indenting.

The TYPE_CHAR macro had been used inconsistently. Now TYPE_CHAR always refers to a 16-bit character, and the new TYPE_BYTE refers to an 8-bit byte.

The expand_string_template( ) subroutine now interprets %x and %X in templates, substituting the directory containing Epsilon's executable.

The new is_unix_flavor variable indicates if Epsilon is running under Linux, FreeBSD, or Mac OS X.

The new subroutines buf_go_line( ) and get_line_from_buffer( ) provide more convenient line-based access to other buffers.

The new copy_expanding( ) subroutine helps to support maintaining arbitrary-length string data.

The new get_buffer_filename( ) retrieves the current buffer's associated file name, even in those buffers that don't store it in the filename variable.

The new clean_mode( ) subroutine helps when using mode-specific variables (those where Epsilon looks up the right variable name based on the current mode), by providing a version of the mode with invalid variable name characters cleaned.

The new standard_tab_cmd( ) subroutine is useful in modes that want to provide a command for the <Tab> key that does the "usual thing".

The new default_replace_string( ) subroutine provides the most recent replacement string.

The clipboard primitives now take a flag argument, which enables using multiple clipboard formats under Windows.

The new original_argv( ) primitive lets EEL code access Epsilon's original unmodified command line.

The new unseen_msgs_time( ) primitive returns the time remaining for the current timed message.

The new phoneticize_lines( ) primitive computes codes for words so that words that have similar sounds will have the same code.

The new exptoi( ) and evaluate_numeric_expression( ) subroutines let EEL code evaluate strings with expressions like 17+5*(2+3).

The new download_file_to_disk( ) subroutine lets EEL code more conveniently retrieve a file from a web server and store it on disk.

Other useful new subroutines include strpbrk( ) and strpbrk_cnt( ), the former similar to the standard C function of the same name. The new move_line_to_buffer( ) subroutine copies the current line to another buffer, deleting it, while column_color_searching( ) searches while restricting matches to start at a particular column. The new strkeep( ) subroutine saves strings for the rest of the session in a way that's especially useful for major_mode settings.

The new (or newly-documented, in some cases) subroutines string_matches_pattern( ), string_matches_regex( ), word_in_list( ) and starts_with_in_list( ) subroutines tell if strings match various sorts of patterns.

EEL now recognizes the notation 0o123 for octal numbers, in addition to C's traditional notation 0123. (13.03)



Previous   Up    Next
EEL Improvements in Epsilon 13  Changes from Older Versions   Improvements to File-Handling Functions in Epsilon 13


Lugaru Copyright (C) 1984, 2012 Lugaru Software Ltd. All Rights Reserved.