# MicroEmacs - History

[Home] [Commands] [Variables] [Macro-Dev] [Glossary]

## HISTORY

This version of MicroEmacs is based on an early MicroEmacs release of 3.8 in 1988, the origins of which are unknown, except to say it was delivered on a unmarked 5 1/2" floppy disk.

The program was originally ported to a Motorola MVME147 UNIX box as an alternative to vi. Reliability of the program proved to be a problem as it constantly crashed. In an attempt to rectify the problems the development of MicroEmacs commenced.

Development has continued from 1988 through to today, on the whole oblivious to further developments of the existing MicroEmacs program. This was due to no Internet access. It was not until 1996 the next version of MicroEmacs and mewin (Microsoft Windows (TM) port of the same program) was downloaded from the Internet and compared. By this time MicroEmacs was radically different and we were not about to mesh the two together - that would be a step backwards.

Development of MicroEmacs has been biased towards the UNIX platform, as most of the early development was performed in the UNIX domain. The first of the window servers was X-Windows, which in turn has shaped the implementation of the Microsoft Windows port. Latterly, we have seen the resurgence of the IBM-PC platform which is now commonplace. For the return port to the DOS environment, and subsequent development of the Microsoft Windows port, a UNIX like interface was required. Most existing users could not abide the primitive editors found on these machines; Microsoft Windows was an alien and hostile environment when compared with UNIX. Hence, the MicroEmacs interface utilizes UNIX style cut and paste across all platforms.

For portability, MicroEmacs utilizes character rendering on all platforms regardless of the window manager. Under X-Windows and Microsoft Windows, the display is still treated as a character based display, the subtle difference is that the display pane is re-sizable. This means that the scroll bars, fonts etc. are not as slick as they could be, certainly under Microsoft Windows MicroEmacs looks positively primitive!! Regardless of the look, the goal of a common editor across all working platforms has been achieved!

## Development History

Patch Release - 11th October 2009
Release date specified as 2009/10/11.

- [091011] Patch release of fixes; release date specified as 2009/10/11.
- [091011] Fixed kill-rectangle scribble caused by hilight hidden characters overrunning the kill buffer.
- [091011] Fixed debug build error caused by narrow udata change. Changed debug fprintf of pointers to use %p to support 64-bit version.
- [091010] Fix for &rep and &irep truncating the resultant string prematurely.
- [091010] Fixes for 64-bit system compilation. Issues with spelling pointer arithmetic and undo structure alignment.

Patch Release - 3rd October 2009
Release date specified as 2009/10/03.

- [091003] Fixed documentation for crlf(2m) which is replaced by cr(2m) and lf(2m).
- [091003] Fixed documentation for quiet(2m) which has been removed and replaced with quiet(5).
- [091003] Bound cross note searching to 'esc s' and esc C-s' and removed the 's' & 'r' tree buffer binding. Implemented execution of cross note search within cross note search to jump to the next note. Changed note rename binding to 'r'
- [090930] Fixed crash caused by encrypt key being set to '' (i.e. disabled) on a reload, resetkey did not check this so crashed trying to use NULL.
- [090930] notes; fixed prompt of encryption key when the notes file is already loaded.

Patch Release - September 2009
Release date specified as 2009/09/26.

- [090926] Fixed Linux X-Window size issue.
- [090923] Fixed bad characters in Clearcase output window
- [090917] Fixed Linux makefiles for GCC 4.3 for the detection of ncurses.

10th Release - September 2009
Release date specified as 2009/09/09.

- [090903] file-browser(3) improved on Microsoft Windows to perform a case change i.e. "test.txt" to "Test.txt".
- [090903] Added encase(3) to encase a region with a starting and ending string.
- [090903] Added number-items(3) to perform renumbering on a vertical aligned list of numeric digits.
- [090901] Added template for Inno Setup Script files with extension .iss
- [090831] Changed buffer major setup so all major modes may enable abbreviations and templates. The user may create the appropriate file if there is no standard file supplied and it will be enacted.
- [090831] HTML template; indent <div> constructs.
- [090831] notes; maintain the exact and magic mode settings during a notes tree update.
- [090805] Added support for \i#, \u# & \c# in &xre macro function
- [090530] Fixed TCL abbreviation file expansion reported by Ferenc Deak.
- [090523] Fix fill-paragraph so standard 'o' and 'a' are supported.
- [090523] Fix jst paragraph fill so 'o' and 'a' are supported
- [090523] Bound "esc-`" to enter a very large arg n (99999999)
- [090213] Improved indent rules so two 'current-line and onward' tokens together are both considered on the current line, i.e. '</tr></table>' is a double indent.
- [090201] Fixed the 'No to all' 'o' option to fill paragraph prompt, was still 'v' for Never.
- [090201] Avoided crash caused by moving reg node to itself or one of its children.
- [090121] Better support for encrypted notes files, checks the first line and if not '-!- enf...' it assumes its encrypted and will prompt for a password.
- [081204] Fixed get-next-line buffer selection (logic inverted).
- [081204] Fixed file-tool-menu so it will work in a *find* buffer.
- [081116] Upped the macro minimum version to 2008-11-10
- [081111] Added 'Disable' to file-tool-setup, changed 'Default Open' to 'Open File' and added 'View File'
- [081111] Changed the default behaviour of open and view to open a menu if more than one Open/View tool matches.
- [081111] Added alias paths to a '~' auto-completion list.
- [081111] Fixed compile buffer processor often missing error lines.
- [081106] Changed file tool mask so if it starts with '^...' the whole file name is matched not just the base name (required for 'http://...' type matching).
- [081106] Remove file tool setup from the context menu as it is now in the file tool menu itself.
- [081106] Document highlighting; improved the hilighting of http & https urls and added file: hilighting.
- [081106] Added a new 'Find Link' mouse command (use user-setup to bind) which will open the file/url clicked on by the mouse (typically bind to Ctrl Left mouse)
- [081106] Added 'File Tool Setup' to the file tool context menu.
- [081026] Added confirmation prompt if about to save a file which had binary chars or inconsistent line endings.
- [081024] Fixed forward def's for file-tool macros.
- [081024] Added 'File Tools' item to Advanced menu.
- [081024] Enhanced file-tool to have the features found in shell-tools (namely ability to capture output and save buffers with(out) prompt)
- [081024] Improved the get-next-line file name template to be more strict with matching drive letters at the start.
- [081019] Improved behaviour when ftp reg file is missing.
- [081019] Ensured large files are handled properly (fails for replace-string-in-files(3)) and improved error reporting.
- [081018] Fixed find-file(2) so it can load files and directories with square brackets (i.e. a[b])
- [081010] Removed compile highlighting as this is now done differently.
- [081010] Changed favorite file opening to check for a default open file-tool and use that instead.
- [081010] Clearcase; changed ipipe launch of cleartool to make use of new no-wrap bit 0x200.
- [081005] Implemented a more macro orientated interface to get-next-line (when n == 0), which only looks in the current buffer, if a 'next line' is found it simply changes the cursor location, sets next-file & next-line variables and does not pop-open the file. Got get-next-line to set :next-line as well as a next-file variable.
- [081005] find and grep; used new '&bstat o' to check that any loaded buffer used (-l) is up-to-date and if not prompt the user.
- [081005] find and grep; introduced -a option to automatically reread all ood buffers (Yes to All) and -o option to never reread the ood buffers (NO to all)
- [081005] Changed shell-tool interface so a tool can run concurrent without going to a buffer (uses relatively recent improvements to shell-command)
- [081005] Changed reread-all command so default action only rereads out-of-date buffers (uses new &bstat) if 0 arg is given then it rereads all as before.
- [081005] Protected ME from potential crash when homedir is NULL.
- [081002] File types, fixed abort caused by empty files.
- [081002] page-file; implemented a new -u/-U option to limit the size of a file to be grep'd to 100Mb unless -u is given (unlimited, includes -w for find)
- [081002] When a large file is encountered find & grep now use page-file.
- [081002] Fixed pressing C-g at read-only prompt of replace-string-in-files to abort the command.
- [081002] page-file; Implemented an absolute line counter which works as long as the user started from the top (v useful for grep)
- [081002] page-file; Implemented a macro orientated page-file-search-buffer macro.
- [081002] page-file; Added support for specifying the buffer name to be used by page-file (0 numeric arg)
- [081002] isearch macros now have an 'Yes to All' option when asked whether to change page.
- [081002] Increased the default page size to 1Mb
- [081002] Restricted the session kill history to only buffers which are 1020 chars long or less.
- [081002] Added @y0 ... @y15 support to directly extract the kill-ring buffers.
- [081002] Added a new &bstat command variable which is similar to &stat but for the current buffer, currently only has 'o' for 'out-of-date' test.
- [081002] Made double click on a window mode-line delete other windows (i.e. maximise the window)
- [0801002] Fixed opening toolbar when notes was active in the session.
- [081002] tools; added new save-kbd-macro command which makes it easy to save a keyboard macro for future use.
- [081002] xfind; use new 0x200 ipipe flag to not wrap lines, avoids get-next-line failures on long file names.
- [080929] Changed the 0 & +ve args for reyank, now acts as a yank yanking out the nth item in the kill ring (i.e. 0 reyank == yank (except no external clip check))
- [080929] Fixed bug in isearch - C-w was not storing status so a following backspace could lose the Okay status.
- [080916] find/grep -& (background) option working with new -f ME option.
- [080916] Added Windows MSVC 8 makefile
- [080916] Fixed pipe failure problem caused by GetConsoleScreenBufferInfo failing (no console) this is a fatal problem whe not in piping mode - not checking for failure and handling led to use of uninitialized variables.
- [080724] Fixed spin in ctags caused by a double '; ;'
- [080724] Added new 'Tag File' option to the generate-tags dialog
- [080724] Added command line -f option to set .about.arg# variables
- [080720] Added the session name to the main window title
- [080720] New schemes contributed by BS.
- [080720] Implemented $frame-title to partially set the main window title text.
- [080720] Improved delete-some-buffers so bit 0x01 only disables the 'is modified' test, 0x02 disables the main prompt, added new 'delete inactive buffers' prompt with bit 0x04 to disable.
- [080509] Improved the hilighting of grep output.
- [080426] Fixed PS scheme (now called Lumina). Update of Charcoal scheme.
- [080330] Enhanced the javadoc highlighting.
- [080330] PHP; Corrected string case and enhanced the doxygen commenting.
- [080311] Fixed cvs-remove when used in a dir listing (only worked in a cvs-state buffer)
- [080222] Extended 'C' Doxygen highlighting.
- [080207] Added new 'touch' feature to file-op (bit 0x400)
- [071125] Fixed file name input crash caused by using completion in a dir with files being removed.
- [071125] C, directory list and latex; Fixed 'o' (no to all) response to copy which did not work.
- [071125] Fixed clearcase -mkbranch files being given '?' status.
  Fixed cc-merge refresh bug.
- [071103] Build; added -D option to specify a define, e.g. -D _USETPARM to use the systems tparm function rather than ME's
- [070311] 2dos, 2mac, 2unix, 2win; use arg 0 as these are not able to prompt from the user if the file is read-only - just do it.
- [071103] cc-delete; removed bogus 'checking out parent' error message.
- [071021] find; added -& support to replace-sting-in-files and added new *replace* output buffer for the command so hte user can see what has been done.
- [071018] Template buffer binding; avoid abort if binding can't be made
- [071013] OSD; fixed line hilight when selection string has regex chars
- [071013] Fixed deletion of symbolic links when they point to directories.
- [070923] Correct a file name when adding it to the history if it has a path character (i.e. not just a base name).
- [070923] Fixed ftp file rename (i.e. 'r' command in ftp dir listing)
- [070923] Only rename dir-list buffer to *files* if the current buffer is called *files* (i.e. browser is being used). Handle a dirlist (not called *files*) being displayed in multiple windows. Added file being loaded to file history.
- [070923] jst; Added support for tables being terminated by a ]? on the start of the last row, this makes tables far easier to use.
- [270923] jst; Added support for item-list and collapse. Added 4th level titles.
- [070920] Persist wrap mode in ipipe-rerun and disable compile hilighting when wrap is not used as very long compile lines kill performance (ME takes a lot of CPU)
- [070920] Reset hilight and indent buffer variables on a bclear, otherwise the hilighting persists in *compile* buffer across multiple compiles etc
- [070920] Added a bit 0x02 to the compile command to run the ipipe command without wrap (required if '<filename>:<line>: Error' lines are longer than the window width)
- [070920] Fixed html comment definition (should be <!-- -->)
- [070920] jst; improved title.
- [070920] Added new 0x0200 bit to ipip-shell-command to disable wrap, similar to raw but still adds the header and exit info. Need this for compile when file names are longer than the width of the window (breaks goto-next).
- [070920] Fixed build.sh to build mec when X11 is not available - issue raised by TH.
- [070920] Added capability to 'set-variable @y ...' to set the current kill buffer.
- [070713] Fixed dir-list toolbar tool to handle dirlist with seconds.
- [070713] Perl template; added '-' to list of allowed hash characters.
- [070713] Build; handle VS8 fatal error compile messages.
- [070713] Fixed main edit menu's buffer-mode numeric args.
- [070524] Added a new 0x20 flag to find-buffer to stop the history of the outgoing buffer from being incremented - used by new find and grep to avoid trashing the buffer history.
- [070524] Fixed the handling of find-buffer's -ve arg, introducing a new 0x10 bit flag to control the forced hiding.
- [070524] Fixed file name input so trailing '/.' & '/..' have a further '/' added, this fixes several file loading problems.
- [070524] Changed file saving prompts to be like delete-buffer, they now given the file name first and then the 'save file' prompt so the user can always see the action they are being prompted for.
- [070524] dded an f3 buffer binding to be the same as v
- [070524] Improved filetype.emf to report if the last line is missing its line termination.
- [070507] Documentation correction from Bryan for "notes".
- [070426] Implemented cycling through loaded note files using the tree mode-line arrows (like paged tools in toolbar)
- [070426] Avoid opening the toolbar twice which can cause tool window sizing issues.
- [070425] Fixed cc-state end process cursor positioning prompt, now moves the cursor to after the [***....] exit line so the user knows its finished.
- [070424] Fixed a few start-up session restore and notes interaction issues.
- [070424] Fixed startup performance issues caused by testing the existence of every file
- [070424] Clearcase removed the 'Checkout parent' option for move and delete.
- [070424] Tool setup fixed issue with adding a new window tool after a paged tool.
- [070322] Handle file loading errors in find.
- [070322] Fixed the spelling error scheme.
- [070212] Fixed large file support on UNIX/Linux.
- [070211] find and grep -x option also skip ignorable directories.
- [061206] Fixed issue with the scheme editor.
- [061206] Fixed the OSD entry character handling.
- [061205] Changed creferences to replace-all-string commands to new (query-)replace-string-in-files commands.
- [061205] Implemented new (query-)replace-string-in-files commands based on new find. Changed default for grep to not use -l (use find-setup to do this). Changed -x option so it always ignores auto-save files.
- [061205] Fixed console/window session variable muddle, two run-mode variables are now kept separate.
- [061205] Added new find-setup comand
- [061205] Added latest Charcoal scheme (thanks to Bruno)
- [061203] Up-date of Mirkwood scheme (thanks to Bruno)
- [061119] Corrected minor warning on regular expression evaluation.
- [061110] Fixed spin on a cyclic symbolic link and added loop limit of 10 for chasing a symbolic link.

9th Release / Patch 1 / Build 2 - November 2006
Release date specified as 2006/09/09.

- [061105] JASSPA MicroEmacs 20060909 patch - build 2.
- [061105] Linux i386_x64 port corrections - Thanks to Vincenzo.
- [061105] Correct Java highlighting of package and import declarations - Thanks to Bryan Schofield.
- [061105] SQL template updated, removed bad token - Thanks to Rick Owen.
- [061105] Fixed word wrap horizontal scroll when using a window that is a few characters wider than the fill column. Caused next line to scroll which is very annoying - this is a very old bug!
- [061105] Fixed the Win32s Windows build which was using a later day Windows construct.
- [061105] Fixed NanoEmacs Window version under MS-Windows, crashing on start up due to accessing curFrame which had not been initialized before a screen draw took place from the Window message queue. Inhibit screen access during the construction of the frame.
- [061105] Documentation translate-key examples added - Thanks to Thomas Hurdt.
- [061105] Macros bailing out when the main menu is disabled on start-up. osd -1 0 returns FALSE which causes the macro execution to terminate. Thanks to Bryan Schofield for identifying this problem.

9th Release - September 2006
Release date specified as 2006/09/09.

User perspective summary of changes

- MainMenu(3) - A more consistent main menu and user dialog interaction.
- file-browser(3) - New key bindings to create, delete, copy files and directories. file-tool-setup(3) allows open actions to be associated with file types allowing automatic launching of external tools.
- Introduction of major modes for management of different file types. buffer-major-mode(3) assigns a new operating mode to a buffer affecting the highlighting, indentation, key binding etc. major-mode-setup(3) configures the behavior of the major mode.
- Introduction of sessions which store the context of editor including window layout and loaded files. Multiple sessions may be used, "me -c<sessionName>" restores a specific session. save-session(3) and read-session(3) handle the restore/saving of sessions. The existing history commands have been removed.
- ClearCase(3) support for IBM Rational ClearCase.
- cvs(3) improved support within the file-browser(3).
- notes(3) utility extended, new features allow quick notes to be generated with notes-instant, notes associated with a file may be added with notes-context.
- rdiff(3) recursive difference and xdiff(3) for access to an external graphical difference tool. forward-kill-word(2) inconsistencies removed.
- Highlighting improved, especially for long script files (html / php / javascript) where the highlighting used to be lost.
- jst(9) - Structured text documents.
- insert-password(3) password generation utility for system administrators who tire of thinking of new passwords.
- Fill columns are now defined on a per buffer basis $buffer-fill-col(5).
- indent-increase(3) and indent-decrease(3) commands introduced to change the indentation of a region.
- The default date format may be specified by the user with .ascii-time.format(5).
- Quick directory aliases such as "~proj" or "~work" etc. may be defined to a longer pathname using alias-path-setup(3).
- Language template added for Adobe Macromedia ColdFusion.
- Bug fixes and enhancements to existing commands and functions.

Development history

