comparison src/dumper.c @ 800:a5954632b187

[xemacs-hg @ 2002-03-31 08:27:14 by ben] more fixes, first crack at finishing behavior implementation TODO.ben-mule-21-5: Update. configure.in: Fix for new error-checking types. make-mswin-unicode.pl: Don't be fucked up by CRLF. Output code to force errors when nonintercepted Windows calls issued. behavior.el, dumped-lisp.el, menubar-items.el: Add support for saving using custom. Load into a dumped XEmacs. Correct :title to :short-doc in accordance with behavior-defs.el. Add a submenu under Options for turning on/off behaviors. cl-macs.el: Properly document `loop'. Fix a minor bug in keymap iteration and add support for bit-vector iteration. lisp-mode.el: Rearrange and add items for macro expanding. menubar-items.el: Document connection between these two functions. window.el: Port stuff from GNU 21.1. config.inc.samp, xemacs.mak: Separate out and add new variable for controlling error-checking. s/windowsnt.h: Use new ERROR_CHECK_ALL; not related to DEBUG_XEMACS. alloc.c, backtrace.h, buffer.c, buffer.h, bytecode.c, callproc.c, casetab.c, charset.h, chartab.c, cmdloop.c, config.h.in, console-msw.c, console-stream.c, console-tty.c, console.c, console.h, data.c, device-msw.c, device.c, device.h, dired-msw.c, dired.c, dumper.c, editfns.c, eldap.c, elhash.c, emacs.c, eval.c, event-Xt.c, event-gtk.c, event-msw.c, event-stream.c, events.c, extents.c, faces.c, file-coding.c, file-coding.h, fileio.c, frame-msw.c, frame.c, frame.h, glyphs-gtk.c, glyphs-msw.c, glyphs-shared.c, glyphs-widget.c, glyphs-x.c, glyphs.c, glyphs.h, insdel.c, intl-auto-encap-win32.c, intl-auto-encap-win32.h, intl-encap-win32.c, intl-win32.c, keymap.c, lisp-union.h, lisp.h, lread.c, lrecord.h, lstream.c, lstream.h, macros.c, marker.c, md5.c, menubar-x.c, menubar.c, mule-coding.c, ntproc.c, objects-gtk.c, objects-msw.c, objects-x.c, objects.c, opaque.c, print.c, process-nt.c, process-unix.c, process.c, rangetab.c, redisplay-msw.c, redisplay-output.c, redisplay.c, regex.c, scrollbar-msw.c, select-msw.c, signal.c, specifier.c, specifier.h, symbols.c, sysdep.c, syswindows.h, text.c, text.h, toolbar-msw.c, tooltalk.c, ui-gtk.c, unicode.c, window.c: Redo error-checking macros: ERROR_CHECK_TYPECHECK -> ERROR_CHECK_TYPES, ERROR_CHECK_CHARBPOS -> ERROR_CHECK_TEXT, add ERROR_CHECK_DISPLAY, ERROR_CHECK_STRUCTURES. Document these in config.h.in. Fix code to follow docs. Fix *_checking_assert() in accordance with new names. Attempt to fix periodic redisplay crash freeing display line structures. Add first implementation of sledgehammer redisplay check. Redo print_*() to use write_fmt_string(), write_fmt_string_lisp(). Fix bug in md5 handling. Rename character-to-unicode to char-to-unicode; same for unicode-to-char{acter}. Move chartab documentation to `make-char-table'. Some header cleanup. Clean up remaining places where nonintercepted Windows calls are being used. automated/mule-tests.el: Fix for new Unicode support.
author ben
date Sun, 31 Mar 2002 08:30:17 +0000
parents e38acbeb1cae
children 6728e641994e
comparison
equal deleted inserted replaced
799:03d9f9084848 800:a5954632b187
19 along with XEmacs; see the file COPYING. If not, write to 19 along with XEmacs; see the file COPYING. If not, write to
20 the Free Software Foundation, Inc., 59 Temple Place - Suite 330, 20 the Free Software Foundation, Inc., 59 Temple Place - Suite 330,
21 Boston, MA 02111-1307, USA. */ 21 Boston, MA 02111-1307, USA. */
22 22
23 /* Synched up with: Not in FSF. */ 23 /* Synched up with: Not in FSF. */
24
25 /* !!#### Not yet Mule-ized */
24 26
25 #include <config.h> 27 #include <config.h>
26 #include "lisp.h" 28 #include "lisp.h"
27 29
28 #include "specifier.h" 30 #include "specifier.h"
1503 1505
1504 static int 1506 static int
1505 pdump_file_get (const char *path) 1507 pdump_file_get (const char *path)
1506 { 1508 {
1507 1509
1508 pdump_hFile = CreateFile (path, 1510 pdump_hFile = CreateFileA (path,
1509 GENERIC_READ + GENERIC_WRITE, /* Required for copy on write */ 1511 GENERIC_READ + GENERIC_WRITE, /* Required for copy on write */
1510 0, /* Not shared */ 1512 0, /* Not shared */
1511 NULL, /* Not inheritable */ 1513 NULL, /* Not inheritable */
1512 OPEN_EXISTING, 1514 OPEN_EXISTING,
1513 FILE_ATTRIBUTE_NORMAL, 1515 FILE_ATTRIBUTE_NORMAL,
1514 NULL); /* No template file */ 1516 NULL); /* No template file */
1515 if (pdump_hFile == INVALID_HANDLE_VALUE) 1517 if (pdump_hFile == INVALID_HANDLE_VALUE)
1516 return 0; 1518 return 0;
1517 1519
1518 pdump_length = GetFileSize (pdump_hFile, NULL); 1520 pdump_length = GetFileSize (pdump_hFile, NULL);
1519 pdump_hMap = CreateFileMapping (pdump_hFile, 1521 pdump_hMap = CreateFileMappingA (pdump_hFile,
1520 NULL, /* No security attributes */ 1522 NULL, /* No security attributes */
1521 PAGE_WRITECOPY, /* Copy on write */ 1523 PAGE_WRITECOPY, /* Copy on write */
1522 0, /* Max size, high half */ 1524 0, /* Max size, high half */
1523 0, /* Max size, low half */ 1525 0, /* Max size, low half */
1524 NULL); /* Unnamed */ 1526 NULL); /* Unnamed */
1557 overhead, but causes the resource section to be private to each process 1559 overhead, but causes the resource section to be private to each process
1558 that is running XEmacs. Since the resource section contains little 1560 that is running XEmacs. Since the resource section contains little
1559 other than the dumped data, which should be private to each process, we 1561 other than the dumped data, which should be private to each process, we
1560 make the whole resource section read/write so we don't have to copy it. */ 1562 make the whole resource section read/write so we don't have to copy it. */
1561 1563
1562 hRes = FindResource (NULL, MAKEINTRESOURCE(101), "DUMP"); 1564 hRes = FindResourceA (NULL, MAKEINTRESOURCE (101), "DUMP");
1563 if (hRes == NULL) 1565 if (hRes == NULL)
1564 return 0; 1566 return 0;
1565 1567
1566 /* Found it, use the data in the resource */ 1568 /* Found it, use the data in the resource */
1567 hResLoad = LoadResource (NULL, hRes); 1569 hResLoad = LoadResource (NULL, hRes);
1682 int 1684 int
1683 pdump_load (const Extbyte *argv0) 1685 pdump_load (const Extbyte *argv0)
1684 { 1686 {
1685 Extbyte exe_path[PATH_MAX]; 1687 Extbyte exe_path[PATH_MAX];
1686 #ifdef WIN32_NATIVE 1688 #ifdef WIN32_NATIVE
1687 GetModuleFileName (NULL, exe_path, PATH_MAX); 1689 GetModuleFileNameA (NULL, exe_path, PATH_MAX);
1688 #else /* !WIN32_NATIVE */ 1690 #else /* !WIN32_NATIVE */
1689 Extbyte *w; 1691 Extbyte *w;
1690 const Extbyte *dir, *p; 1692 const Extbyte *dir, *p;
1691 1693
1692 dir = argv0; 1694 dir = argv0;