frame-local as done originally by multi-tty).
* startup.el (window-system): Remove. Don't make it frame-local.
* keyboard.h (struct kboard): Add Vwindow_system.
* keyboard.c (init_kboard): Set a default for Vwindow_system.
(mark_kboards): Mark Vwindow_system.
* dispnew.c (syms_of_display) <window-system>: Declare terminal-local.
(init_display): Don't set the obsolete `window-system' frame-param.
* xterm.c (x_term_init):
* w32term.c (w32_create_terminal):
* term.c (init_tty): Set Vwindow_system.
* macterm.c (mac_create_terminal): Set a keyboard (missing piece of the
multi-tty merge maybe?), copied from w32term.c. Set Vwindow_system.
* xfns.c (Fx_create_frame, x_create_tip_frame):
* w32fns.c (Fx_create_frame, x_create_tip_frame):
* macfns.c (Fx_create_frame):
Don't set the obsolete `window-system' frame-param.
* frame.h (Qwindow_system): Remove.
* frame.c (Qwindow_system): Remove. In `syms_of_frame' as well.
(Fmake_terminal_frame): Don't set obsolete `window-system' frame-param.
(have_menus_p): Declare it here rather than in sys-dep header files.
* macterm.h (have_menus_p):
* msdos.h (have_menus_p):
* xterm.h (have_menus_p): Remove.
With empty input use the first element of this list as returned default.
(string_to_object):
(read_minibuf_noninteractive): If defalt is cons, set val to its car.
(read_minibuf): If defalt is cons, set histstring to its car.
(Fread_string): If default_value is cons, set val to its car.
(Fread_buffer): If def is cons, use its car.
(Fcompleting_read): If defalt is cons, set val to its car.
* window.c (window_fixed_size_p, enlarge_window, shrink_window_lowest_first):
* macterm.c (init_font_name_table):
* macfns.c (Fx_create_frame, Fx_display_list):
* lread.c (close_load_descs):
* keyboard.c (read_char_x_menu_prompt):
* fns.c (Fmember, Fmemql, Fdelete, Fset_char_table_parent):
* coding.c (code_convert_region_unwind): Test the type of an object
rather than just !NILP before extracting data from it.
(XMISCANY): New macro.
(XMISCTYPE): Use it.
(struct Lisp_Misc_Any): New type.
(union Lisp_Misc): Use it.
(struct Lisp_Buffer_Local_Value): Add `local_if_set' bit.
* data.c (Fboundp, store_symval_forwarding, swap_in_global_binding)
(find_symbol_value, set_internal, default_value, Fset_default)
(Fmake_variable_buffer_local, Fmake_local_variable)
(Fkill_local_variable, Fmake_variable_frame_local, Flocal_variable_p)
(Flocal_variable_if_set_p, Fvariable_binding_locus):
The SOME_BUFFER_LOCAL_VALUEP distinction is replaced by local_if_set.
* alloc.c (allocate_buffer): Set the size and tag.
(allocate_misc, mark_maybe_object, mark_object, survives_gc_p):
Use XMISCANY.
(die): Follow the GNU convention for error messages.
* print.c (print_object): SOME_BUFFER_LOCAL_VALUEP -> local_if_set.
* buffer.c (Fget_buffer_create, Fmake_indirect_buffer): Don't set the
tag any more.
(set_buffer_internal_1):
* frame.c (store_frame_param):
* eval.c (specbind):
* xdisp.c (select_frame_for_redisplay): Drop SOME_BUFFER_LOCAL_VALUEP.
replacing one when string text is being replaced.
(handle_single_display_spec): Pretend as if characters with display
property haven't been consumed only when buffer text is being replaced.