- [061005] java - Added missing highlighting tokens reported by Tom Hundt. Added new indentation definition and highlighting defined by Bryan Schofield.
- [061005] Fixed the cygwin f3 mode toggling to be the same as ishell.
- [061004] sessions - Avoided any potential timestamp issues by changing the divider to letters.
- [061004] Changed $timestamp default to be regex compliant (i.e. \\.)
- [061004] Changed copyrights to 2006
- [061002] jst - Up-dated jst hook and utils to latest standard.
- [061002] Changed arg to popup-window from 3 to 4 to resize as well, restoring a session on a different machine could easily break things otherwise.
- [061002] browse mode - Added wheel mouse support.
- [061002] notes - fixed notes-file bug caused by creating a new notes file while in notes. Close notes before importing skwurel notes.
- [061002] Fixed find bug.
- [061002] Improved the $file-names path/regex division detection and checked for '\\<' which can always be used as a divider if required.
- [060928] Fixed crash caused by ftp login being given a NULL password.
- [060927] Set macro version to 2006-09-09 as the release version. Set the executable to 2006-09-09 as the release version.
- [060925] Added a '`g`' (goto) to save-some-buffers prompt.
- [060925] Cosmetic changes to buffer-info, 2nd Col to 'ACol' and printed current character in decimal as well.
- [060921] Improved the notes display to better preserve the current notes file.
- [060921] Stopped read-session(3) from trying to restore lock and save buffer modes.
- [060921] Improved the query-replace prompt to list letter options when the width allows.
- [060921] Browser. Added seconds to the info given for a file in a directory listing. Fixed dir list hooks to handle mod times with seconds.
- [060921] Changed char prompts to have '`/`' dividers.
- [060921] Added new bit 0x20 to read-file(2) to discard changes to buffer.
- [060919] Build. Added $MAKEWINDEFS and LIBS to the ME_WINDOW defines, removed references to xpm from the makefiles as this is not a standard package and moved references out of emain.h into unixterm.c. Vamped up build shell script to check for X11 & Xpm availability. Changed horrid dos style empty string tests in UNIX scripts with -z & -n test options
- [060918] Standardized the form of character input prompts and improved routine so '`?`' swaps between help and prompt. Added a '`N(o)` `to` `all`' option to save-some-buffers(2) and changed fill-paragraph(2) to '`Never`' to '`N(o) to all`'. For query-replace-*, changed the help for '`!`' to '`Yes to (a)ll`' and added '`a`', changed '`i`' to '`e`' and removed '`.`' option.
- [060918] Changed debugger '`!`' to '`c`', in keeping with other debuggers for continue.
- [060918] Added bit 0x04 to @mc(4) flag so macro can supply a help string
- [060917] Corrected the X-Windows ordering to allow us to receive (Un)Map events on Linux - X-Server behavior is different from Sun Solaris.
- [060917] UNIX. Added XPM colour bitmap support. Just smartens the ME icon up in Gnome and makes ME look a bit more 21st century without the monochrome icon.
- [060917] Shell template, addition of missing common commands.
- [060917] JST, addition of other text insertions.
- [060917] UNIX. Corrected X-Windows positioning from popup-window.
- [060917] Added new 48x48 icon for gnome with transparency boarder - complaints that existing icons were not Gnome friendly!
- [060917] UNIX. Corrected X-Windows hints for font size change. Requires that the X-Window is unmapped before the size hint may be modified and the re-mapped.
- [060915] Notes. Fixed next-frame(2) prefered selection order.
- [060915] OSD. Sanitised the quick file open and file type buffer open menus and changed them to use a scrolled list if more files/buffers than lines rather than filling the screen.
- [060915] In notes find a file that is loaded but out of date, this leads to an reread prompt during which the notes ehook/idle callback kicks in and changes frame - this breaks the message line of both frames. This is a rather horrid fix to a rather grotty problem!
- [060915] Browser, fixed the sort order to be case sensitive on UNIX, insensitive on Windows
- [060914] User setup. Stopped user-setup's apply from losing the current session's override colour scheme
- [060914] ClearCase. Fixed Describe context menu hotkey overload. Used `-mkpath` to implement a 'checkout parent' for cc-add.
- [060913] Notes. Fixed the loosing of edit and crypt mode from the main notes buffer due to the setting of the major mode. Fixed notes tree context menu hot keys.
- [060913] Fixed kill-list tool up-date trashing the real kill ring.
- [060912] Changed session-update to store view mode for a buffer only if it was forced on by the user (i.e. the file is not readonly). This stops files re-loading in view mode if the permissions have changed - this was a problem with ClearCase reported by Enver Haase.
- [060912] Simplified the new note-setup and fixed the notes buffer losing the hide mode (which causes problems for session restore).
- [060911] Removed the notes 'note' dummy hook in favour of using a real hook. Set the default hook to be jst but can be set in the -!- enf; major-mode: <hook> -!- header. Added new note-setup which users buffer-setup to allow the user to setup the buffer and stores the values for that note.
- [060908] File browser, bound a file-attrib(3) based 'Change File Attributes' option to 'g'
- [060908] Changed file-attrib(3) to handle directory buffers correctly and, with a numeric arg of 0, change the attibutes of a given file (i.e. not the current buffer) Implementation changed to now have a Cancel button.
- [060908] File tool, implemented new `%"...%"` tag to enable proper quoting of arguments.
- [060907] Fixed startup buffer hilighting issue caused by order of session restore.
- [060905] ColdFusion template, added string highlighting to the SQL statements.
- [060905] File browser, added binary edit, bound to 'b'.
- [060905] Added basic xml "`/>`" single tag support to html and fixed xml's insert-attrib to handle this
- [060905] Changed refences to white-char* to whitespaces (i.e. display-white-chars is now display-whitespace) Fixed hide main menu to popup an info dialog informing the user how to get it back.
- [060905] Fixed ftp dialog to conform to new <user>.erf setup standard by adding a new 'Make Default' dialog, and improved the behaviour of Enter in the dialog.
- [060904] Corrected the ColdFusion closing bracket hgilight.
- [060904] Shortened the document template formating menu text strings.
- [060829] Fixed HTML template html-insert-tag to add the closing "`/`" on insertion of a "`<singleTag/>`". Fixed html-insert-attrib to deal with attribute insertion into a HTML tag ending in "`/>`".
- [060828] SQL Template. Corrected SQL string hilighting.
- [060827] New language template for Adobe/MacroMedia ColdFusion (file extensions .cfm, .cfml .cfc).
- [060827] Extended indentation with the 'u' and 'v' indentation types.
- [060822] 2006 Release Candidate 1 (RC1)
- [060822] Added password commands password-to-phonic(3) and insert-password(3). [060816] Added settings for fill-col and fill-mode to the major-mode-setup(3).
- [060816] Added support for a "`.fhook-???.fill-*`" variable and changed latex over to using this variable rather than burning the fill-mode in as 'l'
- [060816] Crossword - Changed Exit button to Close.
- [060816] Changed organizer Exit buttons to Close or Cancel.
- [060812] Additions to the PHP script - missing tags etc.
- [060812] Corrected sun keysym inclusion - inclusion limited to X-Windows build only
- [060811] Fixed session resize issue and incremented the version.
- [060811] Added $buffer-fill-* variables to the buffer-setup dialog
- [060811] Stopped read-session warning about the *server* buffer being a process.
- [060811] Updated to use the new $buffer-fill-* variables - simplifies the doc hooks as ehooks and bhooks are no longer required.
- [060811] Incremented the version. MicroEmacs 06 - Date 2006/08/10 - sunos
- [060811] Introduced new $buffer-fill-col and $buffer-fill-mode variables to allow every buffer to have its own setting, initialized to the global variable value when the buffer is created.
- [060810] Added 'a' for All option to the save-some-buffers prompt
- [060810] Added save -> prompt -> delete of all buffers when loading another session. If bit 1 in arg is not set (i.e. 0 read-session "name") then this is not done and the new session is effectively merged into the current.
- [060810] Added setting of main buffer modes to the buffer-setup osd.
- [060807] Updated emulation modes to handle the new main menu.
- [060807] Fixed major mode drop down list to not scroll horizontally
- [060807] A few tweaks to help with the other editor emulation.
- [060807] Fixed major-mode-setup so Cancel cancels all changes (was 50-50)
- [060807] Removed old buffer-setup file and fixed the makefile
- [060807] Removed 'correction' of main osd - not needed and wrong.
- [060807] Tweaks to osd to remove a few annoyances: up on main menu now goes to last item of current sub menu, fixed re-frame and focus issue on an opened child and made C-g always just close a child even if not in focus.
- [060803] Added new -2 and -3 values for 2nd arg to &lins to insert alphabetically and case insensitive alpha.
- [060803] Added setting of the major mode to the new buffer-setup
- [060803] Changed osd dialogs to use 'Cancel' or 'Close' rather than 'Exit'
- [060803] Closed notes if open when applying changes as this corrupts the notes frame.
- [060803] Made the buffer sub-menu be case insensitively ordered in windows and have first letter hotkeys.
- [060803] Changed frame-id comparison to use seq as should handle "ERROR" better.
- [060803] Fixed notes to handle a reread-file type operation.
- [060803] Changed osd dialogs to use 'Cancel' or 'Close' rather than 'Exit'
- [060802] Added saving the session to save-all and associated a file in $user-path with the File->New command.
- [060801] Set .gz extracted buffer name and file name so its location is kept.
- [060728] Fixed clear-case to handle multi-line comments with SHELL set to csh.
- [060728] Changed "symbol" to "insert-symbol" and "indent-setup" to "buffer-setup" as this is what it will become. Fixed a few hot-key issues with new main menu.
- [060728] Improved help page and looked for context-menu binding to support esc +.
- [060728] Moved the location of making CVS and clear-case always available into their setup dialog and added a C-x C-q replacement option.
- [060728] Changed backspace in a directory to move to the sub-directory in the parent listing.
- [060728] Fixed notes startup so it returns the user to the same place.
- [060728] Documentation, replaced -ve with negative and +ve with positive.
- [060726] gdiff. Added termcap friendly key bindings to move between difference regions.
- [060726] Added new indent-increase and indent-decrease macros. Added indent increase and decrease to format, changed notes binding to f8, move shell tools from tools to advanced and setup commands into tools.
- [060726] Fixed setting of scheme when session file does not exist (problem hit when old user uses session for first time)
- [060725] Changed goto commands to not stop the show-region highlight
- [060725] Major rearrangement of the main menu, replaced the Insert and Execute sub-menus with a View and Advanced, re-balanced and relocated many items, most notably the setup dialogs out of Help into Advanced.
- [060725] Renamed the existing tool-bar macro to toolbar-open (mirrors existing toolbar-close) and introduced a new tool-bar macro that toggles state, i.e. closes if opened. This command is more useful in key-bindings and menus etc.
- [060725] Improved error handling of osd based find tag, also adding support for tags file being in a parent directory.
- [060725] Removed command-line validation and relax file selection requirement so user can create a tool that does not require a file name (e.g. open . in explorer)
- [060725] Used set/goto-position to store current dot and added <no favorites> entry if menu is empty.
- [060725] Added hot-keys to the file attrib dialog
- [060725] Changed simply fence matching of quotes and double quotes, if match is not found by the end or start of the line it's assumed to be a single and ignored.
- [060725] Changed &mid so the 3rd argument (length) can be -ve to mean from the right (as per the &rig etc) - not sure why this was not done first time round.
- [060624] Changed session support to handle both window and console environments. Changed startup to only initialize one scheme.
- [060623] Added file-type-setup to the list of misc setups.
- [060622] Changed buffer-setup to major-mode-setup, also changed buffer-help to major-mode-help etc and fixed comments. Left buffer-setup in buffstp as there will be a buffer-setup which really does setup up the current buffer. Change me.emf date to 20060606
- [060620] Stopped session trying to change the frame for a console run.
- [060619] Sessions. Stopped restore buffer's whose file does not exist and changed the order of frame size setting so on UNIX the depth of windows are maintained correctly
- [060619] Notes. Fixed current buffer position reset problem caused by buffer being shown on hidden notes frame
- [060619] Changed all ME setup macros to reload the /history registry before change the registry and writing it out as soon as the changes are accepted to reduce the likelihood of settings (like new alias paths) being lost. One except is when the setup is run from within user-setup in which case the registry is only read and written by user-setup, this could have some unwanted side effects. Added session-setup to the user-setup misc page.
- [060619] Change to allow macros access to inactive buffers broke file and ipipe hooks which get executed but the buffer is officially made active - fixed by maintaining the BIFNACT internal flag and ensuring the algorithm used for inactive buffers is only used wh ere appropriate. Found buffer context was not set correctly for session buffers whose name was set to 'name<1>' as the BIFNAME flag is not set, fixed by removing this flag and using code to assess if the <1> should be removed based on the filename.
- [060619] Fixed read-registry's replace mode which was doing a merge as the old node was not removed.
- [060619] Fixed a bad prompt and added a couple of brackets to protect compare order.
- [060616] Changed the start-up process to not use the history commands (which have been removed) but simply use the read-registry commands.
- [060615] Moved the storage of all history type info into the new session (esf) files.
- [060615] $user-name.erf only contains setup info and not often edited changed user setup to minimize the likelihood of losing edits (at last).
- [060615] Broken session-setup out into its own macro file and made quite a few fixes to the new session support.
- [060615] Removed the save- and read-history commands the me.emf start-up now simply use the read-registry command
- [060615] Changed find-buffer to allow limited access to inactive buffers (allows base getting and setting of variables)
- [060615] Changed the exit-emacs numeric argument (again) so it can be used by meDie (0x28 exit-emacs ~= emergency exit)
- [060615] Created new $window-mark-line & $window-mark-col to aid inactive buffer support (not sure why these were not already there as they are usefully in macros)
- [060615] Enabled availability of save-some-buffers by default (quick-exit relies on this!)
- [060615] Changed the -c command-line option to simply set the variable %session-name (relies on session macros)
- [060615] Changed clipboard support to not mess with it during start-up and shut-down
- [060615] Created new change-scheme command.
- [060615] ClearCase. Fixed *cc-state* buffer not being in view mode when command completes.
- [060615] Corrected types of exchange-point-and-mark.
- [060608] Improved OSD search dialog by making the buttons always enabled and reporting an error if search string is empty.
- [060608] Made the existing hidden scheme macro a visible command which can be used to change the current color scheme. Set .scheme.current to the file name of the current scheme Saved the current scheme in a session so a user can create a session with its own different scheme.
- [060526] Sessions. Changed to use new shut-down pseudo key.
- [060526] Changed shut-down process to call the ehooks for the current buffer of all frames and changed the shut-down macro to a pseudo key-binding.
- [060525] Added a new buffer-major-mode command to change the current buffer's hook, giving it an arg of -1 or major mode of "" removes the hook. No completion list yet. Fixed tab-width setting so all 3 windows get the same new value.
- [060525] Changed gdiff to insert the 2 files into temp buffers so if the files are already loaded by the user these buffers are not effected. Added the ability to set the tab width.
- [060525] Fixed crash caused by watch refreshing the buffer while user is using isearch - stopped watch from refreshing the buffer.
- [060525] Added a new bit 0x10 to find- read- and view-file to disable the context fhook evaluation.
- [060525] UNIX fix. Call screenUpdate directly after a window resize - fixes gdiff update problem.
- [060523] Sessions. First serious rev of session-load and -save.
- [060523] Added arg to tool-bar to allow the tool-bar to be initialized without re-reading the registry - required by new session support.
- [060523] Changed left click on mode line to change to the window if the mouse is not moved.
- [060523] Fixed C++ '::<function>() ;' indentation bug introduced with c++ initialize ': <base-init> ()' indentation support.
- [060523] Encrypted files. Added file/host to the password prompt so on a -c the user should know which password is required.
- [060523] Fixed UNIX compiler warnings
- [060516] me.emf. Fixed missing def of file-type-setup & shell-tool-setup.
- [060515] Added new bit 0x2 to arg for change-buffer-name which force the buffer to have the given name, changing the name of an existing buffer if required.
- [060512] ClearCase. Fixed cc-setup view deletion, pressing No does not remove it. Removed the temporary file created by cc-diff if me's diff of gdiff are used, file is still left if xdiff is used.
- [060512] Added a new $mode-chars variable which returns the letter ids of all modes as a string, this variable cannot currently be set.
- [060512] Changed the numeric arguments for quick-exit and save-buffers-exit-emacs to make them simple to use.
- [060510] Improved the ftp logging so errors get put into the console with error numbers rather than just mlwrite'd. Removed the KEEPALIVE as ME closes the sockets with 10mins anyway. Fix the ftp kb/s calc.
- [060510] Dirlist. Fixed context menu so the FTP additions are added for any ftp:// listing.
- [060504] Major addition to notes: a) Added forw/back note. b) added notes-instant and notes-context c) implemented notes-session-save (not done window layout yet) but not implemented the matching load yet. d) fixed a few annoying up-date and behavior problems.
- [060504] ClearCase. Fixed windows \\r\\n issue with diff - constructed predecessor could have the wrong format breaking the diff.
- [060504] Changed reyank numeric arg so if a -ve arg is given reyank will fail if at the end of the kill chain rather than loop - required for notes-session-save
- [060504] Found differences between copy and kill-region's handling of narrows, particularly if there's no markup line Found I could crash ME if only the end part of a narrow-to is killed - buffer line number all go wrong. To fix the issues I've created a standard function to handle the expansion of narrows over a region and made the rule that for a narrow without a markup line to be included in the region at least the \\n of the previous line and 1 char of the container line must be included, this means that narrows at the top and bottom cannot be included.
- [060504] ClearCase. Fixed cc-merge comment bug.
- [060504] Added support for a .ascii-time.format variable which defines the format for the output using '%' tags as per strftime function (supports most tags) - output is unchanged if variable is not set. Fixes request by Dick Pierce. Changed the OSD insert time function to use the same tokens and made the first format in the list be the output of ascii-time.
- [060503] Provided macro interface to get a list of alpha marks for the current buffer.
- [060427] Fixed context-menu element activation issue caused by selected file count being wrong.
- [060427] Fixed notes and gdiff window resize issues by locking the size.
- [060426] Improved (but not quite fully fixed and I don't think I can) the mouse word selection when the word is half hidden at the left or right edge of the window.
- [060425] Fixed bug with setting $window-line, if value is < 1 then the goto-line function prompts the user, this is incorrect behavior for a set variable command and the cause of a mouse driver spin. Fixed mouse left button spin caused by missing the pick event and a bug in set-variable for $window-line. Added new horizontal scroll feature when user clicks on a $window-char truncated line char.
- [060421] JSP. Fixed java <%...%> within JavaScript start token
- [060421] Fixed C++ comment hilighting
- [060413] Added an abort-command safty trap to reset the $buffer-input variable.
- [060413] JSP. Fixed most JSP hilight and indent issues caused by java and javascript confusions.
- [060412] Bug fix. Put checks in to ensure the hilight/indent to be used according to a look-back scheme has been defined - fixes crash when viewing JSP files.
- [060403] DIRECTORY LISTING. Fixed 'not-exist' fix in last commit - ftp dir lists can be only a couple of lines Made file/dir copy automatically try 3 times before prompting the user (large ftp copies will fail at points). Fixed browse mode close problem when browse deletes the buffer.
- [060402] Used an ehook and a callback to auto detect a change in the notes frame buffer/window layout, if there is a change the callback closes the notes frame. This approach resolves many issues.
- [060331] Fixed XML magic hook.
- [060331] Fix annoying find-zfile last buffer history change. Changed the buffer & file name of a loaded zfile file to something more useful.
- [060331] Created a '2 find-buffer <file-name>' arg which finds an existing buffer via its file name - used to fix annoying find-zfile buffer history change.
- [060330] Fixed CVS & CC context menu placement issues. Fixed cc-add to use -mkpath for directories
- [060330] Change fhook-dir to always detect if its a source-controlled dir and call the SC hook, the SC hook can then add its own bindings etc. Fixed fhook-dir so loading of ".../not-exist/" does not error.
- [060330] Made the esc = & esc + menu bindings global.
- [060329] Changed unix start-up mode to favor X over termcap if DISPLAY is set, even if term is a vt100.
- [060329] Fixed mode-line udate bug when all edits are undone - reported by Tom Hundt.
- [060322] Fixed the position of the context menu when opened by mouse or menu key. Fixed auto-spell not being available when context menu is opened using the menu key.
- [060322] Improved gdiff-next command to error at the end of the file so the use knows they have reached the end. Bound 'menu' to open the contex menu and bound 'esc up' & 'esc down' to move between unassigned sections.
- [060322] Bound f10 to close the notes frame and bound C-x k to a new notes-delete command
- [060317] ClearCase. Added new cc-merge command (which uses cleartool's findmerge command!). Added new cc-describe command (which uses cleartool's describe command), fixed the CC context menu.
- [060317] Directory listing. Increased 2Gb directory file size limit to 4Gb by making size variables meUInt.
- [060317] Fixed '\\' quoting in command-wait example.
- [060316] Up-dated docs for command-wait, added some meaty examples and added cross references to them.
- [060316] indent fix
- [060316] Changed describe-word osd dialog so that it has a 'Look Up' button which is the default. Also improved the insert description process so C-w kills the description inserted.
- [060316] Improved the behaviour of the enter key in the help osd so it does a search or nothing.
- [060315] Fixed a win32 console crash caused by the new frame reposition function. Stopped the messing about of the windows console when ME is in piped mode.
- [060309] Fixed regex \\a -> \\g for bell and added support for \\a & \\m to [...] character classes.
- [060309] Updated *shell-command docs.
- [060309] Documented &lef, &mid & &rig -ve 2nd arg usage.
- [060309] Documented insert-string's -ve arg.
- [060309] Up-dated goto-matching-fence docs
- [060309] Fixed docs for when no arg is given to forward-kill-word.
- [060309] Updated jst template to new version. Fixed a couple of bugs with tables (empty cells and bad indent) Implemented a table cell '!' flag to indicate a start of a row (helps debugging) Fixed bug when title variable not set.
- [060309] ClearCase. Minor improvement to setup layout
- [060222] Exit handling fixed, saving of modified buffers, history, spell dictionaries etc. "**Emergency Exit**" messages removed from exit handling.
- [060214] Corrected user setup mouse defaults - missing wheel mouse default bindings.
- [060214] Improved the php look-back scheme to identify php script quicker.
- [060213] Fixed crash caused by the new hilight look back scheme using the indent look back function which used the indent scheme rather than the hilight scheme
- [060210] Improved php hilighting by making use of the new look-back-scheme and look-back-only-token features.
- [060210] Improved the time printout
- [060210] Benchmark tests. Improved the disptest.
- [060210] ClearCase. Fixed cc-add when adding just a directory.
- [060210] Added basic mouse support to browser and honours exit bindings
- [060210] Added look-back-scheme support to hilighting (uses same code as indents quick-lookback scheme). Added new 'only use during look-back' hilight token (combined 0x800 & 0x200) which can solve make multi-line string hilighting issues.
- [060210] Fixed compiler warning with -m changes
- [060210] Removed unused variable in new reposition function
- [060210] Fixed unused variable on NDEBUG build
- [060209] Made changes to the -m server message option to make it usable. a) Process the message using the macro 'token' function so \\n is translated to a new-line char. b) If the message is not terminated with a \\n then one is added. c) The popup-window message it only given when -o option is used
- [060209] Added support for a server 'M' message command.
- [060209] Changed the hilight and indent meHilight structure mis-uses access the data via #define (added to estruct.h) so the code is clean and easy to read and the miss uses can be easily found and changed. Changed the storage of the main indent and hilight scheme flags to use the ignore field (only 5 bits currently used) so the trunc scheme can use the type and the hilight look back can use the close (i.e. unlimited).
- [060209] Fixed clear-case update list on checkin option.
- [060208] Fixed crash caused by mlGetStringFromUser being called recursively - only possible since the introduction of ftp completion which can prompt for the user password while inputting a file name.
- [060207] Added an implementation of meFrameRepositionWindow for XTerm, not a very good one as there is not a clear standard between WMs.
- [060207] Fixed obscure crash caused by horizonal scroll mode 2 and long lines.
- [060202] Build script. Fixed MS-Window's typo.
- [060201] ClearCase + CVS. Fixed hiding of *??-console* buffer and closing the window with loading a file from a dir list.
- [060127] Broke the user-setup 'Tools' 'File Types' and 'EMail' pages out into separate independent setup dialogs. Added new Miscellaneous page to user-setup with links to these and other setup dialogs (such as alias-path and file-tool) Changed the buttons to the more standard Okay, Apply Cancel. Slightly changed some of the Mail & VM registry settings to make each platform independent (except filtering).
- [060127] ClearCase. Added new cc-delete and alias-path-setup commands. Added f4 to diff binding. Moved the window resizing call to nearer the end (after the font resize as this could change to a smaller font allowing more lines etc).
- [060127] Fixed quite a few issues with the CVS and clear-case UI interfaces. Brought cvs-state into line with CC, implemented cc-delete and rationalised the hot-keys and context menus.
- [060127] Added new alias-path-setup OSD gui.
- [060127] Added new 3 and 4 arg to popup-window to manipulate the main frame window, implemented meFrameRepositionWindow function on windows.
- [060127] Fixed find-reg index in error message.
- [060127] Moved macro parser's \\a to \\g (bell) and added support for \\a - alpha and \\m - alpha-num to hilight and regex.
- [060125] Changed the default debug for 'deb' abbrev to 2.
- [060125] Improved the hilighting of html &???; chars - issue raised by Tom Hundt
- [060124] Fixed crash caused by moving right (cursor key) into a sub-menu with no active items - bug found by Tom Hundt.
- [060122] gdiff. Fixed the bugs introduced with the 3rd 'current line' window was introduced.
- [060122] Changed call from saveExitEmacs to exitEmacs to avoid compile errors for NE.
- [060122] Fixed the meDie function to not exit straight after the emergency exit message, now autosaves as it should. Change the handling of the CLOSE message on windows so it prompts okay/cancel if buffers need saving and then exits. Fixed really annoying modifier state mismatch problem on windows - reproduce by pressing control right-click on title bar to get the system menu and then release the control, ME misses the C-drop event so thinks its still pressed.
- [051220] JST extensions.
- [051219] JST. Added implementation of TOC to html export.
- [051219] ClearCase. Disable check out of parent dir for cc-add as its not implemented
- [051215] JST. Changed tag highlighting to handle split line tags correctly. Implemented support for f and b color export to HTML using style.
- [051215] First commit of new v4 JST format hook and export macros.
- [051215] Fixed the return value of transpose-lines command which was always returning false causing cc-add to fail.
- [051212] SQL Template. Missing hilight statement causes execution to fail - Thanks to Th.
- [051212] Fixes to old JST before it gets trashed
- [051125] Fixed regex bug where "[\\s]" incorrectly matches an 's'
- [051125] ClearCase. Added support for not loaded to cc-state
- [051123] Added support for alias-paths.
- [051122] Fixed highlight problems with "^ *$" & "^\\\\s*$" close bracket tags, they should match any line containing only spaces/white-spaces but they did not work reliably.
- [051122] ClearCase. Fixed the cc-diff, external diff settings had got muddled.
- [051122] Directory listing. Changed the size ordering to list largest first on initial sort.
- [051118] ClearCase. Implemented the auto get checkout comment and removed the temp command-line buffer.
- [051118] Directory listing window. Added binding of 'f' to toggle the filter and changed the 's' and 'S' bindings round (s is far more useful)
- [051118] Improved the horizontal scrolling of gdiff and browse
- [051110] Make debugger stop at executed !elif & !else will work for all macros, may not work when executing a buffer as the line may start with a white space.
- [051110] Stopped osd check-box macros from triggering the debugger when $debug is set to 1.
- [051110] Added some more key translations based on bug report by Francesco Abbate.
- [051104] 2nd and much improved version of cc-setup. Changed to using -1 insert-string to allow multi-line comments. Fixed horrid problem with cleartool's handling of checking out a file when its been hijacked, no command-line option to make it use the hijacked file me has to use ipipe-write a send 'yes' at the prompt, but as the prompt is not given me must be preempt and send them first, one for each file - clear-case is pants and cleartool sucks.
- [051104] Changed cmd-line construction to use -1 insert-string to insert \\n's into the line - not really very nice.
- [051104] Fixed meGetChar to be like GetString in that if running a macro the value has not been given it goes directly to the user rather than simply failing, this improves macro reliability and eases debugging of macros.
- [051104] Multi-line shell fix. The new 0x100 flag to shell-command has one drawback, you cannot run commands that include newline characters as the cmd-line must be on the first line. But CVS and clear-case commit comments are often multi-line so this is not acceptable. To fix the problem I have added a -ve arg to insert-string comment which then performs a literal insertion, i.e. every char including a \\n char is inserted are text. This fixes the immediate problem but inserting a \\n char in a line can break other thing in a very major way (like undo) so it must be used with extreme care.
- [051103] ClearCase. First rev of a CC tool defaults setup in cc-setup. Moved CC over to using 0x100 bit in shell-command to remove command-line length limit.
- [051102] Moved multiple-file file-tool executions over to using the new 0x100 shell-command flag (first line of buffer) to remove command-line length limit in almost all cases (cmd has a 4kb limit)
- [051102] Introduced a new 0x100 bit for shell commands which means the 'cmd-line' given is a buffer names whose first line holds the command-line to run.
- [051028] ClearCase. Fixed cc-diff abort when a file has no differences. Added a 'delete line' function to cc-state bound to C-k.
- [051019] Visual basic highlighting - added And Or and Xor operators.
- [051013] Unix shell window, corrected highlighting of backslash escape character outside of a string enclosure.
- [051011] ClearCase extensions. Added button to cc-checkin to get checkout comment. In cc-state - fixed file selection on last empty line and mouse selection and added support for mouse drag selection.
- [051011] Changed dirlist copy/move to preserve the original files time stamp.
- [051011] Fixed windows rename to check the to name is case insensitively different.
- [051011] Implemented file time-stamp preservation in the file-op copy and move.
- [051011] Improved the window-popup on windows, more likely to work but can still fail.
- [051011] Fixed UNIX drag-n-drop, broken by -l l:c addition.
- [051007] Integrated Ric Yeates command line -l <line>:<col> submission - thanks for the submission.
- [051007] ClearCase. Removed VOB option from cc-state as it did not work. Made cc-console read only and better integrated including supporting it as a toolbar tool (like cvs-console).
- [051007] Fixed bad variable assignment in directory list macros.
- [051001] Corrected Sun Solaris x86 makefile to use the Sun Native compiler.
- [050930] ClearCase. Fixed cc-state to check the state of selected directories, which requires a double cleartool call (horrid command-line) Added support for config-spec viewing and editing. Added directory refresh option for checkin/out add etc. Added many improvements to cc-state buffer support, hilighting, file listing style sorting and selection (i.e. following are bound `1`,`2`,`3`,`+`,`-`,`u`,`a`,`*`)
- [050930] file-tool, changed the buffer list toolbar tool to keep the current line to the current buffer when using find-buffer etc.
- [050930] Latest Mirkwood update from Bruno.
- [050930] Fixed ftp drag'n'drop copy bug, the source dir needed an file: prefix to remove the `ftp://` of the current buffer. While test I blew away my home directory, nasty way to discover that ftp can return `".."` not `"../"` and `".."` is not ignored when deleting! Fixed.
- [050929] File listing, stopped copy, move etc commands from accepting `'../'` when its the current line Fixed `'v'` browse file open and close.
- [050928] browse, removed the delete buffer flag from browse - wrong way to do this.
- [050928] ClearCase, make cc-annotate work if file is checked out (cleartool command-line is awful, why do you have to pay money to use this rubbish?)
- [050928] Added wrap feature to browse mode.
- [050928] Changed Mirkwood main OSD scheme to make current focus item more visible.
- [050920] Changed the $debug variable to be bit based as its old values just could implement the required functionality.
- [050920] Latest Mirkwood highlight scheme - added underlining for spelling errors
- [050920] OAD, added a comment tab to the scheme editor and up-graded the scheme selectors to use combo-boxes.
- [050920] Fixed compile error on macos caused by bad macro definition.
- [050919] Fixed 2 bugs: meRegHead's force could be left set to 1 which has the side effect of `C-g` not hiding the active region. Due to last change to command-wait the screen is not up-dated before waiting for a key breaking gdiff.
- [050919] Readability update to Mirkwood highlight scheme.
- [050919] Changed ClearCase cc-state to handle file names with '`[`'s in them.
- [050915] Added Up, Down, Hide window and default open options to the file-tool setup GUI. Added support for a default open to the directory listing, pressing return now checks for a file-tool default open (explorerish), '`o`' for open always loads the file into me.
- [050915] Added support for dbx on sunos. Changed the ipipe input mode to be toggled using `f3` rather than set via `f2`, `f3` or `f4`.
- [050915] zfile, fixed filename -> absolute file name when given as an macro arg - should be based off current buffer's path.
- [050908] Added file-tool.
- [050908] ClearCase, fixed `%diff-com` definition problem and cc-uncheckout buffer update problem. Fixed cc-checkout and cc-checkin buffer update problems as well.
- [050908] Improved the diff highlight, more readable and correct.
- [050908] Added new Mirkwood highlight scheme.
- [050806] Added better support for MinGW. Fixed the console color bug and most of the compiler warnings. Added support for the MSYS shell by creating a unix style `mingw.gmk` (uses rm instead of del etc) updating the old `mingw.gmk` and renamed to `mingw32.gmk` and added support to the unix build script.
- [050803] Fixed ne crash when an unbound key is pressed, bug introduced with last commits.
- [050721] Fixed annoying mouse refocus in osd dialog even though mouse is not moved - another windows nasty.
- [050720] File browser, added directory closing binding to '`c`' and '`+`' '`-`' windows compatible bindings.
- [050720] Pop-up menus, shifted the context menu down one line when opened by a key.
- [050720] Directory listing. Changed the tag file list macro to support moving to the closest selected so the user can see which files they are deleting! Improved the file-tool so `\\H` will see a hot-key, '`\\`' chars and '`"`' must be quoted (i.e. '`\\\\`' & '`\"`') Bound '`t`' to open the file tool menu directly so tools can be easily executed without use of the mouse.
- [050720] Source code reorganisation. Standardized the # preprocess forms, removed 2 uses of #elif and cplusplus and changed odd '`defined(_BSD)`' style bracketing which the c-hash-eval does not handle.
- [050720] Removed unused functionality from NE. Made the following available as extended functionality: backward-delete-tab, change-buffer-name, change-file-name, define-macro-file, delete-blank-lines, delete-some-buffers, named-buffer-mode, save-some-buffers, save-buffers-exit-emacs, user(`%`), buffer(`:`) and command(`.`) variables, $buffer-input, $kept-versions, $mouse*. $pause-time, $MEBACKUPPATH. Removed -c from ne's help page as this is not supported. Moved macro regex &xseq, &xrep based directives and most @ variables to extended functionality.
- [050719] Organiser address search broken due to recent changes to macro argument getting. Fixed by changing the numeric argument which was ambiguously defined.
- [050718] Source code reorganisation. Made the file hook variables and HideBuffer function statics. Changed ne to use fixed char groups for isUpper etc rather than the large look-up tables as it does not have set-char-mask to configure them anyway.
- [050718] C template. Fixed and greatly simplified the #if handling in the hash eval code. Added support for `#undef`.
- [050715] Source code organisation. Removed unused code when there's no ipipe support. Hashed out location functions which are only required by socket or ipipe support.
- [050714] Combined cc-log and cc-annotate into a single cc-annotate cammon with GUI. Added cc-vtree and cc-explorer.
- [050714] Fixed user-setup setting of number of backups and Ignore files settings.
- [050714] Fixed file-op copy so the source file's attributes are preserved (i.e. remains read only etc). Implemented the 4th parameter (attribs) in &stat i Implemented a file-op chmod using arg bit `0x200`.
- [050712] Corrected NE build under Windows, console build including windows calls.
- [050712] Directory listing, fixed delete copy and move prompts, flag `0x08` got changed to `0x04` in file-op.
- [050712] Implemented a proper ClearCase context diff by recreating the old file from the diff and then calling a real diff program.
- [050712] Changed the diff hilighting to be just one scheme as a CC diff could contain a gdiff style for files and diff style for directories.
- [050712] Corrected NE build problem with macro debugging.
- [050711] Corrected Latex template load error in `hklatex.emf` (detected with `$debug=1`).
- [050710] Fixed old `$debug` interface, found a long forgotton mode 3 (now 4) which simply prints the current line without waiting, this broken the new mode 3.
- [050709] Removed the -d command line option - pointless.
- [050709] Improved the macro command argument handling to get missing arguments from the user, i.e. having a macro line of: fine-file Works okay.
- [050709] Vastly improved the macro debugging, the $debug value of 1 is now 2, 2 -> 3, a value of 1 now tells the user of any unhandled failures.
- [050709] Fixed the Windows window resizing behaviour to be a lot more usable. The window size now increases in character size steps rather than bouncing around and the window is refresh as its changed. The Horizontal width limit of the window has effectively been removed (set to 400 chars) the depth is still restricted to the screen size, issue raised by Tom Hundt.
- [050709] Added new file tools interface, creating windows explorer type file name based tools (e.g. extracting a zip file).
- [050709] Added ClearCase cc-log and cc-annotate (similar to cvs's commands)
- [050709] Stopped the default file hook from creating a bogus tool menu and help page.
- [050709] Fixed the previous-line macro and the kill-word key bindings.
- [050709] Changed the menu items which open a sub dialog to having '`...`' in their name as per the gui standard, issue raised by Tom Hundt.
- [050708] Changed sub-menu display chars, auto open menus are now ' `>`' and manual are '`+`', issue raised by Tom Hundt.
- [050708] Got thoroughly fed up with the emacs style kill-word - useless. Came up with a compromise, if no numeric arg is given then it works the old way, if an argument is given (i.e. 1, 2 ...) it works in like emacs (which makes sense as you are asking it to kill 1 word etc.)
- [050708] Changed list-commands and command-apropros to not list hidden macros by default. They can be listed if bit 1 of the numeric argument is clear (aka list-buffers)
- [050625] Updated mode line letter mnemonics which were out of date, issue raised by Tom Hundt.
- [050625] Stop me crashing when describe-variable is given something like "&or", now restricted to variables of type `#`, `$`, `%`, `:`, `.` only.
- [050618] Added support for -ve offests to &lef, &mid, &rig functions to go from the end of the string.
- [050618] Created a no wait option to shell-command so processes can be launched and forgotten about. Also added support for all the other process launch flags present in pipe and ipipe shell commands. Removed some very dead code.
- [050618] Avoided a '&mid -1' in display matching fence (`dmf.emf`) by restructuring the logic a bit.
- [050616] Revision 3 of ClearCase support.
- [050614] Second rev of clearcase support. restructured the execution of cleartool so ipipes are used (even though the user may not be able to edit) giving feedback on progress. Implemented a basic diff which can only diff one file at a time and only with its predecessor but at least it supports a context output of sorts!
- [050614] Fixed command-wait when no arg is given to return when a callback sets the `.wait` variable. Command now returns imediately if the `.wait` variable is not defined. Fixed windows sleep function which was managing to break out before it should.
- [050612] latex added macros for bold/italic/mono character formatting.
- [050612] nroff region support for character formating.
- [050612] .fhook-xxx.command-n syntax added to buffer-init to simplify comamnd definition.
- [050610] Removed "C-c C-g" key binding in document macros and replaced with "C-c <" because of C-g issue.
- [050610] CVS added support for a cvsco.etf checkin template.
- [050610] First revision of ClearCase support, very incomplete and primative but the hooks required in the rest of the system are in place.
- [050609] Changed the directory listing so '`.`' is removed and `..` is always the first file and cannot be selected. Fixed some directory display annoying refresh issues.
- [050609] First implementation of directory deletion, copying and moving, including support for ftp directories etc. Areas of concern are still copied file's permissions and to a lesser degree ownership. Also the copies behaviour with symbolic links, this must be tested further.
- [050609] Fixed file permissions and ftp minor issues a couple of major ftp bugs and $file-names working for ftp directories.
- [050609] Added new &stat "`i`" flag and argument bit 4 to file-op to abort on a problem rather than prompt, it also returns an error code in $result.
- [050609] Changed the kill word commands so have the same word boundary behaviour as forward-word and Emacs (was killing word only then whitespaces only etc). Corrected word movement and killing command's EOB and BOB error handling.
- [050608] Added new rdiff (recursive diff) command
- [050608] Updated string-rectangle and space-rectangle to improve its usability.
- [050608] Updated describe-word setup comment.
- [050601] Corrected `ne.emf`, broke Window mode in disabling console mode for ne -R option change.
- [050601] Corrected crash on hilight with alpha-numerics of form `[[:digit:]]` when spelt incorrectly.

8th Release - May 2005
Release date specified as 2005/05/05.

- [050508] JASSPA MicroEmacs 8th release - final. Core and macro versions 20050505.
- [050514] Fixed ftp copy lock-up (most noticable on windows) caused by the response read at the start of a command also reading (and disgarding) the finishing message so ME hangs at the end of the command waiting for a response.
- [050514] Enabled ipipes under cygwin by default.
- [050514] Fixed win32s build.
- [050514] Fixed mecygwin interactive MS-DOS and cygwin BASH shells.
- [050513] Found the UNIX waitpid(-1,...) in the sigchild handler (which removes any zoombie processes) removes the pipe commands process so the pclose call cannot get the process's exit code (returns -1).
- [050509] Changed the name of aix43 make files to aix4 and sunos 55 and 56 files to a single sunos5 makefile
- [050509] Added support for aix v5 (tested on aix v5.1)
- [050507] Added Finnish support to ne.emf.
- [050506] Improved python collapse and item-list support and added eaf and etf for python - thanks to Detlef.
- [050505] Base version numbers reset for next release.
- [050429] Added support for keybinding to item-list column ordering, function is item-list-order and is bound to 1, 2 and 3 by default. Thanks to Bryan Schofield for his submission in this area.
- [050429] Spelling - protect '.'s in the word with \\.
- [050428] Corrected TCL hilighting w.r.t. comment at end of line - submitted by Bryan Schofield.
- [050427] Major reworking of main commands in a directory listing buffer. Implemented typical features found in an OFM standard browser and create standard bindings as well as termcap friendly ones. Changed delete binding to delete files rather than close browser which is now bound to f10.
- [050427] osd - Added numeric bit 8 on osd-entry arg to put the text above the entry.
- [050427] Added C-x k support to browser mode to kill the buffer, also added hook for the file-browser's view file.
- [050427] Fixed user-setup to use only one value of $file-ignore & $kept-versions per platform rather than one for window and one for console based versions.
- [050427] Shrunk the size of the file-attrib dialog to ensure it fits on a termcap screen.
- [050427] Fixed nasty bug with transpose-line at the end of the buffer swapping the last line with the first!
- [050427] main.c - Fixed minor compiler warnings.
- [050426] Added a binding for file completion (any key bound to insert-tab) so OSD dialogs can do completion (although awkwardly).
- [050423] Fixed wiki edit mode for Russian keyboards, the 'k' flag key mapping was breaking things.
- [050423] Windows - Fixed windows Ctrl numeric pad keys, now come through as C-0 ... C-9 C-* C-+ etc.
- [050420] Added new Dot/Neato support fhook (for .dot files) - thanks to Detlef for the submission.
- [050420] TCL - Added more hilight tokens from Detlef.
- [050420] Document macros - fixed cpp->tcl typo - thanks to Detlef for spotting this.
- [050410] Fixed the -R option for DOS box, cursor same as the foreground color which is not ideal!
- [050410] Fixed the SunOS x86 makefile to disabled #pragam warnings under GCC.
- [050409] Release Candidate 2 - MicroEmacs 2005 (RC2)
- [050408] Added flag to the user-setup Tools to force the rereading of the current buffer's file, thanks to Bryan Schofield.
- [050408] Added new .item-list.width variable to allow control of the item window list - submitted by Bryan Schofield.
- [050408] Moved the generate tags into the sub folder and added a compile option to c and cpp - submitted by Bryan Schofield.
- [050405] Added support for DOS code page 866 (Cyrillic Russion) - submitted by Nicholas Kudriavtsev
- [050331] Added support for the setting of the history in macros via @h#.
- [050325] registry.c - removed compiler warning indicating porting problem hilighted under Darwin. Post increment of variable on left of assignment and same variable appeared on the right, split out the increment to reduce ambiguity of the statement.
- [050320] UNIX only - add a rule for .dir files found in the X11 directory. We do not want this files identified as "dir" info root file
- [050320] Added termcap (white) scheme for reverse video operation.
- [050320] Newuser registry file - added default entry for Apple Mac "darwin". Confirmed operation under Mac X-Windows.
- [050320] Extended ME exit commands to support the discarding of modified buffers '`0x8 discard modified buffers`' and '`0x10 discard modified buffers and create recovery file for changes`'.
- [050320] Corrected XML syntax for strings "`...`" to fix indent and hilight anomalies.
- [050319] Added -R command line option to reverse the built in video schemes - specifically for ne(1) also works with me(1).
- [050319] Corrected default mode settings. Recent removal of letter(2m), line(2m) etc. changed the mode byte assignment of some modes. The built in global mode default was not updated for this change in bytes and incorrect global modes appeared as a result - specifically quiet(2m) which has jumped bytes.
- [050315] LEX/YACC template - Corrected LEX and YACC highlighting. Aligned C, C++ and YACC/LEX templates to be consistent.
- [050315] C/C++ templates - buffer setup modified for GNU Indent Style setting.
- [050315] Added new browse(3) command and binding to f3, changed existing collapse-all f3 binding to C-f2.
- [050315] Modified ME exit commands to support a bitwise arg n where main exit-emacs(2) has '`0x01 Prompt`', '`0x02 Save each buffer/reg/dic (with prompt if 0x01 set)`' and '`0x04 Prompt for exit code and exit ME with that code.`'
- [050313] Latex template - Corrected the latex-fill-paragraph. Set the fill-mode to 'l' rather than 'L' because its a pain when it selects centre rather than left and messes things up.
- [050311] Directory list - changed column sorting so Modified is sorted most recent first.
- [050311] Fixed perldb pipe operation.
- [050310] OSD simplified the main context menu and moved paste a cvs items in the directory context menu
- [050310] Fixed diff's file name input, was not completing correctly
- [050310] CVS changed the default setting of the recursive add to off.
- [050310] JASSPA MicroEmacs quick start document released.
- [050309] Fixed bug in regex multi-line search backwards, searching for "`foo[^a]`" is a mult-line as `[^a]` matches `\\n`, if "`foob`" exists at the start of the line isearch-backward refuses to move on.
- [050309] Catman pages added for ne(1) and me(1) complaints with gentoo as missing. Added to the package builds.
- [050308] Fixed a nasty bug with ftp connect dialog when the host has a port. Changed the default path to be nothing which becomes `/~/` to list the login directory. Change the tab order to not include the password as tabbing through the entry will lose the password, must now access via mouse or hot key which is not ideal.
- [050308] Added support for relative ftp browsing via new `ftp://???/~/???` url form. Added file name completion support for ftp
- [050306] Corrected the docmacro `http://` regular expression.
- [050306] Changed the date format of the -V command line option to include the century, same format as the about(2) buffer.
- [050302] HTLP and PHP - fixed indent(2) problems.
- [050302] Perl template - fixed indent problems caused by not skipping the `=~` type regular expressions.
- [050302] TCL template - fixed continuation and comment indent bug.
- [050302] Added support for R/S-plus (.r) files - thanks to Detlef.
- [050225] HTML template - fixed an indent which was fixed at "`2`" rather than "`t`" and added comment skipping indent rules
- [050225] dos2unix(3f), unix2dos(3f) and unix2win(3f) - Removed use of &spr in favor of &cat so `dos2unix` etc. work in ne(1). [050225] Tracing a problem with hilighting a token of the form "`AB*$`", works if there is a '`B`' but fails if there are no '`B`'s, i.e. only matches "`AB+$`". Found that removing the end of line special case code fixes the problem. I believe the rest of the code has been improved to handle any end-of-line quirks - I hope so!
- [050225] Removed the '`start-up`' macro function compile option so all versions support this - "`ne`" can now do a "`@dos2unix`"
- [050225] Regular expressions - extended replacement string syntax. Added support for "`\c#`" "`\l#`" and "`\u#`" to change the case of groups, where "`\c#`" is capitalise, "`\l#`" is lower "`\u#`" is upper and "`#`" is the group number (`0-9`, `&`)
- [050225] Regular expressions - changed syntax of "`\s?`" and "`\S?`" in favor of Perl's simpler "`\s`" and "`\S`" for a whitespace char class. Added new character classes "`\d`" = digits, "`\D`" != digits "`\h`" = hexdigits "`\H`" != hexdigits "`\l`" = lowercase "`\L`" != lowercase "`\u`" = uppercase and "`\U`" != uppercase. These changes were made to both the main regex search engine and the hilight(2) token matching engine. Added support for char classes within the main regex `[...]` character class, i.e. now supports regexs like "`[\l\u_]`" for any lower, upper or '`_`' char. This is not supported in the hilight which currently has a more simplistic "`[...]`" char class support.
- [050225] Regular expressions - changed use of "`\s` ", "`\s-`", "`\S` " and "`\S-`" classes to simply "`\s`" and "`\S`" which is perl regex compliant (ditching Emacs "`\s`" syntax as it is cumbersome and not very useful). The only nasty side effect is hilight's miss-use of "`\S1`" - "`\S9`" to mean not "`\1`" - "`\9`" group char, changed to "`\!1`" - "`\!9`"
- [050224] ne(1) set to not auto-save or create backups by default.
- [050224] Added "`-a`" and "`-B`" command line options to enable and disable auto-save auto(2m) and backup(2m) modes.
- [050224] Tcl template - some more fixes to the item list from Detlef
- [050224] watch(3) improved the refresh rate of a type 2 or 3 watch by ignoring the `:watch-time` and just look at the `:watch-size`. Fixed the split line issue with type 2 of 3 watching caused by last line not being complete.
- [050224] M-x ftp - stripped '`ftp://`' and any trailing '`/`' of the users entered host name as these break ftp. Improved the dialog's handling of passwords, the user can now tell if a password has been set.
- [050224] Added standard binding for mark-function
- [050224] Fixed the ME token hilighting in the C hook
- [050224] Removed recently added `%no_backup` variable to disable backup create as new -B option is a much better way of doing it.
- [050224] `edef.h` - Removed definition of non-existant variable
- [050224] Fixed failure when trying to load "`http://www.jasspa.com`", there is an implicit trailing '`/`' which MicroEmacs now adds.
- [050224] Tcl template - major improvement - courtesy of Detlef.
- [050224] Fixed collapseto support the file hooks .exact setting (set to -1 means case insensitive)
- [050224] Added new beginning-of-function, end-of-function, goto-function-line and mark-function macros - thanks to Detlef.
- [050223] Windows MS-dev 6 project - corrected project settings for `_URLSUPP` to `_SOCKET` in keeping with the socket dynamic library loading.
- [050223] Added exec of wish to the tcl magic hook
- [050223] Fixed $window-chars(5) - added OSD default button chars.
- [050222] Fixed $user-path(5) being more that 35 chars breaking the user-setup(3) dialog.
- [050222] Directory listing - call `fhook-html` when file is a `http://` file - this is never a directory listing.
- [050222] Stopped loading of files in dir listing when clicking way to the right, must click on the name (MicroEmacs kept loading files when just trying to raise the window to the front - annoying).
- [050222] If 0 given to watch(3) call watch-time, this preserves the old interface.
- [050222] Added backup file disabling for dos2unix(3f) macros via command line defineable variable.
- [050221] Changed the new Windows process tree killing to use `LoadLibrary()` to detect whether the OS supports this feature (and NT does not). Also moved the URL support over to `LoadLibrary()` so we can remove the -u builds.
- [050220] Added UNIX Shell and Makefile hilighting to notes(3)).
- [050219] Fixed GNU GCC warnings in Makefiles for #pragma in X11 files under Sun Solaris and uninitialized variables.
- [050219] osd(2). Removed dialog '`F`' flag as it was not documented, did not work and only used in one obscure place. Fixed C-g and Del so they close up to the previous dialog but does close the main menu down in one call - was annoying.
- [050219] Release Candidate 1 - MicroEmacs 2005 (RC1)
- [050218] Corrected UNIX client-server socket file check -- bad test on existence of connection file, using wrong variable with wrong test sense.
- [050218] Added site delete button to ftp-connect dialog.
- [050218] Fixed abbreviation and exec-string "`\\p`" and "`\\P`" store and goto position problem when the `C-x` `C-a` or `C-x` a keys are rebound. Fixed by replacing with 'esc x set-alpha-mark P' (where esc-x is a safe internal special key).
- [050218] Updated watch(3) interface and made public. Created new watch-time(3) command and prompt user for watch type when no argument is given.
- [050218] Removed the use of bit `0x1000` in Ada string hilight as this is unlikely to be wanted (probably copied from Pascal).
- [050218] Changed the registry parser to abort on error rather than trying to carry on (a very painful process for a badly decrypted registry file).
- [050218] Fixed highlighting minor issues. hilight(2) scheme now returns back to EOL scheme after a bracket. A branch tag on an EOL line removes the EOL flag so it hilights correctly. Branch tag now supports the `0x1000` single line hilight. Lookback now supports `0x800` on a branch tag.
- [050217] HTML highlighting. Fixed some really grizzly scripted html page highlighting issues, predominantly with php.
- [050217] Change ftp so it opens the ftp-connect dialog if the current buffer is `*ftp-files*`.
- [050217] Fixed ftp dir list column detection and highlighting issue with windows ftp servers (time given as `9:15` not `09:15`)
- [050217] Fixed bug in set-variable(2) and unset-variable(2) when &sprintf(4) is used to create a variable name.
- [050217] Watch command (watch.emf). Improved the watch command, made '`0` `watch`' call watch-reset, changed watch-reset so with an argument of `0` it removes all watches otherwise it resets the main watch counter and reports to the user which buffers are watched. Added new '`2` `watch`' and '`3 watch`' which compares the file size, doing the following: a) file on disk is smaller than last watch - reloads whole file. b) file size is the same - does nothing. c) file on disk is larger - appends to the end of the buffer the tail of the file (`file_size` `-` `watch_file_size` bytes). This assumes that the files is always being appended (reasonable assumption in most cases. The only difference between 2 and 3 is that 2 forces a complete reread of the file on the first file change (ensuring the buffer is correct), 3 does not which allows the user to trash the first gigabyte of the buffer before starting the watch.
- [050217] Shell template - added local and function keywords and fixed a few string highlighting problems.
- [050216] Made the dir-listing's (Filtered) label on line 2 pick-able, changing the filter status when picked Made CVS's CVS-Quick label pick-able doing a full reread when picked.
- [050216] Fixed a couple of silly register bugs introduced with last find-registry(2) concat root and sub-key change. Improved behavior when ftp erf file is missing, now create a new one in memory and flags as changed so should be saved on exit.
- [050216] Do not abort `me.emf` execution if ftp erf file is missing or bad.
- [050216] Fixed by removing the '`startup`' function, the main init now uses dofile directly and it checks for either a NULL or `""` as a filname and replaces with "me" or ("ne" and does not complain) if found to be empty. This means that give execute-file(2) an empty string executes either "me" or "ne", i.e. resets me - nice side effect. Changed '`dofile()`' to `execFile()` and changed `execFile()` to `executeFile()` (as is function for command execute-file(2)) and change the other exec command function names for consistency.
- [050216] Fixed an annoyance reported by Bruno, ne should not complain if it fails to find `ne.emf` - fair enough.
- [050215] Fixed crash caused by using `-c` option with all files hidden (comment when browsing ftp dirs as cache dir lists are hidden) The startup process knows the history created buffers but the replacement was none of these and due to the toolbar it was a buffer without a file name and bang! Fixed in 2 ways, first check the replacement has a file name, second do not put hidden files into the history - they're hidden.
- [050210] Improved movement between items using the cursor in the search dialog.
- [050210] Fixed cvs dialog default settings.
- [050210] Corrected search path expansion, incorrectly handling a `PATH_CHAR` at the start of the string.
- [050209] Up-dated user-setup(3) platform page to new style and added yank-rectangle(2) binding.
- [050209] Fixed no-color termcap $window-chars(5) variable setting
- [050209] Fixed hot keys (were 3 'U's) in `osdmisc.emf`.
- [050209] Added new BraceStatement indent(2) value to support GNU C indentation style.
- [050209] Fixed the `osdDisp()` function required a `TTflush()` otherwise the cursor is left in the wrong position on termcap systems.
- [050209] Fixed the default $window-chars(5) variable setting.
- [050209] Fixed the DOS home directory setting and compiler warnings.
- [050208] Changed the C indent definition to be the same format as the existing indent definitions i.e. uses flag & indent value, this makes it more flexible and extendible. Updated macro files.
- [050205] Password generation macros added to `contrib` directory.
- [050205] Added JavaDoc highlighting to Java template. Enablement via buffer-setup(3). Removed the existing "`my`" extensions from contrib.
- [050205] Added Doxygen(1), <stdint.h> and error highlighting to C/C++ templates. Enablement via buffer-setup(3). Removed the existing "`my`" extensions from `contrib`.
- [050204] osd - Fixed problems with the cursor shows current item feature of osd caused by the cursor position going outside of the window.
- [050202] Added an initial item number to the favorite and buffer menus.
- [050203] Standardized narrow anchor and line flag movement behaviors with respect to deleting and inserting text. Enforced to effectively exist at character column -1 and been strict about maintaining a protected line. Made undo cope with markup lines that are lost. These changes may be a little to severe - we'll see.
- [050202] Fixed C-g close osd dialog crash.
- [050202] Directory listing - fixed nasty bug cause by the directory changing on disk before the hook has managed to do anything leading to a failure - this has been annoying Jon for some time!
- [050127] `hkemf.emf` - Fixed `!until` indent rule.
- [050127] First revision of notes.
- [050127] Fixed positional problems with mouse rectangle regions and added a mouse rectangle yank to user-setup.
- [050127] cvs - Set the initial osd dialog item to be the first item rather than the Okay button (with is still the default button).
- [050127] Fixed `*scratch*` hook assignment issues, initial startup buffer and only buffer delete problem.
- [050127] Added process tree killing for windows, tested on win98, 2k & XP, would be good to test on win95 (which should work) and NT which should not work but hopefully will be no worse than current version.
- This is a process tree killing for ipipes, in win32 killing the process we create is simply not good enough, all child processes continue unaffected. For example, run compile, kill the buffer in mid compile and it carries on behind your back!
- For Unix we use a new group and kill the group, DOS does not support ipipe. We could have used the new Job concept in ME but this is only present in win2000 & XP and the binaries are unlikely to run on win98 etc. This should run on every win32 platform although it is unlikely to do anything positive on an NT box (works in win2k)
- [050126] Changed the location of the fhook-default macro so its only defined if using buffinit (i.e. if running main `me.emf`)
- [050126] Fixed osd button repeat issue when current focus is an entry.
- [050126] Changed insert-file-name to insert buffer name if a -ve arg is given, bound to C-x y on the mode line, this replaces ml-lines esc y feature.
- [050123] Fixed a crash caused by too many closed fences, the recursive nature of the `findfence()` function triggers a stack crash at around 22000 on windows. Set limit to 256 nested fences.
- [050122] Fixed dir(2m) mode loss on a directory re-read, this caused a number of side effects including loss of highlighting and user prompt to reload the directory when it had changed.
- [050119] Removed the "sub-key" argument from all registry related calls (see &reg(4) and set-registry(2)). The registry calls used to comprise two arguments "root" and "sub-key", the "sub-key" is really redundant and the same effect may be achieved by a simple string concatenation of the "sub-key" to the "root".
- [050119] Added "`my-*hook-always`" macro checks in the buffer hook switching of buffer-init(3) to permit global file hooks to be defined, this allows a file hook to operate on all buffers. "`my-*hook-always`" is executed after the language file hooks of "`*hook-XXX`" and "`my-*hook-XXX`".
- [050116] Added "`TODO`" highlighting rule for Makefile comments.
- [050114] Fixed narrow-buffer(2) type numeric argument not processed correctly.
- [050113] Added tool bar tool mouse select region command.
- [050113] Added bindings for the cvs and ftp console tools.
- [050113] Fixed organizer(3) duplicate index bug.
- [050111] Deleted the get-registry(2) command, this has been depreciated and &reg(4) should be used instead.
- [050111] Extended the read-registry(2) and save-registry(2) commands to permit reading and writing from a buffer based registry (rather than file).
- [050111] Extended list-registry(2) to permit listing of specific nodes, the output buffer of the registry listing may be specified. Added a invisible flag to a registry node which hides the node completely (but can be toggled).
- [050111] Fixed windows server command file polling of up to 60 times a second by making the adder of the command responsible for 'waking' MicroEmacs by sending a `WM_USER` message. This is not a problem for UNIX as it is possible to wait on file input and `EOF` is not reported.
- [050105] Fixed several narrow-to narrow-buffer(2) usability issues, with these fixes the top and bottom narrow cannot be removed without a markup line and the order cannot get muddled.
- [050105] Fixed a problem with the anchor position up-date when inserting a whole line.
- [050105] Changed the osd entry mouse handling to always refocus, this allows the user to change location in the current entry using the mouse.
- [050105] Fixed. insert-macro(2) undo location was incorrect causing a crash.
- [050103] Spelling dialog. Changed the Ignore button to Continue if word becomes correct without changing (word added or language changed).
- [050103] Fixed. CVS osd dialog with bad hot-key.
- [050102] Added setting of $recent-keys(5) variable.
- [041231] Variable $fmatchdelay(5) renamed to $pause-time(5). $pause-time is now used for other MicroEmacs delay times when the user is prompted for information.
- [041224] Fixed several usability issues in the search replace dialog.
- [041224] Up-graded printer-setup dialog to new style OSD.
- [041224] CVS dialog - added read-only option to checkout and update.
- [041224] Fixed goto-line(2) offset which as always going to the previous line (one out). u [041221] Added support for proper kill buffer use in message line, i.e. set-mark(2), kill-region(2), copy-region(2), yank(2) and reyank(2) all work in the same way as a normal buffer.
- [041221] Fixed registry node deletion when the node is modified.
- [041221] Removed osd(2) `osd 0` 'd' flag and added 'I' initial item and 'D' default button flags, existing osd dialogs which use 'd' will fail to load and need are migrated to use the D and I flags.
- [041218] auto-spell(3) key bindings are promoted to global so its easy to enable in any buffer.
- [041218] Corrected setting of the $home(5) environment variable to handle MS-Windows '`\\`'s, auto terminate with '`/`'.
- [041210] Added Enable/Disable Auto-Spell to the context menu.
- [041210] Rearranged the organizer(3) dialog to be a little easier to navigate through.
- [041210] Fixed nedit emulation insert binding.
- [041210] Removed ml-clear(2) command, replaced with ml-write(2) option "`0 ml-write`".
- [041210] Removed the change-directory(2) command, a change in directory is achieved by changing the $buffer-fname(5) value such that the path defines the location of the command. All macros operated relative to the buffer location and never explicitly changed the directory location.
- [041210] Fixed CUA emulation insert binding.
- [041210] Deleted letter(2m) mode. Use the default binding of forward-delete-char(2) for letter mode off, where single deleted characters are to be added to the kill buffer then the existing letter(2m) mode may be achieved by binding as "`1 forward-delete-char`". Similarly for backspace, backward-delete-char(2).
- [041210] Deleted line(2m) mode. Use a binding with kill-line(2) of "`1 kill-line`" to mimic the line mode enabled and "`kill-line`" for line mode disabled.
- [041210] Deleted cmode(2m). Electric-c is now configured with indent(2). C and C++ indent styles can be different, can also have a GNU C style etc, can change the indent width as new indent rule supports 't', consistent $buffer-indent(5) interface.
- [041210] Created new osd file "`osdmisc.emf`" for miscellaneous OSD macros, this removes the OSD dependency when the MicroEmacs is executed in special start up modes with startup files. Moved search and new indent-setup(3) commands out of "`search.emf`" and "`format.emf`" into a new "`osdmisc.emf`" as they cause problems with utils that do not run "`me.emf`" (e.g. "`ehftools.emf`")
- [041210] Introduced a GNU emacs emulation mode, emulation file is "`meemacs.emf`".
- [041209] Fixed newuser "`$user-name.emf`" conflict issue with an existing macro (e.g. `zaurus.emf`) by testing for it and prefixing a digit to make the file unique.
- [041209] Added `esc C-\` binding to restyle-buffer(3).
- [041209] Fixed some issues with the Tools user-setup dialog.
- [041128] Added MinGW makefile posted to JASSPA group by Patrick Anderson, forms part of the release makefiles.
- [041126] Added '`k`' keyboard setup to set-char-mask(2) which is used to translates foreign keys to a latin char.
- [041126] Changed the internal LEADER byte to `0x1c` as `0xff` is a valid Russian char and it badly breaks $vars and macros.
- [041126] Fixed spell dump word which was not translating the words to the users char-set.
- [041126] Added support for Russian language.
- [041126] Improved the aff ispell conversion routines (almost works automatically).
- [041126] Stopped auto-spell(3) from triggering the no dictionaries error, leave it to spell-buffer(3) etc.
- [041125] Fixed OSD multi-line `C-k` kill-line behavior and implemented "`-1` `kill-line`" support.
- [041125] Added basic support for Verilog programming language.
- [041123] Fixed ftp OSD (auto entering entries broke the password field) and modernized.
- [041028] Fixed. `*find*` buffer exhibits the same behavior as `*grep*` buffer. i.e. the `*find*` buffer remains on screen and a pop-up window is used to show the file.
- [041028] Fixed. `*grep*` buffer does not load file when selected with `<RETURN>`.
- [041027] Spruced up old "`apache.conf`" highlighting rules and added to release.
- [041022] Fixed very obscure cvs load-up bug.
- [041122] Updated schemes to set 'Show cursor in osd' suitably and to make sure the cursor is not red as this conflicts with the match fence display.
- [041120] Fixed transpose-lines(2) crash when undo(2m) mode is disabled.
- [041120] Removed the OSD explicit tab order value as this was not constructively used and causes many item order problems.
- [041119] Many improvements to OSD dialog user interface following suggestions for news group. Updated most of the osd dialogs to use the new `[*]` check-box chars. Fixed tabbing orders and moved some items over to combo-boxes. Added osd-cursor visibility support to scheme-edit. Made the displaying of the cursor in an osd dialog a $system(5) bit set by the highlight scheme and fixed the position when in a child dialog.
- [041118] Added a macro recursion depth limit of 20 to avoid blowing up MicroEmacs when the user has created an infinitely recursive macro.
- [041112] Added Paul Boekholt's suggested GNU Emacs key bindings.
- [041107] kill-paragraph(2), fill-paragraph(2), forward-paragraph(2) and backward-paragraph(2) commands redefined. kill-paragraph now kills forward and backward rather than control the kill buffer. Paragraph movement now defined blank-line to blank-line rather than the first/last paragraph line.
- [041105] Fixed kill-line(2), forward-kill-word(2) and backward-kill-word(2) numerical argument implementation.
- [041104] Removed regex-forward(3) and regex-backward(3) macros and moved uses of them over to search-buffer(2).
- [041104] Added search-buffer(2) command which replaces the macro commands regex-forward(3) and regex-backward(3). Simplifies macro processing of searching by providing a search that explicitly sets the exact(2m) and magic(2m) modes. The default is to respect buffers exact and magic mode and flags must have `E` or `M` to ensure they are disabled.
- [041104] Changed any use of kill-line(2) to "`1` `kill-line`" as this should maintain its required behavior. A kill-line with no numeric argument kills to the end of the line but excludes the end of line character (GNU Emacs compatibility). The default binding is the "`1` `kill-line`" form, re-bind the key to "`kill-line`" if the end of line is not to be killed.
- [041104] Removed line(2m) and letter(2m) buffer modes as these can be done using numerical arguments to bindings. See the the kill-line(2) binding which replaces line mode. See forward-delete-char(2) and backward-delete-char(2) binding which replaces letter mode.
- [041104] Changed the forward-kill-word(2) and backward-kill-word(2) commands to be more consistent with GNU Emacs.
- [041102] Moved winterm over to using `addKeyToBufferOnce()` for mouse move and time, also done same for UNIX mouse time event. This minimizes the number of mouse moved events that are processed by the system.
- [041101] MS Windows. Fixed mouse cursor disappearing after using a Shift or Control mouse button event.
- [041101] Auto reload the directory even if it is changed (`hkdirlst.emf`).
- [041030] MS-Windows. Removed the "`WM_INPUTLANGCHANGE`" message handler as this did the wrong thing (use `Alt-Shift` to change between two different keyboards e.g. US and Russian)
- [041030] MS-Windows. Changed the method used to get the APPDATA path to use `SHGetSpecialFolderLocation()` as this is available in all versions of Windows.
- [041030] UNIX. Fixed the mouse movement which caused a rendering anomaly. Mouse moved commands are only added to the key buffer if the key is not already present in the key queue. This alleviates a large build up of redundant mouse move keys on the queue. (Added function `addKeyToBufferOnce()`),
- [041030] Added mouse rectangle region selection methods, copy-rectangle(3) and kill-rectangle(2).
- [041029] Hardened cpp(9) C++ commenting on `//` alignment when the previous line is a solid `//////////` when re-styling buffer.
- [041029] Fixed find(3) "`*find*`" buffer operation so that it operates like "`*grep*`" on file selection. Keyboard file section enabled within the "`*grep*`" and "`*find*`" buffer.
- [041026] Spruced up old "`smb.conf`" highlighting rules, brought them up to date with latest keywords and added to release.
- [041026] Fixed indent-setup(3) osd dialog.
- [041024] Macro/source compatibility macro and source versions updated to "`20041001`".
- [041024] Fixed the cvs-diff(3) options, local with HEAD was not correct.
- [041024] latex(9) template extended. Buffer bindings for underscore and quote keys. Search tools to determine current context.
- [041023] Extended the buffer setup for the indent(2) mechanism. May now specify the default buffer indent-widthand tabsize in the buffer-setup(3) dialog.
- [041022] Revised indentation implementation. The templates now define indent width independent rules. The indent(2) command 'indent' parameter may be defined as an absolute indentation or using a '`t`' notation. The syntax is "`[-][[indent][/indent]]t`" which defines a vulgar fraction of '`t`' which is the indent width (or tabsize) as specified by $buffer-indent-width(5) defined below.
- The global variables $tabsize(5) renamed $indent-width(5) and controls the global indentation size. $tabwidth(5) renamed $tab-width(5) and controls the display size of a literal TAB character.
- The indentation is now specified on a buffer basis, the variables $buffer-indent-width(5) and $buffer-tab-width(5) define the indentation and TAB width on a per buffer basis. These are seeded from the aforementioned global variables.
- [041022] Fixed spelling mistake in user interface of XML macros.
- [041022] Removed CVS "`Log:`" field from all of the template files - undesirable.
- [041022] Added HTTP highlighting to the text document template.
- [041021] Enhanced Wiki language template.
- [041021] Added Windows CUA emulation mode.
- [041019] Fixed insert binding for Nedit emulation mode
- [041019] Fixed perl(9) highlighting rules. Using incorrect syntax.
- [041016] Fixed UNIX make files for building NE in debug mode.
- [041016] Fixed termcap entry for ^@ key (`C-space`). (Thanks to Bob Paddock for noting ommission)
- [041016] Added M-% binding to query-replace-string(2) as built in binding. (Thanks to Bob Paddock)
- [041016] Added Ruby programming language support.
- [041015] Corrected problem with directory listing loosing highlighting (a @mna(4) problem).
- [041014] Within OSD, fixed spelling mistake. Loose -> Lose.
- [041014] Fixed delete-hilight-lines(3) failure when buffer file has changed.
- [041009] Fixed osd entry scheme as the cursor was not visible in MS Dev-Studio Colors.
- [041009] Added Wiki language template
- [041003] Wheel mouse binding added as default.
- [041003] Catch long lines from cut and paste, resolve crash.
- [041002] Added X-Windows drag and drop support using xdnd.
- [040930] Added HTML, XML and SGML close bracket auto expansion.
- [040930] Added XML and HTML verification macro. Added XML utilities macros to allow next and previous tag to be matched. The XML utilities are also used by SGML.
- [040930] Added `xxxx-pre-expand-abbrev` hook so that macros may add their own expansion methods.
- [040917] Added `<...>` as supported fences.
- [040917] Fixed the `-1` add-next-line(2) ignore line feature.
- [040915] cvs-add(3) looks for a Tags file in the CVS directory and sets the GUI state appropriately. Added server to the cvs-state(3) line mangling.
- [040909] cvs(3) GUI updated with new features. Added repository set up to the UI. Reduced wait time on long commands by using ipipe. Allowed `-z` option to be used with %cvs-com(5).
- [040828] About page includes the century in the date (suggested by -Th).
- [040824] Fix for man page hyper-link when includes `-/./_` characters.
- [040814] Linux manual page formatting fixes.

Minor Patch - July 2004

- [040728] Released patches.
- [040728] Corrected Linux kernel 2.6 pty allocation.
- [040630] Linux manual page formatting fixes.
- [040518] Comment definition corrections for C, C++ and java, notable Doxygen comment formation omitted.
- [040518] Corrected block comment formatting, adding an extra space at the end of the comment.

7th Release - March 2004

- [040326] Release wrapped - public release tag is 20040301 for executable and macros.
- [040326] Support for MAC O/S Darwin image. Console only (no build machine available for X-11 version).
- [040326] Introduction of UPX on Windows and DOS executables for ne only.
- [040326] Support for MS-DOS long name under DJGPP v2.0. For version 2.0 then the DJGPP functions must be invoked rather than the MS-DOS BIOS calls otherwise the modified short name is returned. DJGPP v1 is still supported original definitions maintained.
- [040326] Added filetype(3f) macro to determine the file type of MS-DOS, Windows or UNIX.
- [040322] $mouse variables configured under console modes to allow pseudo mouse operations to be performed.
- [040322] Fixed the win32s build and emain.h definitions. Mouse was not supported under win32s through incorrect configuration definition.
- [040322] Key bindings for the file browser. `ENTER` now handled on the reserved fields to sort. `BACKSPACE` now moves up a directory level.
- [040322] Changed the interface to cvs, ftp and file-browser command so that if a numeric argument of `0` is given then the directory tree window is not opened, just the `*files*` buffer.
- [040322] AutoIt hook. Thanks to Dr Detlef Groth.
- [040322] Added CSS template. Thanks to Gabriel Tabares-Barreiro.
- [040318] Fix to Microsoft Windows clipboard when operating with VNC.
- [040317] Macro and source release set to "`20040301`".
- [040317] Added find(3) command to macro set.
- [040317] Corrected rgrep(3) to use the %xfind-com(5) to specify the find(1) command.
- [040310] Fix to graphical diff - gdiff(3). Occasions where all changes had been accepted and the changes could not be saved. gdiff incorrectly prompted user to accept all changes first.
- [040310] Support for multiple comment styles in the same language template. Additional comment styles are defined in the "`hkXXX.emf`" file with the syntax "`.fhook-XXX.comment-N`" where "`N`" is an integer starting for 1 to n, the number of different comment styles. Templates updated to use multiple comment styles where appropriate (C, C++ and SQL).
- [040310] Support the 'r' flag in "`.fhook-XXX.comment`" flag field. Causes the key binding to "`esc-o`" and "`esc-q`" to restyle the comment. All templates updated to include the flag where appropriate.
- [040310] cvs(3) operates asynchronously using ipipes. Refresh problems resolved.
- [040310] narrow-search-forward(3) bound to "`C-c s`", narrow-search-backward(3) bound to "`C-c r`".
- [040308] ipipe-shell-command(2) includes additional flag to run in "raw mode" where the buffer is not annotated and wrap is disabled. Additional argument added to command to allow the $buffer-ipipe(5) macro to be defined when the pipe is defined. Corrected operation of pipe-shell-command(2) where ipipe automatically degrades to a pipe (Windows only), if degraded then the $buffer-ipipe(5) macro is still invoked on completion.
- [040226] Deleted "`cygnus.emf`" added "`cygwin.emf`" for cygwin(3) BASH shell support under Windows. Corrected the shell operation with macro layer for echo and completion.
- [040224] Add new narrow out unhilighted lines feature.
- [040223] Add new buffer tab list toolbar tool for rapid access to buffers via a top or bottom toolbar.
- [040223] Add `<>` buttons to tool-bar mode lines to scroll left and right.
- [040223] Fixed. Calender day is off by one when going backwards to before 2004.
- [040223] Fixed. Executing 'me' (user-setup -> Current) breaks auto-spell(3) until a main spell command , spell-word(3) or spell-buffer(3) is executed.
- [040223] cvs(3) directory listing file loss solved. Differences between CVS command line operations and directory list operations resolved, both now produce the same results.
- [040229] Fixed UNIX signal lock synchronization, solves problems with read failing following FTP or HTTP command.
- [040223] Add new narrow-search-forward(3) and narrow-search-backward(3) commands.
- [040220] Mouse wheel operation fixed. Added new mouse-wup-scroll commands that should be used instead.
- [040218] Added 'Invert Selection' to context menu.
- [040218] Add '`f5`' refresh binding to a dir list buffer.
- [040218] Fixed. Need some way of opening the right mouse button menu using a key. Also need so termcap bindings to open main and context menus. Created new context-menu command, bound to `S-f1` and the windows 'menu' key (aka windows) and created binds to open main menu (esc =) and context menu (esc +) on termcap platforms.
- [040217] Fixed. 2 popup-window(2) does not work on an XTerm, no implementation in function `meFrameXTermMakeCur`.
- [040217] Fixed. CVS status of directories is not shown. Also add '`b`' and '`o`' file type flags.
- [040216] Fixed. ME build.bat -l options do not work in standard cmd/command as there use 4DOS '`>>&`' extension. Changed to using `2>&1` which works on cmd & 4nt but breaks 4Dos and command.
- [040216] Fixed bottom Toolbar window grows when CVS is opened, change-window-depth(2) does not respect bit 2 of $window-flags(5).
- [040214] Added .spec template for RedHat RPM package file specification.
- [040214] Added .psf template for HP-UX depot product file specification.
- [040214] Recognize `-*- makefile -*-` and `-*- sh -*-`.
- [040213] Fixed reframe cvs-console better so the exit status can be easily seen from a small window.
- [040213] PHP script can be started with '`<?`' tag in a php file.
- [040213] Corrected UNIX ishell operation when "su" to another user. Locking up or generally behaving badly (termio not initialized). Affects all UNIX platforms.
- [040213] Documented the create/delete/next-frame keys.
- [040210] Fixed toolbar Directory File List does not contain "`../`" - UNIX only.
- [040210] Fixed. On UNIX only the $progname(5) may not be fully expanded (has just "me") which may lead to a ctags generation error and an alternate fix to $search-path(5).
- [040210] Fixed. On UNIX, find-file(2) of a symbolic link which points to a directory results in a bad dir listing. The list of files is correct but the statistics are all wrong (found on SunOS 5.8).
- [040210] Fix subtle ftp bug with alias ftp addressed. Create an ftp site "`ftp://test/`" say with user name foo and password bar and then load in "`ftp://test/dir1/`" the buffer file name is correctly set as "`ftp://test/dir1/`" but the 'Directory listing of:' line is set to "`ftp://foo@test/dir1/`". Firstly the user may wish the 'foo' to be hidden but secondly with the introduction of being able to click on the 'Directory listing of:' line this has introduced a subtle inefficiency/bug, if I click on the '`foo@test`' ME will load "`ftp://foo@test/`" not "`ftp://test/`" which to ME is a completely different file. This can in turn lead to "`ftp://foo@test/dir1/`" being loaded so you can end up with 2 copies of every dir being loaded! The fix is to make the 'Directory listing of:' line the same, i.e. "`ftp://test/dir1/`"
- [040208] Fixed. "-n" command line option to a console build causes a option failure and the executable does not run.
- [040208] Corrected UNIX jasspa tree search when executable is in CWD and there is no executable path.
- [040206] RC4 - Release Candidate 4 - MicroEmacs '04
- [040206] Fixes for tool-bar Buffer Item List update problem. Thanks to Dr. Detlef Groth.
- [040206] Added template support for XML. Thanks to Dr. Detlef Groth.
- [040204] Re-worked Microsoft Windows me32.ini(8) file specification. Order revised and lookup simplified.
- [040203] "user-setup" changed name to "Rebind Home Keys" for re-binding of `home` and `end` keys to start/end of line. Removed "`C-v`" binding that existed with old "MS keys" label.
- [040203] Reworked all user defined defined directory save locations, ftp, spell, etc..
- [040203] Corrected osf1, openBSD and zaraus emf files.
- [040203] Added %cvs-com(5) variable to define the CVS command.
- [040203] XML template extended to include javascript.
- [040130] 2nd iteration of prototype and near final revision of new user setup.
- Following an internal review of RC3 then it has been decided to address the issues of user configuration prior to a full release. This specifically addresses the location of user MicroEmacs configuration directories and search paths. User configuration has traditionally required the setting of external environment variables such as "$MEPATH" and for the user to create a private directory to store user settings. This is proving difficult for new users who just want to run the editor. RC4 and subsequent releases will address these problems by determining the correct location for configuration files and create the appropriate files and directories under user control.
- The net result of these changes should significantly simplify installation and setup as follows:
- All platforms will be able to run without any manual user setup or the requirement for specific MicroEmacs environment variables.
- User defined directories and configuration files will be created under editor control on detecting a new user.
- Existing installations using `$MEPATH` will be backwards compatible with the new build.
- All platforms now support a searching jasspa sub-directory structure of company / spelling / macros. This was traditionally limited to the Windows Install Shield installation but has been extended across all platforms.
- Two new environment variables are provided for user or system administrator use. $MEINSTALLPATH(5) defines the location of the MicroEmacs standard macros and allows the built in search path to be overridden. $MEUSERPATH(5) defines the location of the user private configuration directory and allows the user to locate their private directory in different location. In a standard install neither of these variables will be required.
- The Microsoft Windows system defined application path will be used for user configuration files. This is applicable for roaming users where the application directory is stored on a server.
- The use of the me32.ini(8) file on MicroSoft Windows environments is not required, but is still supported.
- The UNIX path searching is improved. `/usr/local/microemacs` will be depreciated and replaced with `/usr/local/jasspa` in addition other standard path locations are supported on a per-platform basis.
- On UNIX then the directory `~/.jasspa` shall contain the user configuration files. Optionally the company, spelling and macros sub-directories may be included in this directory where access to the system directory locations by the user is not permitted.
- Concept of guest has been removed. `guest.emf` and `guest.erf` removed replaced with newuser. user-setup(3) no longer supports setting of name.
- Internal variables $user-name(5) and $user-path(5) are defined.
- [040128] Fixed re-style for C/C++ comments in vertical alignment.
- [040123] "user-setup" mouse button selection fixed.
- [040123] `C-x 3` mapped to split-window-horizontally(2), `C-x 5` mapped to create-frame(2).
- [040122] Added support for Zaurus, thanks to Pierre Gaston
- [040122] Fixes for non-US keyboards under X-Windows, thanks to Pierre Gaston and Dr. Detlef Groth
- [040122] Added support for OSF1, thanks to Dr. Detlef Groth
- [040122] Added support for OpenBSD
- [040122] ml-bind-key(2) supports new binding for next/previous file, history search uses `up`/`down` `C-p`/`C-n`, prompted by Gabriel.
- [040122] New key bindings for create-frame(2).
- [040119] RC3 - Release Candidate 3 - MicroEmacs '04
- [040119] Fast exit out of fold fixed.
- [040119] Added copy-rectangle(3) and yank-rectangle-overwrite(3) commands.
- [040119] Collapse line format now includes the end token so that indent operates correctly following a fold.
- [040119] narrow-buffer(2) numeric argument and command line options extended for mark-up lines.
- [040119] `spawn.c` compilation warnings removed.
- [040119] Updated templates for Python and AsmX86 - thanks to Pedro Gomes.
- [040119] Added "`*compile*`" hilighting and `ENTER` selects error file and line - prompted by Salman Khilji.
- [040119] Fixed the c-eval-defines region hilighting problem.
- [040119] Updated the Lau HTML processing tags - thanks to Jeremy Cowgar.
- [040116] Latex "item-list" and "template" updated - thanks to Dr. Detlef Groth for diagnosing problems
- [040116] Perl and TCL abbreviation files - thanks to Dr. Detlef Groth
- [040115] open-line(3) added for correct binding of "`C-o`".
- [040113] restyle-buffer(3) fix when mode defined - thanks to Pedro Gomes.
- [040113] create-frame(2) canvas size fix on creating internal frame
- [040112] Highlighting fix for tool-bar Dir Files list with symbolic links
- [040109] RC2 - Release Candidate 2 - MicroEmacs '04
- [040109] PHP template added.
- [040108] RC1 - Release candidate 1 - MicroEmacs '04
- [040108] Shrink line crash on SunOS and IRIX fixed
- [040108] Fixed rendering anomalies of menus and pop-ups on Windows XP ClearType when anti-aliasing is enabled.
- [040106] Fixed comment re-styling for single start of line comments (REM in MS-DOS)
- [040104] Macro execution speed-ups - Thanks Hops for analysis.
- [040104] Code optimizations and extensions - Thanks Peter Smith.
- [040104] Lua language template - Thanks Jeremy Cowgar.
- [040104] SGML language template.
- [040104] string-rectangle(3) command added - Suggested by Salman.
- [040104] C++ re-style fixes - Problems reported by Salman.
- [031221] X-Window fixes - Thanks Jeremy Cowgar.
- [031120] Added new highlight schemes "Lemon Jelly" and "Brownie".
- [031120] CVS. Fixed several issues with the why the cvs dir list processed the missing and added files.
- [031120] HTML Template. Improved indentation.
- [031120] Toolbar. Added "trunc-sheme" reset to force a redraw if required.
- [031120] Fixed the games to cope with the toolbar by closing it.
- [031120] `buffer.c`. Changed the 'n' arg to list buffer so user can select hidden or verbose etc. Added check after exec of "ehook" to catch nasties, not fool proof but catches attempts to close tool bar etc.
- [031120] Fixed a goto-line(2) bug shown when using grep on a single lined file (like CVS/Root).
- [031120] `hilight.c`. Changed indent line count to use the close so values of greater that 256 can be used.
- [031120] `input.c` Added support for EOB & BOB keys & fixed fwd/bck word movement across lines.
- [031026] Fixed -ve re-center bug found by Alexander Doktorovich.
- [031026] Last commit to search fixed a &xsequal(4) failure on start-up, was not setting the internal flags correctly. Fix go a little messy as it should not affect the hunt commands.
- [031026] Minor restyle.
- [031026] Fixed a nasty buffer reload bug.
- [031026] Fixed lookback highlight bug.
- [031026] Fix for Sunos Xterm function keys.
- [031026] Added support for a look-back indent scheme which can be used to get the correct indent scheme to use.
- [031026] Fixed history line numbers (were one line out for non-current buffers).
- [031026] Changed the `mldelete` to respect the "scrollFlag" setting, if smooth scroll enabled then delete text smoothly.
- [031026] Fixed narrow look back highlight bug.
- [031026] Added ADA file hook - thanks to Gabriel Tabares-Barreiro.
- [031026] Nroff template. Removed unused variable.
- [031026] HTML Template. Major shake-up for HTML base files including major enhancements to indentation and current script auto-detection.
- [031026] Toolbar. Added support for the new ":chook" current file type variable and got toolbar and buffer tool menu to call the update command (toolbar only on a "`C-l`").
- [031026] CVS. Fixed UNIX checkout path and implemented cvs remove.
- [031026] page-file(3). Fixed backward isearch blow out.
- [031026] Perl Template. Updated the perl.eaf to <FOLD>.
- [031026] Abbreviations. Added support for the new ":chook" current file type variable and added support for an INCLUDE tag.
- [031026] Abbreviations. Improved the look-back abbrev to expand to one before if exec'd again.
- [030917] HTML Template. Fixed a hilighting and indent problem caused by embedded script.
- [030917] OSD. Changed OSD hot-key '&' to new style '\H'. Changed user-setup dialog to use new Combo-box.
- [030917] CVS. Major revamp of CVS support including an OSD dialog for each tool.
- [030917] Changed the CHAR defines and add defines for the LEADER and TRAIL bytes used for special chars. Re-implemented OSD hot-keys to use "\\H" instead of "&" and added new "\\{" and "\\}" to stop and start current item hilighting. Added support for C++ private public and protected token indentation. Added new Check-box chars to the extended chars (1,2,3,4,19 & 20) and improved the drawing of some of the others Fixed windows "close while minimized" test so only prompted if something has changed.
- [030917] Fixed a `build.bat` not setting MAKE to nmake problem.
- [030917] Added support for new Check-box chars in extended chars.
- [030827] Added use default printer setting.
- [030827] page-file(3). Fixed header and added isearch support.
- [030821] Rationalized the buffer sizes, increased the keyboard macro and search string buffer sizes. Removed the GNU regex code - not used or tested in years. Part one of Jon's Xterm key lookup fix to get the key pad working.
- [030710] User setup. Updated osd calls due to the change in 'd' flag behaviour and changed the items with drop down menus to use the new combo-box.
- [030710] ODS. Updated osd calls due to the change in 'd' flag behavior.
- [030710] Added new define for the number of history types and added new @h0(4) history variable.
- [030710] Added support to @mn(4) and @mna(4) in the "`meGetKey`" routine
- [030710] Added new undo type for line reordering undo's, used by sort-lines(2) and transpose-lines(2).
- [030710] Changed some define names to make them compatible. Changed the calls to "meGetUserKey" to "meGetKey" so a macro can give a list of keys Added new 0 argument which quits at the EOB rather than going to the top of the buffer etc (used in page-file(3) "isearch").
- [030710] Changed the logic of the 'd' flag so that it disables the displaying of the item type, changed button rendering so that it adheres to this so a single char button can be created Added new 'O' combo box item type which is a mixture between an entry box and a sub-menu item.
- [030710] Improved the special char drawing routines so that they remain inside the char space and triangles look good regardless of size.
- [030710] Fixed a nasty bug to do with file hooks that load other files and the find-file command manipulating the buffHistNo incorrectly so the wrong buffer is shown - obscure!
- [030625] Added macro release makefile.
- [030625] MicroEmacs 3.8 compatibility. Fixed isearch emulation.
- [030625] First revision of page-file(3).
- [030625] CVS. Removed debug line.
- [030610] Changed `TAB` and BELL to safer defines. Optimized the fill-para function so that it keeps one of the existing spaces between the words, this also help preserve the position of anchors.
- [030610] Package making files for SunOS.
- [030608] Changed the mouse default behavior to do a move yank.
- [030608] Tools. Removed superfluous endif.
- [030608] Toolbar. Only update the tool-bar if its the top level command, i.e. the screen-update is not required due to spell-buffer (say).
- [030608] MS-Shift region. Check for kill-rectangle(2) and treat like we do the kill-region(2).
- [030608] Added new -ve argument to insert-file(2) which inserts only a section of the file. Optimized the file-op(2) move command to try just moving the file first.
- [030608] Changed the addLine function so it always flags the line as changed, this avoids some bizarre issues when macros delete an insert lines of text (best shown by the buffer-info tool-bar tool).
- [030608] Added new macro oriented buffer-info numeric argument. Fixed bug in the ignore white-space buffer compare.
- [030608] Fixed default printer selection issues - not complete.
- [030608] Fixed a minor debug build issue in undo.c.
- [030608] Changed the history so it always removes any duplicate entries.
- [030608] Added $window-eline(5) and moved the aline into extended version.
- [030608] Changing the addLine function to always set the changed flag meant all macros became hidden, use different bits.
- [030608] Fixed a minor compile warnings.
- [030608] Fixed buffer reload a file while displayed in another window problems.
- [030519] Fixed minor compiler warning in search.c by removing pointless static initialization.
- [030519] Fixed poke over-writing cursor on win32 console.
- [030516] C Template. Changed C #define evaluation to use new protected narrows.
- [030516] Stopped the Organizer Find exit quitting the organizer itself.
- [030516] VM Mail. Fixes from Tom Hundt fixes message separator problem.
- [030516] Made MS-DOS redraw the cursor on a poke as well.
- [030515] Organizer. Fixed bugs with creating new addresses and indexing etc.
- [030515] Printer. Store the windows device information in the print-history as well.
- [030514] JST Template. Fixed jst magic hook and added Imakefile one. Changed jst magic hook variable setting setup to use the new $result variable.
- [030514] HTML Template. Changed html-fold -> collapse, reported goto-matching-tag failure.
- [030514] Buffer initialization. Changed the fold-setup call so that it gets called if likely to be required - use the new buffer-fhook $result(5) setting to help in determining this.
- [030514] Folding. Changed the fold-setup so a setup string can be passed in rather than searching for one in the buffer, aimed at utilizing the new buffer-fhook $result(5) setting.
- [030514] Set $result(5) to the magic fhook string so the fhook macro does not have to search for it again in buffer.c.
- [030514] Fixed "\xb" bad regex bug.
- [030513] Search. Added region line hilighting support.
- [030513] Changed auto-spell hilighting scheme to a new spell-error scheme to avoid printing issues.
- [030513] Removed old `hkfold.emf` fold implementation. Moved `fold.emf` to `collapse.emf` and added a real folding editor support macros to a new `fold.emf`, based loosely on "fue".
- [030513] Abbreviation, Changed copy-region call to not expand the narrows.
- [030513] Latex Template. Added latex chars etc to the `.eaf` file.
- [030513] Search. Changed to handle the fold-open and fold-close split.
- [030513] OSD. Improved the Edit narrow commands to take advantage of the new protected narrow support.
- [030513] Tools. Fixed dummy tool removal and changed position setting to use alpha mark.
- [030513] VM Mail. Regex protected the boundary id string.
- [030513] Utils. simplified the str-to-regex by using &xrep.
- [030513] User setup. Changed fold -> collapse.
- [030513] HTML Template. Fixed script indent problem, improved the fence matching and added close tag feature.
- [030513] Buffer setup. Changed fold -> collapse and added proper folding setup entries.
- [030513] Commenting. Fixed silly "`\x80`" alpha char label bug.
- [030513] File Dialogue. Added tab ordering to dialog.
- [030513] Folding all templates. Changed the function folding commands to collapse to avoid confusion with real folding.
- [030513] XML Template, Added indent rules for "`<? ... ?>`".
- [030513] Mouse. Changed the column setting to use alpha marks.
- [030513] Color Schemes. Split the fold scheme into fold-close and fold-open.
- [030512] Fixed display matching fence issue with poke screen hiding the cursor on Unix X-Windows. May need to be done on MS-DOS as well.
- [030512] Fixed horrid crash caused in search.c by buffer change in macro followed by query replace and toolbar up-date changing the regex variables.
- [030512] Fixed fill-paragraph when no arg is given but at the beginning of para still move forward.
- [030512] Fixed compiler warning in spawn.c.
- [030512] Latest versions of build.txt, cygwin.txt, faq.txt and readme.txt.
- [030512] Build fix for SunOS.
- [030512] Ipipe fix for SunOS.
- [030512] Changedthe line flag implementation to be more flexible and variable in size so UE has a smaller memory usage and ME has line flags available.
- [030512] Improvedthe AMark setting and deleting.
- [030512] Added a Protected Line flag and vastly improved the narrowing. Renamed most function in `line.c` to make them more readable.
- [030512] Big return value change to get functions consistent - found that the return values of low level line functions where different to high level functions making the code hard to read and dangerous. Also needed a consistent triple value return (true false and error) so change `meABORT` to -1 across the board.

6th Release - December 2002

- [021216] Removed `.cvsignore` from source release.
- [021216] Fixed "ne" Unix build for a window build
- [021216] Fixed Perl abbreviations - Thanks to Dr. Detlef Groth.
- [021216] Fixed "$frame-width"/"depth" macro operation on the set - Thanks to Th.
- [021216] Confirmed Sun Solaris 2.6 PTY operation OK.
- [021208] Filed build file for cygwin, pushed cygwin binaries and re-released source.
- [021208] Added UNIX icons for CDE environment to meicons.tgz (me.t.pm, me.m.pm, me.l.pm)
- [021204] Fix for UNIX terminal resize with frames.
- [021204] Fix for Sun Solaris PTY creation and setup.
- [021204] Fix for VM mail searching - Thanks to Th.
- [021204] Fix for XML macros - Thanks to Th.
- [021203] Fix for frame resize crash.
- [021013] Fix for printing of *printer* buffer crash.
- [021013] Added PL/SQL file support.
- [021013] Updated mode change to use just a buffer type change flag.
- [021013] Added @mna(4) to all find-files incase there are problems.
- [021013] Broke the tool-bar tools out of the abbrev eaf file into there own tool eaf file.
- [021013] Added item-list and tag generation support to VB, fixed a few hilight issues.
- [021013] Shrunk the combo button size now that osd works better.
- [021013] Added "!force"s to all "unbind"'s to avoid bells.
- [021013] Made manual sub-menus have the .. And added Occurrences to the right button mouse menu.
- [021013] Updated macros for osd sub-menu position changes.
- [021013] Added new find and refresh tool toolbar options.
- [021013] Added Hot key for Microsoft friendly keys option.
- [021013] Added Finnish support - thanks to Sebastian Bojers.
- [021012] Fixed new frame ml junk text - new problem with line changes.
- [021006] Saved 3 bytes per line by using the rounded bytes and changing the length to an unused size. Fixed some minor Unix compile warnings.
- [020919] Changed the way manual sub-menus are opened and closed to improve usability (particularly for the combo box). Added auto side placement of sub-menus remove the 'e' 'w' and 'n' flags.
- [020912] Added crypting of registry files and Microsoft friendly key bindings.
- [020912] Fixed several html -> vb indent and hilight issues, re-implemented the mode change to be toolbar aware.
- [020912] Changed the "msshift" key list to a macro list which checks the non-shifted key is bound first. Added "`C-home`" and "`C-end`".
- [020912] Added $window-id(5).
- [020912] Added crypting support to registry files - crypt key is auto-generated.
- [020912] Fixed an odd win98 shell-command start-up dir bug and handled bogus consol sizes being returned (running "me -n" in me).
- [020912] Fixed a reload fhook bug and added code to handle the fhook deleting the buffer!
- [020912] Fixed windows -p lock-up bug caused by reading from stdin fp when no file is piped.
- [020830] VM Added code to handle empty multi message end section.
- [020723] New revamped Html support with toolbar support.
- [020723] Added right and bottom toolbars, and a paged tool concept, fixed quite a few problems found with the toolbar. Added a new Buffer Tools tool which loads the `hk???.eaf` file so that the abrev `???.eaf` file can be left as solely an abbrev file.
- [020723] Changed the interface to regexStrcmp to give better control. Added support for the "`@s#`" variables after a &xsequal(4), re-implemented the buffer context initialization to not use iscanner so it no longer need to swap buffers also changed the location of the fhook exec to earlier, where it was the window count was incorrect for the old current buffer and this could lead to a crash if the fhook deletes this buffer (found in CVS mode).
- [020723] Fixed a couple of goto-position problems.
- [020723] Fixed item-list search strings.
- [020723] Directory list - check for and fail on urls!
- [020723] Added new "`\\L`" -> x-line, "`\\X`" -> x-command special keys to improve eaf file read and portability.
- [020711] Added a system clipboard interaction disable flag to $system(5) so the tool-bar can stop messing up the clipboard whenever it updates.
- [020711] Fixed an uninitialized variable bug breaking the FTP logoff operation of file-op(2).
- [020629] HTML Added table creation and external preview commands.
- [020629] Fixed system clipboard being trashed problem by disabling interaction with it during tool-bar updates.
- [020629] Changed the List Functions to List Items in buffer setup.
- [020629] Added new kill list tool to the tool-bar.
- [020629] Added drag and drop support to directory view. Can now use this to load and copy/move files.
- [020629] Changed the FOLDER tags to FOLD and improved the eaf files.
- [020629] Added support for item-lists to C++ and added support for classes to C as the header is commonly used.
- [020629] Fixed nasty pick -> drop local buffer override problem.
- [020605] Added support for the toolbar and the initial frame size being set in the history.
- [020605] Pascal. Added "`(* .. *)`" and "`//`" comment hilighting.
- [020605] Macros - broke the setup default and standard tools into separate files. Improved the update flags for better control.
- [020605] New osd-find-buffer popup menu using the user-setup file types, based on Dr. Detlef Groth's.
- [020605] Fixed minor bug in file handling found by BC compiler.
- [020605] Fixed isearch so the next command will be executed in the correct frame.
- [020605] Updated makefile to new style which supports NE.
- [020605] Fixed NT and win2000 mouse cursor not staying hidden, caused by dubious mouse move events.
- [020523] CVS - added 'U'pdate file flag support.
- [020523] Modified to support $window-flags(5) and window resize changes.
- [020523] Added new "`<-`" and "`->`" truncate chars to $window-chars(5).
- [020523] Fixed mutli-frame console crash, window depth resize jump bug. Fixed drag-n-drop so it won't use a locked window. Fixed a nasty no-update bug involving the ERASEBKGND message. Added the drawing of a "`<-`" char to "0x08" (Backspace).
- [020523] Fixed a nasty multi-line regex search failing at end of buffer problem.
- [020523] Removed the ANSI and APRAM macros - redundant.
- [020523] Combined the shrink and enlarge window commands into a single change-window-width(2) and change-window-depth(2) command.
- [020523] Changed interface to frame resizing functions, numerical arg is now a delta change.
- [020523] Added left and right truncate chars to $window-chars(5), fix ABORT string value.
- [020523] Added extra parameter to HideBuffer flagging whether to hide the buffer if the window buffer lock is set. Changed find-buffer(2) numerical arg so -1 hides all but lock windows, -2 or less hides all.
- [020430] Improved the 'closest window match' algorithm so it gets the closest window!
- [020430] Windows - fixed an new compile problem and a frame loop bug in the font setup (frameCur == NULL for first call).
- [020428] Name changes (screen -> frame) due to frame support, new toolbar support, new abbrev-list(3) and expand-look-back(3), new filter on normal browser, auto-spell ignore, perldb sub-func fix, tables added to jst, fixes to bullet list in ifill-paragraph(3).
- [020428] Changed the ipipe wrap line length to be the 'term-size', using the frame size causes problems, particularly with the toolbar.
- [020427] Major edit! Added frame support, standardized many of the structure and function names, introduced $window-flags (not the size lock yet). Also fixed abbrev word boundary bug.
- [020427] US Letter support added by Th.
- [020301] CVS - added support for adding binary files.
- [020301] Added new JST support.
- [020301] Minor fix to the html processing and link following.
- [020301] Added latex template file.
- [020301] Mouse - changes required for changes to scroll commands which now abort at the top and bottom.
- [020301] Minor search fix to handle get-next-line requiring user input (out-of-date buffer etc).
- [020301] Major changes to create NanoEmacs! Made macro getting of keys for binding very strict, no superfluous chars allowed Changed mlwrite so that when aborting and no !force is used it will write message even with a MWEXCEL. Made printing optionally quiet for JST insert printing. Minor changes to scroll commands to abort when at the top or bottom. Small change to numerical interface to suspend-emacs.

Experimental Release - January 2002

- [020124] Split source code with conditional compilation into functional blocks.
- [020124] Added LATEX abbreviation file and updated template to load abbreviation file.
- [020124] JASSPA Structured Text (still prototyping - jst). Macros to convert structured text into other formats.
- [020124] Reworked the build files to build the multitude of debug, console and window variants.
- [020124] Added binary add mode to the CVS menu.

5th Release - January 2002

- [011230] Applied GPL License to code base. Transition to GPL following permission from Daniel M Lawrence.
- [011220] Fix to comment-restyle in comment.emf - stops a spin.
- [011220] nroff makefile full target building the txt files. (internal).
- [011220] Added support for a $CURSOR$ tag to the etf files which sets the initial cursor position, and included h.etf as an example (thats been annoying me for some time).
- [011220] Moved the template etfinsrt calls into the buffer-initialize macro.
- [011220] Fixed the exec fhook-cpp not working .
- [011220] Fixes to ctags for C++ function call initializers.
- [011220] Fixed Windows Console <RETURN> key keyboard mapping, returning incorrect binding.
- [011219] Fixed Termcap <TAB> key translation.
- [011219] Fixed Termcap tparm() to use a default stack argument if not specified by default.
- [011219] Added cygwin support to the build file.
- [011219] Added extra argument to buffer-initialise.
- [011218] Added support for Euphoria language.
- [011217] Italian spelling dictionary.
- [011217] Added scheme support for fence matching colors.
- [011217] Removed global binding of TAB key from unixterm.emf and build in translation.
- [011215] Fixed cygwin makefile for latest version, added cygwin macros.
- [011215] Fixed remaining termcap crash under cygwin.
- [011214] Merged prototype cygwin code base into release, use poll() following select().
- [011123] Fence matching added to user sertup (user-setup -> Platform -> Fence Display).
- [011115] Reworked the buffer hooks such that mybhook/myehook can be defined.
- [011031] Fixed a corking crash! (load random.c and do 2222 replace-string "\n" "").
- [011029] hklatex.emf item-list support (hit "f7").
- [011028] hklatex.emf has a greatly improved pseudo highlighting.
- [011028] Tweaked the "@fs" variable to improve its usability.
- [011028] set-position can now store the mark position.
- [011028] Fixes to windows file times.
- [011016] New caps-lock, num-lock, scroll-lock and pause key support for win32 & unix. The "*-lock" implementation to be more like "S-pick" and "C-pick" as the keys are automatically supported (like the shift) so there are no default binds to void, the keys are only generated if there are bound. Could not implement this on MS-DOS.
- [011016] which command built in i.e. "M-x which". Used for command utilities.
- [011026] A new Hide value feature when inputting strings, this is now used be the crypt and ftp Password entry. The string is shown as '*'s.
- [011025] Utilized the latest screen-update improvements to make the gdiff screen update rock solid.
- [011025] mlGetChar fix. The key "return" was the 78th special char, i.e. "SKEY_SPEC"|'N' and as the mlGetChar did not check the "SKEY_SPEC" bits, pressing return was like pressing 'N' so on a "Y/N" prompt try pressing return, its like saying No! .
- [011016] Spelling dictionaries renamed with ISO naming scheme. Because of the language changes, you need to rename your personal dictionary to lsdpengb.edf for British and lsdpenus.edf for American.
- [011016] Highlighting brackets/braces as requested from user base. The highlight braces required some other subtle changes to screen-update and show-region and the addition of the "rbin" mode means that this version is incompatible with the last in quite a few areas.
- [011016] Fixed mouse handler (turns out that if the pick event was lost (use "@cg" or an error) then me would lock!).
- [011016] Extended control on indent tab and return behavior (can disable the tab behavior).
- [011016] C++ name space indentation support.
- [011016] New language support interface so spelling is not required for a language to be supported (may only want the basic alphabet setup etc).
- [011016] Changed file loading interface so all commands (like view-file) can load in "bin", "crypt" or "rbin" mode.
- [010123] Reduced binary mode added (rbin).

4th Release - August 2001

- [010813] OSD bug fix for fixed size dialog boxes.
- [010812] Inclusion of occur regexp function.
- [010812] List function for summarizing file contents ("F7" / "Esc-F7" to close).
- [010810] Rendered character for the scroll bar - improves clarity.
- [010810] Modified the printer registry file location.
- [010801] New Guest default color scheme.

3rd Release - Minor Updates July 14th 2001 onwards

- [010718] LaTeX template includes incorrect bindings - fixed.
- [010716] Corrected Windows Install Shield "Company Entry" + "Registry entry fields".
- [010716] Minor macros modification to font selection for schemes. Default guest setup font selection for cleaner 'first' page.
- [010716] CVS macro update. Changed "cvs-diff" to "cvs-gdiff" and introduced a new "cvs-diff" which just gives the "diff" output and fixed several bugs when running with a CVS server. Also added support for the CVS/Template file when committing.
- [010716] Minor update to the CVS help page for the aforementioned (Affected all help files).

3rd Release - July 2001

- [010713] New style WWW JASSPA Pages.
- [010712] Added comment and menu support for MS-DOS and M4 (hkdos.emf/hkm4.emf).
- [010711] Added hpux11 support.
- [010711] Fixed windows erase when file doesn't exist problems.
- [010710] Removed cbox - replaced by generic comment implementation (cbox.emf/me.ehf).
- [010710] Added a 'Plain Text' char set which only uses plain letters (charset.emf).
- [010710] Fixed many little comment formatting bugs and annoyances (comment.emf).
- [010710] Changes required to build on MS-DOS using DJGPP v1.
- [010705] Bug fix for windows rendering crash.
- [010630] Minor reorder to X-Windows initialization for cygwin X-Server.
- [010507] Added generic commands for the creation, deletion and reformatting of comments now used by most of the file hooks.
- [010412] Added new generic buffer setup, menu and help macros, creating the new buffer-setup(3) command. Ported all existing file hooks to this new interface greatly reducing the buffer hook size while increasing its functionality and consistency.
- [010402] Added support for new $buffer-backup(5) variable for setting the back-up file location.
- [010312] Support for new key bindings allowing CU emulations. Nedit bindings provided as example. Major work to enable the complete re-binding of all keys so the user interface to MicroEmacs can be completely changed, this allows for example a Windows feel to be created. This required many internal ghosts to be exorcized and add new macro functions.
- [010308] User buffer configuration menu added.
- [010308] Improved Python support (Contribution PG).
- [010304] Bug fixes to hilighting logic.
- [010228] Improved dialog box for search/replace.
- [010210] Revised programming language templates; simplified the common elements used in configuring the templates.
- [010202] Added new command-wait(2) command to enable macros to wait for user dependent completion, used in "gdiff".
- [010202] Changed buffer variables to except the form "`:<buffer-name>:<variable>`", like command variables. This allows macros to access variable not defined in the current buffer.
- [010126] File "autosave" location changes. Control save name and location.
- [001005] OSD speedups.
- [001005] Improved and increased the file system operations via the new file-op(2) command, created better menus in the file-browser(3).
- [001010] Revamped the main ftp GUI to make it work much more rationally.
- [001010] Improved ipipe-shell-command(2) efficiency on Windows by introducing a new thread approach to listen for activity. Implemented a shell command-line in an ipiped environment so ishell(3) command is now usable on Windows platforms.
- [001010] Added new set-position(2) which can be used to store all information about the current window and goto-position(2) which will then restore them. Allowed macros to use non-letter characters for alpha marks and positions so they no longer need to clobber user ones.
- [001010] Added new "-k" and "-u" command-line options and improved "-s" option.
- [000922] Added GUI for tag dialogue for tags generation.
- [000922] Recursive tags support (i.e. nested directory tag traversal).
- [000810] emain.h "#define"'s properly supported again so MicroEmacs can be successfully compiled without options like SPELL and OSD etc. This can reduce the binary size by up to 37%.
- [000718] Source trees now maintained under CVS.
- [000719] Improved TCL/TK and Perl template support.
- [000704] Improved FTP and HTTP support.
- [000620] Java tags support.
- [000503] Revised printer support.
- [000503] Color printer support (Lexmark).

2nd Release - Alpha patch - March 2000

- [000322] FIRST PUBLIC RELEASE OF RENDERED FONT SUPPORT .
- [000322] Alpha build revision contains version information for 2000/03/22
- [000322] Internal reorganization of platform option selection.
- [000322] Minor fixes X-Windows color selection.
- [000322] Minor fixes in the OSD.
- [000322] Reviewed the documentation mode. A text description of the using the documentation modes is included in the distribution in the text directory.
- [000322] Minor modifications to support Borland 5.5 compiler (win32b55.mak).
- [000322] Support for Openstep 4.2 / NeXT Motorola 040 (Termcap only).
- [000322] Support for BSD 4.2/4.3.
- [000322] Revised UNIX Termcap support.
- [000322] New font rendering, supporting bold, italic, underline etc. All platforms modified to cope with font scheme definitions. Platforms optimized for speed.
- [000126] Beta build revision contains version information for 2000/01/26.
- [000126] Directory file copy. Within this release files in the directory listings may be selected for copy and pasting from the menu. Use the right mouse button to pop-up a menu in the directory buffers. Copy and paste to/from a ftp directory buffer to a local drive buffer may be used to initiate an ftp transfer. (This is how these pages are uploaded).
- [000126] New command ftp opens a ftp connection using a dialog. Use may save the host connection information in a registry file. Note that the password information is exposed so be careful where this is used - if in doubt do not enter the password and you will be prompted.
- [000126] New command uniq(3) operates as the UNIX of the same name. used with sort, and reduces to unique lines.
- [000126] Character translation; addition of character translation macros when moving between character sets. Accessible from Menu -> Format -> Change Buffer Char Set.
- [000126] Support for additional character sets, Windows GREEK, Windows TURKISH.
- [000126] Line highlighting selection with the use of the mouse and auto search. When using the mouse selection to set up the line highlighting when invoked from a `right-mouse -> Hilight Line -> color/remove` selection; the macro determines the mouse selected region and makes an appropriate decision as to how the line highlighting scheme is to be applied. The following rules apply to the mouse selection:-

  - Point in line selected (i.e. mark == point) Highlight the line only.
  - Region in the line selected. Both point and mark are on the same line. Extract the selected text and hilight all lines that match the search pattern. The color "remove" is also pattern matched to selectively remove lines.
  - Region selected mark & point on different lines Block up the region with appropriate highlight.
  - Note that line highlighting may be safely used in a folded buffer.

- [000126] Addition of special rendered space character. You may toggle this from the keyboard using a macro in your user.emf as follows:-

      ; Macro to enable the display of TAB/CR. Note that we
      ; force the screen to be updated.
      define-macro tab-display
      set-variable $system &bxor $system 0x80000
      screen-update
      !emacro
      global-bind-key "tab-display" "f11"

- [000126] Documentation update on new features (contained in me.ehf).

- [000114] Fixed font selection bug in 000112 beta.
- [000112] Revised color hilighting schemes, reduced the number of colors in a number of schemes. Introduction of the Sherwood Forest color scheme (green theme obviously !!).
- [000112] Small revision to the user interface with respect to font selection. In order to make character set selection easier then the multiple choices for the box characters have been removed from Menu -> Help -> User Setup. These have been replaced with a new check box Extended Char Set. This box should be checked to enable the special rendering characters and enable the box characters - this is typically enabled on X-Windows and MS-Windows.
- [000112] Provision for directory list sorting on name, modification time and size. Selecting the directory column title performs a re-sort based on the selection, a further selection reverses the order of the list.
- [000112] Addition of ftp support (meu build on Windows, enabled by default on UNIX). Enables files to be edited via ftp, (read and write supported). Transfer to another system using ftp://[<user>[:<password]@]><host>[:<port>]/<pathname>.
- [000112] Improved source code provision for foreign languages, various internal problems. Support for Russian (Windows and Cyrillic koi8-r).
- [000112] Y2K problems with time stamping and mode line date.
- [000112] New spelling rules for number sequences and specialized wild card sequences. Within the rule file (i.e. americar.emf, britishr.emf, etc.) then the following spelling rules may be added to cope with numeric sequences. The addition of these rules will spell check hexadecimal sequences and validate numeric sequences such as 1st, 2nd, 3rd etc. A spelling of "1nd" would generate a spelling error. This has not been performed for other languages so submissions for other language equivalents would be appreciated.

      ; Add some special word rules to make life easier.
      ; These are for 1st, 2nd 3rd etc.
      add-spell-rule "*" "\\([0-9]*[02-9]\\)?1\\(st\\|ST\\)"
      add-spell-rule "*" "\\([0-9]*[02-9]\\)?2\\(nd\\|ND\\)"
      add-spell-rule "*" "\\([0-9]*[02-9]\\)?3\\(rd\\|RD\\)"
      add-spell-rule "*" "[0-9]*1[0-9]\\(th\\|TH\\)"
      add-spell-rule "*" "[0-9]*[04-9]\\(th\\|TH\\)"
      add-spell-rule "*" "0[xX][[:xdigit:]]+"
      ; Spell rules for unit definitions.
      ; These are for 50Mb, 10Kg, -45.56cm 12ft 10.00am 16.00pm etc.
      add-spell-rule "*" "-?\\([0-9]*.\\)?[0-9]+\\(Kg\\|Kb\\|Gb\\|Tb ...
      \\|Mb\\|mm\\|cm\\|m\\|Km\\|ft\\|inch\\|mph\\|lb\\|am\\|pm\\)"

