Qt.
* keymap.c (Fwhere_is_internal): Don't forget to advance map to
the next element when we find something that is neither a vector
nor a cons. Don't forget to QUIT in the appropriate places,
either.
(keymap_table): Function removed; this function exists only to
support an incorrect understanding of the format of keymaps.
(access_keymap, store_in_keymap, Fcopy_keymap,
Faccessible_keymaps): Correctly handle vectors at any point in the
keymap; don't assume it must be at the front.
(describe_map): Instead of calling describe_vector on the vector
in the cadr of the keymap (if present) and then calling
describe_alist to do the rest, just call describe_map_2.
(describe_alist): Renamed to describe_map_2; call describe_vector
when we encounter a vector in the list.
* keymap.c (access_keymap, store_in_keymap): Clarify error message
for non-ASCII characters.
* keymap.c (access_keymap): Return the binding of Qt as the
binding for all unbound characters.
(create_process): #if 0 out the code which sets the child's
handler for SIGCHLD to sigchld; the code which gives sigchld its
value has been diked out under these CPP symbols, so this should
be diked out too.
set the subshell's priority to normal; nice doesn't return a
defined value on all systems. Instead, since emacs_priority gives
the priority that Emacs was nastied to, we can use it to reset the
priority in a straightforward way.
[BSD4_1], [USG], [VMS] (setpriority): Remove dummy and
compatibility definitions of setpriority.
argument, which specifies the value to return to the catch, or the
data to give to the condition handler. Renamed to
unwind_to_catch, to reflect new role.
(Fsignal, Fthrow): Removed code to set catch tag value and do the
long-jump; this is taken care of by unwind_to_catch.
of this structure; it is always equal to the poll_suppress_count
of its catchtag structure. The non-local exit code in eval.c is
difficult enough to understand as it is; needless duplication
doesn't help.
* lisp.h (struct specbinding, struct handler): More documentation.
about setting h.poll_suppress_count; it's guaranteed to be the
same as c.poll_suppress_count.
(internal_condition_case): Don't worry about
h.poll_suppress_count.
(Fsignal): Use h->tag->poll_suppress_count instead of
h->poll_suppress_count.
* eval.c (Fsignal): It's okay for the debugger to return to the
caller if the caller was signalling a quit.
* eval.c (unbind_catch): Restore the polling suppression count
here, instead of in Fsignal and Fthrow.
(Fthrow, Fsignal): Don't restore the polling suppression count here.
* eval.c (struct catchtag): More documentation.
* eval.c (entering_debugger): Variable renamed
when_entered_debugger, and is now a timestamp based on
num_nonmacro_input_chars.
(init_eval): Initialize when_entered_debugger, not
entering_debugger.
(call_debugger): Set when_entered_debugger to the current value of
num_nonmacro_input_chars.
(find_handler_clause): Don't call debugger unless
num_nonmacro_input_chars is greater than when_entered_debugger;
that way, we won't call the debugger unless the user has had a
chance to take control.
(Fbacktrace): Don't clear entering_debugger here.
(Fverify_visited_file_modtime):
Pass buffer itself to handler, if have handler.
(Fwrite_region): GCPRO around Fexpand_file_name, Ffie_name_directory.
(Fread_file_name_internal): GCPRO around file name manip.
(Ffile_writable_p, Ffile_readable_p): Use abspath, not filename,
(Ffile_executable_p, Ffile_exists_p): to run the handler.
(Fset_file_modes, Ffile_directory_p, Ffile_modes): Likewise.
(Ffile_newer_than_file_p): GCPRO around expand_and_dir_to_file.
if comment-end is 2 chars, assume it does end a comment.
Otherwise, scan back to previous comment-end to see if there's
a comment starter between. Also record whether the string quotes
between the start and the end are paired and uniform.
If so, skip to comment starter. If not, scan from start of
defun to find comment starter if any.
(find_defun_start): New function.
members of size_hints, if they're available (X11R4 and after);
otherwise, approximate the right thing, by using min_width and
min_height as the base size.
* xterm.c (x_catch_errors): Don't forget to initialize
x_caught_error_message to the null string, so x_check_errors can
tell when an error has occurred.
insists on defining SIGCHLD, even if it already has a definition.
(file_p): Use the constant 4 instead of R_OK; empirically, the
number is more portable than the symbol if you count the #include
hair you have to go through to get R_OK defined. Ffile_readable_p
does this too.
* xrdb.c (getuid): Declare this to return short.
if specified, return the minibuffer used by that frame.
* window.c (Fset_window_configuration): Don't signal an error
if the frame size saved in the window configuration doesn't
match the frame's current size; instead, temporarily resize
the frame while installing the window configuration. This is
important because using the minibuffer saves and restores the
current window configuration, and you don't want to signal an
error just because the user resized the frame while using the
minibuffer.
the format used by describe_map_tree. Also, don't reprint the
"key binding" header above the global bindings if we've already
printed it for the local bindings; it's clear enough that the
columns mean the same thing as above.
* keymap.c (describe_buffer_bindings): Declare buf and bufend...
* keymap.c (describe_buffer_bindings): Set the current buffer to
descbuf before calling current_minor_maps; that function's value
depends on the values of buffer-local variables. Don't set the
current buffer to Vstandard_output until afterwards.
* keymap.c (describe_buffer_bindings): If
Vkeyboard_translate_table is in effect, describe its effects.
FRAME_FOCUS_FRAME redirection, don't modify the frame field of
the event; that fatally corrupts mouse click events. Instead,
just perform the redirection on the value assigned to
Vlast_event_frame.
* keyboard.c (input_available_signal): Declare this to return
SIGTYPE.