hasn't specified the icon position. Let the window manager put
the icon where it likes.
* xfns.c (x_set_name): Use XSetWM{Name,IconName} when available
[HAVE_X11R4], or XSetIconName and XStoreName otherwise.
* xfns.c: Use the FRAME_X_WINDOW for readability.
* xfns.c (x_set_mouse_color): Use x_catch_errors, x_check_errors,
and x_uncatch errors to avoid crashing if the user selects an
odd cursor.
* xfns.c (select_visual): Use XVisualIDFromVisual when available
[HAVE_X11R4].
one-line windows are the minibuffer, or that all minibuffers are
one line high. Use MINI_WINDOW_P.
* window.c (change_window_height): If the size of the window will
shrink below the minimum, this code would only try to delete it if
it had a parent. Well, even if the window doesn't have a parent,
you want Fdelete_window to signal an error, since you're trying to
resize one of the undeleteable windows into nothingness. So call
Fdelete_window even if the window doesn't have a parent.
* window.c (MINSIZE): Add kludge so that the minibuffer is always
allowed to shrink to one line in height.
(MINSIZE, CURBEG, CURSIZE): Change these so that their argument
are always Lisp_Objects, not struct window *'s.
(change_window_height): Changed accordingly.
test TERMIOS before TERMIO; when two options might both be
defined, test the most recent first, so that the most recent
functions get used.
* sysdep.c [HAVE_TERMIO] (init_baud_rate): Don't use tcgetattr
unless HAVE_TCATTR is defined. Only very rarely do termio systems
have the tc{get,set}attr macros.
* sysdep.c: #include "systty.h", not "systerm.h".
* dispnew.c (update_frame): Change the way we handle
cursor_in_echo_area. Firstly, ignore this if the frame we're
updating doesn't have a minibuffer. Secondly, don't handle the
selected frame specially. Thirdly, don't assume that the
minibuffer is only one line high. If cursor_in_echo_area < 0, put
the cursor in the upper-left corner; if cursor_in_echo_area > 0,
put it on the lowest non-empty line in the minibuffer window, or
on the top line.
* dispnew.c (direct_output_for_insert): Fail if
cursor_in_echo_area is set; we don't want to do the typing there.
(direct_output_for_insert): Same.
per-screen. Duh.
* xterm.c (x_wm_set_window_state, x_wm_set_icon_pixmap,
x_wm_set_icon_position): Use F->display.x->wm_hints, rather than
x_wm_hints.
(x_term_init): Don't initialize x_wm_hints here.
* xterm.c (x_set_text_property): Properly balance the BLOCK_INPUTs
and UNBLOCK_INPUTs. And remember that VALUE is the strin we want
to set the name to, not PROPERTY.
* xterm.c (x_set_text_property): Define this appropriately for
X11R3 and X11R4.
* xterm.c (x_set_text_property): Make this take a Lisp_Object
string as an argument, rather than a pointer and a length.
* xterm.c: Doc fixes.
* xterm.c [USG5]: Don't include <sys/types.h>.
* xterm.c (x_make_frame_invisible): Instead of calling XWithdraw
window, which isn't widely available, write out what it does,
since that's not much.
(x_iconify_frame): Explicitly perform both the X11R3 and X11R4
methods for iconification; don't use XIconifyWindow, since that's
not present in R3.
* xterm.c (x_wm_set_size_hint): Don't bother setting the
base_width and base_height members; their function is performed
just as well by the min_width and min_height members, and if we
use XSetNormalHints instead of XSetWMNormalHints, we can be
compatible with R3.
* xterm.c (x_error_handler): There is no way to invoke the default
error handler which works on all versions of X11, so don't bother;
call XGetErrorText and print the message ourselves.
* xterm.c (x_term_init): Don't use MAXHOSTNAMELEN; this isn't
defined on all systems. Since we only use that as an initial
guess anyway, it's not very important.
* xterm.c (x_set_text_property): New function.
wish I knew why.
Don't include <sys/types.h>; just declare getuid to return an
int. Big deal.
(MAXPATHLEN): If this is not defined by the system's include
files, give it a value of 256.
(get_user_db): Fetch the defaults directly from the display
structure, rather than using XResourceManagerString; that
function doesn't exist in the older versions of X.
OLDVAL.
(x_explicitly_set_name, x_implicitly_set_name): New functions.
(x_frame_parms): Use x_explicitly_set_name here.
(x_window): Use x_implicitly_set_name here.
* xfns.c (Fx_create_frame): Initialize f->display.x->wm_hints here.
* xfns.c (x_set_name): Call x_set_text_property with a Lisp_Object
string as an argument, rather than a pointer and a length.
* xfns.c (x_get_arg): Accept a new type - symbol. If we've
retrieved a string from the xrdb database and the user wants a
symbol, intern it.
(Fx_create_frame): Use the symbol type here.
* xfns.c (x_figure_window_size, x_icon, Fx_create_frame): Use
values from enum resource_types for the last arg to x_get_arg,
instead of passing numbers.
* xfns.c (Fx_create_frame): When setting up the scroll bars, use
the type parameter to x_default_parameter, rather than prefixing
the resource name with a question mark.
* xfns.c [not HAVE_X11] (Fx_create_frame): The resource which
determines whether or not to use a bitmapped icon is called
"IconType", not "BitmapIcon". Update this.
* xfns.c (x_set_name): Used x_set_text_property instead of XSetWMName and
XSetWMIconName.
* xfns.c (select_visual): Fetch the visual id directly from v;
don't call XVisualIDFromVisual, since that function is not
available in earlier versions of X.
* xfns.c (x_make_gc): cursor_bits can't be local to the function;
it's static.
* xfns.c (Fx_create_frame): Make the default for the icon-type
parameter nil, not t. It seems to cause problems with some X
servers.
assumes that minibuf_window is on the same frame as the window
configuration. Removed special case for windows whose prevs
point to themselves.
* window.c (Fset_window_configuration): Rename the argument from
ARG to CONFIGURATION, so it matches the docstring. The
make-docfile program cares.
* window.c [MULTI_FRAME] (syms_of_window): Don't staticpro
minibuf_window; the frame list will take care of it.
* window.c (window_loop): This used to keep track of the first
window processed and wait until we came back around to it. Sadly,
this doesn't work if that window gets deleted. So instead, use
Fprevious_window to find the last window to process, and loop
until we've done that one.
* window.c [not MULTI_FRAME] (init_window_once): Don't forget to
set the `mini_p' flag on the new minibuffer window to t.
* window.c (Fwindow_at): Don't check the type of the frame
argument.
* window.c [not MULTI_FRAME] (window_loop): Set frame to zero,
instead of trying to decode it.
* window.c (init_window_once): Initialize minibuf_window before
FRAME_ROOT_WINDOW, so the latter actually points to something.
empty string, which means that you can't have constant
initialized arrays inside a function. So move the `keys' array
outside of the function.
* term.c (keys): Include definitions for "K2" (the center key on
an IBM keypad), "F1" (F11), and "F2" (F12). Handle "k0" and "k;"
specially; see the code for details.
* term.c (clear_end_of_line): Remember that on some systems,
"static" gets defined to be the null string, so we can't declare
an array to be static and then initialize it. Since the array in
question (buf) is only one element long, just make it a scalar
rather than an array; it can then be initialized, even if it's
not static.
signal anymore, since we have the SIGTYPE macro defined.
* sysdep.c (read_input_waiting): When scanning for quit
characters, use the value of quit_char, rather than assuming that
C-g is the quit character. And don't forget to declare i.
* sysdep.c [USG5]: Don't include fcntl.h.
system doesn't have that facility.
* process.c: [USG5] Don't include <fcntl.h>.
[USG] Don't bother including termios, termio, or fcntl; systerm.h
takes care of all that.
Remove the "mis;tak-+;;" line from the code; apparently this
section of code does get used.
* process.c (wait_reading_process_input): Put comments around
text following #endif.
"#endif /* SIGIO */"
* keyboard.c (Fexecute_mouse_event): dyked-out function deleted.
We're not going to use this mouse interface.
(Vmouse_window, Vmouse_event, Vmouse_event_function,
Vmouse_left_hook, Vmap_frame_hook, Vunmap_frame_hook,
Vmouse_motion_handler): Variables deleted; they were to be used by
Fexecute_mouse_event.
(syms_of_keyboard): Same.
(command_loop_1): Remove dyked-out code to support
Fexecute_mouse_event.
(read_char): Same.
* keyboard.c (Vlast_event_frame): Don't define this window if
MULTI_FRAME is not #defined.
(syms_of_keyboard): Same.
(kbd_buffer_store_event): Don't try to work with Vlast_event_frame
if MULTI_FRAME is not #defined.
(kbd_buffer_get_event): Same.
* keyboard.c (Fdiscard_input): Removed dyked-out code from when
unread_command_char's quiescent value was -1, not nil.
available, and hardly vital.
(syms_of_floatfns): Adjusted appropriately.
* floatfns.c (Flog): Accept optional second arg, being the base
for the logarithm.
[USG] (Flogb): Define this in terms of Flog.
* data.c (store_symval_forwarding): When storing through a
Lisp_Buffer_Objfwd, check if the slot requires a particular type,
and report an error if the types clash.
signal handler. The original bug is probably gone, the test
wasn't written portably, and it should probably go somewhere else
anyway - say, funcall or eval.