- [000112] Box selection copy and paste. Bindings are defined as `Esc C-w` kill-rectangle(2) `Esc C-y` yank-rectangle(2).

- [000112] Enhanced info file hilighting (Thanks to Dr. Detlef Groth for this).
- [000112] New copy-file command, typically used by the macro language for moving files around.
- [000112] Error reporting of bad command line arguments in Microsoft Windows environment (Thanks to Pedro Gomes for this).

2nd Release - November 1999

- [991101] Enhanced the latex support macros following various contributions from users.
- [991101] Added Favorites to the File pull down menu. This is a simple mechanism to allow the user to add a file to a favorites list.
- [991101] Ground up implementation of the regular expression pattern matcher, following licensing problems with the GNU regex. The resultant pattern matcher is now a little faster than GNU regex and is capable of all of the standard regular expression pattern matches. The pattern matcher has diverged from GNU in that double backslashes are required in the character classes [..] to allow for escape sequence short cuts such as '\n' (newline), '\t' (tab) etc. It was felt that this compromise was better than having to quote the more obscure search characters.
- [991101] Changed the hilighting and indenting syntax to be GNU regex compliant.
- [991101] Modified compare-windows to ignore white space by default, compare-windows-exact performs an exact character for character comparison.
- [991101] Enhanced the tags support to handle multiple tags and recursive directory tree searching.
- [991101] Implemented osd-help, a gui front end to the on-line help. Required changes to the help system which gives macros access to the on-line help buffer, needed for the index and search.
- [991101] Over-hauled the highlighting scheme files and editor to support the disabling of buffer highlighting.
- [991101] Many bugs fixed on all platforms, in particular unix cutting and pasting (crashes exceed) and focus problems and NT exit delay.
- [991101] Added tab and newline character printing in buffers.
- [991101] Introduced message line variables "@mx" and "@mxa".
- [991101] New Games - Crossword cracker. The ideal way to cheat at crosswords. Uses the spelling dictionary to guess at the word, given a number of known letters.
- [991101] Hook file protection against globally bound keys - prevents re-binding of user defined keys within the macro.
- [991101] Search/Replace fix for exact mode. Environment variable search path fix.
- [991101] hkm4.emf added back into the release (seemed to have gone missing).
- [991101] Cut and paste fix when running the UNIX version through an X-Server such as Exceed in the Windows environment.
- [991101] Plain text printer device added.
- [991101] Obscure OSD fix.
- [991101] New OSD help search facility Menu->Help->General Help.
- [991101] Fix for NT hang-up on shut down (typically encountered when running a source debugger).
- [991101] Fix for NT process spawning with spaces in the names.
- [991101] Metris macro fix, OSD bug fix, NT display fix.
- [991101] New - color scheme, GVim look.
- [991101] New - Unix/Linux support for Wheel Mouse (mouse.emf).
- [991101] New - Color schemes, Plain; for those that do not care for an abundance of colors.
- [991101] Modified the numeric key-pad behavior to be consistent on all platforms. Problems were noted with the UNIX number lock orientation which was reversed.
- [991101] New - Color scheme variables which allow the hkXXX files to determine the level of hilighting to apply to their templates.
- [991101] Line length fix; more graceful behavior (i.e. does not crash) when the line length exceeds 64K.
- [991101] Intercept the windows 105 keyboard application key (typically right hand side of keyboard next to the control key). The key is called "menu". By default this is bound in win32.emf, however users may bind it as a prefix for their own key combinations in much the same way as "Alt" or "C-x" if required.
- [991101] New; OMG's IDL language template added.
- [991101] Fix for windows short name in next-buffer.

