Lugaru Wolf

Download Epsilon 12.10 Update

Epsilon 12.10 is now available. This update fixes several bugs and adds some minor new features. To install this software, you must have a copy of Epsilon 12.00 or later already installed on your computer. If you installed 12.10 during its beta test period, you don't have to reinstall now; it hasn't changed.

The 12.10 updater is available in these formats:

To install the .tar.gz files above, execute these commands as root:

cd /usr/local
tar xzf eupd12.10.tar.gz  (provide the name of the downloaded file here)
cd epsilon12.10
./eupdate
Once you've updated Epsilon, you may delete the update file you downloaded.

The above Windows and Unix update files include a revised online manual in HTML, Info, and (for Windows versions) WinHelp formats. The revised manual is also available in PDF format.

Epsilon 12.10 contains a few new features and several bug fixes:

New Features

12.10 Dired's FTP listings can now include hidden files, when permitted by the dired-show-dotfiles variable and dired's "-" subcommand, on systems that normally exclude them. For compatibility with older FTP servers, this feature is off by default. A new bit in the ftp-compatible-dirs variable enables it.
12.10 In LaTeX files, the compile-buffer command on Alt-F3 now uses the new compile-latex-cmd variable, not compile-tex-cmd.
12.10 When Epsilon displays a list of matching tags, spacing between the tags and the following column of file names may be adjusted using the new tag-display-width variable.
12.10 Regular expression searches now recognize a new built-in character class name, <ascii>, which matches any character with a code from 0 to 127.
12.08 The new java-indent variable makes it easier to change the indenting level for Java.
12.08 The new perl-detect-expression-pattern variable may be used for customizing how Perl mode detects expressions when coloring.
12.08 Epsilon now examines files with a .cls extension to decide if they're LaTeX or Visual Basic (since both languages use this extension).
12.08 The check_file() primitive is now faster under recent Windows versions, especially on networks.
12.08 VHDL mode is now faster on large files.
12.08 The EEL compiler now recognizes the -i- flag, which tells it to ignore previous -i flags (such as from a configuration variable).
12.08 Epsilon no longer auto-reads modified files if they're extremely large.
12.08 Epsilon now warns if you try to save a remote file that hasn't finished downloading yet.
12.08 Asm mode colors more keywords, and colors large files faster. PostScript mode shows progress messages as it colors very large files.
12.07 A printable keyboard reference for Epsilon's default bindings, keychart.pdf, is now included. This keyboard reference now appears in all electronic forms of the manual too.
12.07 Epsilon now recognizes the extensions .bash, .tcsh, and .zsh for Shell mode, and .xmp and .rdf for XML mode.
12.07 The new edit-customizations command makes it easier to begin editing the einit.ecm file used for customizations.
12.07 The Win32 Console version of Epsilon, when it uses the DOS/OEM character set, now initializes its tables for case conversions and similar based on the current code page. As a result, the default-oem-word variable was no longer needed, and was removed.
12.07 The character class names <alpha>, <alphanum>, <digit> and <word> in regular expressions now follow the rules set by the set_character_property() primitive.
12.07 Under Windows, the stop-process command now sends a Ctrl-C signal instead of a Ctrl-Break signal. A numeric argument of 1 makes it send Ctrl-Break.
12.07 The preserve-filename-case variable has additional flags for controlling the case of buffer names derived from file names. The buf_match() and b_match() functions recognize an FM_FOLD flag.
12.07 When Epsilon for Unix looks for a helper program like goto_url, it now checks first in your ~/.epsilon directory.
12.07 Epsilon for Windows now checks for the REG_EXPAND_SZ setting in each registry entry it uses, and interpolates environment variables when retrieving such values.
12.07 When the man command prompts for a man page, it uses file name completion if you include a / or \ character.
12.06 The concurrent process feature in Epsilon for Linux can now use Unix98-style pty's in place of BSD-style pty's, so it now works under certain recent Linux kernels that only provide the former.
12.05 Epsilon no longer saves dired buffers in a session file if they use the ** syntax to search an entire hierarchy. A new bit in the session-restore-directory-buffers variable may be used to reenable this.
12.04 The new variables c-top-template, php-top-indent, and perldoc-command may be used to customize how Epsilon indents C++ template definitions and PHP code, and how the perldoc command retrieves its data.
12.04 Epsilon for Windows now recognizes negative numbers in the -vx and -vy flags, for use with multiple monitor setups.
12.04 Epsilon now recognizes the special file variable "coding" to set the file's Unicode encoding.
12.03 Customizing the list of file types that Epsilon for Windows displays in File/Open and similar dialogs is now simpler. Edit the new filter.txt file to do this. See comments in that file for more details.
12.03 In a dired listing, Epsilon for Windows now shows directories that are also NTFS junctions with <JUNCTION>, not <DIR>, as in cmd.exe's directory listing.
12.03 Use the new einit-file-name variable to change the name of the .ecm file Epsilon loads at startup. This works from a command line -d flag too.
12.03 The list-definitions command now has an option to show line numbers, using a new setting for list-definitions-live-update.
12.03 The show-spaces variable now includes bits that individually control which of the three whitespace characters are to be visible.
12.03 The process-prompt-pattern variable can now match backwards from a prompt line, so it's now possible to use multi-line prompts in a concurrent process while still letting Epsilon notice directory changes.
12.03 The cygwin-filenames variable has a new option to complete process buffer filenames using / instead of \, for Cygwin shell users.
12.03 The list-customizations and import-customizations commands now capture key unbindings too.
12.03 The set-variable command now shows the variable's current value even when insert-default-response is zero.
12.03 When a compilation ends, Epsilon now checks to see if the current buffer has been modified on disk.
12.03 If grep skipped any files due to their extension or similar, a note to that effect will appear in the grep buffer.
12.03 Searching in Epsilon's HTML-based help system now provides closer matches.
12.02 Indenting rules for Python can now be customized more easily with the new python-tab-override and python-indent-with-tabs variables.
12.02 The new backup-by-renaming variable sets whether Epsilon can back up files by renaming them, instead of copying them. For Unix, renaming is no longer the default.
12.02 When Epsilon reads a .gz or .bz2 file via ftp, it will now decompress it, just as with local files.
12.01 The date-format variable can now include new codes %w and %s to represent the day of the week.
12.01 Grepping now works on SCP URL's that use wildcards. Various SCP operations applied to multiple files now work properly.
12.01 Use the new reindent-c-preprocessor-lines variable to keep indenting from changing preprocessor lines.
12.01 The goto-line command now understands the syntax p12345 to go to a buffer position by its byte offset.
12.01 The auto-fill-comment-rules variable now recognizes an additional bit to prevent merging adjacent block comments when filling comments.
12.01 The new variable bufed-column-width variable lets you make the space for buffer names in the bufed dialog wider.
12.01 The new process-coloring-rules variable lets you disable the coloring of prompts and responses, or the interpretation of certain color-setting ANSI escape sequences, in process buffers. The similar ssh-coloring-rules variable applies to ssh buffers.
12.01 The new html-indenting-rules variable makes Epsilon disable smart indenting for certain embedded scripting languages in HTML, and use simpler indenting rules.
12.01 Fundamental, Telnet, Ssh, and Process modes now call any user-defined hook function, to permit easier customization.
12.01 Clipboard operations in Epsilon for X now work better with large blocks of text, and when exchanging text with certain other programs.
12.01 Epsilon for Windows now delays displaying its window until it has read its state file so that it can use the appropriate background color settings.

