1
Fork 0
mirror of git://git.sv.gnu.org/emacs.git synced 2026-01-09 05:01:02 -08:00
Commit graph

35005 commits

Author SHA1 Message Date
Barry O'Reilly
ba355de014 Signal error when reading an empty byte-code object (Bug#15405)
* lread.c (read1): signal error
* alloc.c (make_byte_code): eassert header size
(sweep_vectors): change an int to size_t
2013-09-25 23:46:47 -04:00
Paul Eggert
cf647d9300 * dispnew.c (clear_glyph_row, copy_row_except_pointers): Use enums
instead of ints, as it's the usual style for offsetof constants.  See:
http://lists.gnu.org/archive/html/emacs-devel/2013-09/msg00478.html
2013-09-24 08:29:27 -07:00
Paul Eggert
4710d6f406 * data.c (POPCOUNT_STATIC_INLINE): New macro, as a hack for popcount.
This is ugly, but it should fix the performance problem for older
GCC versions in the short run.  I'll look into integrating the
Gnulib module for popcount, as a better fix.
See the thread starting in:
http://lists.gnu.org/archive/html/emacs-devel/2013-09/msg00474.html
(popcount_size_t_generic) [NEED_GENERIC_POPCOUNT]:
(popcount_size_t_msc) [USE_MSC_POPCOUNT]:
(popcount_size_t_gcc) [USE_GCC_POPCOUNT]:
(popcount_size_t): Use it.
2013-09-24 07:53:49 -07:00
Daniel Colascione
10ebac9d6a Fix build break due to vector changes 2013-09-24 03:48:53 -08:00
Paul Eggert
9da0f50e5a * dispnew.c (clear_glyph_row, copy_row_except_pointers):
Prefer signed to unsigned integers where either will do.
No need for 'const' on locals that do not escape.
Omit easserts with unnecessary and unportable assumptions about
alignment.  Avoid unnecessary casts to char *.
2013-09-24 00:16:38 -07:00
Dmitry Antipov
d6d9cbc15c Use union for the payload of struct Lisp_Vector.
This helps to avoid a few glitches dictated by C's aliasing rules.
* lisp.h (struct Lisp_Vector): Use union for next and
contents member.  Adjust comment.  Change related users.
* alloc.c (next_in_free_list, set_next_in_free_list): Remove.
Related users changed.
* buffer.c, bytecode.c, ccl.c, character.h, chartab.c, composite.c:
* composite.h, disptab.h, fns.c, fontset.c, indent.c, keyboard.c:
* lread.c, msdos.c, process.c, w32menu.c, window.c, xdisp.c:
* xfaces.c, xfont.c, xmenu.c: Related users changed.
2013-09-24 10:43:20 +04:00
Dmitry Antipov
ec7bc82f9c Optimize glyph row clearing and copying routines.
* dispextern.h (struct glyph_row): Change layout of struct
glyph_row to help copy_row_except_pointers.  Adjust comment.
* dispnew.c (null_row): Remove.
(clear_glyph_row): Use offsetof and memset to find and clear
just the members that need clearing.  Adjust comment.
(copy_row_except_pointers): Likewise for copying.
2013-09-24 09:42:30 +04:00
Paul Eggert
7be68de5d2 Some minor cleanups of recently-added bool vector code.
* conf_post.h (assume): Always return void.  Use lint version
only if GCC and MSC versions don't apply.
* conf_post.h (assume):
* data.c (USC_MSC_POPCOUNT, count_trailing_zero_bits):
Depend on _MSC_VER, not __MSC_VER, for consistency with
the rest of Emacs.
* data.c (bool_vector_spare_mask, popcount_size_t_generic)
(popcount_size_t_msc, popcount_size_t_gcc, popcount_size_t)
(bool_vector_binop_driver, count_trailing_zero_bits)
(size_t_to_host_endian): Now static, not static inline;
the latter isn't needed with modern compilers and doesn't
work with older compilers anyway.
2013-09-23 21:28:06 -07:00
Paul Eggert
d160dd0c71 * alloc.c (valgrind_p): Use bool for boolean. 2013-09-23 20:44:58 -07:00
Dmitry Antipov
3a6a78fd25 * dispextern.h (cancel_line, init_desired_glyphs):
Remove ancient leftover.
2013-09-23 17:46:20 +04:00
Dmitry Antipov
e08813d023 * xdisp.c (noninteractive_need_newline, message_log_need_newline)
(overlay_arrow_seen, message_enable_multibyte, line_number_displayed)
(display_last_displayed_message_p, message_buf_print)
(message_cleared_p, help_echo_showing_p, hourglass_shown_p):
Use bool for boolean.
* dispextern.h (help_echo_showing_p, hourglass_shown_p):
* lisp.h (noninteractive_need_newline): Adjust declaration.
2013-09-23 17:25:19 +04:00
Dmitry Antipov
5492865b79 * dispnew.c (frame_garbaged, selected_frame, last_nonminibuf_frame):
Move to...
* frame.c (frame_garbaged, selected_frame, last_nonminibuf_frame):
...this file and convert the latter to static.  Adjust comment.
(make_initial_frame):
* window.c (init_window_once): Adjust user.
* frame.h (last_nonminibuf_frame): Remove declaration.
* lisp.h (selected_frame): Likewise.
* msdos.c (the_only_display_info): Adjust comment.
2013-09-23 13:50:47 +04:00
Eli Zaretskii
b519df2390 Fix last commit.
src/xdisp.c (note_mouse_highlight): Adapt calculation of last argument to
 mouse_face_from_string_pos to the previous change.

Fixes: debbugs:15437
2013-09-23 12:28:57 +03:00
Eli Zaretskii
f03eddbff6 Fix bug #15437 with mouse highlight on overlay strings.
src/xdisp.c (mouse_face_from_string_pos): Fix off-by-one error in
 computing the end column of mouse-highlight that comes from
 display or overlay strings.
2013-09-23 12:18:38 +03:00
Eli Zaretskii
cd548fa41b Fix the definition of 'assume' for GCC older than 4.5.
src/conf_post.h (__has_builtin): Define to zero, if undefined, on
 all platforms, not just for clang.
2013-09-23 11:25:48 +03:00
Jan Djärv
8762e52438 Suppress some unhelpful warnings when using clang.
* configure.ac: With clang, check for and use -Wno-switch,
-Wno-tautological-constant-out-of-range-compare and -Wno-pointer-sign.

* conf_post.h(assume): Use __builtin_unreachable for clang.

* src/filelock.c (lock_file_1): Rearrange to remove compiler warning
about excess arguments to snprintf.
2013-09-23 09:12:01 +02:00
Juanma Barranquero
d4a9284f20 src/w32console.c, src/w32term.c: Remove unused variables.
src/w32console.c (initialize_w32_display): Remove unused variable hlinfo.
src/w32term.c (w32_scroll_bar_handle_click): Remove unused variable f.
2013-09-23 05:30:55 +02:00
Daniel Colascione
a84683fdd5 Tell valgrind about conservative GC regions and suppress spurious
warings.

* alloc.c (USE_VALGRIND): New macro; on by default
when ENABLE_CHECKING.
(mark_maybe_object,mark_maybe_pointer)
[USE_VALGRIND]: Mark conservatively-scanned regions valid for
valgrind purposes.
(valgrind_p) [USE_VALGRIND]: New variable.
(init_alloc) [USE_VALGRIND]: Initialize valgrind_p.
2013-09-22 18:34:52 -08:00
Jan Djärv
fb83ea63a5 Fix compiler warnings from XCode 5.0 on OSX.
* nsterm.m (setMarkedText:selectedRange:):
(deleteWorkingText):
* nsmenu.m (addDisplayItemWithImage:idx:tag:helpText:enabled:):
* nsfont.m (ns_get_covering_families, ns_findfonts): Cast NSLog
argument to unsigned long to avoid warning.
(nsfont_draw): Use 0.25 instead of  Fix2X (kATSItalicQDSkew).

* process.c (wait_reading_process_output): Change int pnamelen to
socklen_t.
2013-09-22 16:26:10 +02:00
Jan Djärv
8fef36c6ff * conf_post.h (assume): Fix compiler error: x shall be cond. 2013-09-22 13:07:17 +02:00
Daniel Colascione
cd9356f211 Suppress unused variable warning when compiling without a window system. 2013-09-22 01:48:21 -08:00
Daniel Colascione
3e0b94e7ff Add set operations for bool-vector.
http://lists.gnu.org/archive/html/emacs-devel/2013-09/msg00404.html

* data.c (Qbool_vector_p): New symbol.
(bool_vector_spare_mask,popcount_size_t_generic)
(popcount_size_t_msc,popcount_size_t_gcc)
(popcount_size_t)
(bool_vector_binop_driver)
(count_trailing_zero_bits,size_t_to_host_endian)
(Fbool_vector_exclusive_or)
(Fbool_vector_union)
(Fbool_vector_intersection,Fbool_vector_set_difference)
(Fbool_vector_subsetp,Fbool_vector_not)
(Fbool_vector_count_matches)
(Fbool_vector_count_matches_at): New functions.
(syms_of_data): Intern new symbol, functions.
* alloc.c (bool_vector_payload_bytes): New function.
(Fmake_bool_vector): Instead of calling Fmake_vector,
which performs redundant initialization and argument checking,
just call allocate_vector ourselves.  Make sure we clear any
terminating padding to zero.
(vector_nbytes,sweep_vectors): Use bool_vector_payload_bytes
instead of open-coding the size calculation.
(vroundup_ct): New macro.
(vroundup): Assume argument >= 0; invoke vroundup_ct.
* casetab.c (shuffle,set_identity): Change lint_assume to assume.
* composite.c (composition_gstring_put_cache): Change
lint_assume to assume.
* conf_post.h (assume): New macro.
(lint_assume): Remove.
* dispnew.c (update_frame_1): Change lint_assume to assume.
* ftfont.c (ftfont_shape_by_flt): Change lint_assume
to assume.
* image.c (gif_load): Change lint_assume to assume.
* lisp.h (eassert_and_assume): New macro.
(Qbool_vector_p): Declare.
(CHECK_BOOL_VECTOR,ROUNDUP,BITS_PER_SIZE_T): New macros.
(swap16,swap32,swap64): New inline functions.
* macfont.c (macfont_shape): Change lint_assume to assume.
* ralloc.c: Rename ROUNDUP to PAGE_ROUNDUP throughout.
* xsettings.c (parse_settings): Use new swap16 and
swap32 from lisp.h instead of file-specific macros.
2013-09-22 01:31:55 -08:00
Eli Zaretskii
76880d884d Fix bug #15365 with aborts in try_window_id.
src/xdisp.c (try_window_id): Don't abort if cursor row could not be
 found (which can legitimately happen when the glyph row at the
 window start is disabled in the current_matrix.
2013-09-22 10:13:14 +03:00
Paul Eggert
c6cfd9101e Fix syntax.h bug introduced by recent INLINE change.
syntax.h defined an extern inline function SYNTAX_ENTRY that was
conditionally compiled one way in some modules, and a different
way in others.  This doesn't work with extern inline functions,
which must have the same definition in all modules, because the
defining code might be shared across modules, depending on the
implementation.  Symptoms reported by Martin Rudalics in:
http://lists.gnu.org/archive/html/emacs-devel/2013-09/msg00414.html
* regex.c, syntax.c (SYNTAX_ENTRY_VIA_PROPERTY): Remove.
(SYNTAX, SYNTAX_ENTRY, SYNTAX_WITH_FLAGS): New macros,
overriding the corresponding functions in syntax.h.
* syntax.h (syntax_property_entry, syntax_property_with_flags)
(syntax_property): New inline functions.
(SYNTAX_ENTRY, SYNTAX_WITH_FLAGS, SYNTAX):
Rewrite in terms of these new functions.
2013-09-21 23:22:05 -07:00
Eli Zaretskii
b3f1d1198a Fix bug #15426 with directory-files invoked from a unibyte buffer.
src/dired.c (directory_files_internal): Use multibyte_chars_in_text,
 not chars_in_text, whose result depends on the multibyteness of
 the current buffer.
2013-09-21 14:48:19 +03:00
Paul Eggert
e3b29769a8 Port recent change to hosts where pointers aren't 'long'.
* xterm.c (x_send_scroll_bar_event, x_scroll_bar_to_input_event):
Don't assume that pointers are the same width as 'long'.
Add a compile-time check that a pointer fits into two X slots.
2013-09-20 13:23:20 -07:00
Paul Eggert
00382e8b98 A simpler, centralized INLINE.
* lib-src/profile.c (INLINE): New macro.
(SYSTIME_INLINE): Remove.
* src/conf_post.h (INLINE): Define only if not already defined.
This allows us to use a single INLINE, defined by one file
per executable.
* src/emacs.c (INLINE): Define it.
Also, include category.h, charset.h, composite.h, dispextern.h,
syntax.h, systime.h, so that their INLINE definitions are expanded
properly for Emacs.
* src/blockinput.h, src/keyboard.c (BLOCKINPUT_INLINE):
* src/buffer.h, src/buffer.c (BUFFER_INLINE):
* src/category.h, src/category.c (CATEGORY_INLINE):
* src/character.h, src/character.c (CHARACTER_INLINE):
* src/charset.h, src/charset.c (CHARSET_INLINE):
* src/composite.h, src/composite.c (COMPOSITE_INLINE):
* src/dispextern.h, src/dispnew.c (DISPEXTERN_INLINE):
* src/frame.h, src/frame.c (FRAME_INLINE):
* src/intervals.h, src/intervals.c (INTERVALS_INLINE):
* src/keyboard.h, src/keyboard.c (KEYBOARD_INLINE):
* src/lisp.h, src/alloc.c (LISP_INLINE):
* src/process.h, src/process.c (PROCESS_INLINE):
* src/syntax.h, src/syntax.c (SYNTAX_INLINE):
* src/systime.h, src/sysdep.c (SYSTIME_INLINE):
* src/termhooks.h, src/terminal.h (TERMHOOKS_INLINE):
* src/window.h, src/window.c (WINDOW_INLINE):
Remove.  All uses replaced with INLINE.
2013-09-20 08:34:36 -07:00
Dmitry Antipov
2b943ba689 * xterm.c (handle_one_xevent): Revert part of 2013-09-17 change
to avoid Bug#15398.
2013-09-20 07:30:50 +04:00
Eli Zaretskii
13d9698ae4 Fix a compiler warning on MS-Windows due to recent changes.
src/w32reg.c (w32_get_string_resource): Make the first 2 arguments
 'const char *' to avoid compiler warnings due to similar change in
 the prototype of x_get_string_resource.
2013-09-19 11:25:43 +03:00
Dmitry Antipov
ced135ebdb * xterm.h (struct x_display_info): New members last_mouse_glyph_frame,
last_mouse_scroll_bar, last_mouse_glyph and last_mouse_movement_time,
going to replace static variables below.  Adjust comments.
* xterm.c (last_mouse_glyph, last_mouse_glyph_frame)
(last_mouse_scroll_bar, last_mouse_movement_time): Remove.
(note_mouse_movement, XTmouse_position, x_scroll_bar_note_movement)
(x_scroll_bar_report_motion, handle_one_xevent, syms_of_xterm):
Related users changed.
* w32term.h (struct w32_display_info): New members last_mouse_glyph_frame,
last_mouse_scroll_bar, last_mouse_scroll_bar_pos, last_mouse_glyph and
last_mouse_movement_time, going to replace static variables below.
Adjust comments.
* w32term.c (last_mouse_glyph_frame, last_mouse_scroll_bar)
(last_mouse_scroll_bar_pos, last_mouse_glyph, last_mouse_movement_time):
Remove.
(note_mouse_movement, w32_mouse_position, w32_scroll_bar_handle_click)
(x_scroll_bar_report_motion, syms_of_w32term): Related users changed.
* nsterm.h (struct ns_display_info): New members last_mouse_glyph,
last_mouse_movement_time and last_mouse_scroll_bar, going to replace
static variables below.
* nsterm.m (last_mouse_glyph, last_mouse_movement_time)
(last_mouse_scroll_bar): Remove.
(note_mouse_movement, ns_mouse_position, mouseMoved, mouseEntered)
(mouseExited): Related users changed.
2013-09-19 11:48:53 +04:00
Dmitry Antipov
091f1e1f29 Do not use external array to process X scroll bar messages.
* xterm.c (scroll_bar_windows, scroll_bar_windows_size): Remove.
(x_send_scroll_bar_event): Pack window pointer into two slots
of XClientMessageEvent if we're 64-bit.  Adjust comment.
(x_scroll_bar_to_input_event): Unpack accordingly.
2013-09-19 09:21:32 +04:00
Dmitry Antipov
abd49271db * w32term.c (note_mouse_movement): Fix last change. 2013-09-18 17:18:39 +04:00
Dmitry Antipov
582ed56ca8 Ifdef away recent changes which aren't relevant to NS port.
* dispextern.h (x_mouse_grabbed, x_redo_mouse_highlight)
[!HAVE_NS]: Declare as such.
* frame.c (x_mouse_grabbed, x_redo_mouse_highlight)
[!HAVE_NS]: Define as such.
2013-09-18 13:33:36 +04:00
Dmitry Antipov
18da0d8ad4 * frame.c (x_redo_mouse_highlight): New function
to factor out common code used in W32 and X ports.
* dispextern.h (x_redo_mouse_highlight): Add prototype.
* xterm.h (struct x_display_info):
* w32term.h (struct w32_display_info):
* nsterm.h (struct ns_display_info): New members
last_mouse_motion_frame, last_mouse_motion_x and
last_mouse_motion_y, going to replace static variables below.
* xterm.c (last_mouse_motion_event, last_mouse_motion_frame)
(redo_mouse_highlight): Remove.
(note_mouse_movement, syms_of_xterm): Adjust user.
(handle_one_xevent): Likewise.  Use x_redo_mouse_highlight.
* w32term.c (last_mouse_motion_event, last_mouse_motion_frame)
(redo_mouse_highlight): Remove.
(note_mouse_movement, syms_of_w32term): Adjust user.
(w32_read_socket): Likewise.  Use x_redo_mouse_highlight.
* nsterm.m (last_mouse_motion_position, last_mouse_motion_frame):
Remove.
(note_mouse_movement, mouseMoved, syms_of_nsterm):
* nsfns.m (compute_tip_xy): Adjust user.
2013-09-18 13:23:10 +04:00
Dmitry Antipov
7a0c745ad1 * frame.c (x_mouse_grabbed): New function.
* dispextern.h (x_mouse_grabbed): Add prototype.
(last_mouse_frame): Remove declaration.
* xterm.h (struct x_display_info):
* w32term.h (struct w32_display_info):
* nsterm.h (struct ns_display_info): New member
last_mouse_frame, going to replace...
* xdisp.c (last_mouse_frame): ...global variable.
(note_tool_bar_highlight):
* w32term.c (w32_mouse_position, w32_read_socket):
* xterm.c (XTmouse_position, handle_one_xevent):
Use x_mouse_grabbed.
* nsterm.m (ns_mouse_position, mouseDown): Adjust user.
2013-09-18 10:48:11 +04:00
Dmitry Antipov
0791d107ed * w32term.c (w32_read_socket): Avoid temporary
variables in a call to x_real_positions.
* xterm.c (handle_one_xevent): Likewise.
2013-09-17 19:57:45 +04:00
Dmitry Antipov
2cd9881277 * frame.h (x_set_bitmap_icon) [!HAVE_NS]: New function.
(x_icon_type): Remove prototype.
(x_bitmap_icon) [!HAVE_NS]: Declare as such.
* frame.c (x_icon_type): Remove.
* w32term.c (x_make_frame_visible, x_iconify_frame):
* xterm.c (x_make_frame_visible, x_iconify_frame):
Use x_set_bitmap_icon to factor out common code.
2013-09-17 16:59:45 +04:00
Dmitry Antipov
a6c2ee1b72 * dispextern.h (check_x_display_info, x_get_string_resource):
Declare here just once and unify the latter.
* frame.c (check_x_display_info, x_get_string_resource):
* nsterm.h (check_x_display_info):
* xrdb.c (x_get_string_resource):
* xterm.h (check_x_display_info): Remove prototypes.
* nsfns.m (x_get_string_resource): Likewise.  Adjust definition.
* w32reg.c (x_get_string_resource): Likewise.
(w32_get_rdb_resource): Adjust user.
2013-09-17 16:27:21 +04:00
Dmitry Antipov
baed360360 * xterm.h (struct x_display_info): New member
x_pending_autoraise_frame, going to replace...
* xterm.c (pending_autoraise_frame): ...static variable.
(x_new_focus_frame, XTread_socket): Adjust users.
* w32term.h (struct w32_display_info): New member
w32_pending_autoraise_frame, going to replace...
* w32term.c (pending_autoraise_frame): ...global variable.
(x_new_focus_frame, w32_read_socket): Adjust users.
2013-09-17 12:24:20 +04:00
Glenn Morris
90582f05bc Add a major-mode for the *Messages* buffer
Ref: http://lists.gnu.org/archive/html/emacs-devel/2010-02/msg00135.html

* lisp/simple.el (messages-buffer-mode): New major mode.
(messages-buffer): New function.

* lisp/startup.el (normal-top-level): Switch mode of *Messages* buffer.

* src/xdisp.c (message_dolog): If we create *Messages*,
switch it to messages-buffer-mode.

* lisp/emacs-lisp/ert.el (ert--force-message-log-buffer-truncation)
(ert-run-test): Use `message-buffer' function.
(ert--force-message-log-buffer-truncation): Ignore read-only.

* lisp/help.el (view-echo-area-messages): Use `message-buffer' function.

* lisp/mail/emacsbug.el (report-emacs-bug): Use `message-buffer' function.

* lisp/gnus/gnus-util.el (gnus-message-with-timestamp-1):
Use `message-buffer' function if available.  Ignore read-only.

* etc/NEWS: Mention this.
2013-09-17 00:39:54 -07:00
Dmitry Antipov
33b83dd70c * xterm.c (toplevel) [USE_MOTIF]: Include xlwmenu.h to pacify GCC. 2013-09-17 11:36:35 +04:00
Paul Eggert
b7ad2f7401 Don't overuse 'const' in types of locals.
* 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.
2013-09-17 00:06:42 -07:00
Dmitry Antipov
1893694e3e * xterm.c (handle_one_xevent): Do not call to x_clear_area
if GTK >= 2.7.0.
2013-09-17 10:57:30 +04:00
Dmitry Antipov
19452b8665 * configure.ac: Do not check for g_type_init because we
require glib >= 2.28 for GTK3, glib >= 2.10 for GTK2,
glib >= 2.26 for GSettings and glib >= 2.7.0 for GConf, so
suitable glib should provide g_type_init unconditionally.
* src/image.c (fn_g_type_init) [WINDOWSNT]: Define and load
only if Glib < 2.36.0.
(fn_g_type_init) [!WINDOWSNT]: Define only if Glib < 2.36.0.
* src/xsettings.c (init_gconf, init_gsettings): Do not check
for g_type_init.
2013-09-17 10:33:24 +04:00
Jan Djärv
3f386383dc * xsettings.c (init_gconf, init_gsettings): Check for Glib 2.36.0
before calling g_type_init.
2013-09-16 20:17:35 +02:00
Jan Djärv
6434e34375 Fix syms_of_(mac|ms)font calls.
* font.c (syms_of_font): Move call to syms_of_(ns|mac)font ...

* nsterm.m (syms_of_nsterm): ... to here.
2013-09-16 17:55:02 +02:00
Dmitry Antipov
83a119f8d8 * xterm.c (toolkit_scroll_bar_interaction): Use bool for boolean.
(ignore_next_mouse_click_timeout): Use Time as X does.
(handle_one_xevent): Avoid cast and use unsigned comparison.
2013-09-16 15:23:03 +04:00
Dmitry Antipov
61582e6aad Do not copy X event in handle_one_xevent except KeyPress case.
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.
2013-09-16 14:41:41 +04:00
Dmitry Antipov
f8eb15727a Fix X event waiting to handle multiple frames.
* frame.h (struct frame) [HAVE_X_WINDOWS]: New member wait_event_type.
* xterm.c (pending_event_wait): Remove.  Adjust users.
(x_detect_focus_change): Pass frame arg.
(handle_one_xevent): Find related frame early and clear per-frame
wait_event_type only if this is an event for the relevant frame.
(x_wait_for_event): Use per-frame wait_event_type.
2013-09-16 11:27:51 +04:00
Jan Djärv
745d3809b6 Fix compilation for GNUStep due to font changes.
* font.c (syms_of_font): Check MAC_OS_X_VERSION_MAX_ALLOWED >= 1050
for syms_of_macfont.

* nsfns.m (Fx_create_frame): Fix font driver registration for
GNUStep.
2013-09-15 21:43:32 +02:00