* keyboard.c (syms_of_keyboard): Doc fix for
extra-keyboard-modifiers; use the same modifier bits as we do for
characters.
(read_char): Apply all the modifiers in extra_keyboard_modifiers
to the input characters, so you can get hyper, super, and the rest
of the gang.
* xterm.c (x_emacs_to_x_modifiers): New function.
(x_convert_modifiers): Renamed to x_x_to_emacs_modifiers, for
consistency. Callers changed.
(XTread_socket): Apply x_emacs_to_x_modifiers to
extra_keyboard_modifiers before setting the state member of the
event; this will get all the modifiers on ASCII characters.
* xterm.c (x_text_icon): Don't call XSetIconName; it should be
unnecessary, and perhaps it's killing the icon pixmap.
* s/mach2.h: copied from the Emacs 18.59 distribution.
Don't define NO_REMAP, define START_FILES as
`pre-crt0.o' instead. Define LIB_MATH as `-lm', to override the
default `-lm -lc' (there is no libc on the NeXT).
* ymakefile (STARTFILES): Allow config.h to set this value even if
ORDINARY_LINK is defined.
* unexnext.c: Fix subdirectories for the machine dependent include
files for NeXTStep 3.0; #include <mach/mach.h> and
<mach-o/loader.h> instead of <mach.h> and <sys/loader.h>.
(getsectbyname): Remove prototype for this; the system #include
files take care of that.
(malloc_cookie): New variable.
(unexec_doit): Set malloc_cookie to the result returned by
malloc_freezedry.
* emacs.c (main): Declare malloc_cookie to be extern, so that we can
get the value set when we dumped and pass it to malloc_jumpstart.
* systime.h: The NeXT has a timezone function.
case we need them.
* termhooks.h (alt_modifier, super_modifier, hyper_modifier,
shift_modifier, ctrl_modifier, meta_modifier): Define these in
terms of the CHAR_mumble macros, to avoid having the same thing
defined in two places.
Make the modifier manipulation functions more robust. The old way
caused a bug once, and probably would again.
* termhooks.h (alt_modifier, super_modifier, hyper_modifier,
shift_modifier, ctrl_modifier, meta_modifier): Shift these all
down one bit in value, to avoid sign extension problems.
* lisp.h (CHAR_META, CHAR_CTL, CHAR_SHIFT): Fix these definitions too.
* keyboard.c (lispy_modifier_list): Ignore modifier bits beyond
what our table of modifier names can handle.
(apply_modifiers): Don't abort if you see extra modifier bits,
just remove them.
(EMACS_SET_USECS): Remember that a `usec' is a microsecond, not a
millisecond. What's three orders of magnitude between friends?
* dispnew.c (Fsit_for, Fsleep_for): Remember to multiply the
`milliseconds' argument by 1000 to get microseconds.
Changes for Emacs 19 from Thorsten Ohl <ohl@chico.harvard.edu>:
* s/mach2.h: copied from the Emacs 18.59 distribution.
Don't define NO_REMAP, define START_FILES as
`pre-crt0.o' instead. Define LIB_MATH as `-lm', to override the
default `-lm -lc' (there is no libc on the NeXT).
* ymakefile (STARTFILES): Allow config.h to set this value even if
ORDINARY_LINK is defined.
* unexnext.c: Fix subdirectories for the machine dependent include
files for NeXTStep 3.0; #include <mach/mach.h> and
<mach-o/loader.h> instead of <mach.h> and <sys/loader.h>.
(getsectbyname): Remove prototype for this; the system #include
files take care of that.
(malloc_cookie): New variable.
(unexec_doit): Set malloc_cookie to the result returned by
malloc_freezedry.
* emacs.c (main): Declare malloc_cookie to be extern, so that we can
get the value set when we dumped and pass it to malloc_jumpstart.
* systime.h: The NeXT has a timezone function.