To: David J Camp Cc: djgpp AT sun DOT soe DOT clarkson DOT edu Subject: New OEmacs Release 4.1 Date: Mon, 23 Aug 1993 11:51:01 -0700 From: Darryl Okahata > > GNU! All the latest gnu software have been ported, including the > > latest binutils and gzip (2x faster than 16-bit gzip.exe!). More > > utilities will be ported in the future, so joing the djgpp-announce > > mailing list to get the announcements. > > Has emacs been ported? -David- To MSDOS using DJGPP? (I never saw the original message, and so I can only guess at the question.) If anyone's interested, a new release of OEmacs, Release 4.1, is now available. I'm sorry about wasting the bandwidth, but I will temporarily not be able to read my mail for a few weeks (until the middle of September), and so I'm including a copy of the announcement at the end of this message. -- Darryl Okahata Internet: darrylo AT sr DOT hp DOT com DISCLAIMER: this message is the author's personal opinion and does not constitute the support, opinion or policy of Hewlett-Packard or of the little green men that have been following him all day. =============================================================================== [ Note: this is still a Beta-test version. ] Release 4.1 of "OEmacs" is now available via anonymous ftp. OEmacs is, basically, a version of GNU Emacs that will work under MSDOS, inside a Windows 3.1 DOS box (note that it is NOT a native Windows application, but works within a DOS box), or under DESQview/X (w/multiple native X11 windows). It is partially based upon demacs, but is *NOT* compatible with it. New features in OEmacs Release 4.1 include: * This release is based upon GNU Emacs V19.19. * This release contains mainly bugfixes. * Added a new function, `emacs-pc-set-mouse-cursor', which is a very-low-level interface to set how the mouse is displayed. This function takes two arguments: screen-mask cursor-mask The `screen-mask' is a 16-bit integer that is masked (bitwise-AND) against the attribute and character under the mouse cursor (the attribute is the upper 8 bits, and the character is the lower 8 bits). The `cursor-mask', another 16-bit integer, is then bitwise-XOR'd with the result to produce the attribute/character that is displayed as the mouse cursor. For example, to make the mouse cursor have a red background, while preserving the character below the mouse cursor, a screen-mask of 0x0fff and a cursor-mask of 0x4000 would be used, e.g.: (emacs-pc-set-mouse-cursor 4095 16384) ***** Bugs fixed in Release 4.1 include: * Fixed bug ("TZ not set") that could prevent Emacs from locating its support files. The usual symptom of this is Emacs getting an error at startup, saying "Cannot open load file: term/pc-win" with the mode-line *NOT* displayed in inverse video (it is displayed as normal video). This bug can come and go, depending on your memory configuration (such as the size of your environment). * Fixed bug that prevented suspending Emacs with WATCOM C/386. * After a mouse reset, the mouse display range is now explicitly reset to the screen area. This was done to allow Emacs to be used with broken mouse drivers. ***** Features in OEmacs Release 4.1, but first added to Release 4.0: * The ANSI.SYS driver is no longer required, but can still be optionally used. By default, release 4 will attempt to do direct screen writes; if you want to go through ANSI.SYS, you have to specify the "-ansi" command-line option, and it must be the very first option. * If direct screen writes are used, you can enable mouse support. Of course, you must have loaded a mouse driver in order for this to work. * If direct screen writes are used, V19 Emacs "faces" (color text) can be used. Check out Jonathan Stigelman's hilit19.el for a demo. * On US keyboards, the C-h key can be optionally used as the help key. This may or may not work on non-US keyboards, depending on how the non-US keyboard device driver is written. It is known to work on UK keyboards. * A native X11 version exists for users of DESQview/X. This version is a full, multi-window X11 implementation of GNU Emacs, complete with pop-up menus and changeable fonts. This release falls under the GNU Public Licence, with the exception of a couple of redistributable files that are a part of the WATCOM C/386 compiler (yes, RMS allows this under the GPL). See the file "readme.1st" for details. For now, I suggest using email or the newsgroup "comp.emacs" to discuss any issues/problems with OEmacs. The normal FSF GNU Emacs mailing lists and newsgroups have enough traffic as it is, and I don't want to add more noise to these lists. I'd like to thank Chris Boucher (C DOT C DOT Boucher AT southhampton DOT ac DOT uk) for much of the DJGPP and DV/X changes, and Michael Ernst (mernst AT theory DOT lcs DOT mit DOT edu) for providing an ftp site. Also, please do not upload this release to Simtel20. If all goes well, I plan to upload Release 4.1 to Simtel20 in a few weeks. ***** Where can you get a copy? NOTE: Please access the following ftp site during "off-hours" -- sometime OTHER THAN 10AM-6PM EST (1500-2300 hours GMT/UTC). The site adminstrators have graciously provided the disk space, and I don't want to annoy them by overloading their site with ftp requests. PLEASE BACKUP YOUR HARD DISK BEFORE USING OEMACS! While I have tried to make OEmacs bug-free, I'm sure that there are some bugs still in it, and it's possible that a bug could cause information on your hard disk to be lost or destroyed. Release 4.1 is available via anonymous ftp from theory.lcs.mit.edu, in /pub/emacs/oemacs: /pub/emacs/oemacs: total 10654 -r--r--r-- 1 5536 toc 16365 Aug 23 14:35 INSTALL.DOS -r--r--r-- 1 5536 toc 406 Aug 23 14:35 README -r--r--r-- 1 5536 toc 4891 Aug 23 14:35 ROADMAP.DOS -r--r--r-- 1 5536 toc 1122110 Aug 23 14:35 elisp201.zip -r--r--r-- 1 5536 toc 252281 Aug 23 14:36 go32oe2.zip -r--r--r-- 1 5536 toc 1193292 Aug 23 14:36 oe41el1.zip -r--r--r-- 1 5536 toc 1196580 Aug 23 14:37 oe41el2.zip -r--r--r-- 1 5536 toc 1108102 Aug 23 14:38 oe41el3.zip -r--r--r-- 1 5536 toc 456947 Aug 23 14:38 oe41gbin.zip -r--r--r-- 1 5536 toc 490681 Aug 23 14:38 oe41info.zip -r--r--r-- 1 5536 toc 814045 Aug 23 14:38 oe41min.zip -r--r--r-- 1 5536 toc 1174029 Aug 23 14:39 oe41src1.zip -r--r--r-- 1 5536 toc 1147381 Aug 23 14:40 oe41src2.zip -r--r--r-- 1 5536 toc 670126 Aug 23 14:40 oe41src3.zip -r--r--r-- 1 5536 toc 578596 Aug 23 14:40 oe41wbin.zip -r--r--r-- 1 5536 toc 531268 Aug 23 14:41 oe41xbin.zip This release has been broken up into a number of .zip files. To see what you need to get for a given version, get the file "ROADMAP.DOS". The file "INSTALL.DOS" contains installation instructions. Note that all files have been compressed using the new .ZIP 2.0 format (which means that you cannot use the OLD pkunzip programs), and must be extracted such that the subdirectory hierarchy is preserved (i.e., give the -d flag to pkunzip). Also note that the minimal disk space requirements for the MSDOS and DV/X versions is closer to 3.5MB (the docs say that 3MB is the minimum). ***** What binaries are part of OEmacs Release 4.1? * An MSDOS binary compiled using DJGPP: Advantage: Starts up very fast. Advantage: Runs under plain MSDOS or within a Windows DOS box. Disadvantage: Requires a numeric coprocessor to run within Windows. Disadvantage: Shelling to DOS takes a long time. Disadvantage: Needs more memory to run under Windows. Minimally required files: oe41gbin.zip oe41min.zip You need at least 3.5MB of free disk space to install this version. The exact amount depends on the cluster size used on your hard disk. * A binary compiled using WATCOM C/386 9.01E: Advantage: Does not require a numeric coprocessor to run within Windows. Advantage: Shelling to DOS is fast. Advantage: Runs under plain MSDOS or within a Windows DOS box. Disadvantage: Takes a while to start up (about 20 seconds on a 33MHz 486DX). Disadvantage: Uses much more disk space than the other versions (14MB vs 3.5MB). Minimally required files: oe41wbin.zip oe41min.zip oe41el1.zip oe41el2.zip oe41el3.zip You need at least 14MB of free disk space to install this version. The exact amount depends on the cluster size used on your hard disk. * A DESQview/X binary compiled using DJGPP: Advantage: Starts up very fast. Advantage: Can display multiple X-windows (frames). Disadvantage: Does not work under plain MSDOS or Windows. Minimally required files: oe41xbin.zip oe41min.zip You need at least 3.5MB of free disk space to install this version. The exact amount depends on the cluster size used on your hard disk. ***** What are the differences between OEmacs and demacs? * OEmacs has mouse and color-text support. Demacs does not. * OEmacs does not require that ANSI.SYS be loaded. * OEmacs is based upon GNU Emacs V19. Demacs is based upon an ancient version of V18. * OEmacs works within a Windows 3.1 DOS box. Demacs does not (however, rumor has it that demacs can run within a Windows 3.1 DOS box if the latest DPMI-aware go32 is used). * The _emacs files are different. In OEmacs, the _emacs file has been simplified and streamlined. Demacs cannot use the OEmacs' _emacs file, and OEmacs cannot use the demacs' _emacs file. As a matter of fact, OEmacs does not need a _emacs file. * The terminal config files ("lisp/term/ibmpc.el") are different. Unlike demacs, OEmacs does not rely on reprogramming the keyboard mapping via ANSI.SYS. Some versions of ANSI.SYS don't allow keyboard mapping, and some versions even crashed if this was attempted, and so OEmacs uses a different method of keyboard handling. * OEmacs doesn't have the NEMACS or FEPCTRL code merged into the Emacs C code. I can't test these features, and so I didn't bother merging them in. The merge was done by hand (and not via patch(1)), and so merging these untestable features would have added more work, which I didn't want. The demacs support for 8-bit characters was not added to Release 3.0 or 4.1, as V19 already contains support for 8-bit characters. * The WATCOM C/386 version of OEmacs needs to load the emacs-lisp files at startup (this takes about 20 seconds on a 33MHz 486DX), while the DJGPP-compiled OEmacs is dumped and loads about as fast as demacs. * Subprocesses with the DJGPP-compiled version of OEmacs do not work well. Demacs has special GO32 modifications that make shelling to DOS quite fast; these changes have not been merged into the GO32 distributed with OEmacs, and so shelling to DOS is quite slow (GO32 has changed significantly since demacs was written). -- Darryl Okahata Internet: darrylo AT sr DOT hp DOT com DISCLAIMER: this message is the author's personal opinion and does not constitute the support, opinion or policy of Hewlett-Packard or of the little green men that have been following him all day. =============================================================================== Here is a copy of the bug list/FAQ: =============================================================================== OEMACS Release 4.1 (BETA RELEASE) August 22, 1993 This file was last updated: August 22, 1993 This file contains a list of bugs and frequently-asked questions, regarding OEmacs Release 4.1. ***** KNOWN BUGS: * The Meta-{, Meta-/, etc. keys do not work. Meta keys that use alphabetic characters work, but the non-alphabetic characters do not. Unfortunately, the ROM BIOS is supressing these keys, and so there is no easy way of getting these keys to work. ***** Frequently-Asked Questions: * The "info" facility doesn't work. I get the error, "Wrong type argument: stringp, nil", when I try to use it. This error occurs because Emacs cannot find its Info files, and is usually caused by having old environment variables, such as: EMACSLOADPATH EMACSEXECPATH EMACSPATH EMACSDATA INFOPATH Another possibility is that the Info files were not installed or were installed in the wrong location (they should be installed in "emacs-19.19/info"). Yet another possibility is that you did not properly follow the instructions on installing OEmacs, and improperly set the value for "EMACSTOPDIR" in one of the "emacs.bat" files. * Why doesn't the mouse work? Before the mouse can be used, an MSDOS mouse driver must be loaded (even if Windows is being used), and this must be done BEFORE starting Emacs. For MSDOS 5.0 and 6.0, a mouse driver can be found as C:\DOS\MOUSE.COM (see the MSDOS documentation for instructions on how to load it). With Windows, note that the mouse will always work for graphical/native Windows 3.1 applications, regardless of whether or not the mouse driver is loaded, but will only work within a Windows MSDOS window if a mouse driver was loaded *BEFORE* windows was started. Once the mouse driver has been loaded, you need to enable the mouse by placing the following line into your ~/_emacs file: (emacs-pc-enable-mouse) You can also execute this function via M-x. The mouse is not enabled by default because, the first time the mouse is enabled within OEmacs, a hardware mouse reset is done, and this can take a couple of seconds (some people don't use a mouse, and do not want to incur this "slowdown" when starting Emacs). * Why doesn't C-@ work? The C-@ key (accessed via Ctrl-Space) should work in this release (it did not work right in earlier releases). If it does not work, chances are that you are using an old ~/_emacs file, and it contains a command that attempts to redefine some keys, using C-@ as a prefix character. Examples of this are: (global-set-key "\C- AT G" 'beginning-of-buffer) (define-key function-key-map "\C- AT G" [home]) * How do I rebind the function keys or keypad keys? GNU Emacs V19 changed the way keys are defined. In addition, the various function keys now send different escape sequences to OEmacs Release 4.0 and later (different escape sequences were sent with earlier releases); this was done to remove a conflict with C-@. With V19, the following can be used to define keys (for example): (global-set-key [home] 'beginning-of-buffer) ; home (global-set-key [C-home] 'beginning-of-line) ; Ctrl-home (global-set-key [left] 'previous-char) ; left arrow (global-set-key [f1] 'help-for-help) ; F1 Note that the PC keyboard is incapable of redefining some keys, such as any shifted numeric keypad key, or Alt-keypad keys, or C-up or C-down, to name a few. For a vague idea of what function keys can be rebound (assuming that you are familiar with Emacs-lisp), see the file "emacs-19.19/lisp/term/ibmpc.el". See the V19 documentation for more details.