Commit Graph

490 Commits

Author SHA1 Message Date
Paul Eggert
eef9bc799a * xmenu.c (xmenu_show): Don't use uninitialized vars. 2011-04-16 08:38:15 -07:00
Paul Eggert
eb18f6cc66 * xmenu.c (menu_help_callback): Pointer type fixes.
Use const pointers when pointing at readonly data.  Avoid pointer
signedness clashes.
(FALSE): Remove unused macro.
(update_frame_menubar): Remove unused decl.
2011-04-16 08:15:17 -07:00
Paul Eggert
bf501fb940 * xmenu.c (xmenu_show): Rename parm to avoid shadowing. 2011-04-15 22:01:04 -07:00
Paul Eggert
a7ca3326c4 Undo the DEFUN->DEFUE change. 2011-04-13 22:04:02 -07:00
Paul Eggert
6f37259d32 * xmenu.c (x_menu_wait_for_event): Export only if USE_MOTIF.
* xterm.h (x_menu_wait_for_event): Declare only if USE_MOTIF.
2011-04-13 20:04:14 -07:00
Paul Eggert
955cbe7b17 Declare Lisp_Object Q* variables to be 'static' if not exproted.
This makes it easier for human readers (and static analyzers)
to see whether these variables are used from other modules.
* alloc.c, buffer.c, bytecode.c, callint.c, casetab.c, category.c:
* ccl.c, character.c, charset.c, cmds.c, coding.c, composite.c:
* data.c, dbusbind.c, dired.c, editfns.c, eval.c, fileio.c, fns.c:
* font.c, frame.c, fringe.c, ftfont.c, image.c, keyboard.c, keymap.c:
* lread.c, macros.c, minibuf.c, print.c, process.c, search.c:
* sound.c, syntax.c, textprop.c, window.c, xdisp.c, xfaces.c, xfns.c:
* xmenu.c, xselect.c:
Declare Q* vars static if they are not used in other modules.
* ccl.h, character.h, charset.h, coding.h, composite.h, font.h:
* frame.h, intervals.h, keyboard.h, lisp.h, process.h, syntax.h:
Remove decls of unexported vars.
* keyboard.h (EVENT_HEAD_UNMODIFIED): Remove now-unused macro.
2011-04-10 20:39:45 -07:00
Paul Eggert
16a97296c0 Make Emacs functions such as Fatom 'static' by default.
This makes it easier for human readers (and static analyzers)
to see whether these functions can be called from other modules.
DEFUN now defines a static function.  To make the function external
so that it can be used in other C modules, use the new macro DEFUE.
* lisp.h (DEFINE_FUNC): New macro, with the old contents of DEFUN.
(DEFUN): Rewrite in terms of DEFINE_FUNC.  It now generates a
static function definition.  Use DEFUE if you want an extern one.
(DEFUE, INFUN): New macros.
(Funibyte_char_to_multibyte, Fsyntax_table_p, Finit_image_library):
(Feval_region, Fbacktrace, Ffetch_bytecode, Fswitch_to_buffer):
(Ffile_executable_p, Fmake_symbolic_link, Fcommand_execute):
(Fget_process, Fdocumentation_property, Fbyte_code, Ffile_attributes):
Remove decls, since these functions are now static.
(Funintern, Fget_internal_run_time): New decls, since these functions
were already external.
* alloc.c, buffer.c, callint.c, callproc.c, casefiddle.c, casetab.c:
* ccl.c, character.c, chartab.c, cmds.c, coding.c, data.c, dispnew.c:
* doc.c, editfns.c, emacs.c, eval.c, fileio.c, filelock.c, floatfns.c:
* fns.c, font.c, fontset.c, frame.c, image.c, indent.c:
* keyboard.c, keymap.c, lread.c:
* macros.c, marker.c, menu.c, minibuf.c, print.c, process.c, search.c:
* syntax.c, term.c, terminal.c, textprop.c, undo.c:
* window.c, xdisp.c, xfaces.c, xfns.c, xmenu.c, xsettings.c:
Mark functions with DEFUE instead of DEFUN,
if they are used in other modules.
* buffer.c (Fset_buffer_major_mode, Fdelete_overlay): New forward
decls for now-static functions.
* buffer.h (Fdelete_overlay): Remove decl.
* callproc.c (Fgetenv_internal): Mark as internal.
* composite.c (Fremove_list_of_text_properties): Remove decl.
(Fcomposition_get_gstring): New forward static decl.
* composite.h (Fcomposite_get_gstring): Remove decl.
* dired.c (Ffile_attributes): New forward static decl.
* doc.c (Fdocumntation_property): New forward static decl.
* eval.c (Ffetch_bytecode): New forward static decl.
(Funintern): Remove extern decl; now in .h file where it belongs.
* fileio.c (Fmake_symbolic_link): New forward static decl.
* image.c (Finit_image_library): New forward static decl.
* insdel.c (Fcombine_after_change_execute): Make forward decl static.
* intervals.h (Fprevious_property_change):
(Fremove_list_of_text_properties): Remove decls.
* keyboard.c (Fthis_command_keys): Remove decl.
(Fcommand_execute): New forward static decl.
* keymap.c (Flookup_key): New forward static decl.
(Fcopy_keymap): Now static.
* keymap.h (Flookup_key): Remove decl.
* process.c (Fget_process): New forward static decl.
(Fprocess_datagram_address): Mark as internal.
* syntax.c (Fsyntax_table_p): New forward static decl.
(skip_chars): Remove duplicate decl.
* textprop.c (Fprevious_property_change): New forward static decl.
* window.c (Fset_window_fringes, Fset_window_scroll_bars):
Now internal.
(Fset_window_margins, Fset_window_vscroll): New forward static decls.
* window.h (Fset_window_vscroll, Fset_window_margins): Remove decls.
2011-04-10 18:41:15 -07:00
Paul Eggert
e301961642 * xmenu.c (set_frame_menubar): Allocate smaller local vectors.
This also lets GCC 4.6.0 generate slightly better loop code.
2011-04-09 13:39:49 -07:00
Glenn Morris
8546720e6f Merge from emacs-23; up to 2010-06-08T03:06:47Z!dann@ics.uci.edu. 2011-04-09 10:40:29 -07:00
Chong Yidong
65969f63df Fix more GCC strict-aliasing warnings.
* src/ftfont.c (get_adstyle_property, ftfont_pattern_entity): Use
unsigned char, to match FcChar8 type definition.