New Features in EEL

12.01 It's now possible to customize the rules Epsilon uses for testing whether a character is uppercase, lowercase, or not alphabetic, and for case conversions, using the new set_character_property() primitive.
12.01 The EEL compiler recognizes the new preprocessor directives #elif and #tryinclude.
12.01 The numtoi() subroutine uses stricter error checking.
12.01 The show_char() primitive no longer complains when its destination character array is too small for the largest possible character name, but big enough for the actual character name to be returned.
12.01 The lowaccess() primitive now works under Windows.
12.01 The lowread() and lowwrite() primitives are now declared correctly. They take byte pointers, not 16-bit character pointers.
12.01 The new reject_client_connections variable disables Epsilon's server functions temporarily. This helps to correct a problem using the list-customizations command and similar commands.
12.01 The look_on_path() primitive now documents some additional flags, and they now work correctly when a skip parameter is specified.

Bug Fixes

12.10 Changes to the java-indent variable now take effect immediately.
12.10 Tagging now understands C++'s "using" directive.
12.10 A bug in import-customizations that could cause it to get stuck importing certain patterns of key bindings has been fixed.
12.10 Bindings for alt-prefix and ctrl-prefix were missing in the Ctrl-C table.
12.10 In the Unix console version, pasting large blocks of text could cause the text to be truncated.
12.10 Killing a telnet buffer now disconnects from the remote system. So does using the kill-process command on it.
12.10 Telnet mode works better with certain broken Telnet servers.
12.10 If Epsilon tried to automatically decompress a .gz or similar file it had retrieved via FTP, it could crash.
12.10 Epsilon's Internet functions now work around a bug in the firewall in Windows XP SP2.
12.10 Indentation of preprocessor continuation lines is smarter.
12.10 The Alt-x man command no longer displays odd characters on certain systems like Fedora where UTF-8 is the default for consoles.
12.10 Continued searching and various other operations are now much faster on certain large Info files.
12.10 Since version 12.08, restarting a stopped Epsilon process under FreeBSD could make Epsilon exit.
12.10 Reverse searching didn't work correctly near the start of the buffer in certain cases.
12.09 A tagging problem introduced in the unreleased v12.08 was fixed.
12.09 Auto-saving now ignores partially-read files.
12.09 The man command's completion finds additional man page names in certain cases.
12.08 A bug in modal key logic with generic keys was fixed. Various minor generic key bugs were fixed.
12.08 Completing on UNC server names is now abortable in the Win32 console version, as in the GUI version.
12.08 The HTML help system could misdisplay search results that included formatted manual index entries.
12.08 Attempting to save a partially-downloaded remote file warns first.
12.08 The Open With Epsilon shell extension for Windows interfered with opening multiple selections using the default action under XP.
12.08 Interpolated variables weren't getting special coloring in some Perl expressions, including patterns like /$example/.
12.08 Perl mode miscolored certain expressions like 3**4.
12.08 PHP mode didn't indent the line following a here document properly.
12.08 C mode tagging missed certain variable definitions with a comment before their initializer.
12.08 The EEL function matches_at() now behaves as documented, returning 1 if the pattern matches and 0 if it does not, even if the pattern is zero-length. The new EEL function matches_at_length() behaves as matches_at() did before, returning the length of the match or 0 if there was none.
12.08 C mode indenting has been improved on lines following #else, and on initializer lines. C# indenting of attributes works better.
12.08 Running the viewer for a file under Windows always tried to runs its Open action, even if that wasn't the default action.
12.08 Various minor scp bugs were fixed.
12.08 Commands like list-customizations failed to include the path-sep and abort-key variables.
12.08 The re_search() primitive ignored color class assertions like <c:...> when invoked with a flag parameter of -1.
12.08 Regular expression assertions like </word> weren't evaluated correctly at buffer edges when reverse searching.
12.08 Under certain conditions, reverse searching could find a match that ended after point.
12.08 Saving a buffer in an encoding could fail if it contained only 8-bit characters.
12.08 The do_dired() primitive didn't abort correctly when the abort-file-matching variable was set to -2.
12.07 An X clipboard incompatibility with some versions of the Konsole program and other KDE programs was fixed.
12.07 A bug in HTML indenting was fixed.
12.07 The About dialog in the Win32 Console version of Epsilon once again displays registration data.
12.07 The set_character_property() primitive no longer ignores the C_ALPHA flag, and includes a new bit to indicate whether a character is a digit or not.
12.07 Perl mode no longer miscolors certain uses of less-than like -s "abc" < 3.
12.07 A bug involving Perl comments was fixed.
12.07 The EEL compiler didn't always word-align its data, which caused problems when using the call_dll() primitive.
12.07 The Gnome viewer didn't work right on filenames with spaces.
12.07 Epsilon's coloring logic is now more reliable on very large files.
12.07 Remote direds work better when coloring has been disabled.
12.07 Various indenting bugs in VBasic mode were fixed; these affected the TYPE statement, ENUM, SET(), and indenting near the top of a file.
12.07 The find-linked-file command now also looks for URL's that use the scp, ssh, and telnet methods.
12.07 A bug that could cause Asm mode syntax highlighting to hang was fixed.
12.07 The commands unicode-convert-to-encoding and unicode-convert-from-encoding didn't limit their operation to a highlighted region as documented.
12.07 Deleting a hierarchy from dired failed if some of the file names to be deleted contained an extended wildcard character like a comma.
12.07 Epsilon for Unix didn't properly handle file names using the syntax ~username/filename when username was more than 8 characters long.
12.07 The C mode indenter's special logic for indenting MFC dispatch tables no longer triggers in other contexts when a function's name happens to start with "ON_".
12.07 The regex-replace command now behaves correctly when interpolated text contains null characters.
12.07 The commands list-customizations and import-customizations now recognize customization of the path-sep and abort-key variables.
12.07 Epsilon for Windows now notices when the control panel setting for wheel scroll lines has been changed.
12.07 File pattern prompting for grep was improved slightly.
12.06a A bug in prior Windows updaters could cause updating to fail when a retail version was installed over an evaluation version before updating. Only the Windows updater program itself changed between 12.06 and 12.06a; the files it installs and their version numbers have not.
12.06 A bug in list-customizations and import-customizations that sometimes resulted in incorrect key bindings was fixed. When these commands list already-loaded EEL files, they should now include the right directory name for EEL files loaded via compile-buffer. Also, the commands no longer generate unnecessary color setting lines in certain cases.
12.06 When parsing key names in an .ecm file or similar, Epsilon produced the wrong key code when the C- modifier was applied to certain characters like Alt-3.
12.06 Epsilon for Windows didn't maintain separate current directory information for each one of multiple concurrent process buffers.
12.06 File/Open and similar dialogs in Epsilon for Windows would sometimes include garbage text on the first line of the list of file type filters.
12.06 The Win32 Console version of Epsilon didn't properly cut or paste OEM text from the clipboard when using an OEM character set.
12.06 A bug in Batch mode highlighting was fixed. Also, files with a .btm extension will now use Batch mode.
12.05 Epsilon for Windows now works properly when the COMSPEC file name specified contains spaces.
12.05 A bug introduced in Epsilon 12.04 made Epsilon set the translation-type variable incorrectly when reading files that used a default encoding.
12.04 In some modes with a command on a lowercase letter key, when the corresponding uppercase key had no specific binding, it failed to redirect to the lowercase letter's command.
12.04 If searching uses a region as its default search text, when the search finishes, Epsilon unhighlights the region.
12.04 An internal limit on the entries in a state file was removed. It prevented some users with large numbers of customizations from saving them in a state file.
12.04 Under Windows, the buf_pipe_text() primitive could ignore the PIPE_NOREFRESH flag if other processes were running and refreshing the screen, even when used synchronously.
12.04 Bugs in move-level and in highlighting in PHP mode were fixed.
12.04 The mode for .bat files now highlights ::-style comment lines correctly.
12.04 Visual Basic mode no longer misindents the line following a single-line For, Do, or While statement.
12.04 The About dialog in the Win32 Console version of Epsilon now displays registration data like the GUI version does.
12.03 When searching or replacing inside a region, certain regular expression patterns could make Epsilon lock up.
12.03 The switch-buffers command now works properly with all bufed sorting options.
12.03 During non-incremental search, using shift+arrow keys to highlight parts of the search pattern now works properly.
12.03 C mode indenting no longer gets confused by some case statements. Continued for() statements and __declspec keywords now work better with indenting and tagging. Some continued preprocessor lines were not indented properly.
12.03 The lowread() and lowwrite() primitives now work correctly when reading or writing more than 32,767 bytes at once.
12.03 Bookmarks for remote files are now restored properly from a session.
12.03 The create-file-associations command now works correctly again.
12.03 Aborting while copying a file (while backing it up, or via dired's copy option) now works properly.
12.03 When Epsilon for Windows restores its window, and it last appeared on a secondary display that's no longer present, Epsilon now ensures it appears on the primary display.
12.03 The man command under Unix no longer displays a spurious error about a broken pipe under some conditions.
12.03 Embedded HTML coloring works better when the sequence that would normally terminate the embedding is quoted or commented by the embedded language.
12.03 The Shift-Tab key once again removes indentation in the highlighted region. Previously it added indentation in some language modes.
12.03 In HTML and PHP modes, Epsilon now respects the matchdelim variable.
12.02 In 12.01, Perl mode could hang if Epsilon tried to compute indentation for the second line of a file.
12.02 A mode-specific binding for the generic version of a key now takes precedence over a global binding for that specific key. For instance, if you press the NumPad-Plus key, Epsilon uses the current mode's binding for +, if there is one, in preference to a global binding for NumPad-Plus.
12.02 The first time Epsilon displayed its window under X, character background colors were sometimes rendered incorrectly.
12.02 Epsilon's WinHelp file didn't always display the right background color in one part of its window.
12.02 Epsilon for Windows now recognizes Ctrl-Alt-digit keys.
12.02 The -noserver flag now works as documented under Windows, rejecting all client connections instead of just those via DDE.
12.02 While executing the delay() primitive, Epsilon for Windows now accepts and queues files sent to it via DDE or other methods.
12.02 Epsilon now preserves the value of each buffer's soft-tab-size variable in its session file.
12.02 Epsilon now indents a line following a C# attribute declaration more naturally.
12.02 Saving a file over ftp no longer discards its undo data sometimes.
12.02 Tagging didn't work properly with some C++ inheritance syntax, C# class name syntax, and in some other contexts.
12.02 The character() and curchar() primitives didn't return -1 at the end of the buffer, as documented.
12.01 Following a dead key with certain special keys now works better in Epsilon for Windows.
12.01 Epsilon now displays an error when a file name using URL syntax has invalid text where a port number should be.
12.01 Epsilon could crash under certain circumstances while displaying a window with a large number of syntax highlighting color changes.
12.01 Yanking a UNC file name at a prompt now deletes any previous pathname correctly.
12.01 Epsilon now properly detects write failures over SCP.
12.01 Aborting from the hex-mode command while it's still building a hex buffer now works properly.
12.01 C++ indenting is no longer confused by certain forms of inheritance syntax, or by certain case-like statements.
12.01 Sorting in dired now works properly when files have very long names, or are so large that Epsilon omits commas from their sizes.
12.01 Command history now works more naturally in the prompts from dired's x command.
12.01 Epsilon now indents PHP case statements properly.
12.01 The set-variable command no longer truncates default values in its prompt when they're very long.
12.01 Tagging is no longer confused by certain C++ syntax.
12.01 The auto-show-php-delimiters variable now operates as expected.
12.01 With some X window managers, adjusting Epsilon's window size didn't work if an initial size was specified.
12.01 Epsilon for Windows now includes a manifest file for XP, so certain dialogs have a different look.
12.01 Epsilon is better at autodetecting the correct line translation type of very small files.
12.01 The Ctrl-Tab and Alt-Tab keys are no longer misinterpreted as Tab in certain cases.
12.01 A memory leak in Epsilon for Unix when reading compressed files and certain other operations relying on an external program has been corrected.
12.01 Aborting while Epsilon is restoring a session now works better.
12.01 Brief mode now uses more appropriate settings for the customization variables resize-rectangle-on-tab (now 0), search-in-region (now 1), and replace-in-region (now 2, a new option).
12.01 Mouse panning could stop when the cursor was too far from its origin point.
12.01 A bug involving the grep-include-timestamp variable was fixed.
12.01 Combining the -add flag with the -d, -l, or -r flags could fail if you put a space between the -d, -l, or -r flag and its parameter.
12.01 Perl mode didn't correctly handle the qr keyword, use Perl's special quoting rules for some keywords when ' is the delimiter, or distinguish qq from qx properly.
12.01 PHP indenting got confused by comments sometimes.
12.01 The import-customizations command failed to import from Epsilon 8.0.
12.01 Reading a compressed file over FTP could crash when Epsilon tried to automatically decompress it.
12.01 The find-linked-file command failed to locate include files in their default location under Visual Studio .NET.
12.01 Reading a command file that specified a setting for a character array variable that was too big for the variable aborted.
12.01 Saving zero-length files that specified a Unicode encoding no longer produces a spurious error message.

Last Updated: 26 May 2013