home *** CD-ROM | disk | FTP | other *** search
- MicroEMACS 3.11c for Windows, update 1.0 by Pierre Perret
- ======================================== April 17, 1992
- Development notes
-
- Files in this archive:
- ---------------------
-
- README.SRC This file
- MEWIN.MAK Makefile to compile the executable using Borland C 3.0
- BASIC.C \
- BIND.C |
- BUFFER.C |
- CHAR.C |
- CRYPT.C |
- DOLOCK.C \
- ELANG.H |- MicroEMACS 3.11c unmodified source files
- EPATH.H /
- EVAR.H |
- ISEARCH.C |
- LOCK.C |
- REGION.C |
- TAGS.C /
- DISPLAY.C \
- EBIND.H |
- EDEF.H |
- EFUNC.H |
- ENGLISH.H |
- EPROTO.H |
- ESTRUCT.H |
- EVAL.C |
- EXEC.C \
- FILE.C |- modified MicroEMACS 3.11c source files
- FILEIO.C /
- INPUT.C |
- LINE.C |
- MAIN.C |
- MOUSE.C |
- RANDOM.C |
- SCREEN.C |
- SEARCH.C |
- WINDOW.C |
- WORD.C /
- MEWIN.DEF linker definition file
- MEWIN.RC resouce main script file
- MSWMENU.RC menu script
- MSWABOUT.DLG about dialog box
- MSWFILE.DLG file dialog box
- MSWFONTS.DLG font dialog box
- MSWMLH.DLG message line history dialog box
- MSWMODES.DLG modes dialog box
- MSWPRG.DLG "waiting for other program" dialog box
- MSWNOT.CUR cursor for not-quiescent state
- MSWCUR.CUR pointing finger cursor
- MSWAPP.ICO application icon
- MSWSCR.ICO MDI child (screen) icon
- MSWWAIT.ICO icon for the "waiting for other program" dialog box
- MSWMENU.H menu IDs definitions
- MSWRID.H resource IDs definitions
- MSWHELP.H help contexts include file
- MSWIN.H main (all purpose) include file
- MSWDISP.C display handling module
- MSWDRV.C seen by the rest of the editor as the "display driver"
- MSWEMACS.C extra EMACS functions (clipboard and screen juggling)
- MSWEXEC.C code related to launching DOS sessions (or WinApps)
- MSWFILE.C file dialog box and current working directory management
- MSWFONT.C font initialization and dialog box
- MSWINPUT.C keyboard and mouse input handling
- MSWMEM.C suballocator replacing the standard malloc, free & realloc
- MSWMENU.C all the menu stuff (includes the menu binding functions)
- MSWSYS.C WinMain, message loop, window procs...
-
- Remarks:
- -------
-
- This has been compiled by Borland C++ 3.0. If you hack at this source to
- use another C compiler (there is no C++ in these sources), take the
- following into consideration:
-
- - This code has to be compiled in large model. Since, even in that
- model, Borland C++ tries to generate a single Data Segment, it is still
- possible to run multiple instances of MEWIN. Some other compilers tend to
- generate multiple data segments in large model, thus creating
- single-instance-only programs. Depending on the users' taste, this may
- be a non-issue due to the availability of MDI screens..
-
- - The "Windows Explicit Functions Exported" option of the Borland
- compiler is used to reduce the size of the executable (the large
- majority of the functions are FAR but do not require to be exported).
- The exported functions are not listed in the DEF file as the Borland doc
- says it would be incompatible with the use of that option.
-
- - The Borland C++ 3.0 libraries provide a segment suballocator for the
- malloc, realloc and free functions. Borland C++ 2.0 and other compilers
- often supply only a simple segment allocator for those functions in
- large model. Since the maximum number of segments allocated at any time
- under Windows cannot exceed 8K (the number of entries in the selector
- table), use of a suballocation mechanism is a must. The MSWMEM.C module
- contains just that. The BETA version 0.7 of this program was compiled
- with BC 2.0 and therefore used this module, so it has been tested.
- However, I have encountered very rare occurences of UAEs that I believe
- are caused by MSWMEM.C. The MSWIN.H module contains flags SUBALLOC and
- MEMTRACE which should be set to 1 if you want to use malloc/realloc/free
- from MSWMEM.C. MEMTRACE is not absolutely necessary but adds a trace of
- the last 256 MSWMEM events. I had installed that to catch the UAE in the
- act with the help of DrFrank (apost-mortem dump taker/analyzer)... The
- thing has never reared its ugly head since then!
-
- ------------------------------------------------------------------------
-
- Disclaimer and copyright:
- ------------------------
-
- This program is supplied without waranties of any kind. Neither I
- (Pierre Perret), nor the author and copyright owner of MicroEMACS
- (Daniel M. Lawrence), can be held responsible or liable for any damage
- caused by the use of this program.
-
- In short: USE AT YOUR OWN RISK.
-
- (C)Copyright 1988, 1989, 1990, 1991, 1992 by Daniel M. Lawrence
- MicroEMACS 3.11 can be copied and distributed freely for any
- non-commercial purposes. Commercial users may use MicroEMACS
- 3.11 inhouse. Shareware distributors may redistribute
- MicroEMACS 3.11 for media costs only. MicroEMACS 3.11 can only
- be incorporated into commercial software or resold with the
- permission of the current author:
-
- Daniel M. Lawrence
- 617 New York St
- Lafayette, IN 47901
-
- ------------------------------------------------------------------------
-