comparison src/events.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
26 26
27 #include <config.h> 27 #include <config.h>
28 #include "lisp.h" 28 #include "lisp.h"
29 #include "buffer.h" 29 #include "buffer.h"
30 #include "console.h" 30 #include "console.h"
31 #include "console-tty.h" /* for stuff in character_to_event */
32 #include "device.h" 31 #include "device.h"
33 #include "extents.h" 32 #include "extents.h"
34 #include "events.h" 33 #include "events.h"
35 #include "frame.h" 34 #include "frame.h"
36 #include "glyphs.h" 35 #include "glyphs.h"
37 #include "keymap.h" /* for key_desc_list_to_event() */ 36 #include "keymap.h" /* for key_desc_list_to_event() */
38 #include "lstream.h" 37 #include "lstream.h"
39 #include "redisplay.h" 38 #include "redisplay.h"
39 #include "toolbar.h"
40 #include "window.h" 40 #include "window.h"
41
42 #include "console-tty.h" /* for stuff in character_to_event */
41 43
42 /* Where old events go when they are explicitly deallocated. 44 /* Where old events go when they are explicitly deallocated.
43 The event chain here is cut loose before GC, so these will be freed 45 The event chain here is cut loose before GC, so these will be freed
44 eventually. 46 eventually.
45 */ 47 */
173 write_fmt_string (printcharfun, "#<motion-event %ld, %ld", 175 write_fmt_string (printcharfun, "#<motion-event %ld, %ld",
174 (long) XINT (Vx), (long) XINT (Vy)); 176 (long) XINT (Vx), (long) XINT (Vy));
175 break; 177 break;
176 } 178 }
177 case process_event: 179 case process_event:
178 write_c_string ("#<process-event ", printcharfun); 180 write_fmt_string_lisp (printcharfun, "#<process-event %S", 1, XEVENT (obj)->event.process.process);
179 print_internal (XEVENT (obj)->event.process.process, printcharfun, 1);
180 break; 181 break;
181 case timeout_event: 182 case timeout_event:
182 write_c_string ("#<timeout-event ", printcharfun); 183 write_fmt_string_lisp (printcharfun, "#<timeout-event %S", 1, XEVENT (obj)->event.timeout.object);
183 print_internal (XEVENT (obj)->event.timeout.object, printcharfun, 1);
184 break; 184 break;
185 case empty_event: 185 case empty_event:
186 write_c_string ("#<empty-event", printcharfun); 186 write_c_string ("#<empty-event", printcharfun);
187 break; 187 break;
188 case misc_user_event: 188 case misc_user_event:
189 write_c_string ("#<misc-user-event (", printcharfun); 189 write_fmt_string_lisp (printcharfun, "#<misc-user-event (%S", 1, XEVENT (obj)->event.misc.function);
190 print_internal (XEVENT (obj)->event.misc.function, printcharfun, 1); 190 write_fmt_string_lisp (printcharfun, " %S)", 1, XEVENT (obj)->event.misc.object);
191 write_c_string (" ", printcharfun);
192 print_internal (XEVENT (obj)->event.misc.object, printcharfun, 1);
193 write_c_string (")", printcharfun);
194 break; 191 break;
195 case eval_event: 192 case eval_event:
196 write_c_string ("#<eval-event (", printcharfun); 193 write_fmt_string_lisp (printcharfun, "#<eval-event (%S", 1, XEVENT (obj)->event.eval.function);
197 print_internal (XEVENT (obj)->event.eval.function, printcharfun, 1); 194 write_fmt_string_lisp (printcharfun, " %S)", 1, XEVENT (obj)->event.eval.object);
198 write_c_string (" ", printcharfun);
199 print_internal (XEVENT (obj)->event.eval.object, printcharfun, 1);
200 write_c_string (")", printcharfun);
201 break; 195 break;
202 case dead_event: 196 case dead_event:
203 write_c_string ("#<DEALLOCATED-EVENT", printcharfun); 197 write_c_string ("#<DEALLOCATED-EVENT", printcharfun);
204 break; 198 break;
205 default: 199 default:
928 Lisp_Object new_chain) 922 Lisp_Object new_chain)
929 { 923 {
930 if (NILP (pointer)) 924 if (NILP (pointer))
931 return Qnil; 925 return Qnil;
932 assert (!NILP (old_chain)); 926 assert (!NILP (old_chain));
933 #ifdef ERROR_CHECK_TYPECHECK 927 #ifdef ERROR_CHECK_STRUCTURES
934 /* make sure we're actually in the chain */ 928 /* make sure we're actually in the chain */
935 event_chain_find_previous (old_chain, pointer); 929 event_chain_find_previous (old_chain, pointer);
936 assert (event_chain_count (old_chain) == event_chain_count (new_chain)); 930 assert (event_chain_count (old_chain) == event_chain_count (new_chain));
937 #endif /* ERROR_CHECK_TYPECHECK */ 931 #endif /* ERROR_CHECK_STRUCTURES */
938 return event_chain_nth (new_chain, 932 return event_chain_nth (new_chain,
939 event_chain_count (old_chain) - 933 event_chain_count (old_chain) -
940 event_chain_count (pointer)); 934 event_chain_count (pointer));
941 } 935 }
942 936