1. 01 Jan, 2015 1 commit
  2. 18 Oct, 2014 1 commit
    • Jan Djärv's avatar
      Handle deprecated Gtk+ stuff for version <= 3.10 · 3f4c6d52
      Jan Djärv authored
      * lisp/term/x-win.el (x-gtk-stock-map): Add icon names suggested as
      replacements to stock names before stock names in a list.
      Cdr may be a list, each name is tried in turn until one is found.
      
      * src/gtkutil.c (XG_TEXT_CANCEL, XG_TEXT_OPEN, XG_TEXT_OK): New defines
      to handle Gtk versions.
      (xg_get_file_with_chooser): Use them.
      (xg_have_tear_offs, tearoff_remove, tearoff_activate): Remove
      (create_menus): Remove teroff argument and code.
      Remove call to gtk_menu_set_title.
      (xg_update_menubar, xg_update_submenu): Remove tearoff code.  Adjust
      args to create_menus.
      (xg_tool_bar_menu_proxy, xg_tool_bar_detach_callback)
      (xg_tool_bar_attach_callback, TOOLBAR_TOP_WIDGET): Remove.
      (xg_pack_tool_bar): Replace TOOLBAR_TOP_WIDGET, remove detach code.
      (xg_make_tool_item): Remove detach code.
      (xg_update_tool_bar_sizes): Replace TOOLBAR_TOP_WIDGET.
      (find_icon_from_name): New function.
      (update_frame_tool_bar): Remove GtkStockItem code, move to
      find_icon_from_name.  Let stock be a list of icon names to try.
      Only use gtk_image_new_from_stock on Gtk+ < 3.10.
      Replace TOOLBAR_TOP_WIDGET.
      (free_frame_tool_bar, xg_change_toolbar_position ): Replace
      TOOLBAR_TOP_WIDGET.
      (xg_initialize): Remove tearoff code.
      
      * src/gtkutil.h (xg_have_tear_offs): Remove declaration.
      
      * src/xmenu.c (set_frame_menubar): Remove GTK block that calls
      xg_have_tear_offs.
      
      * src/xterm.h (handlebox_widget): Remove.
      3f4c6d52
  3. 27 Jul, 2014 1 commit
    • Martin Rudalics's avatar
      Complete pixelwise frame/window resizing, add horizontal scrollbar support. · 3477e270
      Martin Rudalics authored
      * frame.el (frame-notice-user-settings): Rewrite using
      frame-initial-frame-tool-bar-height.
      * menu-bar.el (menu-bar-horizontal-scroll-bar)
      (menu-bar-no-horizontal-scroll-bar): New functions.
      (menu-bar-showhide-scroll-bar-menu): Add bindings for horizontal
      scroll bars.
      * scroll-bar.el (scroll-bar-lines)
      (set-horizontal-scroll-bar-mode)
      (get-horizontal-scroll-bar-mode, horizontal-scroll-bar-mode)
      (scroll-bar-horizontal-drag-1, scroll-bar-horizontal-drag)
      (scroll-bar-toolkit-horizontal-scroll): New functions.
      (horizontal-scroll-bar-mode)
      (previous-horizontal-scroll-bar-mode)
      (horizontal-scroll-bar-mode-explicit): New variables.
      (horizontal-scroll-bar-mode): New option.
      (toggle-horizontal-scroll-bar): Do something.
      (top-level): Bind horizontal-scroll-bar mouse-1.
      * startup.el (tool-bar-originally-present): Remove variable.
      (command-line): Don't set tool-bar-originally-present.
      * window.el (window-min-height): Update doc-string.
      (window--dump-frame): Dump horizontal scroll bar values.
      (window--min-size-1): Handle minibuffer window separately.
      Count in margins and horizontal scroll bar.  Return safe value
      iff IGNORE equals 'safe.
      (frame-windows-min-size): New function (used by frame resizing
      routines).
      (fit-frame-to-buffer, fit-window-to-buffer): Count in horizontal
      scroll bars.
      (window--sanitize-window-sizes): New function.
      (window-split-min-size): Remove.
      (split-window): Count divider-width.  Don't use
      `window-split-min-size' any more.  Reword error messages.
      Sanitize windows sizes after splitting.
      * buffer.h (struct buffer): New fields scroll_bar_height and
      horizontal_scroll_bar_type.
      * buffer.c (bset_scroll_bar_height)
      (bset_horizontal_scroll_bar_type): New functions.
      (Fbuffer_swap_text): Handle old_pointm field.
      (init_buffer_once): Set defaults for scroll_bar_height and
      horizontal_scroll_bar_type.
      (syms_of_buffer): New variables scroll_bar_height and
      horizontal_scroll_bar_type.
      * dispextern.h (window_part): Rename ON_SCROLL_BAR to
      ON_VERTICAL_SCROLL_BAR.  Add ON_HORIZONTAL_SCROLL_BAR.
      (set_vertical_scroll_bar): Remove prototype.
      (x_change_tool_bar_height): Add prototype.
      * dispnew.c (adjust_frame_glyphs_for_frame_redisplay)
      (window_to_frame_vpos, update_frame_1, scrolling, init_display):
      Use FRAME_TOTAL_COLS and FRAME_TOTAL_LINES instead of FRAME_COLS
      and FRAME_LINES.
      (adjust_frame_glyphs_for_window_redisplay): Rearrange lines.
      (update_window): Start mode_line_row->y after horizontal scroll
      bar.
      (change_frame_size_1): Call adjust_frame_size.
      (init_display): When changing the size of a tty frame do not
      pass height of menu bar.
      (Qframe_windows_min_size): New symbol.
      * frame.h (struct frame): List tool bar fields after menu bar
      fields.  Add official, total_lines, horizontal_scroll_bars,
      config_scroll_bar_height and config_scroll_bar_lines fields.
      (FRAME_HAS_HORIZONTAL_SCROLL_BARS)
      (FRAME_CONFIG_SCROLL_BAR_HEIGHT, FRAME_CONFIG_SCROLL_BAR_LINES)
      (FRAME_SCROLL_BAR_AREA_HEIGHT, FRAME_SCROLL_BAR_COLS)
      (FRAME_SCROLL_BAR_LINES, FRAME_TOTAL_LINES, SET_FRAME_LINES)
      (FRAME_WINDOWS_HEIGHT): New macros.
      (SET_FRAME_HEIGHT, FRAME_TEXT_LINES_TO_PIXEL_HEIGHT)
      (FRAME_PIXEL_Y_TO_LINE, FRAME_PIXEL_HEIGHT_TO_TEXT_LINES)
      (FRAME_TEXT_TO_PIXEL_HEIGHT): Separately count top margin and
      horizontal scroll bar.
      (frame_inhibit_resize, adjust_frame_size)
      (frame_windows_min_size): Add declarations.
      (Qscroll_bar_height, Qhorizontal_scroll_bars)
      (x_set_scroll_bar_default_height, x_set_left_fringe)
      (x_set_right_fringe, x_set_vertical_scroll_bars)
      (x_set_horizontal_scroll_bars, x_set_scroll_bar_width)
      (x_set_scroll_bar_height): Add external declarations.
      * frame.c: (frame_inhibit_resize, frame_windows_min_size)
      (adjust_frame_size): New functions.
      (make_frame): Initial horizontal_scroll_bars field.  Use
      SET_FRAME_LINES.  Don't allow horizontal scroll bar in
      minibuffer window.
      (make_initial_frame, make_terminal_frame): No horizontal scroll
      bar in initial and terminal frames.  Use adjust_frame_size.
      (Fframe_total_cols): Fix doc-string.
      (Fframe_total_lines, Fscroll_bar_height): New Lisp functions.
      (Fset_frame_height, Fset_frame_width, Fset_frame_size): Rewrite
      using adjust_frame_size.
      (Qscroll_bar_height, Qhorizontal_scroll_bars)
      (Qframe_windows_min_size): New symbols.
      (x_set_frame_parameters): Remove call of check_frame_size.
      (x_report_frame_params): Return scroll_bar_height value.
      (x_set_left_fringe, x_set_right_fringe): New functions.
      (adjust_frame_height, x_set_internal_border_width)
      (x_set_fringe_width): Remove.
      (x_set_internal_border_width, x_set_vertical_scroll_bars)
      (x_set_scroll_bar_width, x_set_right_divider_width)
      (x_set_bottom_divider_width): Rewrite using adjust_frame_size.
      (x_set_horizontal_scroll_bars, x_set_scroll_bar_height): New
      functions.
      (x_figure_window_size): Rewrite to make frame display the
      expected number of lines.
      (Vdefault_frame_scroll_bars): Rewrite doc-string.
      (Vdefault_frame_horizontal_scroll_bars)
      (Vframe_initial_frame_tool_bar_height)
      (frame_inhibit_implied_resize): New variables.
      * fringe.c (compute_fringe_widths): Remove.
      * gtkutil.h (YG_SB_MIN, YG_SB_MAX, YG_SB_RANGE): Define.
      (xg_create_horizontal_scroll_bar)
      (xg_update_horizontal_scrollbar_pos)
      (xg_set_toolkit_horizontal_scroll_bar_thumb)
      (xg_get_default_scrollbar_height)
      (xg_clear_under_internal_border): Extern.
      * gtkutil.c (xg_frame_resized): Don't call
      do_pending_window_change.
      (xg_frame_set_char_size): Use adjust_frame_size.
      (style_changed_cb): Call update_theme_scrollbar_height and
      x_set_scroll_bar_default_height.
      (x_wm_set_size_hint): Don't call check_frame_size.
      (update_theme_scrollbar_height)
      (xg_get_default_scrollbar_height)
      (xg_create_horizontal_scroll_bar)
      (xg_update_horizontal_scrollbar_pos)
      (xg_set_toolkit_horizontal_scroll_bar_thumb): New functions.
      (xg_create_scroll_bar): Set horizontal slot of bar.
      (xg_initialize): Call update_theme_scrollbar_height.
      (xg_clear_under_internal_border): No more static.
      * insdel.c (adjust_suspend_auto_hscroll): New function.
      (adjust_markers_for_delete, adjust_markers_for_insert)
      (adjust_markers_for_replace): Call adjust_suspend_auto_hscroll.
      * keyboard.c (readable_events, discard_mouse_events)
      (make_lispy_event): Handle horizontal scroll bar click events.
      (Fsuspend_emacs): When changing the size of a tty frame do not
      pass height of menu bar.
      (Qbefore_handle, Qhorizontal_handle, Qafter_handle, Qleft)
      (Qright, Qleftmost, Qrightmost): New symbols.
      * menu.c (Fx_popup_dialog): Use FRAME_TOTAL_LINES instead of
      FRAME_LINES.
      * minibuf.c (read_minibuf): Initialize suspend_auto_hscroll.
      * nsfns.m (x_set_internal_border_width): New function.
      * nsterm.m (ns_draw_fringe_bitmap, ns_set_vertical_scroll_bar):
      Remove extended fringe code.
      (x_set_window_size, x_new_font): Don't call
      compute_fringe_widths.
      * term.c (Fresume_tty): When changing the size of a tty frame do
      not pass height of menu bar.
      (clear_tty_hooks, set_tty_hooks): Clear
      horizontal_scroll_bar_hook.
      (init_tty): Frame has no horizontal scroll bars.
      * termhooks.h (enum scroll_bar_part): Add scroll_bar_move_ratio,
      scroll_bar_before_handle, scroll_bar_horizontal_handle,
      scroll_bar_after_handle, scroll_bar_left_arrow,
      scroll_bar_right_arrow, scroll_bar_to_leftmost and
      scroll_bar_to_rightmost entries.
      (enum event_kind): Add HORIZONTAL_SCROLL_BAR_CLICK_EVENT
      (struct terminal): Add set_horizontal_scroll_bar_hook.
      * w32console.c (initialize_w32_display): Clear
      horizontal_scroll_bar_hook.
      * w32fns.c (x_set_mouse_color): Use FRAME_W32_DISPLAY instead of
      FRAME_X_DISPLAY.
      (x_clear_under_internal_border, x_set_internal_border_width):
      New functions.
      (x_set_menu_bar_lines): Rewrite using frame_inhibit_resize.  Set
      windows_or_buffers_changed when adding the menu bar.
      (x_set_tool_bar_lines): Rewrite using adjust_frame_size.
      (x_change_tool_bar_height, x_set_scroll_bar_default_height)
      (w32_createhscrollbar): New functions.
      (w32_createscrollbar): Rename to w32_createvscrollbar.
      (w32_createwindow): Init WND_HSCROLLBAR_INDEX.
      (w32_name_of_message): Replace WM_EMACS_CREATESCROLLBAR by
      WM_EMACS_CREATEVSCROLLBAR and WM_EMACS_CREATEHSCROLLBAR.  Add
      WM_EMACS_SHOWCURSOR.
      (w32_wnd_proc): Handle WM_HSCROLL case.  In WM_WINDOWPOSCHANGING
      case do not artificially impose WM size hints.  Handle
      WM_EMACS_SHOWCURSOR case.  Replace WM_EMACS_CREATESCROLLBAR case
      by WM_EMACS_CREATEVSCROLLBAR and WM_EMACS_CREATEHSCROLLBAR
      cases.
      (my_create_tip_window): Replace WND_SCROLLBAR_INDEX by
      WND_VSCROLLBAR_INDEX and WND_HSCROLLBAR_INDEX.
      (unwind_create_frame_1): Remove.
      (Fx_create_frame): Make both scrollbars the system standard
      width and height.  Use official field of frame structure to
      inhibit running window-configuration-change-hook.
      (x_create_tip_frame): Call SET_FRAME_LINES and change_frame_size
      pixelwise.  Handle frame's official field.
      (w32_frame_parm_handlers): Remove x_set_fringe_width
      entries. Add x_set_scroll_bar_height,
      x_set_horizontal_scroll_bars, x_set_left_fringe and
      x_set_right_fringe.
      * w32inevt.c (resize_event, maybe_generate_resize_event): Do not
      pass height of menu bar to change_frame_size.
      * w32menu.c (set_frame_menubar): Rewrite using
      frame_inhibit_resize.
      * w32term.h (struct w32_display_info): Add
      horizontal_scroll_bar_cursor and cursor_display_counter.
      (struct scroll_bar): Add horizontal.
      (HORIZONTAL_SCROLL_BAR_INSIDE_HEIGHT)
      (HORIZONTAL_SCROLL_BAR_LEFT_RANGE)
      (HORIZONTAL_SCROLL_BAR_INSIDE_WIDTH)
      (HORIZONTAL_SCROLL_BAR_LEFT_BORDER)
      (HORIZONTAL_SCROLL_BAR_RIGHT_BORDER)
      (HORIZONTAL_SCROLL_BAR_TOP_BORDER)
      (HORIZONTAL_SCROLL_BAR_BOTTOM_BORDER)
      (HORIZONTAL_SCROLL_BAR_MIN_HANDLE): New macros.
      (WM_EMACS_CREATEVSCROLLBAR, WM_EMACS_CREATEHSCROLLBAR): Define
      instead of WM_EMACS_CREATESCROLLBAR.
      (WND_VSCROLLBAR_INDEX, WND_HSCROLLBAR_INDEX): Define instead of
      WND_SCROLLBAR_INDEX.
      * w32term.c (horizontal_scroll_bar_min_handle)
      (horizontal_scroll_bar_left_border)
      (horizontal_scroll_bar_right_border): New integers.
      (x_set_frame_alpha): Replace x_highlight_frame by
      w32_focus_frame.
      (x_window_to_scroll_bar): New argument "type".  Update callers
      accordingly.
      (w32_set_horizontal_scroll_bar_thumb)
      (x_horizontal_scroll_bar_report_motion)
      (w32_set_horizontal_scroll_bar)
      (w32_horizontal_scroll_bar_handle_click)
      (x_horizontal_scroll_bar_report_motion): New functions.
      (w32_mouse_position): Discriminate horizontal and vertical
      scrollbar cases.
      (my_create_scrollbar): Replace with two new functions
      my_create_vscrollbar and my_create_hscrollbar.
      (x_scroll_bar_create): New argument "horizontal".  Update
      callers accordingly.
      (x_scroll_bar_remove, w32_condemn_scroll_bars)
      (w32_redeem_scroll_bar, x_scroll_bar_clear): Handle horizontal
      scroll bar case.
      (w32_read_socket): Handle WM_HSCROLL cae.
      (x_new_font): Don't recompute fringe widths.  Use
      frame_inhibit_resize.  Calculate new menu bar height iff we
      build without toolkit.  Always clear under internal border.
      (x_set_window_size): Don't check frame size or recompute
      fringes.  Reset fullscreen status before applying sizes.  Always
      resize as requested by pixelwise argument.  Don't call
      do_pending_window_change.
      (x_wm_set_size_hint): Add call for FRAME_SCROLL_BAR_AREA_HEIGHT.
      (w32_initialize_display_info): Initialize dpyinfo's
      horizontal_scroll_bar_cursor entry.
      (w32_create_terminal): Add set_horizontal_scroll_bar_hook.
      (w32_initialize): Init horizontal_scroll_bar_min_handle and
      horizontal_scroll_bar_left_border.
      (w32fullscreen_hook): Intermittently resize window to normal
      when switching from fullscreen to maximized state.
      (run_window_configuration_change_hook): Don't run it if frame is
      not official yet.
      (unwind_change_frame): Remove.
      (Fset_window_configuration): Rewrite using frame's official field.
      * widget.c (set_frame_size): Don't call compute_fringe_widths.
      (EmacsFrameSetCharSize): Obey frame_inhibit_resize.
      * window.h (struct window): New fields old_pointm,
      horizontal_scroll_bar, horizontal_scroll_bar_type, hscroll_whole,
      scroll_bar_height and suspend_auto_hscroll.
      (wset_horizontal_scroll_bar, wset_horizontal_scroll_bar_type):
      New functions.
      (sanitize_window_sizes): Extern.
      (MINI_NON_ONLY_WINDOW_P, MINI_ONLY_WINDOW_P, WINDOW_PSEUDO_P)
      (WINDOW_TOPMOST_P, WINDOW_HAS_HORIZONTAL_SCROLL_BAR)
      (WINDOW_CONFIG_SCROLL_BAR_HEIGHT)
      (WINDOW_CONFIG_SCROLL_BAR_LINES)
      (WINDOW_SCROLL_BAR_LINES, WINDOW_SCROLL_BAR_AREA_HEIGHT): New
      macros.
      (WINDOW_LEFT_FRINGE_COLS, WINDOW_RIGHT_FRINGE_COLS)
      (WINDOW_FRINGE_COLS, WINDOW_FRINGE_EXTENDED_P): Remove macros.
      (WINDOW_VERTICAL_SCROLL_BAR_TYPE)
      (WINDOW_HAS_VERTICAL_SCROLL_BAR_ON_LEFT)
      (WINDOW_HAS_VERTICAL_SCROLL_BAR_ON_RIGHT)
      (WINDOW_HAS_VERTICAL_SCROLL_BAR): Minor rewrite.
      (WINDOW_BOX_HEIGHT_NO_MODE_LINE, WINDOW_BOX_TEXT_HEIGHT)
      (WINDOW_SCROLL_BAR_AREA_Y): Count in scroll bar height.
      * window.c (wset_old_pointm, Fwindow_scroll_bar_height)
      (Fwindow_old_point, sanitize_window_sizes): New functions.
      (Qwindow_sanitize_window_sizes): New symbol.
      (window_body_height): Count in horizontal scroll bar.
      (set_window_hscroll, Fscroll_left, Fscroll_right): Set
      suspend_auto_hscroll slot.
      (Fwindow_inside_edges): Count fringes pixelwise.
      (coordinates_in_window, Fcoordinates_in_window_p): Consider
      horizontal scroll bar.
      (check_frame_size, adjust_window_margins): Remove functions and
      corresponding calls.
      (set_window_buffer): Initialize old_pointm and horizontal scroll
      bars.
      (temp_output_buffer_show): Reset hscroll related fields.
      Initialize old_pointm.
      (make_parent_window): Initialize old_pointm.
      (make_window): Initialize old_pointm, horizontal scroll bar type,
      and scroll bar height.
      (resize_frame_windows): Don't count top margin in new sizes.
      Don't use safe sizes when shrinking a frame; let the window
      manager do the clipping.
      (Fsplit_window_internal): Inherit horizontal scroll bar type and
      height.
      (Fdelete_window_internal): Unchain old_pointm marker.
      (window_scroll_pixel_based, Fscroll_other_window): Adjust
      old_pointm.
      (Fwindow_text_width, Fwindow_text_height): New argument
      "pixelwise".
      (struct saved_window): New fields, old_pointm, hscroll_whole,
      suspend_auto_hscroll, scroll_bar_height and
      horizontal_scroll_bar_type.
      (Fset_window_configuration, save_window_save): Set new fields of
      saved_window.
      (apply_window_adjustment): Don't call adjust_window_margins.
      (set_window_margins): Don't change margins if new sizes don't
      fit into window.
      (set_window_scroll_bars): New argument "horizontal_type".
      Handle horizontal scroll bars.  Don't change scroll bars if they
      don't fit into window.
      (Fset_window_scroll_bars): New argument "horizontal_type".
      (Fwindow_scroll_bars): Return values for horizontal scroll bars.
      (compare_window_configurations): Compare horizontal scroll bar
      settings.
      * xdisp.c (window_text_bottom_y, window_box_height): Count in
      horizontal scroll bar height.
      (pixel_to_glyph_coords, init_xdisp): Use FRAME_TOTAL_LINES
      instead of FRAME_LINES.
      (remember_mouse_glyph): Case ON_SCROLL_BAR changed to
      ON_VERTICAL_SCROLL_BAR.
      (with_echo_area_buffer): Initialize old_pointm.
      (with_echo_area_buffer_unwind_data): Store old_pointm values in
      vector.
      (unwind_with_echo_area_buffer): Handle old_pointm.
      (update_tool_bar): Set do_update when the tool bar window has at
      least one line (since this is what the user sets).
      (MAX_FRAME_TOOL_BAR_HEIGHT): Remove macro.
      (redisplay_tool_bar): Return early when toolbar has zero lines.
      Call x_change_tool_bar_height.  Don't use max_tool_bar_height.
      (hscroll_window_tree): Handle suspension of auto_hscroll and
      old_pointm.
      (set_horizontal_scroll_bar): New function.
      (redisplay_window): Set ignore_mouse_drag_p when tool bar has
      more than one line.  Handle horizontal scroll bars.
      (note_mouse_highlight): Handle horizontal scrol bars.
      (expose_frame): Set dimensions of XRectangle from frame's text
      sizes.
      (Vvoid_text_area_pointer): Update doc-string.
      * xfns.c (x_set_menu_bar_lines): Use adjust_frame_size.
      (x_change_tool_bar_height, x_set_scroll_bar_default_height)
      (x_set_internal_border_width): New functions.
      (x_set_tool_bar_lines): Call x_change_tool_bar_height.
      (unwind_create_frame_1): Remove.
      (Fx_create_frame): Handle horizontal scroll bars.  Use official
      field of frame structure to inhibit running
      window-configuration-change-hook.
      (x_create_tip_frame): Call SET_FRAME_LINES and change_frame_size
      pixelwise.  Handle frame's official field.
      (x_frame_parm_handlers): Add x_set_scroll_bar_height,
      x_set_horizontal_scroll_bars, x_set_left_fringe,
      x_set_right_fringe.
      * xmenu.c (update_frame_menubar, free_frame_menubar): Use
      adjust_frame_size.
      * xterm.h (struct x_display_info): Add
      horizontal_scroll_bar_cursor and Xatom_Horizontal_Scrollbar
      slots.
      (struct scroll_bar): Add horizontal slot.
      (HORIZONTAL_SCROLL_BAR_INSIDE_HEIGHT)
      (HORIZONTAL_SCROLL_BAR_LEFT_RANGE)
      (HORIZONTAL_SCROLL_BAR_INSIDE_WIDTH): New macros.
      (HORIZONTAL_SCROLL_BAR_LEFT_BORDER)
      (HORIZONTAL_SCROLL_BAR_RIGHT_BORDER)
      (HORIZONTAL_SCROLL_BAR_TOP_BORDER)
      (HORIZONTAL_SCROLL_BAR_BOTTOM_BORDER)
      (HORIZONTAL_SCROLL_BAR_MIN_HANDLE): Define.
      (x_clear_under_internal_border): Remove.
      * xterm.c (XTmouse_position): Handle horizontal scroll bars.
      (x_window_to_scroll_bar): New argument TYPE.  Update callers.
      (x_send_scroll_bar_event, x_scroll_bar_create): New arguments
      HORIZONTAL.  Update callers.
      (horizontal_action_hook_id): New action hook id.
      (x_horizontal_scroll_bar_to_input_event)
      (x_create_horizontal_toolkit_scroll_bar)
      (xt_horizontal_action_hook)
      (x_set_toolkit_horizontal_scroll_bar_thumb)
      (XTset_horizontal_scroll_bar, x_net_wm_state)
      (x_horizontal_scroll_bar_report_motion): New functions.
      (xg_scroll_callback, x_scroll_bar_handle_click): Handle
      horizontal scroll bars.
      (SCROLL_BAR_HORIZONTAL_NAME): Define.
      (XTset_vertical_scroll_bar): Attempt to clear areas not covered
      by scroll bar.
      (XTcondemn_scroll_bars, XTredeem_scroll_bar): Rewrite.  Handle
      horizontal scroll bars.
      (handle_one_xevent): Handle horizontal scroll bar events.  Call
      x_net_wm_state.
      (x_set_window_size_1, x_wm_set_size_hint): Don't call
      check_frame_size.
      (x_set_window_size): Don't call check_frame_size and
      do_pending_window_change.
      (x_term_init): Init horizontal_scroll_bar_cursor display info.
      (x_create_terminal): Add set_horizontal_scroll_bar_hook.
      (x_scroll_bar_set_handle): Add some checks when calling
      x_clear_area.
      3477e270
  4. 03 Jun, 2014 1 commit
    • Paul Eggert's avatar
      Do not require libXt-devel when building with gtk. · 181f08a7
      Paul Eggert authored
      * lwlib/lwlib-widget.h: New file, with contents taken from lwlib.h.
      (widget_value) [HAVE_NTGUI]: New member 'title'.
      * lwlib/lwlib.h: Include lwlib-widget.h.
      (change_type, enum button_type, widget_value):
      Move to lwlib-widget.h.
      * src/gtkutil.h, src/menu.h: Include lwlib-widget.h, not lwlib-h, to avoid
      dependency on libXt-devel.
      * src/menu.h [HAVE_NTGUI]: Include lwlib-widget.h in this case too.
      (enum button_type, widget_value) [HAVE_NTGUI]: Remove, as
      lwlib-widget.h now does this.
      * src/nsmenu.m (ns_menu_show): "enabled" -> "enable" to fix typo.
      181f08a7
  5. 02 Jun, 2014 1 commit
    • Dmitry Antipov's avatar
      Use common memory management functions for lwlib and refactor users. · 5668fb88
      Dmitry Antipov authored
      * lwlib/lwlib.h (widget_value): Do not maintain a free list any more.
      (malloc_widget_value, free_widget_value): Remove prototypes.
      * lwlib/lwlib.c (malloc_widget_value, free_widget_value):
      (widget_value_free_list, malloc_cpt): Remove.
      (free_widget_value_tree, copy_widget_value_tree): Adjust users.
      * src/menu.h (xmalloc_widget_value): Replaced by ...
      (make_widget_value): ... new prototype.
      * src/menu.c (xmalloc_widget_value): Replaced by ...
      (make_widget_value): ... new function.
      (free_menubar_widget_value_tree, digest_single_submenu): Adjust users.
      * src/gtkutil.c (malloc_widget_value, free_widget_value):
      (widget_value_free_list, malloc_cpt): Remove old lwlib-compatible code.
      * src/keyboard.h (enum button_type, struct _widget_value):
      * src/gtkutil.h, src/nsgui.h, src/w32gui.h (malloc_widget_value):
      (free_widget_value): Likewise.
      * src/nsmenu.m (ns_update_menubar, ns_menu_show):
      * src/w32menu.c (set_frame_menubar, w32_menu_show, w32_dialog_show):
      * src/xmenu.c (set_frame_menubar, xmenu_show, x_dialog_show): Adjust users.
      * src/xterm.h (XtParent) [USE_GTK]: Remove unused macro.
      5668fb88
  6. 22 May, 2014 1 commit
    • Paul Eggert's avatar
      Supply malloc and alloc_size attributes for extern allocators. · 74fde0f4
      Paul Eggert authored
      This documents the C API, and helps GCC generate a bit better code.
      * conf_post.h (ATTRIBUTE_MALLOC, ATTRIBUTE_ALLOC_SIZE)
      (ATTRIBUTE_MALLOC_SIZE): New macros.
      * gmalloc.c (malloc, realloc, calloc):
      * gtkutil.h (malloc_widget_value):
      * lisp.h (ralloc, r_re_alloc, xmalloc, xzalloc, xrealloc, xnmalloc)
      (xnrealloc, xstrdup, xlispstrdup, record_xmalloc):
      Use them.
      74fde0f4
  7. 13 Jan, 2014 1 commit
  8. 01 Jan, 2014 1 commit
  9. 03 Dec, 2013 1 commit
    • Martin Rudalics's avatar
      Fix issues related to pixelwise resizing. (Bug#16013) (Bug#16033) · 7303a0ae
      Martin Rudalics authored
      * window.c (Fset_window_new_pixel): Don't choke at negative
      argument value (Bug#16033).
      
      * xfns.c (Fx_create_frame): Add another call to change_frame_size
      to avoid crash in window_box_height.
      
      * gtkutil.h: Fix external declaration of xg_frame_set_char_size.
      * gtkutil.c (xg_frame_set_char_size, style_changed_cb): Fix size
      calculation.
      * xterm.c (x_set_window_size): Fix size calculation (Bug#16013).
      7303a0ae
  10. 17 Sep, 2013 1 commit
    • Paul Eggert's avatar
      Don't overuse 'const' in types of locals. · b7ad2f74
      Paul Eggert authored
      * bidi.c (bidi_count_bytes):
      * gtkutil.c, gtkutil.h (xg_event_is_for_menubar)
      (xg_event_is_for_scrollbar):
      * xselect.c (x_handle_property_notify)
      (x_handle_selection_notify, x_handle_dnd_message):
      * xsettings.c, xsettings.h (xft_settings_event):
      * xterm.c (x_handle_net_wm_state, handle_one_event)
      (x_menubar_window_to_frame, x_detect_focus_change)
      (construct_mouse_click, note_mouse_movement)
      (x_scroll_bar_to_input_event, x_scroll_bar_expose)
      (x_scroll_bar_handle_click, x_scroll_bar_note_movement)
      (handle_one_xevent, x_handle_net_wm_state):
      * xterm.h (x_handle_property_notify, x_handle_selection_notify)
      (x_handle_dnd_message):
      Avoid unnecessary 'const', typically the second 'const' in
      'const foo * const arg', a 'const' that does not affect the API
      and doesn't significantly help the human reader.
      b7ad2f74
  11. 16 Sep, 2013 1 commit
    • Dmitry Antipov's avatar
      Do not copy X event in handle_one_xevent except KeyPress case. · 61582e6a
      Dmitry Antipov authored
      Wnen XEvent is processed, it is unlikely to be changed except
      KeyPress case, so we can avoid copying and use const pointer to
      const data to make sure that an event is not changed elsewhere.
      * xterm.c (handle_one_xevent): Change 2nd arg to 'const XEvent *
      const' and do not create local copy except for the KeyPress event.
      Use casts to avoid a few glitches.  Adjust formatting.  Add comments.
      (SET_SAVED_BUTTON_EVENT): Remove and move the code to the only user.
      (x_handle_net_wm_state, x_menubar_window_to_frame)
      (x_detect_focus_change, construct_mouse_click, note_mouse_movement)
      (x_scroll_bar_to_input_event, x_scroll_bar_expose)
      (x_scroll_bar_handle_click, x_scroll_bar_note_movement):
      * gtkutil.c (xg_event_is_for_menubar, xg_event_is_for_scrollbar):
      * xselect.c (x_handle_property_notify, x_handle_selection_notify)
      (x_handle_dnd_message):
      * xsettings.c (xft_settings_event):
      Use 'const XEvent * const' where appropriate.
      * xterm.h, gtkutil.h, xsettngs.h: Adjust related prototypes.
      61582e6a
  12. 30 Aug, 2013 1 commit
    • Dmitry Antipov's avatar
      Minor cleanup to avoid forward declarations. · 9d7693d7
      Dmitry Antipov authored
      * coding.h (struct ccl_spec): Remove forward declaration.
      * composite.h (toplevel): Include font.h.
      (struct composition_it, struct face, struct font_metrics):
      Remove forward declaration.
      * dispextern.h (struct image, struct atimer): Likewise.
      * emacsgtkfixed.h (struct frame): Likewise.
      * emacsgtkfixed.c (toplevel): Reorder headers and drop stdio.h.
      * font.h (struct font_driver, struct font, struct glyph_string)
      (struct face): Remove forward declaration.
      * fontset.h (struct face, struct font): Likewise.
      * frame.h (toplevel): Style cleanup.
      (enum output_method): Move to...
      * termhooks.h (enum output_method): ...here.
      (struct glyph, struct frame, struct ns_display_info)
      (struct x_display_info, struct w32_display_info):
      Remove forward declaration.
      * xterm.h (toplevel): Include termhooks.h.
      (struct font, struct window, struct glyph_matrix, struct frame)
      (struct input_event, struct face, struct image): Remove forward
      declaration.
      * gtkutil.h (struct _widget_value): Likewise.
      * keyboard.h (toplevel): Include termhooks.h.
      (struct input_event): Remove forward declaration.
      9d7693d7
  13. 03 Aug, 2013 1 commit
    • Dmitry Antipov's avatar
      Drop FRAME_PTR typedef. · a10c8269
      Dmitry Antipov authored
      * composite.c, font.c, font.h, fontset.c, fontset.h, frame.c, frame.h:
      * ftfont.c, ftxfont.c, gtkutil.c, gtkutil.h, image.c, keyboard.c:
      * menu.c, menu.h, msdos.c, nsfns.m, nsfont.m, nsmenu.m, nsterm.h:
      * nsterm.m, scroll.c, term.c, w32fns.c, w32font.c, w32font.h:
      * w32inevt.c, w32inevt.h, w32menu.c, w32notify.c, w32term.c, w32term.h:
      * w32uniscribe.c, w32xfns.c, widget.c, window.c, xdisp.c, xfaces.c:
      * xfns.c, xfont.c, xftfont.c, xmenu.c, xselect.c, xterm.c:
      All related users changed.
      a10c8269
  14. 01 Jan, 2013 1 commit
  15. 23 Sep, 2012 1 commit
    • Paul Eggert's avatar
      gnutls.c, gtkutil.c: Use bool for boolean. · 18e27ea8
      Paul Eggert authored
      * gnutls.c (gnutls_global_initialized, init_gnutls_functions)
      (emacs_gnutls_handle_error):
      * gtkutil.c (xg_check_special_colors, xg_prepare_tooltip)
      (xg_hide_tooltip, xg_create_frame_widgets)
      (create_dialog, xg_uses_old_file_dialog)
      (xg_get_file_with_chooser, xg_get_file_with_selection)
      (xg_get_file_name, xg_have_tear_offs, create_menus, xg_create_widget)
      (xg_item_label_same_p, xg_update_menubar)
      (xg_modify_menubar_widgets, xg_event_is_for_menubar)
      (xg_ignore_gtk_scrollbar, xg_set_toolkit_scroll_bar_thumb)
      (xg_event_is_for_scrollbar, xg_pack_tool_bar, xg_make_tool_item)
      (is_box_type, xg_tool_item_stale_p, xg_update_tool_bar_sizes)
      (update_frame_tool_bar, free_frame_tool_bar):
      * gtkutil.c, w32term.c, xterm.c (x_wm_set_size_hint):
      * nsmenu.m (ns_update_menubar):
      * nsmenu.m, w32menu.c, xmenu.c (set_frame_menubar):
      * xfns.c (Fx_show_tip) [USE_GTK]:
      Use bool for boolean.
      * gtkutil.c (xg_update_frame_menubar):
      * xmenu.c (update_frame_menubar):
      Return void, not int, since caller ignores return value.
      * gtkutil.c (xg_change_toolbar_position):
      Return void, not 1.
      18e27ea8
  16. 02 Sep, 2012 1 commit
  17. 01 Sep, 2012 1 commit
    • Daniel Colascione's avatar
      Refactor window-system configuration · 17a2cbbd
      Daniel Colascione authored
      This change streamlines the window system selection code in
      configure.in and moves many common function declarations from
      window-specific headers to frame.h.  It introduces a new TERM_HEADER
      macro in config.h: we set this macro to the right header to use for
      the window system for which we're compiling Emacs and have source
      files include it indirectly.  This way, we don't have to teach every
      file about every window system.
      17a2cbbd
  18. 15 Aug, 2012 1 commit
    • Chong Yidong's avatar
      Extract better font information from the GTK >= 3.2 font chooser. · f2045622
      Chong Yidong authored
      * gtkutil.c (xg_get_font): Rename from xg_get_font_name.  When
      using the new font chooser, use gtk_font_chooser_get_font_desc to
      extract the font descriptor instead of just the font name.  In
      that case, return a font spec instead of a string.
      (x_last_font_name): Move to this file from xfns.c.
      
      * xfns.c (Fx_select_font): The return value can also be a font
      spec.  Move x_last_font_name management to gtkutil.c.
      
      * xfaces.c: Make font weight and style symbols non-static.
      
      * lisp/frame.el (set-frame-font): Accept font objects.
      f2045622
  19. 16 Jul, 2012 1 commit
  20. 11 Jan, 2012 1 commit
  21. 05 Jan, 2012 1 commit
  22. 27 Nov, 2011 1 commit
  23. 28 Jul, 2011 1 commit
    • Paul Eggert's avatar
      * gtkutil.c: Integer overflow fixes. · 0eb0f318
      Paul Eggert authored
      (get_utf8_string, xg_store_widget_in_map):
      Check for size-calculation overflow.
      (get_utf8_string): Use ptrdiff_t, not size_t, where either will
      do, as we prefer signed integers.
      (id_to_widget.max_size, id_to_widget.used)
      (xg_store_widget_in_map, xg_remove_widget_from_map)
      (xg_get_widget_from_map, xg_get_scroll_id_for_window)
      (xg_remove_scroll_bar, xg_update_scrollbar_pos):
      Use and return ptrdiff_t, not int.
      (xg_gtk_scroll_destroy): Don't assume ptrdiff_t fits in int.
      * gtkutil.h: Change prototypes to match the above.
      0eb0f318
  24. 14 Jun, 2011 1 commit
    • Jan Djärv's avatar
      Fix resize and change of scroll bar width for Gtk3. · c195f2de
      Jan Djärv authored
      * configure.in: Add emacsgtkfixed.o to GTK_OBJ if HAVE_GTK3.
      
      * src/emacsgtkfixed.c, src/emacsgtkfixed.h: New files.
      
      * src/gtkutil.c: Include src/emacsgtkfixed.h if HAVE_GTK3.
      (int_gtk_range_get_value): Move to the scroll bar part of the file.
      (style_changed_cb): Call update_theme_scrollbar_width and call
      x_set_scroll_bar_default_width and xg_frame_set_char_size for
      all frames.
      (xg_create_frame_widgets): Call emacs_fixed_new if HAVE_GTK3 (Bug#8505).
      Call gtk_window_set_resizable if HAVE_GTK3.
      (x_wm_set_size_hint): Call emacs_fixed_set_min_size with min width
      and height if HAVE_GTK3 (Bug#8505).
      (scroll_bar_width_for_theme): New variable.
      (update_theme_scrollbar_width): New function.
      (xg_get_default_scrollbar_width): Move code to
      update_theme_scrollbar_width, just return scroll_bar_width_for_theme.
      (xg_initialize): Call update_theme_scrollbar_width.
      
      * src/gtkutil.h (xg_get_default_scrollbar_width): Remove argument.
      
      * src/xfns.c (x_set_scroll_bar_default_width): Remove argument to
      xg_get_default_scrollbar_width.
      c195f2de
  25. 05 Jun, 2011 1 commit
    • Jan Djärv's avatar
      Handle scroll bar width larger than 16 for GTK3. · a059fe24
      Jan Djärv authored
      * gtkutil.c (xg_get_default_scrollbar_width): New function.
      
      * gtkutil.h: Declare xg_get_default_scrollbar_width.
      
      * xfns.c (x_set_scroll_bar_default_width): If USE_GTK, get
      min width by calling x_set_scroll_bar_default_width.
      
      Fixes: debbugs:8505
      a059fe24
  26. 26 Jan, 2011 1 commit
  27. 25 Jan, 2011 1 commit
  28. 18 Jan, 2011 2 commits
    • Tom Tromey's avatar
      Move all DEFVAR'd globals into a structure -- threading infrastructure · 29208e82
      Tom Tromey authored
      	* globals.h: New file.
      	* xterm.h (Vx_pixel_size_width_font_regexp): Remove declaration.
      	* window.h (Vinitial_window_system, Vminibuf_scroll_window)
      	(Vwindow_system_version): Remove declaration.
      	* w32term.h (Vw32_enable_palette)
      	(Vx_pixel_size_width_font_regexp): Remove declaration.
      	* w32menu.c (Voverriding_local_map)
      	(Voverriding_local_map_menu_flag): Remove declaration.
      	* w32inevt.c (Vw32_alt_is_meta, Vw32_apps_modifier)
      	(Vw32_capslock_is_shiftlock, Vw32_enable_caps_lock)
      	(Vw32_enable_num_lock, Vw32_lwindow_modifier)
      	(Vw32_pass_lwindow_to_system, Vw32_pass_rwindow_to_system)
      	(Vw32_phantom_key_code, Vw32_recognize_altgr)
      	(Vw32_rwindow_modifier, Vw32_scroll_lock_modifier)
      	(w32_use_full_screen_buffer): Remove declaration.
      	* w32.c (Vsystem_configuration, Vw32_downcase_file_names)
      	(Vw32_generate_fake_inodes, Vw32_get_true_file_attributes)
      	(w32_num_mouse_buttons, w32_pipe_read_delay): Remove declaration.
      	* termopts.h (Vtruncate_partial_width_windows, inverse_video)
      	(no_redraw_on_reenter, visible_bell): Remove declaration.
      	* sysdep.c (Vsystem_name): Remove declaration.
      	* syntax.h (parse_sexp_lookup_properties): Remove declaration.
      	* menu.h (Vmenu_updating_frame): Remove declaration.
      	* macros.h (Vexecuting_kbd_macro, executing_kbd_macro_index):
      	Remove declaration.
      	* lisp.h (Vafter_init_time, Vafter_load_alist)
      	(Vauto_save_list_file_name, Vbefore_init_time, Vcommand_history)
      	(Vcompletion_regexp_list, Vcurrent_load_list)
      	(Vcurrent_prefix_arg, Vdata_directory, Vdebug_on_error)
      	(Vdoc_directory, Vdoc_file_name, Vdynamic_library_alist)
      	(Vexec_directory, Vexec_path, Vexec_suffixes)
      	(Vface_font_rescale_alist, Vface_ignored_fonts, Vfeatures)
      	(Vhelp_form, Vhistory_length, Vinhibit_field_text_motion)
      	(Vinhibit_quit, Vinhibit_read_only, Vinhibit_redisplay)
      	(Vinstallation_directory, Vinvocation_directory)
      	(Vinvocation_name, Vload_file_rep_suffixes, Vload_history)
      	(Vload_suffixes, Vmark_even_if_inactive, Vmemory_full)
      	(Vmessage_log_max, Vobarray, Vprint_length, Vprint_level)
      	(Vpurify_flag, Vquit_flag, Vsaved_region_selection)
      	(Vscalable_fonts_allowed, Vselect_active_regions)
      	(Vshell_file_name, Vstandard_input, Vstandard_output)
      	(Vsystem_name, Vtemporary_file_directory, Vthrow_on_input)
      	(Vtop_level, Vtty_erase_char, Vundo_outer_limit)
      	(Vuser_login_name, Vwindow_scroll_functions)
      	(Vwindow_system_version, Vx_no_window_manager)
      	(Vx_resource_class, Vx_resource_name, baud_rate)
      	(completion_ignore_case, debug_on_next_call, gc_cons_threshold)
      	(history_delete_duplicates, inhibit_x_resources)
      	(last_nonmenu_event, load_in_progress, max_specpdl_size)
      	(minibuffer_auto_raise, print_escape_newlines, scroll_margin)
      	(use_dialog_box, use_file_dialog): Remove declaration.  Include
      	globals.h.
      	* keymap.h (Voverriding_local_map)
      	(Voverriding_local_map_menu_flag, meta_prefix_char): Remove
      	declaration.
      	* keyboard.h (Vdouble_click_time, Vfunction_key_map)
      	(Vinput_method_function, Vkey_translation_map)
      	(Vlucid_menu_bar_dirty_flag, Vthis_original_command)
      	(do_mouse_tracking, extra_keyboard_modifiers)
      	(num_nonmacro_input_events): Remove declaration.
      	* intervals.h (Vchar_property_alias_alist)
      	(Vdefault_text_properties, Vinhibit_point_motion_hooks)
      	(Vtext_property_default_nonsticky): Remove declaration.
      	* gtkutil.h (x_gtk_file_dialog_help_text)
      	(x_gtk_show_hidden_files, x_gtk_use_old_file_dialog)
      	(x_gtk_whole_detached_tool_bar): Remove declaration.
      	* frame.h (Vdefault_frame_alist, Vframe_alpha_lower_limit)
      	(Vmenu_bar_mode, Vmouse_highlight, Vterminal_frame)
      	(Vtool_bar_mode, Vx_resource_class, Vx_resource_name)
      	(focus_follows_mouse): Remove declaration.
      	* fontset.h (Valternate_fontname_alist, Vfontset_alias_alist)
      	(Vignore_relative_composition, Votf_script_alist)
      	(Vuse_default_ascent, Vvertical_centering_font_regexp): Remove
      	declaration.
      	* font.h (Vfont_log): Remove declaration.
      	* dosfns.h (Vdos_display_scancodes, Vdos_version)
      	(Vdos_windows_version, dos_codepage, dos_country_code)
      	(dos_decimal_point, dos_hyper_key, dos_keyboard_layout)
      	(dos_keypad_mode, dos_super_key, dos_timezone_offset): Remove
      	declaration.
      	* disptab.h (Vglyph_table, Vstandard_display_table): Remove
      	declaration.
      	* dispextern.h (Vface_remapping_alist, Vglyphless_char_display)
      	(Vmouse_autoselect_window, Voverflow_newline_into_fringe)
      	(Vshow_trailing_whitespace, Vtool_bar_button_margin)
      	(Vtool_bar_style, cursor_in_echo_area, display_hourglass_p)
      	(inverse_video, mode_line_in_non_selected_windows)
      	(tool_bar_button_relief, tool_bar_max_label_size)
      	(underline_minimum_offset)
      	(unibyte_display_via_language_environment, x_stretch_cursor_p):
      	Remove declaration.
      	* composite.h (Vauto_composition_function)
      	(Vcomposition_function_table): Remove declaration.
      	* commands.h (Vexecuting_kbd_macro)
      	(Vminibuffer_local_completion_map)
      	(Vminibuffer_local_filename_completion_map)
      	(Vminibuffer_local_filename_must_match_map)
      	(Vminibuffer_local_map, Vminibuffer_local_must_match_map)
      	(Vminibuffer_local_ns_map, Vthis_command)
      	(Vunread_command_events, cursor_in_echo_area)
      	(last_command_event, last_nonmenu_event, unread_command_char):
      	Remove declaration.
      	* coding.h (Vcoding_system_for_read, Vcoding_system_for_write)
      	(Vdefault_file_name_coding_system)
      	(Vdefault_process_coding_system, Vfile_name_coding_system)
      	(Vlast_coding_system_used, Vlocale_coding_system)
      	(Vselect_safe_coding_system_function)
      	(Vtranslation_table_for_input, coding_system_require_warning)
      	(eol_mnemonic_dos, eol_mnemonic_mac, eol_mnemonic_undecided)
      	(eol_mnemonic_unix, inherit_process_coding_system): Remove
      	declaration.
      	* charset.h (Vcharset_list, Vcurrent_iso639_language): Remove
      	declaration.
      	* character.h (Vauto_fill_chars, Vchar_direction_table)
      	(Vchar_script_table, Vchar_width_table, Vprintable_chars)
      	(Vscript_representative_chars, Vtranslation_table_vector)
      	(Vunicode_category_table): Remove declaration.
      	* ccl.h (Vfont_ccl_encoder_alist): Remove declaration.
      	* buffer.h (Vafter_change_functions, Vbefore_change_functions)
      	(Vdeactivate_mark, Vfirst_change_hook, Vtransient_mark_mode)
      	(inhibit_modification_hooks): Remove declaration.
      	* xterm.c (syms_of_xterm): Update.
      	(Vx_alt_keysym, Vx_hyper_keysym, Vx_keysym_table)
      	(Vx_meta_keysym, Vx_super_keysym, Vx_toolkit_scroll_bars)
      	(x_mouse_click_focus_ignore_position)
      	(x_underline_at_descent_line)
      	(x_use_underline_position_properties): Remove.
      	* xsmfns.c (syms_of_xsmfns): Update.
      	(Vx_session_id, Vx_session_previous_id): Remove.
      	* xsettings.c (syms_of_xsettings): Update.
      	(Vxft_settings, use_system_font): Remove.
      	* xselect.c (syms_of_xselect): Update.
      	(Vselection_converter_alist, Vx_lost_selection_functions)
      	(Vx_sent_selection_functions, x_selection_timeout): Remove.
      	* xfns.c (syms_of_xfns): Update.
      	(Vgtk_version_string, Vmotif_version_string)
      	(Vx_cursor_fore_pixel, Vx_hourglass_pointer_shape)
      	(Vx_max_tooltip_size, Vx_mode_pointer_shape)
      	(Vx_no_window_manager, Vx_nontext_pointer_shape)
      	(Vx_pixel_size_width_font_regexp, Vx_pointer_shape)
      	(Vx_sensitive_text_pointer_shape)
      	(Vx_window_horizontal_drag_shape, x_gtk_file_dialog_help_text)
      	(x_gtk_show_hidden_files, x_gtk_use_old_file_dialog)
      	(x_gtk_use_system_tooltips, x_gtk_whole_detached_tool_bar):
      	Remove.
      	* xfaces.c (syms_of_xfaces): Update.
      	(Vface_default_stipple, Vface_font_rescale_alist)
      	(Vface_ignored_fonts, Vface_new_frame_defaults)
      	(Vface_remapping_alist, Vfont_list_limit)
      	(Vscalable_fonts_allowed, Vtty_defined_color_alist): Remove.
      	* xdisp.c (syms_of_xdisp): Update.
      	(Vauto_resize_tool_bars, Vblink_cursor_alist)
      	(Vdisplay_pixels_per_inch, Vfontification_functions)
      	(Vframe_title_format, Vglobal_mode_string)
      	(Vglyphless_char_display, Vhourglass_delay, Vhscroll_step)
      	(Vicon_title_format, Vinhibit_redisplay)
      	(Vline_number_display_limit, Vline_prefix)
      	(Vmax_mini_window_height, Vmenu_bar_update_hook)
      	(Vmenu_updating_frame, Vmessage_log_max)
      	(Vmouse_autoselect_window, Vnobreak_char_display)
      	(Voverlay_arrow_position, Voverlay_arrow_string)
      	(Voverlay_arrow_variable_list, Vredisplay_end_trigger_functions)
      	(Vresize_mini_windows, Vshow_trailing_whitespace)
      	(Vtool_bar_border, Vtool_bar_button_margin, Vtool_bar_style)
      	(Vtruncate_partial_width_windows, Vvoid_text_area_pointer)
      	(Vwindow_scroll_functions, Vwindow_size_change_functions)
      	(Vwindow_text_change_functions, Vwrap_prefix)
      	(auto_raise_tool_bar_buttons_p, automatic_hscrolling_p)
      	(debug_end_pos, display_hourglass_p, emacs_scroll_step)
      	(highlight_nonselected_windows, hscroll_margin)
      	(inhibit_eval_during_redisplay, inhibit_free_realized_faces)
      	(inhibit_menubar_update, inhibit_try_cursor_movement)
      	(inhibit_try_window_id, inhibit_try_window_reusing)
      	(line_number_display_limit_width)
      	(make_cursor_line_fully_visible_p, message_truncate_lines)
      	(mode_line_inverse_video, multiple_frames, overline_margin)
      	(scroll_conservatively, scroll_margin, tool_bar_button_relief)
      	(tool_bar_max_label_size, underline_minimum_offset)
      	(unibyte_display_via_language_environment, x_stretch_cursor_p):
      	Remove.
      	* window.c (syms_of_window): Update.
      	(Vminibuf_scroll_window, Vother_window_scroll_buffer)
      	(Vrecenter_redisplay, Vscroll_preserve_screen_position)
      	(Vtemp_buffer_show_function, Vwindow_configuration_change_hook)
      	(Vwindow_point_insertion_type, auto_window_vscroll_p)
      	(mode_line_in_non_selected_windows, next_screen_context_lines)
      	(window_min_height, window_min_width): Remove.
      	(scroll_margin): Remove declaration.
      	* w32term.c (syms_of_w32term): Update.
      	(Vw32_capslock_is_shiftlock, Vw32_grab_focus_on_raise)
      	(Vw32_recognize_altgr, Vw32_swap_mouse_buttons)
      	(Vx_toolkit_scroll_bars, w32_num_mouse_buttons)
      	(w32_use_visible_system_caret, x_underline_at_descent_line)
      	(x_use_underline_position_properties): Remove.
      	(Vcommand_line_args, Vsystem_name, extra_keyboard_modifiers):
      	Remove declaration.
      	* w32select.c (syms_of_w32select): Update.
      	(Vnext_selection_coding_system, Vselection_coding_system): Remove.
      	* w32proc.c (syms_of_ntproc): Update.
      	(Vw32_downcase_file_names, Vw32_generate_fake_inodes)
      	(Vw32_get_true_file_attributes, Vw32_quote_process_args)
      	(Vw32_start_process_inherit_error_mode)
      	(Vw32_start_process_share_console)
      	(Vw32_start_process_show_window, w32_pipe_read_delay): Remove.
      	(Vsystem_name): Remove declaration.
      	* w32font.c (syms_of_w32font): Update.
      	(Vw32_charset_info_alist): Remove.
      	* w32fns.c (globals_of_w32fns, syms_of_w32fns): Update.
      	(Vw32_alt_is_meta, Vw32_apps_modifier, Vw32_bdf_filename_alist)
      	(Vw32_color_map, Vw32_enable_caps_lock, Vw32_enable_num_lock)
      	(Vw32_enable_palette, Vw32_lwindow_modifier)
      	(Vw32_pass_alt_to_system, Vw32_pass_lwindow_to_system)
      	(Vw32_pass_rwindow_to_system, Vw32_phantom_key_code)
      	(Vw32_rwindow_modifier, Vw32_scroll_lock_modifier)
      	(Vx_cursor_fore_pixel, Vx_hourglass_pointer_shape)
      	(Vx_max_tooltip_size, Vx_mode_pointer_shape)
      	(Vx_no_window_manager, Vx_nontext_pointer_shape)
      	(Vx_pixel_size_width_font_regexp, Vx_pointer_shape)
      	(Vx_sensitive_text_pointer_shape)
      	(Vx_window_horizontal_drag_shape, w32_ansi_code_page)
      	(w32_enable_synthesized_fonts, w32_mouse_button_tolerance)
      	(w32_mouse_move_interval)
      	(w32_pass_extra_mouse_buttons_to_system)
      	(w32_pass_multimedia_buttons_to_system, w32_quit_key)
      	(w32_strict_fontnames, w32_strict_painting): Remove.
      	(Vhourglass_delay, Vmenu_bar_mode, Vtool_bar_mode)
      	(Vw32_recognize_altgr, Vwindow_system_version)
      	(w32_num_mouse_buttons, w32_use_visible_system_caret): Remove
      	declaration.
      	* w32console.c (syms_of_ntterm): Update.
      	(w32_use_full_screen_buffer): Remove.
      	(Vtty_defined_color_alist): Remove declaration.
      	* w16select.c (syms_of_win16select): Update.
      	(Vnext_selection_coding_system, Vselection_coding_system): Remove.
      	* undo.c (syms_of_undo): Update.
      	(Vundo_outer_limit, Vundo_outer_limit_function)
      	(undo_inhibit_record_point, undo_limit, undo_strong_limit):
      	Remove.
      	* textprop.c (syms_of_textprop): Update.
      	(Vchar_property_alias_alist, Vdefault_text_properties)
      	(Vinhibit_point_motion_hooks, Vtext_property_default_nonsticky):
      	Remove.
      	* terminal.c (syms_of_terminal): Update.
      	(Vdelete_terminal_functions, Vring_bell_function): Remove.
      	* term.c (syms_of_term): Update.
      	(Vresume_tty_functions, Vsuspend_tty_functions)
      	(no_redraw_on_reenter, system_uses_terminfo, visible_cursor):
      	Remove.
      	* syntax.c (syms_of_syntax): Update.
      	(Vfind_word_boundary_function_table, multibyte_syntax_as_symbol)
      	(open_paren_in_column_0_is_defun_start)
      	(parse_sexp_ignore_comments, parse_sexp_lookup_properties)
      	(words_include_escapes): Remove.
      	* search.c (syms_of_search): Update.
      	(Vinhibit_changing_match_data, Vsearch_spaces_regexp): Remove.
      	* process.c (syms_of_process): Update.
      	(Vprocess_adaptive_read_buffering, Vprocess_connection_type)
      	(delete_exited_processes): Remove.
      	* print.c (syms_of_print): Update.
      	(Vfloat_output_format, Vprint_charset_text_property)
      	(Vprint_circle, Vprint_continuous_numbering, Vprint_gensym)
      	(Vprint_length, Vprint_level, Vprint_number_table)
      	(Vstandard_output, print_escape_multibyte)
      	(print_escape_newlines, print_escape_nonascii, print_quoted):
      	Remove.
      	* msdos.c (syms_of_msdos): Update.
      	(Vdos_unsupported_char_glyph): Remove.
      	(unibyte_display_via_language_environment): Remove declaration.
      	* minibuf.c (syms_of_minibuf): Update.
      	(Vcompletion_regexp_list, Vhistory_add_new_input)
      	(Vhistory_length, Vminibuffer_completing_file_name)
      	(Vminibuffer_completion_confirm)
      	(Vminibuffer_completion_predicate, Vminibuffer_completion_table)
      	(Vminibuffer_exit_hook, Vminibuffer_help_form)
      	(Vminibuffer_history_position, Vminibuffer_history_variable)
      	(Vminibuffer_prompt_properties, Vminibuffer_setup_hook)
      	(Vread_buffer_function, Vread_expression_map)
      	(completion_ignore_case, enable_recursive_minibuffers)
      	(history_delete_duplicates, minibuffer_allow_text_properties)
      	(minibuffer_auto_raise, read_buffer_completion_ignore_case):
      	Remove.
      	* marker.c (syms_of_marker): Update.
      	(byte_debug_flag): Remove.
      	* macros.c (syms_of_macros): Update.
      	(Vexecuting_kbd_macro, executing_kbd_macro_index): Remove.
      	* lread.c (syms_of_lread): Update.
      	(Vafter_load_alist, Vbyte_boolean_vars)
      	(Vbytecomp_version_regexp, Vcurrent_load_list)
      	(Veval_buffer_list, Vload_file_name, Vload_file_rep_suffixes)
      	(Vload_history, Vload_path, Vload_read_function)
      	(Vload_source_file_function, Vload_suffixes, Vobarray)
      	(Vold_style_backquotes, Vpreloaded_file_list, Vread_circle)
      	(Vread_symbol_positions_list, Vread_with_symbol_positions)
      	(Vsource_directory, Vstandard_input, Vuser_init_file, Vvalues)
      	(force_load_messages, load_convert_to_unibyte)
      	(load_dangerous_libraries, load_force_doc_strings)
      	(load_in_progress): Remove.
      	* keymap.c (syms_of_keymap): Update.
      	(Vdefine_key_rebound_commands, Vemulation_mode_map_alists)
      	(Vminibuffer_local_completion_map)
      	(Vminibuffer_local_filename_completion_map)
      	(Vminibuffer_local_filename_must_match_map)
      	(Vminibuffer_local_map, Vminibuffer_local_must_match_map)
      	(Vminibuffer_local_ns_map, Vminor_mode_map_alist)
      	(Vminor_mode_overriding_map_alist, Vwhere_is_preferred_modifier):
      	Remove.
      	* keyboard.c (syms_of_keyboard): Update.
      	(Vauto_save_timeout, Vcommand_error_function)
      	(Vcommand_hook_internal, Vdeactivate_mark)
      	(Vdeferred_action_function, Vdeferred_action_list)
      	(Vdisable_point_adjustment, Vdouble_click_time)
      	(Vecho_keystrokes, Venable_disabled_menus_and_buttons)
      	(Vfunction_key_map, Vglobal_disable_point_adjustment)
      	(Vhelp_char, Vhelp_event_list, Vhelp_form)
      	(Vinput_method_function, Vinput_method_previous_message)
      	(Vkey_translation_map, Vlast_event_frame)
      	(Vlucid_menu_bar_dirty_flag, Vmenu_bar_final_items)
      	(Vminibuffer_message_timeout, Voverriding_local_map)
      	(Voverriding_local_map_menu_flag, Vpost_command_hook)
      	(Vpre_command_hook, Vprefix_help_command)
      	(Vsaved_region_selection, Vselect_active_regions)
      	(Vshow_help_function, Vspecial_event_map, Vsuggest_key_bindings)
      	(Vthis_command, Vthis_command_keys_shift_translated)
      	(Vthis_original_command, Vthrow_on_input, Vtimer_idle_list)
      	(Vtimer_list, Vtool_bar_separator_image_expression, Vtop_level)
      	(Vtty_erase_char, Vunread_command_events)
      	(Vunread_input_method_events, Vunread_post_input_method_events)
      	(auto_save_interval, cannot_suspend, do_mouse_tracking)
      	(double_click_fuzz, extra_keyboard_modifiers)
      	(inhibit_local_menu_bar_menus, last_command_event)
      	(last_input_event, last_nonmenu_event, menu_prompt_more_char)
      	(menu_prompting, meta_prefix_char, num_input_keys)
      	(num_nonmacro_input_events, polling_period, unread_command_char):
      	Remove.
      	* insdel.c (syms_of_insdel): Update.
      	(Vcombine_after_change_calls, check_markers_debug_flag): Remove.
      	* indent.c (syms_of_indent): Update.
      	(indent_tabs_mode): Remove.
      	* image.c (syms_of_image): Update.
      	(Vimage_cache_eviction_delay, Vimage_types)
      	(Vimagemagick_render_type, Vmax_image_size, Vx_bitmap_file_path)
      	(cross_disabled_images): Remove.
      	* fringe.c (syms_of_fringe): Update.
      	(Vfringe_bitmaps, Voverflow_newline_into_fringe): Remove.
      	* frame.c (syms_of_frame): Update.
      	(Vdefault_frame_alist, Vdefault_frame_scroll_bars)
      	(Vdelete_frame_functions, Vframe_alpha_lower_limit)
      	(Vmake_pointer_invisible, Vmenu_bar_mode, Vmouse_highlight)
      	(Vmouse_position_function, Vterminal_frame, Vtool_bar_mode)
      	(Vx_resource_class, Vx_resource_name, focus_follows_mouse):
      	Remove.
      	* fontset.c (syms_of_fontset): Update.
      	(Valternate_fontname_alist, Vfont_encoding_charset_alist)
      	(Vfontset_alias_alist, Vignore_relative_composition)
      	(Votf_script_alist, Vuse_default_ascent)
      	(Vvertical_centering_font_regexp): Remove.
      	* font.c (syms_of_font): Update.
      	(Vfont_encoding_alist, Vfont_log, Vfont_slant_table)
      	(Vfont_weight_table, Vfont_width_table): Remove.
      	* fns.c (syms_of_fns): Update.
      	(Vfeatures, use_dialog_box, use_file_dialog): Remove.
      	* filelock.c (syms_of_filelock): Update.
      	(Vtemporary_file_directory): Remove.
      	* fileio.c (syms_of_fileio): Update.
      	(Vafter_insert_file_functions, Vauto_save_include_big_deletions)
      	(Vauto_save_list_file_name, Vauto_save_visited_file_name)
      	(Vdefault_file_name_coding_system, Vfile_name_coding_system)
      	(Vfile_name_handler_alist, Vinhibit_file_name_handlers)
      	(Vinhibit_file_name_operation, Vset_auto_coding_function)
      	(Vwrite_region_annotate_functions)
      	(Vwrite_region_annotations_so_far)
      	(Vwrite_region_post_annotation_function)
      	(delete_by_moving_to_trash, write_region_inhibit_fsync): Remove.
      	(Vw32_get_true_file_attributes): Remove declaration.
      	* eval.c (syms_of_eval): Update.
      	(Vdebug_ignored_errors, Vdebug_on_error, Vdebug_on_signal)
      	(Vdebugger, Vinhibit_quit, Vmacro_declaration_function)
      	(Vquit_flag, Vsignal_hook_function, Vstack_trace_on_error)
      	(debug_on_next_call, debug_on_quit, debugger_may_continue)
      	(max_lisp_eval_depth, max_specpdl_size): Remove.
      	* emacs.c (syms_of_emacs): Update.
      	(Vafter_init_time, Vbefore_init_time, Vcommand_line_args)
      	(Vdynamic_library_alist, Vemacs_copyright, Vemacs_version)
      	(Vinstallation_directory, Vinvocation_directory)
      	(Vinvocation_name, Vkill_emacs_hook, Vpath_separator)
      	(Vprevious_system_messages_locale, Vprevious_system_time_locale)
      	(Vsystem_configuration, Vsystem_configuration_options)
      	(Vsystem_messages_locale, Vsystem_time_locale, Vsystem_type)
      	(inhibit_x_resources, noninteractive1): Remove.
      	* editfns.c (syms_of_editfns): Update.
      	(Vbuffer_access_fontified_property)
      	(Vbuffer_access_fontify_functions, Vinhibit_field_text_motion)
      	(Voperating_system_release, Vsystem_name, Vuser_full_name)
      	(Vuser_login_name, Vuser_real_login_name): Remove.
      	* dosfns.c (syms_of_dosfns): Update.
      	(Vdos_display_scancodes, Vdos_version, Vdos_windows_version)
      	(dos_codepage, dos_country_code, dos_decimal_point)
      	(dos_hyper_key, dos_keyboard_layout, dos_keypad_mode)
      	(dos_super_key, dos_timezone_offset): Remove.
      	* doc.c (syms_of_doc): Update.
      	(Vbuild_files, Vdoc_file_name): Remove.
      	* dispnew.c (syms_of_display): Update.
      	(Vglyph_table, Vinitial_window_system)
      	(Vredisplay_preemption_period, Vstandard_display_table)
      	(Vwindow_system_version, baud_rate, cursor_in_echo_area)
      	(inverse_video, redisplay_dont_pause, visible_bell): Remove.
      	* dired.c (syms_of_dired): Update.
      	(Vcompletion_ignored_extensions): Remove.
      	(Vw32_get_true_file_attributes): Remove declaration.
      	* dbusbind.c (syms_of_dbusbind): Update.
      	(Vdbus_debug, Vdbus_registered_buses)
      	(Vdbus_registered_objects_table): Remove.
      	* data.c (syms_of_data): Update.
      	(Vmost_negative_fixnum, Vmost_positive_fixnum): Remove.
      	* composite.c (syms_of_composite): Update.
      	(Vauto_composition_function, Vauto_composition_mode)
      	(Vcompose_chars_after_function, Vcomposition_function_table):
      	Remove.
      	* coding.c (syms_of_coding): Update.
      	(Vcharset_revision_table, Vcoding_category_list)
      	(Vcoding_system_alist, Vcoding_system_for_read)
      	(Vcoding_system_for_write, Vcoding_system_list)
      	(Vdefault_process_coding_system, Venable_character_translation)
      	(Vfile_coding_system_alist, Vlast_code_conversion_error)
      	(Vlast_coding_system_used, Vlatin_extra_code_table)
      	(Vlocale_coding_system, Vnetwork_coding_system_alist)
      	(Vprocess_coding_system_alist)
      	(Vselect_safe_coding_system_function)
      	(Vstandard_translation_table_for_decode)
      	(Vstandard_translation_table_for_encode)
      	(Vtranslation_table_for_input, coding_system_require_warning)
      	(eol_mnemonic_dos, eol_mnemonic_mac, eol_mnemonic_undecided)
      	(eol_mnemonic_unix, inherit_process_coding_system)
      	(inhibit_eol_conversion, inhibit_iso_escape_detection)
      	(inhibit_null_byte_detection): Remove.
      	* cmds.c (syms_of_cmds): Update.
      	(Vpost_self_insert_hook): Remove.
      	* charset.c (syms_of_charset): Update.
      	(Vcharset_list, Vcharset_map_path, Vcurrent_iso639_language)
      	(inhibit_load_charset_map): Remove.
      	* character.c (syms_of_character): Update.
      	(Vauto_fill_chars, Vchar_direction_table, Vchar_script_table)
      	(Vchar_width_table, Vprintable_chars)
      	(Vscript_representative_chars, Vtranslation_table_vector)
      	(Vunicode_category_table): Remove.
      	* ccl.c (syms_of_ccl): Update.
      	(Vcode_conversion_map_vector, Vfont_ccl_encoder_alist)
      	(Vtranslation_hash_table_vector): Remove.
      	* category.c (syms_of_category): Update.
      	(Vword_combining_categories, Vword_separating_categories): Remove.
      	* callproc.c (syms_of_callproc): Update.
      	(Vconfigure_info_directory, Vdata_directory, Vdoc_directory)
      	(Vexec_directory, Vexec_path, Vexec_suffixes)
      	(Vinitial_environment, Vprocess_environment)
      	(Vshared_game_score_directory, Vshell_file_name): Remove.
      	* callint.c (syms_of_callint): Update.
      	(Vcommand_debug_status, Vcommand_history, Vcurrent_prefix_arg)
      	(Vmark_even_if_inactive, Vmouse_leave_buffer_hook): Remove.
      	* bytecode.c (syms_of_bytecode): Update.
      	(Vbyte_code_meter, byte_metering_on): Remove.
      	* buffer.c (syms_of_buffer): Update.
      	(Vafter_change_functions, Vbefore_change_functions)
      	(Vchange_major_mode_hook, Vfirst_change_hook)
      	(Vinhibit_read_only, Vkill_buffer_query_functions)
      	(Vtransient_mark_mode, inhibit_modification_hooks): Remove.
      	* alloc.c (syms_of_alloc): Update.
      	(Vgc_cons_percentage, Vgc_elapsed, Vmemory_full)
      	(Vmemory_signal_data, Vpost_gc_hook, Vpurify_flag)
      	(cons_cells_consed, floats_consed, garbage_collection_messages)
      	(gc_cons_threshold, gcs_done, intervals_consed)
      	(misc_objects_consed, pure_bytes_used, string_chars_consed)
      	(strings_consed, symbols_consed, vector_cells_consed): Remove.
      
      	* lisp.h (DEFVAR_LISP, DEFVAR_LISP_NOPRO, DEFVAR_BOOL)
      	(DEFVAR_INT): Assume global is in `globals'.
      	* alloc.c (globals): Define.
      29208e82
    • Tom Tromey's avatar
      Declare some DEFVARs globally, not locally · cab0ba98
      Tom Tromey authored
      	* gtkutil.h (x_gtk_use_old_file_dialog, x_gtk_show_hidden_files)
      	(x_gtk_file_dialog_help_text, x_gtk_whole_detached_tool_bar):
      	Declare.
      	* gtkutil.c (xg_uses_old_file_dialog):
      	(xg_get_file_with_chooser):
      	(xg_tool_bar_detach_callback): Don't redeclare globals.
      cab0ba98
  29. 15 Jan, 2011 1 commit
  30. 02 Jan, 2011 1 commit
  31. 11 Aug, 2010 2 commits
    • Jan D's avatar
      Take colors for region face (selected text) from the Gtk+ theme. · 3a46642b
      Jan D authored
      * lisp/dynamic-setting.el (dynamic-setting-handle-config-changed-event):
      Handle theme-name change.
      
      * lisp/faces.el (region): Add type gtk that uses gtk colors.
      
      * src/gtkutil.c (xg_check_special_colors, style_changed_cb): New functions.
      (xg_create_frame_widgets): Connect theme name changes to
      style_changed_cb.
      
      * src/gtkutil.h (xg_check_special_colors): Declare.
      
      * src/xfns.c (x_defined_color): If USE_GTK, call xg_check_special_colors
      first.
      3a46642b
    • Jan D's avatar
      Fix -Wwrite_strings in general and for Gtk+ specific code. · 42ca4633
      Jan D authored
      * callproc.c (synch_process_death): Make const.
      (Fcall_process): Make signame const.
      
      * emacs.c (main): Pass char[] to putenv instead of literal.
      
      * floatfns.c (matherr): Use a const char* variable for x->name.
      
      * font.c (font_open_by_name): Make name const.
      
      * font.h (font_open_by_name): Make name const.
      
      * gtkutil.c (get_utf8_string): Always return an allocated string.
      Parameter is const.
      (create_dialog, xg_create_one_menuitem, create_menus)
      (xg_item_label_same_p, xg_update_menu_item): Free result from
      get_utf8_string.
      (xg_separator_p, xg_item_label_same_p): label is const.
      
      * gtkutil.h: Replace widget_value with struct _widget_value.
      (enum button_type, struct _widget_value): Remove and use the one from
      keyboard.h.
      
      * keyboard.h (_widget_value): Add defined USE_GTK.  Replace Boolean
      with unsigned char and XtPointer with void *.
      
      * menu.c (Fx_popup_menu): error_name is const.
      
      * menu.h (w32_menu_show, ns_menu_show, xmenu_show): error parameter
      is const char **.
      
      * w32menu.c (w32_menu_show):
      * nsmenu.m (ns_menu_show): error parameter is const char **.
      
      * process.h (synch_process_death): Is const char*.
      
      * xmenu.c (Fx_popup_dialog): error_name is const char*.
      (xmenu_show): error parameter is const char **. pane_string is const
      char *.
      (button_names): Is const char *.
      (xdialog_show): error_name and pane_string is const.
      
      * xrdb.c (get_system_app): Make path const and use char *p for non-const
      char.
      
      * xselect.c (Fx_get_atom_name): Use char empty[] instead of literal "".
      
      * xsmfns.c (NOSPLASH_OPT): Change to char[].
      (smc_save_yourself_CB): Do xstrdup on all ->type and ->name for
      props.  Free them at the end.
      
      * xterm.c (emacs_class): New char[] for EMACS_CLASS.
      (xim_open_dpy, xim_initialize, xim_close_dpy): Use emacs_class.
      (x_term_init): Use char[] display_opt and name_opt instead of
      string literal. file is const char*.
      42ca4633
  32. 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
  33. 08 Aug, 2010 1 commit
    • Dan Nicolaescu's avatar
      Use const char* instead of char*. · 675e2c69
      Dan Nicolaescu authored
      * src/xterm.c (x_create_toolkit_scroll_bar):
      * src/xfont.c (xfont_list_pattern):
      * src/xfns.c (x_default_scroll_bar_color_parameter)
      (xic_create_fontsetname, x_default_font_parameter)
      (x_screen_planes):
      * src/xdisp.c (c_string_pos, number_of_chars, reseat_to_string)
      (store_mode_line_string, decode_mode_spec, display_string):
      * src/menu.c (digest_single_submenu):
      * src/keymap.h (initial_define_key, initial_define_lispy_key):
      * src/keymap.c (initial_define_key, initial_define_lispy_key):
      * src/image.c (image_error, image_keyword):
      * src/gtkutil.h (xg_create_widget, xg_create_scroll_bar):
      * src/gtkutil.c (xg_create_widget, xg_create_scroll_bar):
      * src/ftfont.c (struct fc_charset_table, ftfont_spec_pattern)
      (ftfont_list, ftfont_match):
      * src/frame.c (frame_parm_table):
      * src/font.h (font_intern_prop, font_parse_xlfd, font_parse_fcname)
      (font_unparse_fcname, font_unparse_fcname, font_open_by_name)
      (font_add_log, font_deferred_log):
      * src/font.c (font_intern_prop, font_parse_xlfd, font_parse_fcname)
      (font_unparse_fcname, font_unparse_fcname, font_open_by_name)
      (font_add_log, font_deferred_log):
      * src/emacs.c (argmatch):
      * src/dispextern.h (struct it):
      * src/coding.c (ENCODE_DESIGNATION):
      * src/charset.c (define_charset_internal): Use const.
      675e2c69
  34. 01 Aug, 2010 1 commit
    • Jan D's avatar
      Use Gtk+ tooltips by default for Gtk+ Emacs. · aa1859f5
      Jan D authored
      * lisp/cus-start.el (x-gtk-use-system-tooltips): New variable.
      
      * src/gtkutil.c (hierarchy_ch_cb, qttip_cb, xg_prepare_tooltip)
      (xg_show_tooltip, xg_hide_tooltip, xg_free_frame_widgets): New
      functions.
      (xg_create_frame_widgets): Set ttip_* to 0.  Set a dummy tooltip
      text so qttip_cb is called.  Connect query-tooltip to qttip_cb.
      Remove code that is commented out.
      
      * src/gtkutil.h (xg_free_frame_widgets, xg_prepare_tooltip)
      (xg_show_tooltip, xg_hide_tooltip): Declare.
      
      * src/xfns.c (x_gtk_use_system_tooltips): New variable.
      (Fx_show_tip): If USE_GTK and x_gtk_use_system_tooltips, call
      new gtkutil tooltip functions to show the tooltip.
      (Fx_hide_tip): Call xg_hide_tooltip.
      (syms_of_xfns): Defvar x-gtk-use-system-tooltips.
      
      * src/xterm.c (x_clear_frame): Check FRAME_GTK_WIDGET (f) before
      calling gtk_widget_queue_draw.
      (x_free_frame_resources): Call xg_free_frame_widgets.
      
      * src/xterm.h (struct x_output): Add ttip_widget, ttip_window and
      ttip_lbl.
      aa1859f5
  35. 29 Jul, 2010 1 commit
    • Jan Djärv's avatar
      Add ability to put Gtk+ tool bar on the left/right/bottom or top. Default top. · bfeabdc3
      Jan Djärv authored
      * lisp/menu-bar.el (menu-bar-showhide-tool-bar-menu-customize-enable-left)
      (menu-bar-showhide-tool-bar-menu-customize-disable)
      (menu-bar-showhide-tool-bar-menu-customize-enable-right)
      (menu-bar-showhide-tool-bar-menu-customize-enable-top)
      (menu-bar-showhide-tool-bar-menu-customize-enable-bottom): New functions
      (menu-bar-showhide-tool-bar-menu): If tool bar is moveable,
      make a menu for Options => toolbar that can move it.
      
      * src/frame.c (Qtool_bar_position): New variable.
      (make_frame): Set tool_bar_position to Qtop.
      (frame_parms): Add tool-bar-position.
      (x_report_frame_params): Store tool_bar_position.
      (x_set_fringe_width): Reset wm size hint after fringe changes.
      
      * src/frame.h (struct frame): Add tool_bar_position.
      (Qbottom): Declare.
      
      * src/gtkutil.c (FRAME_TOTAL_PIXEL_WIDTH): New macro.
      (xg_frame_set_char_size): Add FRAME_TOOLBAR_WIDTH to pixelwidth.
      (xg_height_or_width_changed): Use FRAME_TOTAL_PIXEL_WIDTH.
      (xg_create_frame_widgets): Create a hobox for placing widgets
      vertically.  Use gtk_box_pack_start.
      (xg_height_or_width_changed): Renamed from xg_height_changed.
      (x_wm_set_size_hint): Add FRAME_TOOLBAR_WIDTH to base_width.
      (xg_update_frame_menubar, free_frame_menubar): Change to
      xg_height_or_width_changed.
      (xg_tool_bar_detach_callback): Update left/right/top/bottom tool bar
      size correctly.  Remove hardcoded 4, instead use handlebox size -
      toolbar size.
      (xg_tool_bar_attach_callback): Update left/right/top/bottom tool bar
      size correctly.  Use handlebox size + toolbar size as additional
      size.
      (xg_pack_tool_bar): POS is a new parameter.
      Set orientation of tool bar based on pos.
      Only make handlebox_widget if NULL.
      Check if tool bar goes to vbox or hbox depending on pos.
      (xg_update_tool_bar_sizes): New function.
      (update_frame_tool_bar): Remove old_req, new_req. Do not get tool bar
      height, call xg_update_tool_bar_sizes instead.
      (free_frame_tool_bar): Remove from hbox or vbox depending on
      toolbar_in_hbox,  Set all FRAME_TOOLBAR_*_(WIDTH|HEIGHT) to zero.
      (xg_change_toolbar_position): New function.
      
      * src/gtkutil.h (xg_change_toolbar_position): Declare.
      
      * src/window.c (calc_absolute_offset): Check for FRAME_TOOLBAR_TOP_HEIGHT
      and FRAME_TOOLBAR_LEFT_WIDTH.
      
      * src/xfns.c (x_set_tool_bar_position): New function.
      (xic_set_statusarea): Use FRAME_TOOLBAR_TOP_HEIGHT.
      (x_frame_parm_handlers): Add x_set_tool_bar_position.
      (syms_of_xfns): if USE_GTK, provide move-toolbar.
      
      * src/xterm.c (x_set_window_size_1): Add FRAME_TOOLBAR_WIDTH to pixelwidth.
      
      * src/xterm.h (struct x_output): Add toolbar_top_height,
      toolbar_bottom_height, toolbar_left_width, toolbar_right_width.  Remove
      toolbar_height.
      if USE_GTK: Add hbox_widget and toolbar_in_hbox.
      (FRAME_TOOLBAR_TOP_HEIGHT, FRAME_TOOLBAR_BOTTOM_HEIGHT)
      (FRAME_TOOLBAR_LEFT_WIDTH, FRAME_TOOLBAR_RIGHT_WIDTH): New macros.
      (FRAME_TOOLBAR_HEIGHT): Is now TOP_HEIGHT + BOTTOM_HEIGHT.
      bfeabdc3
  36. 14 Jul, 2010 1 commit
    • Jan D's avatar
      Fix menus as per bug 6499 and 6608. · b78f9767
      Jan D authored
      * gtkutil.c (xg_event_is_for_menubar): New function (Bug#6499).
      
      * gtkutil.h (xg_event_is_for_menubar): Declare.
      
      * xfns.c (x_menubar_window_to_frame): Take XEvent as second parameter
      instead of Window.  Call xg_event_is_for_menubar when
      USE_GTK (Bug#6499).
      
      * xmenu.c (x_activate_menubar): Revert previous fix for Bug#6499,
      i.e. don't put back ButtonRelease (Bug#6608).
      
      * xterm.c (handle_one_xevent): Pass event to x_menubar_window_to_frame.
      
      * xterm.h (x_menubar_window_to_frame): Second parameter is XEvent*.
      b78f9767
  37. 02 Jul, 2010 1 commit
    • Jan D's avatar
      Remove P_ and __P macros. · 383e0970
      Jan D authored
      * lwlib/lwlib-Xaw.h: Remove P_ and __P macros.
      * lwlib/lwlib-Xlw.h:
      * lwlib/lwlib-Xm.h:
      * lwlib/lwlib-int.h:
      * lwlib/lwlib-utils.h:
      * lwlib/lwlib.h: Likewise.
      
      * src/buffer.h: Remove P_ and __P macros.
      * src/category.h:
      * src/ccl.h:
      * src/character.h:
      * src/charset.h:
      * src/cm.h:
      * src/coding.h:
      * src/composite.h:
      * src/dispextern.h:
      * src/disptab.h:
      * src/font.h:
      * src/fontset.h:
      * src/frame.h:
      * src/gtkutil.h:
      * src/indent.h:
      * src/intervals.h:
      * src/keyboard.h:
      * src/keymap.h:
      * src/lisp.h:
      * src/macros.h:
      * src/md5.h:
      * src/menu.h:
      * src/msdos.h:
      * src/nsterm.h:
      * src/puresize.h:
      * src/region-cache.h:
      * src/syntax.h:
      * src/syssignal.h:
      * src/systime.h:
      * src/termhooks.h:
      * src/w32term.h:
      * src/widget.h:
      * src/window.h:
      * src/xgselect.h:
      * src/xsettings.h:
      * src/xterm.h: Likewise.
      383e0970
  38. 28 Jun, 2010 1 commit
    • Jan D's avatar
      Use non-deprecated Gtk+ functions, add changes for Gtk+3 with GSEAL_ENABLE. · e547b051
      Jan D authored
      * configure.in: Add --with-x-toolkit=gtk3. Remove HAVE_GTK_MULTIDISPLAY,
      check for gtk_file_chooser_dialog_new, and HAVE_GTK_FILE_BOTH (implied
      by minimum required Gtk+ 2.6).  Add checks for functions introduced
      in Gtk+ 2.14 or newer.
      
      * xterm.h (gtk_widget_get_window, gtk_widget_get_mapped)
      (gtk_adjustment_get_page_size, gtk_adjustment_get_upper): New
      defines based on what configure finds.
      
      * xterm.c (XTflash): Use gtk_widget_get_window.
      (xg_scroll_callback): Use gtk_adjustment_get_upper and
      gtk_adjustment_get_page_size.
      (handle_one_xevent): Use gtk_widget_get_mapped.
      (x_term_init): Remove HAVE_GTK_MULTIDISPLAY and associated error
      messages.
      
      * xmenu.c (create_and_show_popup_menu): Call gtk_widget_get_mapped.
      
      * gtkutil.h: Replace HAVE_GTK_FILE_BOTH with
      HAVE_GTK_FILE_SELECTION_NEW.
      
      * gtkutil.c (xg_display_open, xg_display_close): Remove
      HAVE_GTK_MULTIDISPLAY, it is always defined.
      (xg_display_open): Return type is void.
      (gtk_widget_set_has_window)
      (gtk_dialog_get_action_area, gtk_dialog_get_content_area)
      (gtk_widget_get_sensitive, gtk_adjustment_set_page_size)
      (gtk_adjustment_set_page_increment)
      (gtk_adjustment_get_step_increment): #define these if not found
      by configure.
      (remove_submenu): New define based on Gtk+ version.
      (xg_set_cursor, xg_frame_resized, xg_event_is_for_scrollbar): Use
      gtk_widget_get_window.
      (xg_frame_resized, xg_update_frame_menubar): Use gtk_widget_get_mapped.
      (xg_create_frame_widgets): Use gtk_widget_set_has_window.
      (create_dialog): Use gtk_dialog_get_action_area and
      gtk_dialog_get_content_area.
      (xg_uses_old_file_dialog, xg_get_file_name): Remove HAVE_GTK_FILE_BOTH
      and HAVE_GTK_FILE_CHOOSER_DIALOG_NEW.  File chooser is always
      available, so checking for HAVE_GTK_FILE_SELECTION_NEW is enough.
      (xg_update_menubar, xg_update_submenu, xg_show_toolbar_item): Use
      g_object_ref and g_object_unref.
      (xg_update_menu_item, xg_tool_bar_menu_proxy): Use
      gtk_widget_get_sensitive.
      (xg_update_submenu): Use remove_submenu.
      (xg_update_scrollbar_pos): Don't use GtkFixedChild, use child
      properties instead to get old x and y position.
      (xg_set_toolkit_scroll_bar_thumb): Use gtk_adjustment_get_page_size,
      gtk_adjustment_get_step_increment, gtk_adjustment_set_page_size,
      gtk_adjustment_set_step_increment and gtk_adjustment_set_page_increment.
      (xg_get_tool_bar_widgets): New function.
      (xg_tool_bar_menu_proxy, xg_show_toolbar_item)
      (update_frame_tool_bar): Call xg_get_tool_bar_widgets.
      (toolbar_set_orientation): New #define based on if configure
      finds gtk_orientable_set_orientation.
      (xg_create_tool_bar): Call toolbar_set_orientation.
      (xg_make_tool_item, xg_show_toolbar_item): Call gtk_box_pack_start
      instead of gtk_box_pack_start_defaults.
      e547b051