1. 26 Sep, 2010 1 commit
    • Jan D's avatar
      Add fd handling with callbacks to select, dbus needs it for async operation. · 3fad2ad2
      Jan D authored
      * src/dbusbind.c: Include process.h.
      (dbus_fd_cb, xd_find_watch_fd, xd_toggle_watch)
      (xd_read_message_1): New functions.
      (xd_add_watch, xd_remove_watch): Call xd_find_watch_fd.  Handle
      watch for both read and write.
      (Fdbus_init_bus): Also register xd_toggle_watch.
      (Fdbus_call_method_asynchronously, Fdbus_method_return_internal)
      (Fdbus_method_error_internal, Fdbus_send_signal): Remove call
      to dbus_connection_flush.
      (xd_read_message):  Move most of the code to xd_read_message_1.
      Call xd_read_message_1 until status is COMPLETE.
      
      * src/keyboard.c (readable_events, gobble_input): Remove DBUS code.
      
      * src/process.c (gpm_wait_mask, max_gpm_desc): Remove.
      (write_mask): New variable.
      (max_input_desc): Renamed from max_keyboard_desc.
      (fd_callback_info): New variable.
      (add_read_fd, delete_read_fd, add_write_fd, delete_write_fd): New
      functions.
      (Fmake_network_process): FD_SET write_mask.
      (deactivate_process): FD_CLR write_mask.
      (wait_reading_process_output): Connecting renamed to Writeok.
      check_connect removed.  check_write is new.  Remove references to
      gpm.  Use Writeok/check_write unconditionally (i.e. no #ifdef
      NON_BLOCKING_CONNECT) instead of Connecting.
      Loop over file descriptors and call callbacks in fd_callback_info
      if file descriptor is ready for I/O.
      (add_gpm_wait_descriptor): Just call add_keyboard_wait_descriptor.
      (delete_gpm_wait_descriptor): Just call delete_keyboard_wait_descriptor.
      (keyboard_bit_set): Use max_input_desc.
      (add_keyboard_wait_descriptor, delete_keyboard_wait_descriptor): Remove
      #ifdef subprocesses. Use max_input_desc.
      (init_process): Initialize write_mask and fd_callback_info.
      
      * src/process.h (add_read_fd, delete_read_fd, add_write_fd)
      (delete_write_fd): Declare.
      3fad2ad2
  2. 25 Sep, 2010 2 commits
    • Juanma Barranquero's avatar
      Fix typos. · 40b1a3a9
      Juanma Barranquero authored
      * lisp/finder.el (finder-unknown-keywords):
      * lisp/progmodes/gdb-mi.el (gdb-jsonify-buffer, gdb-running-threads-count):
      * lisp/progmodes/etags.el (tags-table-including): Fix typos in docstrings.
      
      * lisp/cedet/semantic/lex.el (semantic-ignore-comments): Doc fix.
      
      * lisp/cedet/semantic/symref/list.el (semantic-symref-list-rename-open-hits):
        Fix typo in error message.
        (semantic-symref-list-map-open-hits): Fix typo in docstring.
      
      * lisp/org/org-agenda.el (org-agenda-hide-tags-regexp):
      * lisp/org/org.el (org-refile-targets): Fix typos in docstrings.
      40b1a3a9
    • Eli Zaretskii's avatar
      Fix int/EMACS_INT use in keyboard.c. · 41118bd3
      Eli Zaretskii authored
       keyboard.c <last_point_position, last_non_minibuf_size>: Declare EMACS_INT.
       (echo_truncate, adjust_point_for_property, read_char)
       (gen_help_event, make_lispy_event, modify_event_symbol)
       (Fexecute_extended_command, stuff_buffered_input): Use EMACS_INT
       for buffer positions and string length.
       keyboard.h (gen_help_event): Adjust prototype.
       termhooks.h <struct input_event>: Make `code' member EMACS_INT.
       commands.h <last_point_position>: Declare EMACS_INT.
       xdisp.c <help_echo_pos>: Define as EMACS_INT.
       (truncate_echo_area): Accept EMACS_INT argument.
       dispextern.h <help_echo_pos>: Declare EMACS_INT.
       lisp.h (truncate_echo_area): Adjust prototype.
       composite.c (composition_adjust_point): Return EMACS_INT.
       composite.h (composition_adjust_point): Adjust prototype.
      41118bd3
  3. 24 Sep, 2010 1 commit
    • Eli Zaretskii's avatar
      Fix int/EMACS_INT use in ccl.c, cmds.c, data.c, dispnew.c. · ace1712c
      Eli Zaretskii authored
       keyboard.c (make_lispy_position): Use EMACS_INT for buffer
       positions.
       xdisp.c (redisplay_internal, try_window_id)
       (set_cursor_from_row, find_first_unchanged_at_end_row): Use
       EMACS_INT for buffer positions.
       dispextern.h (set_cursor_from_row, mode_line_string)
       (marginal_area_string): Adjust prototypes.
       dispnew.c (increment_matrix_positions)
       (increment_row_positions, copy_glyph_row_contents)
       (mode_line_string, marginal_area_string): Use EMACS_INT for buffer
       positions.
       dispextern.h (mode_line_string, marginal_area_string)
       (increment_matrix_positions, increment_row_positions): Adjust
       prototypes.
       data.c (Faref, Faset): Use EMACS_INT for string length and
       positions.
       cmds.c (internal_self_insert): Use EMACS_INT for the count of
       characters to insert.
       ccl.c (Fccl_execute_on_string): Use EMACS_INT for string
       position and size.
      ace1712c
  4. 22 Sep, 2010 1 commit
    • Eli Zaretskii's avatar
      Fix some uses of int instead of EMACS_INT. · 413d18e7
      Eli Zaretskii authored
       minibuf.c (Fminibuffer_contents)
       (Fminibuffer_contents_no_properties)
       (Fminibuffer_completion_contents): Use EMACS_INT for minibuffer
       positions.
       keyboard.c (command_loop_1): Use EMACS_INT to compare point with
       mark.
       alloc.c (make_uninit_string, make_uninit_multibyte_string)
       (allocate_string_data): Accept EMACS_INT for string length.
       editfns.c (Ffield_string, Ffield_string_no_properties)
       (make_buffer_string, make_buffer_string_both, Fbuffer_substring)
       (Fbuffer_substring_no_properties, find_field, Fdelete_field)
       (Ffield_string, Ffield_string_no_properties, Ffield_beginning)
       (Ffield_end): Use EMACS_INT for buffer positions.
       insdel.c (prepare_to_modify_buffer): Use EMACS_INT to compare
       point with mark.
       lisp.h (allocate_string_data, make_uninit_string)
       (make_uninit_multibyte_string, make_buffer_string)
       (make_buffer_string_both): Adjust prototypes.
      413d18e7
  5. 17 Sep, 2010 1 commit
  6. 31 Aug, 2010 2 commits
  7. 24 Aug, 2010 1 commit
  8. 22 Aug, 2010 2 commits
    • Juri Linkov's avatar
      Move reading an extended command to Elisp (bug#5364, bug#5214). · 7133b7ee
      Juri Linkov authored
      * lisp/simple.el (read-extended-command): New function with the logic
      for `completing-read' moved to Elisp from `execute-extended-command'.
      Use `function-called-at-point' in `minibuffer-default-add-function'
      to get a command name for M-n (bug#5364, bug#5214).
      
      * src/keyboard.c (Fexecute_extended_command): Move reading a command name
      with `completing-read' to a new Elisp function `read-extended-command'.
      Call it to read a command to `function'  (bug#5364, bug#5214).
      7133b7ee
    • Dan Nicolaescu's avatar
      Simplify termio code. · a7ebc409
      Dan Nicolaescu authored
      All non-MSDOS non-WINDOWSNT platforms define HAVE_TERMIOS, so
      HAVE_TERMIO code is obsolete.
      Replace HAVE_TERMIOS conditionals with !DOS_NT.
      * src/systty.h: Do not define HAVE_TCATTR.
      Remove HAVE_TERMIO, HAVE_LTCHARS and HAVE_TCHARS code.
      Do not define EMACS_HAVE_TTY_PGRP.  Only define
      EMACS_GET_TTY_PGRP for !DOS_NT.
      * src/sysdep.c: Include sysselect.h unconditionally.  Do not include
      sys/ioctl.h and termios.h, systty.h does it.  Use
      HAVE_SYS_UTSNAME_H instead of USG as an include guard.
      (init_baud_rate): Remove HAVE_TERMIO code.
      (child_setup_tty): Remove HAVE_TERMIO code.
      (emacs_get_tty, emacs_set_tty): Remove HAVE_TERMIO, HAVE_TCHARS
      and HAVE_LTCHARS code.  Use !DOS_NT instead of HAVE_TCATTR.
      (new_ltchars, new_tchars): Remove, unused.
      (init_sys_modes): Remove HAVE_TERMIO, HAVE_TCHARS and HAVE_LTCHARS
      code.  Remove special casing for __mips__, it was a no-op.  Remove
      HAVE_TCATTR conditional, it is implied by HAVE_TERMIOS.
      (init_sys_modes): Remove HPUX special case.
      * src/process.c: Include stdlib.h unconditionally.  Do not include
      fcntl.h, systty.h does it.  Remove conditional code for
      HAVE_SERIAL, it is always true.
      (process_send_signal): Remove HAVE_TERMIOS conditional, it's
      always true when SIGNALS_VIA_CHARACTERS is true.
      (Fcontinue_process, Fprocess_send_eof): Simplify conditionals:
      !WINDOWSNT means HAVE_TERMIOS.
      (create_process): Remove HAVE_TERMIOS, it's inside a HAVE_PTYS
      conditional, which is true for all HAVE_TERMIOS systems.
      * src/keyboard.c (init_keyboard): Do not use HAVE_TERMIO, use !DOS_NT
      instead of HAVE_TERMIOS.
      * src/emacs.c (shut_down_emacs): Use !defined DOS_NT instead of
      EMACS_HAVE_TTY_PGRP.
      * src/callproc.c (child_setup): Move EMACS_SET_TTY_PGRP use to the
      non-MSDOS, non-WINDOWSNT code, it's only defined for such systems
      anyway.
      a7ebc409
  9. 16 Aug, 2010 1 commit
    • Chong Yidong's avatar
      Let all active regions set the primary selection. · 7c23dd44
      Chong Yidong authored
      This includes both temporarily active regions (mouse drag and
      shift-select) and those made with C-SPC and cursor motion.
      
      * lisp/cus-start.el: Change defcustom for select-active-regions.
      
      * lisp/simple.el (deactivate-mark): If select-active-regions is `only',
      only set selection for temporarily active regions.
      
      * src/insdel.c (prepare_to_modify_buffer): Handle `only' value of
      select-active-regions.
      
      * src/keyboard.c (command_loop_1): Avoid setting selection twice,
      since it's done in deactivate-mark as well.
      (Vselect_active_regions): Replace `lazy' value with `only',
      meaning to only set PRIMARY for temporarily active regions.
      7c23dd44
  10. 15 Aug, 2010 3 commits
  11. 14 Aug, 2010 1 commit
  12. 09 Aug, 2010 1 commit
    • Dan Nicolaescu's avatar
      Use const char* instead of char*. · 8ea90aa3
      Dan Nicolaescu authored
      Reduce the number of warnings with -Wwrite-strings.
      * src/xrdb.c (get_environ_db, get_system_name):
      * src/unexelf.c (find_section):
      * src/term.c (string_cost, string_cost_one_line, per_line_cost)
      (get_named_tty, init_tty):
      * src/sysdep.c (sys_subshell):
      * src/sound.c (sound_perror, sound_warning, vox_open, vox_init)
      (alsa_sound_perror, alsa_open, alsa_configure, alsa_init):
      * src/search.c (Freplace_match):
      * src/process.c (Fmake_network_process, send_process, init_process):
      * src/lread.c (Fload, init_lread):
      * src/keymap.c (Fdescribe_buffer_bindings, describe_map_tree):
      * src/keyboard.c (parse_tool_bar_item, struct event_head):
      * src/gtkutil.h (xg_get_font_name):
      * src/gtkutil.c (get_dialog_title, create_dialog, xg_get_font_name)
      (make_widget_for_menu_item, make_menu_item, create_menus)
      (xg_make_tool_item):
      * src/font.c (parse_matrix, font_parse_name):
      * src/floatfns.c (rounding_driver, float_error_fn_name):
      * src/filelock.c (get_boot_time_1, lock_file_1):
      * src/fileio.c (barf_or_query_if_file_exists, check_writable):
      * src/editfns.c (get_system_name, get_operating_system_release)
      (Fencode_time, Fset_time_zone_rule):
      * src/dispextern.h (string_cost, per_line_cost, get_named_tty, init_tty):
      * src/buffer.c (defvar_per_buffer): Use const.
      8ea90aa3
  13. 07 Aug, 2010 2 commits
    • Chong Yidong's avatar
      Avoid restrictions when copying window selection. · 746812d9
      Chong Yidong authored
      * src/keyboard.c (command_loop_1):
      * src/insdel.c (prepare_to_modify_buffer): Don't call validate_region.
      746812d9
    • Chong Yidong's avatar
      Change `select-active-region' mechanics. · 9852377f
      Chong Yidong authored
      Save region text prior to buffer modification.
      Set window selection lazily, during `deactivate-mark' or after each
      command when the region is temporarily active.
      
      * lisp/cus-start.el: Add custom declaration for select-active-regions.
      
      * lisp/mouse.el (mouse-drag-track): Remove hacks to deal with old
      select-active-regions implementation.
      (mouse-yank-at-click): Doc fix.
      
      * lisp/simple.el (select-active-regions): Move to keyboard.c.
      (deactivate-mark): Used saved-region-selection.
      (select-active-region): Function removed.
      (activate-mark, set-mark, push-mark-command)
      (handle-shift-selection): Don't call it.
      (keyboard-quit): Avoid adding the region to the window selection.
      
      * src/insdel.c (prepare_to_modify_buffer): Save active region text to
      Vsaved_region_selection.
      
      * src/keyboard.c (Vselect_active_regions): Move from simple.el.
      (Vsaved_region_selection, Qx_set_selection, QPRIMARY, Qlazy): New
      vars.
      (command_loop_1): Set window selection prior to deactivating the
      mark.
      
      * src/xselect.c (QPRIMARY): Move to keyboard.c.
      9852377f
  14. 06 Aug, 2010 1 commit
    • Dan Nicolaescu's avatar
      Use const for some arrays and functions. · 648801d1
      Dan Nicolaescu authored
      * src/xterm.h (xg_set_icon_from_xpm_data):
      * src/xfns.c (xg_set_icon_from_xpm_data):
      * src/term.c (fkeys):
      * src/keyboard.c (lispy_accent_keys, lispy_function_keys)
      (lispy_multimedia_keys, lispy_kana_keys, iso_lispy_function_keys)
      (lispy_drag_n_drop_names, scroll_bar_parts, modify_event_symbol)
      (frame.c frame_parms):
      * src/emacs-icon.h (gnu_xpm_bits):
      * src/callint.c (callint_argfuns): Use const.
      648801d1
  15. 05 Aug, 2010 1 commit
    • Dan Nicolaescu's avatar
      Remove extern declarations in .c files, .h files have them. · 04bab72c
      Dan Nicolaescu authored
      * src/data.c:
      * src/dired.c:
      * src/editfns.c:
      * src/filelock.c:
      * src/fns.c:
      * src/font.c:
      * src/fontset.c:
      * src/frame.c:
      * src/fringe.c:
      * src/ftfont.c:
      * src/gtkutil.c:
      * src/indent.c:
      * src/keyboard.c:
      * src/keymap.c:
      * src/lread.c:
      * src/menu.c:
      * src/print.c:
      * src/search.c:
      * src/sound.c:
      * src/window.c:
      * src/xdisp.c:
      * src/xfaces.c:
      * src/xfns.c:
      * src/xfont.c:
      * src/xftfont.c:
      * src/xmenu.c:
      * src/xterm.c: Remove declarations.
      04bab72c
  16. 29 Jul, 2010 1 commit
    • Dan Nicolaescu's avatar
      Remove extern declarations from .c files, and them to .h files. · e6cba650
      Dan Nicolaescu authored
      * src/xsmfns.c (Vuser_login_name):
      * src/xrdb.c (Vdouble_click_time):
      * src/xfaces.c (xic_create_fontsetname):
      * src/w32select.c (waiting_for_input):
      * src/print.c (minibuffer_auto_raise):
      * src/msdos.c (Qhelp_echo):
      * src/macros.c (real_this_command):
      * src/keymap.c (Voverriding_local_map):
      * src/xterm.c (poll_for_input_1, gray_bitmap_width)
      (gray_bitmap_height, gray_bitmap_bits;
      * src/xmenu.c ( Voverriding_local_map)
      (Voverriding_local_map_menu_flag; Qmenu_item; use_dialog_box)
      (use_file_dialog, Xt_app_con):
      * src/xdisp.c (minibuffer_auto_raise, Voverriding_local_map)
      (Voverriding_local_map_menu_flag, Qmenu_item, Qface, Qinvisible)
      (Qwidth, Qinvisible, Qwindow, Qpriority, Qtool_bar_lines)
      (Qtool_bar_lines, ignore_mouse_drag_p):
      * src/minibuf.c (Voverriding_local_map, Qfield, Qfront_sticky)
      (Qrear_nonsticky, nconc2):
      * src/keyboard.c (current_global_map, minibuf_level, Qmenu_item)
      (Vhistory_length, Vtranslation_table_for_input, Qcomposition)
      (Qdisplay, Qafter_string, Qbefore_string, Qundefined):
      * src/fileio.c (use_dialog_box, use_file_dialog, Vuser_login_name)
      (minibuf_level, minibuffer_auto_raise, lisp_time_argument):
      * src/eval.c (Qinteractive_form, Qrisky_local_variable, Qfunction)
      (gc_in_progress):
      * src/doc.c (Voverriding_local_map, Qremap):
      * src/dired.c (completion_ignore_case, Qcompletion_ignore_case)
      (Vcompletion_regexp_list):
      * src/coding.c (Qmac, Qinsert_file_contents, Qwrite_region)
      (Qcompletion_ignore_case):
      * src/callint.c (Qcursor_in_echo_area, Qfile_directory_p, Qonly)
      (Vhistory_length, Vthis_original_command, real_this_command)
      (Qface, Qminibuffer_prompt, history_delete_duplicates):
      * src/image.c (Qrisky_local_variable):
      * src/fontset.c (QCname):
      * src/fns.c (minibuffer_auto_raise, QCname):
      * src/dispnew.c (char_ins_del_cost):
      * src/composite.c (font_fill_lglyph_metrics):
      * src/cmds.c (Qface, Vtranslation_table_for_input):
      * src/charset.c (map_char_table_for_charset, Qfile_name_handler_alist):
      * src/ccl.c (charset_unicode):
      * src/callproc.c (Vtemporary_file_directory):
      * src/buffer.c (emacs_strerror): Remove extern declarations.
      
      Remove extern declarations from .c files, and them to .h files.
      * src/keyboard.h (Qhelp_echo, waiting_for_input)
      (input_available_clear_time, ignore_mouse_drag_p)
      (Vdouble_click_time, real_this_command, Vthis_original_command):
      * src/keymap.h (Qremap, Qmenu_item, Voverriding_local_map)
      (Voverriding_local_map_menu_flag):
      * src/lisp.h (Qinteractive_form, use_file_dialog)
      (Qcursor_in_echo_area, QCascent, QCmargin, QCrelief, Qcount)
      (Qextension_data, QCconversion, QCcolor_symbols, QCheuristic_mask)
      (QCindex, QCmatrix, QCcolor_adjustment, QCmask)
      (Qrisky_local_variable, map_char_table_for_charset, Vprint_level)
      (Qfunction, debug_on_next_call, Qfield)
      (Vinhibit_field_text_motion, Vuser_login_name, lisp_time_argument)
      (Qpriority, Qwindow, Qevaporate, Qbefore_string, Qafter_string)
      (Qfile_directory_p, Qinsert_file_contents)
      (Qcompletion_ignore_case, Qcompletion_ignore_case)
      (Vcompletion_regexp_list, Vhistory_length, completion_ignore_case)
      (history_delete_duplicates, minibuffer_auto_raise, Qonly)
      (Qfile_name_handler_alist, Qfront_sticky, Qrear_nonsticky)
      (Qminibuffer_prompt)
      (Vtemporary_file_directory,char_ins_del_vector, Qface):
      * src/xterm.h (gray_bitmap_width, gray_bitmap_height)
      (gray_bitmap_bits, xic_create_fontsetname):
      * src/coding.h (Vtranslation_table_for_input): Add extern declarations.
      
      * src/data.c (Qwindow): Make non-static, used from other files too.
      * src/frame.c (validate_x_resource_name): Remove shadow definition for i.
      e6cba650
  17. 26 Jul, 2010 1 commit
  18. 25 Jul, 2010 1 commit
    • Juanma Barranquero's avatar
      Make building under stricter warning flags somewhat cleaner. · 361358ea
      Juanma Barranquero authored
      Flags used: -Wold-style-declaration -Wunused-function -Wstrict-prototypes
      
      * lib-src/emacsclient.c (getcwd, w32_getenv):
      * lib-src/ntlib.h (getlogin, getuid, getegid, getgid): Fix prototypes.
      
      * nt/runemacs.c (set_user_model_id): Fix prototype.
      
      * src/callproc.c (relocate_fd): Set inside #ifndef WINDOWSNT.
      * src/dired.c (opendir, readdir): Fix prototypes.
      * src/editfns.c (w32_get_internal_run_time): Fix prototypes.
      * src/keyboard.c (input_available_signal): Declare inside #ifdef SIGIO.
      * src/ndir.h (opendir, readdir, seekdir, closedir): Fix prototypes.
        (telldir): Remove declaration.
      * src/ralloc.c (real_morecore, __morecore): Fix prototypes.
      * src/sound.c (alsa_sound_perror): Declare inside #ifdef HAVE_ALSA.
      * src/syssignal.h (strsignal): Fix prototype.
      * src/term.c (tparam): Fix prototype.
        (term_get_fkeys_address, term_get_fkeys_kboard, term_get_fkeys_1)
        (term_get_fkeys): Set inside "#ifndef DOS_NT".
      * src/vm-limit.c (check_memory_limits): Fix prototypes of real_morecore
        and __morecore.
      * src/w32gui.h (XParseGeometry): Fix prototype.
      * src/w32heap.h (get_data_start, get_data_end, init_heap): Fix prototypes.
      * src/w32term.c (my_set_focus): Declare inside #if 0.
      * src/w32term.h (x_window_to_frame, x_display_info_for_name, w32_term_init)
        (w32_fill_rect, w32_clear_window, init_crit, delete_crit, signal_quit)
        (drain_message_queue, get_next_msg, post_msg, parse_button)
        (ClipboardSequence_Proc): Fix prototypes.
        (wait_for_sync): Remove declaration.
      361358ea
  19. 13 Jul, 2010 1 commit
    • Eli Zaretskii's avatar
      Remove more "#ifdef subprocesses". · 77defa9a
      Eli Zaretskii authored
       process.c <inhibit_sentinels>: Move to the common part.
       (Fwaiting_for_user_input_p): Move to the common part; return nil
       if async subprocesses aren't supported.
       sysdep.c (wait_for_termination) [!MSDOS]: Don't compile on
       MS-DOS.  Remove "#ifdef subprocesses".
       (sys_subshell, sys_select): Remove "#ifdef subprocesses".
       (gettimeofday): Remove "#ifdef subprocesses".
       (wait_without_blocking): Remove function.
       (flush_pending_output, child_setup_tty): Don't compile on MS-DOS.
       Remove "#ifdef subprocesses".
       (child_setup_tty): Use WINDOWSNT instead of DOS_NT, since not
       compiled on MS-DOS.
       callproc.c (Fcall_process) [!MSDOS]: Don't call
       wait_for_termination on MS-DOS.
       emacs.c (shut_down_emacs): Remove "#ifndef subprocesses" from
       initialization of inhibit_sentinels.
       keyboard.c (record_asynch_buffer_change): Remove "#ifdef
       subprocesses" conditional.
       callproc.c (Fcall_process) [!subprocesses]: Don't call
       wait_for_termination, since `buffer' cannot be an integer when
       async subprocesses are not supported
       xdisp.c (decode_mode_spec): Use `MSDOS' instead of `subprocesses'
       for ifdefing away the call to Fprocess_status.
      77defa9a
  20. 12 Jul, 2010 1 commit
    • Dan Nicolaescu's avatar
      Convert more function definitions to standard C. · 6f704c76
      Dan Nicolaescu authored
      * src/xdisp.c (window_box_edges, handle_single_display_spec)
      (display_string): Convert definition to standard C.
      * src/scroll.c (do_direct_scrolling, scrolling_1):
      * src/dispnew.c (allocate_matrices_for_frame_redisplay)
      (mirrored_line_dance):
      * src/coding.c (code_convert_string):
      * src/charset.c (map_charset_chars):
      * src/ccl.c (Fccl_program_p, Fccl_execute, Fccl_execute_on_string)
      (Fregister_ccl_program, Fregister_code_conversion_map):
      * src/keyboard.c (kbd_buffer_nr_stored): Likewise.
      (head_table): Make static and const.
      6f704c76
  21. 11 Jul, 2010 2 commits
    • Andreas Schwab's avatar
      Constify functions taking char * · a8fe7202
      Andreas Schwab authored
      * alloc.c (pending_malloc_warning, malloc_warning): Add const.
      * callproc.c (relocate_fd, getenv_internal_1, getenv_internal)
      (egetenv): Likewise.
      * doprnt.c (doprnt): Likewise.
      * editfns.c (set_time_zone_rule, format2): Likewise.
      * emacs.c (decode_env_path): Likewise.
      * eval.c (signal_error, error): Likewise.
      * insdel.c (replace_range_2): Likewise.
      * keyboard.c (cmd_error_internal): Likewise.
      * lread.c (isfloat_string, make_symbol, dir_warning): Likewise.
      * print.c (write_string, write_string_1, print_error_message):
      Likewise.
      * vm-limit.c (warn_function, memory_warnings): Likewise.
      * xdisp.c (message1, message1_nolog, message_with_string)
      (vmessage, message, message_nolog): Likewise.
      * emacs.c: Remove duplicate declaration.
      * keyboard.h: Likewise.
      * lisp.h: Update prototypes.
      a8fe7202
    • Andreas Schwab's avatar
      Fix implicit declaration of kbd_on_hold_p · 83380e65
      Andreas Schwab authored
      * keyboard.c: Include "process.h"
      83380e65
  22. 08 Jul, 2010 1 commit
    • Dan Nicolaescu's avatar
      Convert DEFUNs to standard C. · 5842a27b
      Dan Nicolaescu authored
      * src/alloc.c: Convert DEFUNs to standard C.
      * src/buffer.c:
      * src/bytecode.c:
      * src/callint.c:
      * src/callproc.c:
      * src/casefiddle.c:
      * src/casetab.c:
      * src/category.c:
      * src/character.c:
      * src/charset.c:
      * src/chartab.c:
      * src/cmds.c:
      * src/coding.c:
      * src/composite.c:
      * src/data.c:
      * src/dbusbind.c:
      * src/dired.c:
      * src/dispnew.c:
      * src/doc.c:
      * src/dosfns.c:
      * src/editfns.c:
      * src/emacs.c:
      * src/eval.c:
      * src/fileio.c:
      * src/filelock.c:
      * src/floatfns.c:
      * src/fns.c:
      * src/font.c:
      * src/fontset.c:
      * src/frame.c:
      * src/fringe.c:
      * src/image.c:
      * src/indent.c:
      * src/insdel.c:
      * src/keyboard.c:
      * src/keymap.c:
      * src/lread.c:
      * src/macros.c:
      * src/marker.c:
      * src/menu.c:
      * src/minibuf.c:
      * src/msdos.c:
      * src/nsfns.m:
      * src/nsmenu.m:
      * src/nsselect.m:
      * src/print.c:
      * src/process.c:
      * src/search.c:
      * src/sound.c:
      * src/syntax.c:
      * src/term.c:
      * src/terminal.c:
      * src/textprop.c:
      * src/undo.c:
      * src/w16select.c:
      * src/w32console.c:
      * src/w32fns.c:
      * src/w32font.c:
      * src/w32menu.c:
      * src/w32proc.c:
      * src/w32select.c:
      * src/window.c:
      * src/xdisp.c:
      * src/xfaces.c:
      * src/xfns.c:
      * src/xmenu.c:
      * src/xselect.c:
      * src/xsettings.c:
      * src/xsmfns.c: Likewise.
      5842a27b
  23. 07 Jul, 2010 2 commits
    • Andreas Schwab's avatar
      Replace bcopy, bzero, bcmp by memcpy, memmove, memset, memcmp · 72af86bd
      Andreas Schwab authored
      * alloc.c (overrun_check_malloc, overrun_check_realloc)
      (overrun_check_free, xstrdup, allocate_string)
      (allocate_string_data, compact_small_strings, Fmake_string)
      (make_unibyte_string, make_multibyte_string)
      (make_string_from_bytes, make_specified_string, make_float)
      (Fcons, allocate_terminal, allocate_frame, make_pure_string)
      (Fgarbage_collect): Replace bcopy, safe_bcopy, bzero, bcmp by
      memcpy, memmove, memset, memcmp.
      * atimer.c (start_atimer, set_alarm): Likewise.
      * buffer.c (clone_per_buffer_values, report_overlay_modification)
      (mmap_realloc, init_buffer_once): Likewise.
      * callint.c (Fcall_interactively): Likewise.
      * callproc.c (Fcall_process, Fcall_process_region, child_setup)
      (getenv_internal_1): Likewise.
      * casefiddle.c (casify_object): Likewise.
      * ccl.c (ccl_driver): Likewise.
      * character.c (str_as_multibyte, str_to_multibyte): Likewise.
      * charset.c (load_charset_map_from_file)
      (load_charset_map_from_file, load_charset_map_from_vector)
      (Fdefine_charset_internal): Likewise.
      * cm.c (Wcm_clear): Likewise.
      * coding.c (decode_eol, decode_coding_object)
      (Fset_coding_system_priority, make_subsidiaries): Likewise.
      * data.c (Faset): Likewise.
      * dired.c (directory_files_internal, file_name_completion_stat):
      Likewise.
      * dispnew.c (new_glyph_matrix, adjust_glyph_matrix)
      (clear_glyph_row, copy_row_except_pointers)
      (copy_glyph_row_contents, new_glyph_pool, realloc_glyph_pool)
      (save_current_matrix, restore_current_matrix)
      (build_frame_matrix_from_leaf_window, mirrored_line_dance)
      (mirror_line_dance, scrolling_window): Likewise.
      * doc.c (Fsnarf_documentation, Fsubstitute_command_keys):
      Likewise.
      * doprnt.c (doprnt): Likewise.
      * editfns.c (Fuser_full_name, make_buffer_string_both)
      (Fmessage_box, Fformat, Ftranspose_regions): Likewise.
      * emacs.c (sort_args): Likewise.
      * eval.c (Fapply, Ffuncall): Likewise.
      * fileio.c (Ffile_name_directory, make_temp_name)
      (Fexpand_file_name, search_embedded_absfilename)
      (Fsubstitute_in_file_name, Ffile_symlink_p, Finsert_file_contents)
      (auto_save_error): Likewise.
      * fns.c (Fstring_equal, Fcopy_sequence, concat)
      (string_to_multibyte, Fstring_as_unibyte, Fstring_as_multibyte)
      (internal_equal, Fclear_string, larger_vector, copy_hash_table)
      (Fmake_hash_table): Likewise.
      * fringe.c (Fdefine_fringe_bitmap): Likewise.
      * ftfont.c (ftfont_text_extents): Likewise.
      * getloadavg.c (getloadavg): Likewise.
      * image.c (define_image_type, make_image, make_image_cache)
      (x_create_x_image_and_pixmap, xbm_image_p)
      (w32_create_pixmap_from_bitmap_data, xbm_load, xpm_lookup_color)
      (xpm_image_p, x_create_bitmap_from_xpm_data, xpm_load)
      (init_color_table, x_build_heuristic_mask, pbm_image_p, pbm_load)
      (png_image_p, png_read_from_memory, png_load, jpeg_image_p)
      (tiff_image_p, tiff_read_from_memory, gif_image_p)
      (gif_read_from_memory, gif_load, svg_image_p, gs_image_p):
      Likewise.
      * indent.c (scan_for_column, compute_motion): Likewise.
      * insdel.c (gap_left, gap_right, make_gap_smaller, copy_text)
      (insert_1_both, insert_from_gap, replace_range_2): Likewise.
      * intervals.c (reproduce_tree, reproduce_tree_obj): Likewise.
      * keyboard.c (echo_char, save_getcjmp, restore_getcjmp)
      (kbd_buffer_store_event_hold, apply_modifiers_uncached)
      (store_user_signal_events, menu_bar_items, tool_bar_items)
      (process_tool_bar_item, append_tool_bar_item)
      (read_char_minibuf_menu_prompt, read_key_sequence)
      (Fread_key_sequence, Fread_key_sequence_vector, Frecent_keys):
      Likewise.
      * keymap.c (current_minor_maps, Fdescribe_buffer_bindings):
      Likewise.
      * lisp.h (STRING_COPYIN): Likewise.
      * lread.c (Fload, read1, oblookup): Likewise.
      * msdos.c (Frecent_doskeys): Likewise.
      * nsfns.m (Fx_create_frame): Likewise.
      * nsfont.m (nsfont_open, nsfont_text_extents, ns_glyph_metrics):
      Likewise.
      * nsimage.m (EmacsImage-initFromSkipXBM:width:height:)
      (EmacsImage-initForXPMWithDepth:width:height:flip:length:):
      Likewise.
      * nsmenu.m (ns_update_menubar): Likewise.
      * nsterm.m (ns_draw_fringe_bitmap, ns_term_init): Likewise.
      * print.c (print_unwind, printchar, strout, print_string)
      (print_error_message): Likewise.
      * process.c (conv_lisp_to_sockaddr, set_socket_option)
      (Fmake_network_process, Fnetwork_interface_list)
      (Fnetwork_interface_info, read_process_output, Fprocess_send_eof)
      (init_process): Likewise.
      * ralloc.c (resize_bloc, r_alloc_sbrk, r_alloc_init): Likewise.
      * regex.c (init_syntax_once, regex_compile, re_compile_fastmap):
      Likewise.
      * scroll.c (do_scrolling, do_direct_scrolling)
      (scrolling_max_lines_saved): Likewise.
      * search.c (search_buffer, wordify, Freplace_match): Likewise.
      * sound.c (wav_init, au_init, Fplay_sound_internal): Likewise.
      * syntax.c (skip_chars, skip_syntaxes): Likewise.
      * sysdep.c (child_setup_tty, sys_subshell, emacs_get_tty)
      (emacs_set_tty): Likewise.
      * term.c (encode_terminal_code, calculate_costs)
      (produce_special_glyphs, create_tty_output, init_tty, delete_tty):
      Likewise.
      * termcap.c (tgetst1, gobble_line): Likewise.
      * termhooks.h (EVENT_INIT): Likewise.
      * tparam.c (tparam1): Likewise.
      * unexalpha.c (unexec): Likewise.
      * unexec.c (write_segment): Likewise.
      * unexmacosx.c (unexec_write_zero): Likewise.
      * w32fns.c (w32_wnd_proc, Fx_create_frame, x_create_tip_frame)
      (Fx_file_dialog, Fsystem_move_file_to_trash): Likewise.
      * w32font.c (w32font_list_family, w32font_text_extents)
      (w32font_list_internal, w32font_match_internal)
      (w32font_open_internal, compute_metrics, Fx_select_font):
      Likewise.
      * w32menu.c (set_frame_menubar, add_menu_item)
      (w32_menu_display_help, w32_free_submenu_strings): Likewise.
      * w32term.c (XCreateGC, w32_initialize_display_info): Likewise.
      * w32uniscribe.c (uniscribe_list_family): Likewise.
      * w32xfns.c (get_next_msg, post_msg, prepend_msg): Likewise.
      * window.c (make_window, replace_window, set_window_buffer)
      (Fsplit_window): Likewise.
      * xdisp.c (init_iterator, RECORD_OVERLAY_STRING, reseat_to_string)
      (add_to_log, message3, x_consider_frame_title)
      (append_space_for_newline, extend_face_to_end_of_line)
      (decode_mode_spec_coding, init_glyph_string): Likewise.
      * xfaces.c (x_create_gc, get_lface_attributes_no_remap)
      (Finternal_copy_lisp_face, Finternal_merge_in_global_face)
      (face_attr_equal_p, make_realized_face, make_face_cache)
      (free_realized_faces, lookup_named_face, smaller_face)
      (face_with_height, lookup_derived_face)
      (x_supports_face_attributes_p, Finternal_set_font_selection_order)
      (Finternal_set_font_selection_order, realize_default_face)
      (compute_char_face, face_at_buffer_position)
      (face_for_overlay_string, face_at_string_position, merge_faces):
      Likewise.
      * xfns.c (xic_create_fontsetname, Fx_create_frame)
      (Fx_window_property, x_create_tip_frame)
      (Fx_backspace_delete_keys_p): Likewise.
      * xfont.c (xfont_list, xfont_match, xfont_list_family)
      (xfont_text_extents): Likewise.
      * xmenu.c (set_frame_menubar, xmenu_show): Likewise.
      * xrdb.c (magic_file_p, x_get_resource): Likewise.
      * xselect.c (x_queue_event, x_get_window_property)
      (receive_incremental_selection): Likewise.
      * xsmfns.c (x_session_check_input): Likewise.
      * xterm.c (x_send_scroll_bar_event, SET_SAVED_MENU_EVENT)
      (handle_one_xevent, x_check_errors, xim_initialize, x_term_init):
      Likewise.
      * character.h (BCOPY_SHORT): Removed.
      * config.in: Regenerate.
      * dispnew.c (safe_bcopy): Only define as dummy if PROFILING.
      * emacs.c (main) [PROFILING]: Don't declare
      dump_opcode_frequencies.
      * lisp.h (safe_bcopy): Remove declaration.
      (memset) [!HAVE_MEMSET]: Declare.
      (memcpy) [!HAVE_MEMCPY]: Likewise.
      (memmove) [!HAVE_MEMMOVE]: Likewise.
      (memcmp) [!HAVE_MEMCMP]: Likewise.
      * s/ms-w32.h (bzero, bcopy, bcmp, GAP_USE_BCOPY)
      (BCOPY_UPWARD_SAFE, BCOPY_DOWNWARD_SAFE, HAVE_BCOPY, HAVE_BCMP):
      Don't define.
      (HAVE_MEMCMP, HAVE_MEMCPY, HAVE_MEMMOVE, HAVE_MEMSET): Define.
      * s/msdos.h (GAP_USE_BCOPY, BCOPY_UPWARD_SAFE)
      (BCOPY_DOWNWARD_SAFE): Don't define.
      * sysdep.c (memset) [!HAVE_MEMSET]: Define.
      (memcpy) [!HAVE_MEMCPY]: Define.
      (memmove) [!HAVE_MEMMOVE]: Define.
      (memcmp) [!HAVE_MEMCMP]: Define.
      
      * config.nt (HAVE_BCOPY, HAVE_BCMP): Remove undefs.
      (HAVE_MEMCPY, HAVE_MEMMOVE, HAVE_MEMSET, HAVE_MEMCMP): Add undefs.
      
      * sed2v2.inp (HAVE_MEMCPY, HAVE_MEMSET): Edit to 1.
      (HAVE_BZERO): Don't edit.
      
      * lwlib.c (lwlib_memset, lwlib_bcopy): Remove.
      (malloc_widget_value, free_widget_info, allocate_widget_instance)
      (lw_separator_p): Replace lwlib_memset, lwlib_bcopy, bzero, bcmp by
      memset, memcpy, memcmp.
      * lwlib-utils.c (XtApplyToWidgets): Likewise.
      * xlwmenu.c (XlwMenuInitialize): Likewise.
      * lwlib.h (lwlib_bcopy): Remove declaration.
      
      * ebrowse.c (add_sym, make_namespace): Replace bcopy, bzero by
      memcpy, memmove, memset.
      * pop.c (pop_retrieve, socket_connection, pop_getline): Likewise.
      
      * CPP-DEFINES (BCOPY_DOWNWARD_SAFE, BCOPY_UPWARD_SAFE)
      (GAP_USE_BCOPY, HAVE_BCMP, HAVE_BCOPY, bcmp, bcopy, bzero):
      Remove.
      
      * configure.in: Don't check for bcopy, bcmp, bzero.  Don't include
      <strings.h> and don't define bcopy, bzero, BCMP in config.h.
      72af86bd
    • Jan D's avatar
      If kbd_buffer is becoming full, stop reading until it drains (Bug#6571). · cb768704
      Jan D authored
      * keyboard.c (input_available_signal): Declare.
      (kbd_buffer_nr_stored): New function.
      (kbd_buffer_store_event_hold): If kbd_buffer_nr_stored returns
      more than KBD_BUFFER_SIZE/2, stop reding input (Bug#6571).
      (kbd_buffer_get_event): If input is suspended and kbd_buffer_nr_stored
      returns less than KBD_BUFFER_SIZE/4, resume reding input (Bug#6571).
      (tty_read_avail_input): If input is on hold, return.
      Don't read more that free slots in kbd_buffer (Bug#6571).
      
      * process.h (hold_keyboard_input, unhold_keyboard_input)
      (kbd_on_hold_p): Declare.
      
      * process.c (kbd_is_on_hold): New variable.
      (hold_keyboard_input, unhold_keyboard_input, kbd_on_hold_p): New
      functions.
      (wait_reading_process_output): If kbd_on_hold_p returns non-zero,
      select on empty input mask.
      (init_process): Initialize kbd_is_on_hold to 0.
      cb768704
  24. 06 Jul, 2010 1 commit
  25. 05 Jul, 2010 3 commits
  26. 02 Jul, 2010 1 commit
    • Jan D's avatar
      Remove __P and P_ from .c and .m files and definition of P_ · f57e2426
      Jan D authored
      * lisp.h:
      * atimer.h: Remove define for P_.
      
      * alloc.c: Remove __P and P_ from .c and .m files.
      * atimer.c:
      * buffer.c:
      * callint.c:
      * category.c:
      * charset.c:
      * chartab.c:
      * cm.c:
      * coding.c:
      * composite.c:
      * data.c:
      * dired.c:
      * dispnew.c:
      * doc.c:
      * editfns.c:
      * emacs.c:
      * eval.c:
      * fileio.c:
      * filelock.c:
      * fns.c:
      * font.c:
      * fontset.c:
      * frame.c:
      * ftfont.c:
      * ftxfont.c:
      * gmalloc.c:
      * gtkutil.c:
      * image.c:
      * indent.c:
      * intervals.c:
      * keyboard.c:
      * keymap.c:
      * lread.c:
      * marker.c:
      * menu.c:
      * minibuf.c:
      * print.c:
      * process.c:
      * scroll.c:
      * search.c:
      * sound.c:
      * strftime.c:
      * syntax.c:
      * sysdep.c:
      * term.c:
      * terminal.c:
      * textprop.c:
      * unexalpha.c:
      * w32console.c:
      * w32fns.c:
      * w32font.c:
      * w32menu.c:
      * w32term.c:
      * w32uniscribe.c:
      * window.c:
      * xdisp.c:
      * xfaces.c:
      * xfns.c:
      * xfont.c:
      * xftfont.c:
      * xmenu.c:
      * xselect.c:
      * xterm.c: Likewise.
      
      * ebrowse.c: Remove P_ and __P.
      * etags.c:
      * movemail.c:
      * pop.c:
      * update-game-score.c: Likewise.
      f57e2426
  27. 20 May, 2010 2 commits
    • Kevin Ryde's avatar
      Doc fix (Bug#6224). · 31c4aaf6
      Kevin Ryde authored
      * keyboard.c (Vlast_command, Vkeyboard_translate_table)
      (Voverriding_terminal_local_map, Vsystem_key_alist)
      (Vlocal_function_key_map): Fix manual link in docstring (Bug#6224).
      31c4aaf6
    • Chong Yidong's avatar
      Doc fix (Bug#6224). · aeb77d46
      Chong Yidong authored
      * keyboard.c (Vlast_command, Vkeyboard_translate_table)
      (Voverriding_terminal_local_map, Vsystem_key_alist)
      (Vlocal_function_key_map): Fix manual link in docstring (Bug#6224).
      aeb77d46
  28. 20 Apr, 2010 2 commits
    • Jan Djärv's avatar
      Gtk tool bars can be text, icons with text or just icons. · f904c0f9
      Jan Djärv authored
      * xsettings.c: Qmonospace_font_name, Qtool_bar_style and
      current_tool_bar_style are new.
      (store_config_changed_event): Rename from store_font_changed_event.
      (XSETTINGS_TOOL_BAR_STYLE): New define.
      (SEEN_FONT, SEEN_TB_STYLE): New enum values.
      (struct xsettings): Add font and tb_style, set xft stuff inside #ifdef
      HAVE_XFT.
      (something_changedCB): store_font_changed_event is now
      store_config_changed_event
      (parse_settings): Rename from parse_xft_settings.  Read
      non-xft xsettings outside #ifdef HAVE_XFT.
      (read_settings): Renamed from read_xft_settings.
      (apply_xft_settings): Take current settings as parameter.  Do not
      call read_(xft)_settings.
      (read_and_apply_settings): New function.
      (xft_settings_event): Do non-xft stuff out of HAVE_XFT.  Call
      read_and_apply_settings if there are settings to be read.
      (init_xsettings): Renamed from init_xfd_settings.
      Call read_and_apply_settings unconditionally.
      (xsettings_initialize): Call init_xsettings.
      (Ftool_bar_get_system_style): New function.
      (syms_of_xsettings): Define Qmonospace_font_name and
      Qtool_bar_style.  Initialize current_tool_bar_style to nil.
      defsubr Stool_bar_get_system_style. Fprovide on
      dynamic-setting.
      
      * xsettings.h (Ftool_bar_get_system_style): Declare.
      
      * xdisp.c: Vtool_bar_style, tool_bar_max_label_size,
      Qtext, Qboth, Qboth_horiz are new.
      (syms_of_xdisp): Intern Qtext, Qboth, Qboth_horiz, DEFVAR
      Vtool_bar_style, tool_bar_max_label_size.
      
      * lisp.h: Extern declare Qtext, Qboth, Qboth_horiz.
      
      * keyboard.c: QClabel is new.
      (parse_tool_bar_item): Take out QClabel from tool bar items.
      Try to construct a label if ther is no QClabel.
      (syms_of_keyboard): Intern :label as QClabel.
      
      * dispextern.h (tool_bar_item_idx): TOOL_BAR_ITEM_LABEL is new.
      (Vtool_bar_style, tool_bar_max_label_size, DEFAULT_TOOL_BAR_LABEL_SIZE):
      New.
      
      * Makefile.in (SOME_MACHINE_LISP): font-setting.el renamed to
      dynamic-setting.el.
      
      * gtkutil.c (xg_tool_bar_menu_proxy): Handle label in tool bar item.
      (xg_make_tool_item, xg_show_toolbar_item): New function.
      (update_frame_tool_bar): Take label from TOOL_BAR_ITEM_LABEL.
      Call xg_make_tool_item to make a tool bar item.
      Call xg_show_toolbar_item.  Use wtoolbar instead of x->toolbar_widget.
      
      * xterm.c (x_draw_image_relief): Take Vtool_bar_button_margin
      into account for toolbars.
      
      * vc-dir.el (vc-dir-tool-bar-map): Add :label on some tool bar items.
      
      * tool-bar.el (tool-bar-setup): Add :label on some tool bar items.
      
      * loadup.el: Load dynamic-setting.el if feature dynamic-setting
      is present.
      
      * info.el (info-tool-bar-map): Add labels.
      
      * cus-start.el (all): Add tool-bar-style and tool-bar-max-label-size.
      
      * cus-edit.el (custom-commands): Add labels for tool bar.
      (custom-buffer-create-internal, Custom-mode): Adjust for
      labels in custom-commands.
      
      * dynamic-setting.el: Renamed from font-setting.el.
      f904c0f9
    • Stefan Monnier's avatar
      Make variable forwarding explicit rather the using special values. · ce5b453a
      Stefan Monnier authored
      Basically, this makes the structure of buffer-local values and object
      forwarding explicit in the type of Lisp_Symbols rather than use
      special Lisp_Objects for that.  This tends to lead to slightly more
      verbose code, but is more C-like, simpler, and makes it easier to make
      sure we handled all cases, among other things by letting the compiler
      help us check it.
      * lisp.h (enum Lisp_Misc_Type, union Lisp_Misc):
      Removing forwarding objects.
      (enum Lisp_Fwd_Type, enum symbol_redirect, union Lisp_Fwd): New types.
      (struct Lisp_Symbol): Make the various forms of variable-forwarding
      explicit rather than hiding them inside Lisp_Object "values".
      (XFWDTYPE): New macro.
      (XINTFWD, XBOOLFWD, XOBJFWD, XKBOARD_OBJFWD): Redefine.
      (XBUFFER_LOCAL_VALUE): Remove.
      (SYMBOL_VAL, SYMBOL_ALIAS, SYMBOL_BLV, SYMBOL_FWD, SET_SYMBOL_VAL)
      (SET_SYMBOL_ALIAS, SET_SYMBOL_BLV, SET_SYMBOL_FWD): New macros.
      (SYMBOL_VALUE, SET_SYMBOL_VALUE): Remove.
      (struct Lisp_Intfwd, struct Lisp_Boolfwd, struct Lisp_Objfwd)
      (struct Lisp_Buffer_Objfwd, struct Lisp_Kboard_Objfwd):
      Remove the Lisp_Misc_* header.
      (struct Lisp_Buffer_Local_Value): Redefine.
      (BLV_FOUND, SET_BLV_FOUND, BLV_VALUE, SET_BLV_VALUE): New macros.
      (struct Lisp_Misc_Any): Add filler to get the right size.
      (struct Lisp_Free): Use struct Lisp_Misc_Any rather than struct
      Lisp_Intfwd.
      (DEFVAR_LISP, DEFVAR_LISP_NOPRO, DEFVAR_BOOL, DEFVAR_INT)
      (DEFVAR_KBOARD): Allocate a forwarding object.
      * data.c (do_blv_forwarding, store_blv_forwarding): New macros.
      (let_shadows_global_binding_p): New function.
      (union Lisp_Val_Fwd): New type.
      (make_blv): New function.
      (swap_in_symval_forwarding, indirect_variable, do_symval_forwarding)
      (store_symval_forwarding, swap_in_global_binding, Fboundp)
      (swap_in_symval_forwarding, find_symbol_value, Fset)
      (let_shadows_buffer_binding_p, 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):
      * xdisp.c (select_frame_for_redisplay):
      * lread.c (Fintern, Funintern, init_obarray, defvar_int)
      (defvar_bool, defvar_lisp_nopro, defvar_lisp, defvar_kboard):
      * frame.c (store_frame_param):
      * eval.c (Fdefvaralias, Fuser_variable_p, specbind, unbind_to):
      * bytecode.c (Fbyte_code) <varref, varset>: Adapt to the new symbol
      value structure.
      * buffer.c (PER_BUFFER_SYMBOL): Move from buffer.h.
      (clone_per_buffer_values): Only adjust markers into the current buffer.
      (reset_buffer_local_variables): PER_BUFFER_IDX is never -2.
      (Fbuffer_local_value, set_buffer_internal_1)
      (swap_out_buffer_local_variables):
      Adapt to the new symbol value structure.
      (DEFVAR_PER_BUFFER): Allocate a Lisp_Buffer_Objfwd object.
      (defvar_per_buffer): Take a new arg for the fwd object.
      (buffer_lisp_local_variables): Return a proper alist (different fix
      for bug#4138).
      * alloc.c (Fmake_symbol): Use SET_SYMBOL_VAL.
      (Fgarbage_collect): Don't handle buffer_defaults specially.
      (mark_object): Handle new symbol value structure rather than the old
      special Lisp_Misc_* objects.
      (gc_sweep) <symbols>: Free also the buffer-local-value objects.
      * term.c (set_tty_color_mode):
      * bidi.c (bidi_initialize): Don't access the ->value field directly.
      * buffer.h (PER_BUFFER_VAR_OFFSET): Don't bother with
      a buffer_local_flags.
      * print.c (print_object): Get rid of impossible forwarding objects.
      ce5b453a