Mercurial > hg > xemacs-beta
comparison lib-src/make-mswin-unicode.pl @ 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 | 2923009caf47 |
children | ecf1ebac70d8 |
comparison
equal
deleted
inserted
replaced
799:03d9f9084848 | 800:a5954632b187 |
---|---|
44 which is *NOT* sufficient for any real-world program. The solution is | 44 which is *NOT* sufficient for any real-world program. The solution is |
45 run-time Unicode encapsulation, which is not conceptually difficult | 45 run-time Unicode encapsulation, which is not conceptually difficult |
46 but is time-consuming, and is not supported standardly only due to | 46 but is time-consuming, and is not supported standardly only due to |
47 evil marketing decisions made by Microsoft. See src/intl-win32.c | 47 evil marketing decisions made by Microsoft. See src/intl-win32.c |
48 for more information. | 48 for more information. |
49 | |
50 In XEmacs, this file is normally run using `nmake -f xemacs.mak | |
51 unicode-encapsulate'. | |
49 | 52 |
50 This script processes the specified files, looking for commands | 53 This script processes the specified files, looking for commands |
51 indicating library routines to Unicode-encapsulate, as follows: | 54 indicating library routines to Unicode-encapsulate, as follows: |
52 | 55 |
53 Portions of the files that should be processed are enclosed in lines | 56 Portions of the files that should be processed are enclosed in lines |
137 my @current_bracket; | 140 my @current_bracket; |
138 | 141 |
139 while (<>) | 142 while (<>) |
140 { | 143 { |
141 chomp; | 144 chomp; |
145 # remove trailing CR. #### Should not be necessary! Perl should be | |
146 # opening these in text mode by default, as the docs claim, and | |
147 # automatically remove the CR's. | |
148 tr/\r//d; | |
142 | 149 |
143 if (/^begin-unicode-encapsulation-script$/) | 150 if (/^begin-unicode-encapsulation-script$/) |
144 { | 151 { |
145 $in_script = 1; | 152 $in_script = 1; |
146 } | 153 } |
322 { | 329 { |
323 $split_rettype = 1; | 330 $split_rettype = 1; |
324 $rettype =~ s/\bLPWSTR\b/Extbyte */; | 331 $rettype =~ s/\bLPWSTR\b/Extbyte */; |
325 $rettype =~ s/\bLPCWSTR\b/const Extbyte */; | 332 $rettype =~ s/\bLPCWSTR\b/const Extbyte */; |
326 } | 333 } |
334 print HOUT "#ifdef ERROR_WHEN_NONINTERCEPTED_FUNS_USED\n"; | |
335 print HOUT "#undef $fun\n"; | |
336 print HOUT "#define $fun error use qxe$fun or ${fun}A/${fun}W\n"; | |
337 print HOUT "#endif\n"; | |
327 if (defined ($reason)) | 338 if (defined ($reason)) |
328 { | 339 { |
329 print COUT "/* NOTE: $reason */\n"; | 340 print COUT "/* NOTE: $reason */\n"; |
330 } | 341 } |
331 print COUT "$rettype\nqxe$fun ("; | 342 print COUT "$rettype\nqxe$fun ("; |
383 if (defined ($bracket)) | 394 if (defined ($bracket)) |
384 { | 395 { |
385 print HOUT "#endif /* $bracket */\n"; | 396 print HOUT "#endif /* $bracket */\n"; |
386 print COUT "#endif /* $bracket */\n\n"; | 397 print COUT "#endif /* $bracket */\n\n"; |
387 } | 398 } |
399 print HOUT "\n"; | |
388 } | 400 } |
389 } | 401 } |
390 } | 402 } |
391 | 403 |
392 foreach my $file (keys %files) | 404 foreach my $file (keys %files) |