* src/xmenu.c (create_and_show_popup_menu):
* src/xselect.c (x_decline_selection_request)
(x_reply_selection_request): Avoid type-punned deref of X events.
2011-04-08 16:41:28 -04:00
Paul Eggert
f390e2d53a * xmenu.c (Fx_popup_dialog): Don't assume string is free of formats. 2011-04-05 13:26:55 -07:00
Juanma Barranquero
f868cd8a71 src/*.h: Remove unused parameters and functions.
* keyboard.h (timer_check, show_help_echo): Remove unused parameters.

* keyboard.c (timer_check): Remove parameter `do_it_now',
  unused since 1996-04-12T06:01:29Z!rms@gnu.org.
  (show_help_echo): Remove parameter `ok_to_overwrite_keystroke_echo',
  unused since 2008-04-19T19:30:53Z!monnier@iro.umontreal.ca.

* keyboard.c (read_char):
* w32menu.c (w32_menu_display_help):
* xmenu.c (show_help_event, menu_help_callback):
  Adjust calls to `show_help_echo'.

* gtkutil.c (xg_maybe_add_timer):
* keyboard.c (readable_events):
* process.c (wait_reading_process_output):
* xmenu.c (x_menu_wait_for_event): Adjust calls to `timer_check'.

* insdel.c (adjust_markers_gap_motion):
  Remove; no-op since 1998-01-02T21:29:48Z!rms@gnu.org.
  (gap_left, gap_right): Don't call it.
2011-03-26 02:23:15 +01:00
Paul Eggert
916c72e97a * xmenu.c (set_frame_menubar): Use EMACS_UINT, not int, for indexes
that could (at least in theory) be that large.
2011-03-22 01:59:50 -07:00
Paul Eggert
83316bf404 Merge: Minor changes for problems found by GCC 4.5.2's static checks. 2011-03-10 22:57:50 -08:00
Jan D
0afb4571a7 Updates for compiling with Gtk+ 3.0 (--with-x-toolkit=gtk3).
* configure.in: Require 3.0 for --with-gtk3.  Add HAVE_GTK3.

* doc/emacs/xresources.texi (GTK resources): ~/.emacs.d/gtkrc does not work
for Gtk+ 3.

* src/gtkutil.c: Include gtkx.h if HAVE_GTK3.  If ! HAVE_GTK3, define
gdk_window_get_screen, gdk_window_get_geometry,
gdk_x11_window_lookup_for_display and GDK_KEY_g.
(xg_set_screen): Use DEFAULT_GDK_DISPLAY.
(xg_get_pixbuf_from_pixmap): New function.
(xg_get_pixbuf_from_pix_and_mask): Change parameters from GdkPixmap
to Pixmap, take frame as parameter, remove GdkColormap parameter.
Call xg_get_pixbuf_from_pixmap instead of
gdk_pixbuf_get_from_drawable.
(xg_get_image_for_pixmap): Do not make GdkPixmaps, call
xg_get_pixbuf_from_pix_and_mask with Pixmap parameters instead.
(xg_check_special_colors): Use GtkStyleContext and its functions
for HAVE_GTK3.
(xg_prepare_tooltip, xg_hide_tooltip): Call gdk_window_get_screen.
(xg_prepare_tooltip, create_dialog, menubar_map_cb)
(xg_update_frame_menubar, xg_tool_bar_detach_callback)
(xg_tool_bar_attach_callback, xg_update_tool_bar_sizes): Call
gtk_widget_get_preferred_size.
(xg_frame_resized): gdk_window_get_geometry only takes 5
parameters.
(xg_win_to_widget, xg_event_is_for_menubar): Call
gdk_x11_window_lookup_for_display.
(xg_set_widget_bg): New function.
(delete_cb): New function.
(xg_create_frame_widgets): connect delete-event to delete_cb.
Call xg_set_widget_bg.  Only set backgrund pixmap for ! HAVE_GTK3
(xg_set_background_color): Call xg_set_widget_bg.
(xg_set_frame_icon): Call xg_get_pixbuf_from_pix_and_mask.
(xg_create_scroll_bar): vadj is a GtkAdjustment for HAVE_GTK3.
Only call gtk_range_set_update_policy if ! HAVE_GTK3.
(xg_make_tool_item): Only connect xg_tool_bar_item_expose_callback
if ! HAVE_GTK3.
(update_frame_tool_bar): Call gtk_widget_hide.
(xg_initialize): Use GDK_KEY_g.

* src/xmenu.c (menu_position_func): Call gtk_widget_get_preferred_size.

* src/xsmfns.c (gdk_set_sm_client_id): Define to gdk_set_sm_client_id
if ! HAVE_GTK3
(x_session_initialize): Call gdk_x11_set_sm_client_id.

* src/xterm.c (XFillRectangle): Use cairo routines for HAVE_GTK3.
(x_term_init): Disable Xinput(2) with GDK_CORE_DEVICE_EVENTS.
Load ~/emacs.d/gtkrc only for ! HAVE_GTK3.

* src/xterm.h (DEFAULT_GDK_DISPLAY): New define.
(GDK_WINDOW_XID, gtk_widget_get_preferred_size): New defines
for ! HAVE_GTK3.
(GTK_WIDGET_TO_X_WIN): Use GDK_WINDOW_XID.
2011-03-08 09:34:55 +01:00
Paul Eggert
281585b0bd * xmenu.c (next_menubar_widget_id): Declare only if USE_X_TOOLKIT,
since it's unused otherwise.
2011-03-06 22:46:29 -08:00
Paul Eggert
6d1f7feeda * xmenu.c (xmenu_show, xdialog_show, xmenu_show): Make local pointers "const"
since they might point to immutable storage.
2011-03-06 22:43:11 -08:00
Paul Eggert
d432397227 * xmenu.c (xmenu_show): Rename parameter to avoid shadowing. 2011-03-06 22:23:15 -08:00
Paul Eggert
9d66f88eb9 * xmenu.c (set_frame_menubar): Remove unused local. 2011-03-06 14:36:06 -08:00
Paul Eggert
032f16205d * xmenu.c (menu_highlight_callback): Now static. 2011-03-06 14:34:54 -08:00
Jan Djärv
3928f2b67e Use *font for Xft font names for Lucid menus and dialogs.
* doc/emacs/xresources.texi (X Resources): Remove *faceName and replace it with
*font for Lucid.

* lwlib/lwlib-Xaw.c (make_dialog): Use *font even for Xft fonts.  Try
XLoadQueryFont first and then Xft fonts.

* lwlib/xlwmenu.c (xlwmenu_default_font): Remove, does not work for
multi-display.
(xlwMenuResources): Remove XtNfaceName and XtNdefaultFace.
Make XtNFont a String resource.
(make_windows_if_needed): Call XFlush so later changes are seen by the
X server.
(remap_menubar): Use XtMoveWidget and then
XtResizeWidget/XtResizeWindow after XtPopup.  Works better with
Compiz.
(make_drawing_gcs): Check if mw->menu.font is set.
(getDefaultXftFont): New function.
(openXftFont): faceName is now fontName.  Try XLoadQueryFont first
and then XftFontOpenName.
(XlwMenuInitialize): Initialize mw->menu.font with XLoadQueryFont.
(XlwMenuClassInitialize): Remove initialization of
xlwmenu_default_font.
(fontname_changed): Renamed from facename_changed.
(XlwMenuSetValues): Use facename_changed.

* lwlib/xlwmenu.h: Remove Xt[CN]faceName and Xt[NC]defaultFace.

* lwlib/xlwmenuP.h (_XlwMenu_part): Remove faceName.  Add fontName.

* src/xmenu.c (apply_systemfont_to_dialog): Apply to *dialog.font.
(apply_systemfont_to_menu): Set resources *menubar*font and
*popup*font.  Remove defflt.
(set_frame_menubar, create_and_show_popup_menu): Call
apply_systemfont_to_menu before lw_create_widget.

* src/xrdb.c (x_load_resources): For LUCID and XFT, don't put a
resource that specifies helvetica for menus and dialogs.
2011-02-14 18:21:10 +01:00
Paul Eggert
cc618f4e69 * xmenu.c: conform to C89 const rules
(xmenu_show, xdialog_show): Declare local var as char *, not
const char *, to stay compatible with C89 const rules.
2011-02-05 01:49:52 -08:00
Glenn Morris
95df8112a0 Refill some long/short copyright headers. 2011-01-26 00:36:39 -08:00
Glenn Morris
73b0cd5003 Convert consecutive FSF copyright years to ranges. 2011-01-24 20:08:28 -08:00
Paul Eggert
51b59d794f Promote SSDATA macro from gtkutil.c and xsmfns.c to lisp.h. 2011-01-22 18:56:06 -08:00
Stefan Monnier
77ab81d054 Merge from emacs-23 2011-01-14 12:18:41 -05:00
Glenn Morris
5df4f04cd3 Add 2011 to FSF/AIST copyright years. 2011-01-02 15:50:46 -08:00
Dan Nicolaescu
c865c57571 * src/xmenu.c: Make it clear that ../lwlib/lwlib.h is only needed for Motif. 2010-11-13 14:20:01 -08:00
Eli Zaretskii
d009ae66b4 Unify mouse highlight code of MSDOS and GUI sessions.
xdisp.c (coords_in_mouse_face_p): Move prototype out of the
 HAVE_WINDOW_SYSTEM conditional.
 (x_y_to_hpos_vpos, frame_to_window_pixel_xy): Move out of the
 HAVE_WINDOW_SYSTEM block.
 (try_window_id) [HAVE_GPM || MSDOS]: Call
 x_clear_window_mouse_face.
 (draw_row_with_mouse_face): Implementation for HAVE_WINDOW_SYSTEM
 systems.
 (show_mouse_face): Call it, instead of calling draw_glyphs directly.
 (show_mouse_face, clear_mouse_face, coords_in_mouse_face_p)
 (cursor_in_mouse_face_p, rows_from_pos_range)
 (mouse_face_from_buffer_pos, mouse_face_from_string_pos)
 (note_mode_line_or_margin_highlight, note_mouse_highlight)
 (x_clear_window_mouse_face, cancel_mouse_face): Move out of the
 HAVE_WINDOW_SYSTEM block.  Ifdef away window-system specific
 fragments.
 (note_mouse_highlight): Call popup_activated for MSDOS as well.
 Clear mouse highlight if pointer is over glyphs whose OBJECT is an
 integer.
 (mouse_face_from_buffer_pos): Add parentheses around && within ||.
 xmenu.c (popup_activated): Don't define on MSDOS.
 dispnew.c (mirror_make_current): Set Y coordinate of the
 mode-line and header-line rows.
 termchar.h (struct tty_display_info): Define mouse_face_*
 members not only for MSDOS.  Delete stray whitespace.
 <mouse_face_beg_x, mouse_face_beg_y, mouse_face_overlay>: New
 struct members.
 dispextern.h (DPYINFO_DEFINED) [HAVE_X_WINDOWS]: Define.
 (DPYINFO_DEFINED) [HAVE_NTGUI]: Define.
 (DPYINFO_DEFINED) [HAVE_NS]: Define.
 (Display_Info) [!DPYINFO_DEFINED]: Define here.
 (FRAME_X_DISPLAY_INFO) [HAVE_GPM]: Define.
 (FRAME_X_DISPLAY_INFO): Define to NULL if not defined.
 (frame_to_window_pixel_xy, note_mouse_highlight)
 (x_clear_window_mouse_face, cancel_mouse_face, clear_mouse_face)
 (show_mouse_face, cursor_in_mouse_face_p): Move prototypes out of
 HAVE_WINDOW_SYSTEM conditional.
 (draw_row_with_mouse_face): Declare prototype.
 msdos.h (Display_Info): Don't define here.
 msdos.c (show_mouse_face, clear_mouse_face)
 (fast_find_position, IT_note_mode_line_highlight)
 (IT_note_mouse_highlight): Functions deleted.
 (IT_frame_up_to_date, dos_rawgetc): Call note_mouse_highlight
 instead of IT_note_mouse_highlight.
 (draw_row_with_mouse_face, popup_activated): New functions.
2010-10-30 15:09:52 +02:00
Jan D
dee186b61d Fix compilation with Motif (Bug#7263).
* src/xfns.c: Include Xm/TextF and Xm/List.
(file_dialog_cb, file_dialog_unmap_cb, clean_up_file_dialog): Make
ANSI prototypes.

* src/xmenu.c: Revert 2010-07-27 change: lwlib.h is needed for
MOTIF (Bug#7263).

* src/xrdb.c: Include keyboard.h for MOTIF.
2010-10-22 07:49:47 +02:00
Eli Zaretskii
38e41e0e78 Fix compilation error in xmenu.c for non-toolkit builds.
xmenu.c (xmenu_show) [!USE_X_TOOLKIT && !USE_GTK]: Fix argument list
 to be consistent with menu.h.
2010-08-13 11:32:13 +03:00
Jan D
42ca463309 Fix -Wwrite_strings in general and for Gtk+ specific code.
* 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*.
2010-08-11 14:34:46 +02:00
Juanma Barranquero
a11889abf9 Fix changes in 2010-08-05T23:15:24Z!dann@ics.uci.edu..2010-08-05T23:34:12Z!dann@ics.uci.edu for Windows build.
* dired.c (compile_pattern):
* syssignal.h (signal_handler_t): Restore declarations.

* w32font.c (Qlatin): Remove declaration.

* menu.h (xmalloc_widget_value, digest_single_submenu): Declare.
* xmenu.c [USE_X_TOOLKIT || USE_GTK]:
  Don't declare xmalloc_widget_value and digest_single_submenu.
2010-08-06 02:16:24 +02:00
Dan Nicolaescu
04bab72cc6 Remove extern declarations in .c files, .h files have them.
* 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.
2010-08-05 16:34:12 -07:00
Dan Nicolaescu
e6cba65065 Remove extern declarations from .c files, and them to .h files.
* 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.
2010-07-28 22:48:06 -07:00
Dan Nicolaescu
71c7345a4d * src/xmenu.c: Do not included lwlib.h, not needed. 2010-07-26 21:12:42 -07:00
Chong Yidong
fea9cabd27 Merge changes from emacs-23 branch. 2010-07-16 11:42:15 -04:00
Jan D
23243f2971 * xmenu.c (free_frame_menubar): Only call x_set_window_size if
widget is non-null (Bug#6645).
2010-07-16 09:50:37 +02:00
Andreas Schwab
2b23d2a6b1 * xmenu.c (create_and_show_popup_menu, xmenu_show): Fix type of timestamp argument. 2010-07-15 23:53:32 +02:00
Jan D
cf28cebc2e Fix menu bar activation with click for Motif/Lesstif.
* src/xdisp.c (pending_menu_activation): Remove extern declaration.
(prepare_menu_bars): Remove setting of pending_menu_activation.

* src/xmenu.c (pending_menu_activation): Remove.
(x_activate_menubar): Set popup_activated_flag for Xt also. Remove
setting of pending_menu_activation.
(set_frame_menubar): Remove check of pending_menu_activation.
Declare menubar_size before code.  Correct spelling in comment.

* src/xterm.c (xm_scroll_callback, x_process_timeouts): K&R => prototype.
(SET_SAVED_KEY_EVENT): Remove (not used).
(SET_SAVED_MENU_EVENT): Rename to SET_SAVED_BUTTON_EVENT and
remove size parameter.
(handle_one_xevent): Check popup_activated () for menu for Xt also.
Remove #ifdef USE_GTK around finish = X_EVENT_DROP.
Remove #ifdef USE_MOTIF code that did SET_SAVED_BUTTON_EVENT for
ButtonRelease.
2010-07-14 16:32:25 +02:00
Jan D
b78f97676f Fix menus as per bug 6499 and 6608.
* 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*.
2010-07-14 12:05:53 +02:00
Dan Nicolaescu
0521f5806b Convert function definitions to standard C.
* src/xterm.c (x_scroll_bar_set_handle, x_scroll_bar_expose)
(_scroll_bar_note_movement): Convert definitions to standard C.
* src/xmenu.c (menu_help_callback, pop_down_menu, xmenu_show):
* src/xfns.c (hack_wm_protocols, x_window, x_window): Likewise.
2010-07-12 12:56:46 -07:00
Dan Nicolaescu
ebd156110c Convert function definitions to standard C.
* src/xterm.c (x_frame_of_widget, x_alloc_nearest_color_for_widget)
(x_alloc_lighter_color_for_widget, cvt_string_to_pixel)
(cvt_pixel_dtor, x_window_to_menu_bar, xt_action_hook)
(xaw_jump_callback, xaw_scroll_callback)
(x_create_toolkit_scroll_bar, x_set_toolkit_scroll_bar_thumb)
(x_wm_set_size_hint, x_activate_timeout_atimer): Convert
definitions to standard C.
* src/xmenu.c (menubar_id_to_frame, popup_get_selection)
(popup_activate_callback, popup_deactivate_callback)
(menu_highlight_callback, menubar_selection_callback)
(apply_systemfont_to_dialog, apply_systemfont_to_menu)
(free_frame_menubar, popup_selection_callback, as)
(create_and_show_popup_menu, dialog_selection_callback)
(create_and_show_dialog):
* src/xfns.c (hack_wm_protocols, x_window):
* src/xfaces.c (x_update_menu_appearance):
* src/widget.c (get_default_char_pixel_size, pixel_to_char_size)
(char_to_pixel_size, round_size_to_char, get_wm_shell)
(set_frame_size, update_wm_hints, setup_frame_gcs)
(update_various_frame_slots, update_from_various_frame_slots)
(EmacsFrameInitialize, EmacsFrameRealize, EmacsFrameResize)
(EmacsFrameSetValues, EmacsFrameQueryGeometry)
(EmacsFrameSetCharSize, widget_store_internal_border): Likewise.
2010-07-12 12:29:49 -07:00
Chong Yidong
2ec1b5ee34 Merge changes from emacs-23 branch. 2010-07-10 14:52:53 -04:00
Jan D
723f5a070c Fix frame sizing for Lucid/Motif/Lesstif.
* xfns.c (x_window): Set borderWidth to 0 for pane and
EmacsFrame.  Frame size calculation is wrong otherwise.

* xmenu.c (set_frame_menubar): Must realize menubar_widget to get the
correct size for Motif.
(free_frame_menubar): Call x_set_window_size to update frame size.
2010-07-09 18:39:51 +02:00
Dan Nicolaescu
5842a27bbf Convert DEFUNs to standard C.
* 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.
2010-07-08 14:25:08 -07:00
Jan D
5221405074 Fix compilation for Motif/Lesstif.
* xmenu.c (set_frame_menubar, create_and_show_popup_menu)
(create_and_show_dialog): Don't call apply_systemfont_to_(menu|dialog)
unless USE_LUCID.
2010-07-08 12:35:54 +02:00
Andreas Schwab
72af86bd8c Replace bcopy, bzero, bcmp by memcpy, memmove, memset, memcmp
* 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.
2010-07-08 00:18:28 +02:00
Dan Nicolaescu
971de7fb15 Convert (most) functions in src to standard C.
* src/alloc.c: Convert function definitions to standard C.
* src/atimer.c:
* src/bidi.c:
* src/bytecode.c:
* src/callint.c:
* src/callproc.c:
* src/casefiddle.c:
* src/casetab.c:
* src/category.c:
* src/ccl.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/doprnt.c:
* src/ecrt0.c:
* src/editfns.c:
* src/fileio.c:
* src/filelock.c:
* src/filemode.c:
* src/fns.c:
* src/font.c:
* src/fontset.c:
* src/frame.c:
* src/fringe.c:
* src/ftfont.c:
* src/ftxfont.c:
* src/gtkutil.c:
* src/indent.c:
* src/insdel.c:
* src/intervals.c:
* src/keymap.c:
* src/lread.c:
* src/macros.c:
* src/marker.c:
* src/md5.c:
* src/menu.c:
* src/minibuf.c:
* src/prefix-args.c:
* src/print.c:
* src/ralloc.c:
* src/regex.c:
* src/region-cache.c:
* src/scroll.c:
* src/search.c:
* src/sound.c:
* src/strftime.c:
* src/syntax.c:
* src/sysdep.c:
* src/termcap.c:
* src/terminal.c:
* src/terminfo.c:
* src/textprop.c:
* src/tparam.c:
* src/undo.c:
* src/unexelf.c:
* src/window.c:
* src/xfaces.c:
* src/xfns.c:
* src/xfont.c:
* src/xftfont.c:
* src/xgselect.c:
* src/xmenu.c:
* src/xrdb.c:
* src/xselect.c:
* src/xsettings.c:
* src/xsmfns.c:
* src/xterm.c: Likewise.
2010-07-04 00:50:25 -07:00
Jan D
ad3e6f4474 Fix hang for mouse press on menubar but not on an item (Bug#6499).
* xmenu.c (x_activate_menubar): Send Press/Release for Gtk+ to avoid
grab on just Press (Bug#6499).
2010-07-03 11:38:44 +02:00