Date: Sun, 29 Jan 1995 13:59:04 -0500 From: davis AT amy DOT tch DOT harvard DOT edu ("John E. Davis") To: dliu AT rice DOT njit DOT edu, gold AT ccr-p DOT ida DOT org Subject: Re: Wild Crashes? hmmm... Cc: davis AT amy DOT tch DOT harvard DOT edu, djgpp AT sun DOT soe DOT clarkson DOT edu > Dong> If you fell emacs is too large, get jed386, it can read the info > Dong> files just fine. > >Could you tell us a bit about jed386? I'm looking around for an editor, and >I haven't heard about this one. Briefly, jed is an emacs-like, extensible, color-syntax highlighting editor for MSDOS, OS/2, Unix, and VMS. It is very small in comparison with emacs. For example, it can be run off of a 360K floppy. As a demonstration of its extensibility, the info reader is written entirely in the extension language. (Incidently, jed's info reader does not suffer from the problem that emacs has: one can modify the info files and still read them with the jed's info reader.) jed is available from amy.tch.harvard.edu in pub/jed. The latest version is 0.97-2. Version 0.97-3 is available in pub/jed/test and supports the mouse under MSDOS and Linux (via GPM mouse server). So far, there have been no real problems reported for 0.97-3 so I will probably move it into the main directory soon. The distribution (either .zip or .tar.gz) comes with FULL source. The .zip versions include jed.exe (real mode, bcc compiled) and jed386.exe (djgpp compiled) for MSDOS. The editor will compile under MSDOS, OS/2, VMS and almost all Unix systems. In addition, `make xjed' will produce an XWindows executable. Also in the distribution, you will find the source to a REAL recursive highlighting grep that is able to grep through a directory tree, e.g., C:\SRC> rgrep -r -x c spawn \djgpp\ will search through ALL .c files under \djgpp for `spawn'. jed is extensible in a language that I call S-Lang. This language should be easy to grasp for most C programmers--- certainly far easier to grasp than lisp. For example, this function when loaded by jed will format a buffer: define format_buffer () { push_spot (); % save position bob (); % beginning of buffer do indent_line_cmd (); while (down (1)); pop_spot (); % return to previous place } A manual about slang is available in the distribution directory. The extension language can also be embedded into other programs. Look at \slang\src\calc.c and \slang\demo\*.c as well as \slang\doc after you unpack the the jed distribution. S-Lang is more than just a language--- it is also a platform independent programmer's library. It includes functions for screen management, GNU-like readline, etc... [For example, the screen management functions provided by slang will replace ncurses in the next version (0.53) of the linux dos emulator (dosemu)]. Here is a brief list of the editors main features: Emacs*, wordstar*, EDT* emulation C*, FORTRAN*, tex*, text editing modes * Color Syntax Highlighting in C, TeX, and FORTRAN on ALL systems--- not just XWindows. This means that you can get color syntax highlighting through a dialup terminal (e.g., MS-Kermit connected to a remote host). User configurable (bind keys, write functions, etc....) Region highlighting 8 bit clean, edit binary files too. * The editor is able to recognize the difference between files that have MSDOS (CRLF) style line endings and Unix (LF) style. This means that one can safely edit files on a Linux DOS partition from the Linux side or one can edit files on a Unix file server using the DOS version of the editor. Rectangular (box) cut/paste Backup and autosave files Full undo Regular expressions Calendar* Mail*, elm like rmail* Dired directory editor* Automatic horizontal pan/scroll (configurable) Parenthesis matching/blinking Filename, buffername, function name completion Menu driven for novice users* Incremental search/replace* One can search/replace across ALL files loaded into the editor. Sorting No hardcoded buffer/line limits Multiple windows and buffers Keyboard macros with macro query feature. Buffer mode lines are configurable, e.g., display time, line number, etc... Ispell* Shell commands and ``interactive'' shell* * Note: these functions are written in the extension language. --John