# Compatibility(2)

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

## COMPATIBILITY

JASSPA MicroEmacs is based on the original version of MicroEMACS produced by Danial Lawrence at revision 3.8, the source files were obtained in approximately 1990. The exact origin of the files is unknown. In that period of time the source files have undergone an awful lot of change, without reference to the subsequent releases made of MicroEMACS by Danial Lawrence (due to no network access). As a result the JASSPA version of MicroEmacs does not include any modifications or features that may have been implemented since. This version of MicroEmacs has been tailored to suite the requirements of a small group of individuals who have used the editor on a daily basis across a limited number of platforms, for a variety of very different tasks and operating requirements.

This version of MicroEmacs is biased towards UNIX environments, MS-DOS and Microsoft Windows ports have been performed however they are heavily influenced by UNIX and inherit UNIX characteristics wherever possible. The intention is that programmers, and alike, may move across platforms using a common editor environment without being frustrated by the idiosyncrasies of different platforms. The most noticeable platform is the Microsoft Windows platform which mimics the X-Windows cut and paste mechanism within the MicroEmacs environment. If you want a Windows style environment then use Notepad(1) or Wordpad(1), this editor is not for you !!

The gross changes to MicroEmacs 2009 are summarized as follows:-

- Macro language interpreter re-written allowing an unlimited number of named macros to be supported. The macro implementation allows new commands to be created by the user, as opposed to continually extending the underlying command set. The named macros are transparent to the user, appearing as built in commands on the command line. Macro command set significantly increased. Support for global, buffer and register variables within the macro language.

- Display drivers re-written providing color hilighting support on most platforms. A macro interface allows information to be written directly to the display canvas allowing the screen to be annotated with additional transient information.

- Support for X-Window screen type in UNIX environments. Microsoft Window's environments (3.x, '95, NT) treated in the same was as X-Windows - this may be unorthodox for existing Window's users, UNIX users will find it more comfortable.

- Introduction of integrated spell checker. Support includes correction word guessing, word auto-correction and double word detection. Ignore and personal dictionaries supported.

- Horizontal window splitting.

- Introduction of scroll bars on all platforms that support a mouse. The scroll bar implementation is platform independent.

- Command and file completion available on all platforms. Most commands support a command history allowing previous command invocations to be recalled.

- Session history file kept, allowing the previous edit session to be reinstated.

- Undo capability, allows previous edits to be undone when mistakes are made.

- Backup capability, Includes a periodic timed backup while an editing session is in progress. The timed backup is automatically recovered by the next session in situations where the system (or editor) crashes.

- A regular expression incremental search becomes the default search forward mechanism.

- Support for abbreviation files allowing frequently used constructs to be automatically expanded.

- Automatic time stamping of files, allowing the edit time to be automatically maintained in the source file(s).

- Introduction of an electric 'C' mode. Editor intelligently handles the layout of 'C' files (under user control).

- Improved documentation text mode providing left/right/center and both justification methods with inclusion for bullet points. Automatic justification may be continually performed as text is entered, thereby maintaining the paragraph in the correct format.

- Integrated on-line help facilities. All commands are documented on-line. New macros may be documented within the macro files and become part of the help system.

- File type determination system, based on either the file name or embedded file text allows file type specific macros (hooks) to be applied, thereby configuring the editor into the correct mode for the file type.

- Introduction of special MicroEmacs search path allowing all of the standard configuration files to be utilized from a shared directory.

The name space of JASSPA MicroEmacs differs from the original MicroEMACS and has become more compliant with the GNU implementation of Emacs. A list of the original MicroEMACS verses the new command name set is as follows, executing the compatibility macro file `meme3_8.emf` will create macro versions of these commands:

add-global-mode => global-mode
add-mode => buffer-mode
apropos => command-apropos
backward-character => backward-char
begin-macro => start-kbd-macro
beginning-of-file => beginning-of-buffer
bind-to-key => global-bind-key
buffer-position => buffer-info
case-region-lower => lower-case-region
case-region-upper => upper-case-region
case-word-capitalize => capitalize-word
case-word-lower => lower-case-word
case-word-upper => upper-case-word
change-screen-depth => change-frame-depth
change-screen-width => change-frame-width
clear-message-line => 0 ml-write
ctlx-prefix => prefix 2
delete-global-mode => global-mode
delete-mode => buffer-mode
delete-next-character => forward-delete-char
delete-next-word => forward-kill-word
delete-previous-character => backward-delete-char
delete-previous-word => backward-kill-word
end-macro => end-kbd-macro
end-of-file => end-of-buffer
execute-command-line => execute-line
execute-macro => execute-kbd-macro
execute-macro-# => Deleted
file-name-insert => insert-file-name
forward-character => forward-char
grow-window => grow-window-horizontally
handle-tab => tab
i-shell => shell
incremental-search => isearch-forward
kill-to-end-of-line => kill-line
meta-prefix => prefix 1
move-window-down => scroll-down
move-window-up => scroll-up
name-buffer => change-buffer-name
next-line => forward-line
next-page => scroll-down
next-paragraph => forward-paragraph
next-word => forward-word
open-line => insert-newline
pipe-command => pipe-shell-command
previous-line => backward-line
previous-page => scroll-up
previous-paragraph => backward-paragraph
previous-word => backward-word
quote-character => quote-char
redraw-display => recenter
restore-window => goto-position
reverse-incremental-search => isearch-backward
save-file => save-buffer
save-window => set-position
scroll-next-down => scroll-next-window-down
scroll-next-up => scroll-next-window-up
search-reverse => search-backward
select-buffer => find-buffer
set => set-variable
shrink-window => shrink-window-vertically
split-current-window => split-window-vertically
top-bottom-switch => Deleted
transpose-characters => transpose-chars
unbind-key => global-unbind-key
update-screen => screen-update
write-message => ml-write

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

</HMTL>