2nd Release - Beta #1 - May 1999.

- [990501] Bug fixes with multi-language support and spelling dictionaries.
- [990501] Fixed fill-paragraph such that it retains the cursor position in the paragraph when invoked without arguments.
- [990501] Moved to GNU regex for search/replace engine.
- [990501] Enhanced isearch such that it operates in *shell[990501 buffers (again).
- [990501] gdiff macro implementation of a graphical diff to allow color annotation of differences and difference selection. Uses the output of a standard diff(1) utility.
- [990501] 2nd port to IBM AIX.

1999

- [990101] Introduction of the address and date organizer (replacing the existing cal interface).
- [990101] Generic buffer folding using narrow-buffer(2).
- [990101] Rendered cursor support on all platforms. Smooth scrolling mode.
- [990101] Win32s port, for Microsoft 3.1/3.11 O/S.
- [990101] Re-worked "translate-tcap-key" to generic "translate-key" to solve many of the foreign language problems.
- [990101] Re-worked the ALT key mapping to allow conventional Emacs meta key bindings.
- [990101] Implemented Auto-Spell utility.
- [990101] Introduction of private macro variables of the form ".name" and ".macro.name".
- [990101] Port to Sun Solaris Intel platform (2.6).
- [990101] Merged the init-hilight and hilight-token into the single highlight command. Similarly for indent.
- [990101] Enhanced the regexp support in hilight tokens, vastly improving it capability and usability. Similarly for indent tokens.
- [990101] Reorganized the highlighting files. Introduction of the scheme-editor and Highlight Search OSD's.
- [990101] Implemented box character override support ($system bit 0x10000) on Win32 and Xterm platforms.
- [990101] Microsoft Windows native console support.

Minor Patch - October 1998

- [981001] Enhanced the operation of the Window pipes.
- [981001] Undo past the last save operation.
- [981001] Added Tabbed entries to OSD.
- [981001] Enhanced user setup using OSD.

1st Release - September 1998

- [980901] Support True-type fonts under windows, font selection dialog.

1998

- [981231] Registry features for configuration.
- [981231] Re-implementation of OSD.
- [981231] Re-implementation of termcap extended key support.
- [981231] Narrow support.
- [981231] Re-implementation of the session history.
- [981231] Re-implemented the speller based on ispell dictionaries.
- [981231] Re-worked the printer interface for Windows.
- [981231] Rationalized mouse key bindings.
- [981231] Added $system variable to configure MicroEmacs.
- [981231] Added random hilight-token addition and removal support.

1997

- [971231] Re-implementation of ipipes to enable terminal support.
- [971231] Initial Directory-Tree support.
- [971231] First implementation of the On Screen Display (OSD) menus and dialogues.
- [971231] Horizontal split window support.
- [971231] Scroll bar support.
- [971231] Added menu bar.
- [971231] Cursor position correction for hilights with invisible character.
- [971231] Indentation scheme support.
- [971231] Ported to Microsoft NT.
- [971231] Ipipes supported on NT.

1996

- [961231] Ported to Slackware Linux.
- [961231] First menu system (implemented in macros).
- [961231] Undo support.
- [961231] First ported to Microsoft Windows 95.
- [961231] Re-implementation of get-next-line.
- [961231] Auto mode support.
- [961231] Magic file hooks added.
- [961231] Proper key name support.
- [961231] Key bindings support numeric arguments.

1995

- [951231] Integral speller.
- [951231] Ported to HP-UX.
- [951231] Multiple ipipes supported on Unix.
- [951231] Poke-screen support.
- [951231] Call-back macro support.
- [951231] Metris created.
- [951231] Abbreviation and completion.
- [951231] First implementation of mailing and View Mail.
- [951231] Isearch expanded to support magic mode.
- [951231] Session history support.
- [951231] First ported to X-Terminal.
- [951231] Mouse support.
- [951231] Initial printer support.

1994

- [941231] DOS built with djgpp, allowed large files to be edited.
- [941231] Color hi-lighting.
- [941231] Re-implemented the macro language. Allowed separately named macros.
- [941231] Get-next-line support.
- [941231] File hooks added.
- [941231] Implemented Electric C.
- [941231] RCS support.
- [941231] Re-implemented backups and auto-saves.
- [941231] Re-implemented isearch.
- [941231] Re-implemented of keyboard macros.
- [941231] Binary file reading support.

1992-1993

- [921231] Ported to IBM AIX.
- [921231] Ported to Silicon Graphics

1988-1999

- [881231] Ported to MVME147, UNIX using curses.
- [881231] Fire fighting to get a stable version.
- [881231] Expanded regular expression syntax.

Daniel M. Lawrence - Microemacs V3.8 distribution.

- Daniel Lawrence turned MicroEmacs into an editor for the masses, it is his work that ultimately made MicroEmacs so popular. Daniel did a tremendous amount of work, both adding features and supporting other platforms resulting in the MicroEmacs v3.8 release on which JASSPA's MicroEmacs is based.

Late 1985/early 1986

- Dave Conroy, the original author, first developed the original code base for private use. Various people asked Dave for a copy of the program and it was distributed without concern for copyrights or ownership as was the custom of that era.

## Work In Progress or Planned

Development of MicroEmacs is an on-going process, follows is a list of work items which is currently being undertaken or planned:-

- Horizontal scroll bars.
- On-line tutorial to help beginners get up and running.
- Native printer support for the generation of postscript.
- Inclusion of zlib(1) to allow compressed file reading.

## Release History

September 2009

10th Major Release - MicroEmacs 2009.

August 2006

9th Major Release - MicroEmacs '06.

May 2005

8th Major Release - MicroEmacs '05.

January 2004

7th Major Release - MicroEmacs '04.

December 2002

6th Major Release - MicroEmacs '02.

January 2002

5th Major Release - MicroEmacs '02.

August 2001

Patch Release for MicroEmacs '01.

July 2001

3rd Major release - MicroEmacs '01.

March 2000

2nd Release alpha patch.

May 1999

2nd Major Release - MicroEmacs '99.

October 1998

Minor patch to MicroEmacs '98 to correct a font problem on Windows platforms.

September 1998

1st Major Release - MicroEmacs '98.

1988

Daniel M. Lawrence - Microemacs V3.8 distribution.

Daniel Lawrence turned MicroEmacs into an editor for the masses, it is his work that ultimately made MicroEmacs so popular. Daniel did a tremendous amount of work, both adding features and supporting other platforms resulting in the MicroEmacs v3.8 release on which JASSPA's MicroEmacs is based.

Late 1985/early 1986

Dave Conroy, the original author, first developed the original code base for private use. Various people asked Dave for a copy of the program and it was distributed without concern for copyrights or ownership as was the custom of that era.

## Documentation

The documentation is all written in UNIX nroff(1) and converted to HTML, Microsoft Windows Help File format and MicroEmacs Help file format.

(c) Copyright JASSPA 2009
Last Modified: 2009/10/12
Generated On: 2009/10/12

</HMTL>