comparison src/keymap.c @ 2500:3d8143fc88e1

[xemacs-hg @ 2005-01-24 23:33:30 by ben] get working with VC7 config.inc.samp: Declare OPTIONAL_LIBRARY_DIR as root of library directories. Redo all graphics library defaults to mirror the versions and directories in the current binary aux distribution on xemacs web site. Enable TIFF and COMPFACE by default since you can now compile with them and binary libs are provided. xemacs.mak: Put our own directories first in case of conflict (e.g. config.h in compface). xemacs.mak: Use MSVCRT to avoid link problems. s/windowsnt.h: bytecode.c, print.c: Add casts to avoid warning. compiler.h: Add MSC_VERSION and include definitions of DOESNT_RETURN and friends here, like for GCC. Need different definitions for VC7 and VC6. s/windowsnt.h: Remove stuff moved to compiler.h. Disable warning 4646 ("function declared with __declspec(noreturn) has non-void return type") on VC7 since lots of Lisp primitives trigger this and there is no easy way to kludge around the warning. glyphs-eimage.c: Some really nasty hacks to allow TIFF and JPEG to both be compiled. #### The better solution is to move the TIFF and JPEG code to different files. glyphs-msw.c: Define __STDC__ to avoid problems with compface.h. intl-auto-encap-win32.c, intl-auto-encap-win32.h, intl-encap-win32.c, syswindows.h: Those wankers at Microsoft cannot leave well enough alone. Various functions change parameter types semi-randomly between VC6 and VC7, so we need to include our own versions that can handle both kinds with appropriate casting. EmacsFrame.c, EmacsShell-sub.c, EmacsShell.c, alloc.c, alloca.c, buffer.c, bytecode.c, charset.h, chartab.c, cm.c, console-stream.c, console.c, data.c, debug.h, device-msw.c, device-tty.c, device-x.c, doprnt.c, dumper.c, dynarr.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, fileio.c, fns.c, font-lock.c, frame-gtk.c, frame-x.c, frame.c, free-hook.c, gccache-gtk.c, glyphs-eimage.c, glyphs-gtk.c, glyphs-msw.c, glyphs-x.c, glyphs.c, gtk-glue.c, gutter.c, input-method-xlib.c, insdel.c, intl-win32.c, keymap.c, lisp.h, lread.c, lstream.c, macros.c, malloc.c, menubar-gtk.c, menubar-msw.c, menubar-x.c, mule-coding.c, native-gtk-toolbar.c, number.c, objects-msw.c, objects.c, print.c, process-nt.c, process-unix.c, process.c, ralloc.c, rangetab.c, redisplay-gtk.c, redisplay-msw.c, redisplay-output.c, redisplay-tty.c, redisplay-x.c, redisplay.c, regex.c, scrollbar-gtk.c, scrollbar-x.c, search.c, select-x.c, signal.c, specifier.c, specifier.h, strftime.c, sunplay.c, symbols.c, sysdep.c, sysproc.h, text.c, text.h, toolbar-common.c, toolbar-msw.c, toolbar.c, ui-gtk.c, unexnt.c, unicode.c, win32.c, window.c, xgccache.c, s/windowsnt.h: abort() -> ABORT(). Eliminate preprocessor games with abort() since it creates huge problems in VC7, solvable only by including massive amounts of files in every compile (and not worth it).
author ben
date Mon, 24 Jan 2005 23:34:34 +0000
parents ab71ad6ff3dd
children 6fa9919a9a0b
comparison
equal deleted inserted replaced
2499:4c5ee4d2e921 2500:3d8143fc88e1
470 modifiers &= ~(XEMACS_MOD_BUTTON1 | XEMACS_MOD_BUTTON2 | XEMACS_MOD_BUTTON3 470 modifiers &= ~(XEMACS_MOD_BUTTON1 | XEMACS_MOD_BUTTON2 | XEMACS_MOD_BUTTON3
471 | XEMACS_MOD_BUTTON4 | XEMACS_MOD_BUTTON5); 471 | XEMACS_MOD_BUTTON4 | XEMACS_MOD_BUTTON5);
472 if ((modifiers & ~(XEMACS_MOD_CONTROL | XEMACS_MOD_META | XEMACS_MOD_SUPER 472 if ((modifiers & ~(XEMACS_MOD_CONTROL | XEMACS_MOD_META | XEMACS_MOD_SUPER
473 | XEMACS_MOD_HYPER | XEMACS_MOD_ALT | XEMACS_MOD_SHIFT)) 473 | XEMACS_MOD_HYPER | XEMACS_MOD_ALT | XEMACS_MOD_SHIFT))
474 != 0) 474 != 0)
475 abort (); 475 ABORT ();
476 476
477 k = XKEYMAP (keymap); 477 k = XKEYMAP (keymap);
478 478
479 /* If the keysym is a one-character symbol, use the char code instead. */ 479 /* If the keysym is a one-character symbol, use the char code instead. */
480 if (SYMBOLP (keysym) && string_char_length (XSYMBOL (keysym)->name) == 1) 480 if (SYMBOLP (keysym) && string_char_length (XSYMBOL (keysym)->name) == 1)
545 Lisp_Object new_keys = keys; 545 Lisp_Object new_keys = keys;
546 Lisp_Object tail; 546 Lisp_Object tail;
547 Lisp_Object *prev; 547 Lisp_Object *prev;
548 548
549 if (UNBOUNDP (keys)) 549 if (UNBOUNDP (keys))
550 abort (); 550 ABORT ();
551 551
552 for (prev = &new_keys, tail = new_keys; 552 for (prev = &new_keys, tail = new_keys;
553 ; 553 ;
554 prev = &(XCDR (tail)), tail = XCDR (tail)) 554 prev = &(XCDR (tail)), tail = XCDR (tail))
555 { 555 {
1755 XVECTOR_DATA (new_keys) [i] = XVECTOR_DATA (keys) [i]; 1755 XVECTOR_DATA (new_keys) [i] = XVECTOR_DATA (keys) [i];
1756 } 1756 }
1757 else 1757 else
1758 { 1758 {
1759 new_keys = Qnil; 1759 new_keys = Qnil;
1760 abort (); 1760 ABORT ();
1761 } 1761 }
1762 1762
1763 if (EQ (keys, new_keys)) 1763 if (EQ (keys, new_keys))
1764 signal_ferror_with_frob (Qinvalid_operation, mpc_binding, 1764 signal_ferror_with_frob (Qinvalid_operation, mpc_binding,
1765 "can't bind %s: %s has a non-keymap binding", 1765 "can't bind %s: %s has a non-keymap binding",
3132 Lisp_Key_Data key; 3132 Lisp_Key_Data key;
3133 key.keysym = keysym; 3133 key.keysym = keysym;
3134 key.modifiers = modifiers; 3134 key.modifiers = modifiers;
3135 3135
3136 if (NILP (cmd)) 3136 if (NILP (cmd))
3137 abort (); 3137 ABORT ();
3138 cmd = get_keymap (cmd, 0, 1); 3138 cmd = get_keymap (cmd, 0, 1);
3139 if (!KEYMAPP (cmd)) 3139 if (!KEYMAPP (cmd))
3140 abort (); 3140 ABORT ();
3141 3141
3142 vec = make_vector (XVECTOR_LENGTH (thisseq) + 1, Qnil); 3142 vec = make_vector (XVECTOR_LENGTH (thisseq) + 1, Qnil);
3143 len = XVECTOR_LENGTH (thisseq); 3143 len = XVECTOR_LENGTH (thisseq);
3144 for (j = 0; j < len; j++) 3144 for (j = 0; j < len; j++)
3145 XVECTOR_DATA (vec) [j] = XVECTOR_DATA (thisseq) [j]; 3145 XVECTOR_DATA (vec) [j] = XVECTOR_DATA (thisseq) [j];
3659 } 3659 }
3660 3660
3661 /* OK, the key is for real */ 3661 /* OK, the key is for real */
3662 if (target_buffer) 3662 if (target_buffer)
3663 { 3663 {
3664 if (!firstonly) abort (); 3664 if (!firstonly) ABORT ();
3665 format_raw_keys (so_far, keys_count + 1, target_buffer); 3665 format_raw_keys (so_far, keys_count + 1, target_buffer);
3666 return make_int (1); 3666 return make_int (1);
3667 } 3667 }
3668 else if (firstonly) 3668 else if (firstonly)
3669 return raw_keys_to_keys (so_far, keys_count + 1); 3669 return raw_keys_to_keys (so_far, keys_count + 1);