Stefan Monnier
fde38d4978
* lisp/finder.el (finder-compile-keywords): Don't mess with windows.
...
* lisp/net/eww.el (eww-display-raw): Remove unused argument `charset'.
Update call to it.
(eww-change-select): Remove unused var `properties'.
(eww-make-unique-file-name): Remove unused var `base'.
2013-09-03 15:49:54 -04:00
Dmitry Antipov
bc923770d2
* buffer.c (drop_overlay):
...
* fileio.c (restore_point_unwind): Prefer unchain_marker to
Fset_marker (X, Qnil, ...) (which is the same but a bit slower).
2013-09-03 18:40:09 +04:00
Dmitry Antipov
b1cf96dec7
* buffer.c (Fmake_overlay, Fmove_overlay):
...
* intervals.c (set_point_from_marker):
* print.c (PRINTPREPARE): Prefer signal_error
to plain error and report unsuitable marker too.
2013-09-03 17:29:38 +04:00
Dmitry Antipov
ec5e750402
* xfns.c, image.c (XLIB_ILLEGAL_ACCESS): No longer needed.
2013-09-03 16:41:35 +04:00
Dmitry Antipov
d1ae6a0bca
* xterm.h (struct x_output): Remove set-but-unused
...
leftovers 'left_before_move' and 'top_before_move'.
* xterm.c (x_set_offset): User changed.
2013-09-03 16:02:01 +04:00
Dmitry Antipov
d1fc6c21a8
* xterm.h (struct scroll_bar): Prefer int to Lisp_Object
...
for 'dragging' member.
* gtkutil.c (xg_set_toolkit_scroll_bar_thumb):
* xterm.c (xt_action_hook, xm_scroll_callback, xg_scroll_callback)
(xg_end_scroll_callback, xaw_jump_callback, xaw_scroll_callback)
(x_set_toolkit_scroll_bar_thumb, x_scroll_bar_create)
(x_scroll_bar_set_handle, XTset_vertical_scroll_bar)
(x_scroll_bar_handle_click, x_scroll_bar_note_movement)
(x_scroll_bar_report_motion): Related users changed.
2013-09-03 13:35:47 +04:00
Jan Djärv
0ce9f6de64
* nsfont.m (INVALID_GLYPH): New define.
...
(nsfont_encode_char): Use INVALID_GLYPH.
(ns_uni_to_glyphs): Ditto, check for NSNullGlyph.
Fixes: debbugs:15138
2013-09-03 08:56:25 +02:00
Martin Rudalics
9718b207e9
Move Flast_nonminibuf_frame from dispnew.c to frame.c.
...
* dispnew.c (Flast_nonminibuf_frame): Move from here ...
* frame.c (Flast_nonminibuf_frame): ... to here.
2013-09-02 19:23:26 +02:00
Dmitry Antipov
b594a96c87
* xterm.c (x_last_mouse_movement_time): Revert last change.
...
This code should use XDisplayMotionBufferSize to check display's
motion history first, and there are few other issues as well.
(x_scroll_bar_note_movement): Pass XMotionEvent rather than XEvent.
(handle_one_xevent): Adjust user.
2013-09-02 19:48:59 +04:00
Martin Rudalics
8b09823660
In check_minibuf_window don't abort if no window was found (Bug#15247).
...
* frame.c (check_minibuf_window): Don't abort if no window was
found (Bug#15247).
2013-09-02 14:22:21 +02:00
Dmitry Antipov
fc85e20be1
* xterm.c (handle_one_xevent): Use event.xunmap and not event.xmap when
...
handling UnmapNotify event.
2013-09-02 15:24:11 +04:00
Dmitry Antipov
def74bdc48
* xterm.c (x_last_mouse_movement_time) [X_MOTION_HISTORY]: Fix last change.
2013-09-02 14:37:06 +04:00
Dmitry Antipov
84e70bbae4
Use XGetMotionEvents to ask the last mouse motion time from X server.
...
* xterm.c (X_MOTION_HISTORY): Default to 1.
(x_last_mouse_movement_time) [X_MOTION_HISTORY]: New function.
(x_last_mouse_movement_time) [!X_MOTION_HISTORY]: Legacy version.
(note_mouse_movement, x_scroll_bar_note_movement) [!X_MOTION_HISTORY]:
Ifdef away legacy code.
(XTmouse_position, x_scroll_bar_report_motion):
Use x_last_mouse_movement_time.
2013-09-02 12:45:32 +04:00
Dmitry Antipov
1fccc53063
* msdos.c (last_mouse_window): Move to...
...
(dos_rawgetc): ...this function and adjust comment.
* nsterm.m (last_window): Rename to last_mouse_window, move to...
(mouseMoved): ...this function and adjust comment.
* w32term.c (last_window): Likewise with...
(w32_read_socket): ...this function.
* xterm.c (last_window): Likewise with...
(handle_one_xevent): ...this function.
2013-09-02 10:45:04 +04:00
Dmitry Antipov
b7da754d21
* window.h (Vmouse_window, Vmouse_event): Remove the leftovers.
2013-09-02 10:12:26 +04:00
Dmitry Antipov
0ab10992ed
* xterm.c (toplevel): Drop obsolete comment and move compose_status...
...
(handle_one_xevent): ...to here.
(STORE_KEYSYM_FOR_DEBUG): Move under ENABLE_CHECKING and make no-op
otherwise.
2013-09-02 09:59:35 +04:00
Dmitry Antipov
0c7f856e9f
* msdos.c (IT_set_terminal_window): Remove no-op.
...
(initialize_msdos_display): Adjust terminal setup.
* w32console.c (w32con_set_terminal_window): Remove no-op.
(initialize_w32_display): Adjust terminal setup.
* w32term.c (w32_set_terminal_window): Remove no-op.
(w32_create_terminal): Adjust terminal setup.
* xterm.c (XTset_terminal_window): Remove no-op.
(x_create_terminal): Adjust terminal setup.
2013-09-02 07:39:06 +04:00
Dmitry Antipov
a892a94c42
* nsterm.m (ns_set_terminal_modes, ns_reset_terminal_modes):
...
Remove no-ops.
(ns_create_terminal): Adjust terminal setup.
* w32term.c (w32_set_terminal_modes, w32_reset_terminal_modes):
Remove no-ops.
(w32_create_terminal): Adjust terminal setup.
* xterm.c (XTset_terminal_modes, XTreset_terminal_modes):
Remove no-ops.
(x_create_terminal): Adjust terminal setup.
2013-09-01 20:39:20 +04:00
Dmitry Antipov
cf91889acb
* dispextern.h (SET_TEXT_POS_FROM_MARKER): Indent.
...
(CLIP_TEXT_POS_FROM_MARKER): New macro.
* dispnew.c (buffer_posn_from_coords):
* window.c (Fwindow_end, displayed_window_lines):
* xdisp.c (redisplay_mode_lines): Use it.
2013-09-01 20:21:48 +04:00
Jan Djärv
5b0891df61
* fontset.c (face_for_char): Check char in the current face font first
...
if HAVE_NS.
Fixes: debbugs:15138
2013-09-01 11:59:19 +02:00
Martin Rudalics
0a357e98dc
In temp_output_buffer_show make sure window returned by display_buffer is live (Bug#15213).
...
* window.c (temp_output_buffer_show): Make sure window returned
by display_buffer is live (Bug#15213).
2013-08-31 11:22:53 +02:00
Dmitry Antipov
9d7693d74c
Minor cleanup to avoid forward declarations.
...
* 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.
2013-08-30 16:17:44 +04:00
Dmitry Antipov
032f74518a
* intervals.c (set_point_from_marker): New function.
...
* editfns.c (Fgoto_char):
* process.c (Finternal_default_process_filter):
* window.c (select_window_1): Use it.
* buffer.h (set_point_from_marker): Add prototype.
2013-08-29 20:36:54 +04:00
Eli Zaretskii
3f940c5aa6
A possible fix for bug #14333 with hanging at exit on MS-Windows.
...
src/w32.c (term_winsock): Call release_listen_threads before calling
WSACleanup.
(_sys_wait_accept): Wait for accept event in a loop with a finite
timeout, instead of waiting indefinitely. Will hopefully avoid
hanging during exit because WSACleanup deadlocks waiting for the
event object to be released.
src/w32proc.c (release_listen_threads): New function, signals all
the reader threads that listen for connections to stop waiting.
src/w32.h (release_listen_threads): Add prototype.
2013-08-29 18:32:04 +03:00
Dmitry Antipov
20de2834a5
* lisp.h (XSETMARKER): Remove unused macro (it doesn't work
...
anyway because XMISCTYPE is a function and can't be an lvalue).
2013-08-29 19:28:45 +04:00
Dmitry Antipov
101ed2bbbd
* alloc.c (Fmake_marker, build_marker): Zero need_adjustment
...
field of new marker (for sanity and safety).
2013-08-29 15:22:28 +04:00
Dmitry Antipov
1f5cf2009a
* xterm.c (x_clear_area): Lost 7th arg because it is always False.
...
(x_after_update_window_line, x_scroll_bar_create):
(x_scroll_bar_set_handle, XTset_vertical_scroll_bar):
(handle_one_xevent, x_clear_frame_area):
* gtkutil.c (xg_clear_under_internal_border, xg_update_scrollbar_pos):
* xfns.c (x_set_menu_bar_lines, x_set_tool_bar_lines): Adjust users.
* xterm.h (x_clear_area): Adjust prototype.
2013-08-29 11:27:27 +04:00
Dmitry Antipov
d2b3681358
Hook scanning and indentation functions to find_newline. This helps
...
to avoid duplicated code and renders more respect to newline cache.
* lisp.h (scan_newline): Prefer ptrdiff_t to EMACS_INT.
* cmds.c (Fforward_line):
* indent.c (scan_for_column, Fcurrent_indentation, indented_beyond_p):
Use find_newline and avoid unnecessary point movements.
* search.c (scan_newline): Implement on top of find_newline.
2013-08-29 11:03:18 +04:00
Stefan Monnier
3ec7babc5c
* src/eval.c (Ffuncall): Fix handling of ((lambda ..) ..) in lexically
...
scoped code.
Fixes: debbugs:11258
2013-08-28 14:27:26 -04:00
Jan Djärv
5ab473cdda
* nsterm.m (last_window): New variable.
...
(EV_TRAILER2): New macro.
(EV_TRAILER): Call EV_TRAILER2.
(mouseMoved:): Add support for mouse-autoselect-window
on nextstep.
Fixes: debbugs:6888
2013-08-28 18:20:15 +02:00
Andreas Schwab
78779650d6
* regex.c (CHAR_CHARSET, CHARSET_LEADING_CODE_BASE, CHAR_HEAD_P)
...
(SINGLE_BYTE_CHAR_P, SAME_CHARSET_P, MAKE_CHAR, BYTE8_TO_CHAR):
Remove unused macro definitions.
(CHARSET_RANGE_TABLE_BITS, EXTEND_RANGE_TABLE)
(SET_RANGE_TABLE_WORK_AREA_BIT, SET_RANGE_TABLE_WORK_AREA): Only
define if emacs.
2013-08-28 15:50:55 +02:00
Dmitry Antipov
c3c4768d2b
Prefer enum glyph_row_area to int where appropriate.
...
* dispextern.h (enum glyph_row_area): Add ANY_AREA member.
Fix comment.
(window_box, window_box_width, window_box_left, window_box_left_offset)
(window_box_right, window_box_right_offset): Adjust prototypes.
* xdisp.c (window_box, window_box_width, window_box_left)
(window_box_left_offset, window_box_right, window_box_right_offset):
Use enum glyph_row_area. Adjust users and tweak comment where needed.
(window_box_edges): Likewise. Lost 2nd arg since it is always ANY_AREA.
* nsterm.m (ns_clip_to_row):
* w32term.c (w32_clip_to_row):
* xterm.c (x_clip_to_row): Likewise.
2013-08-28 15:00:03 +04:00
Dmitry Antipov
6bdcbfe1e3
* buffer.c (Foverlays_at, Foverlays_in, Fnext_overlay_change)
...
(Fprevious_overlay_change): Fast path for buffer with no overlays.
2013-08-28 12:33:12 +04:00
Paul Eggert
50b13cdedb
* Makefile.in (SHELL): Now @SHELL@, not /bin/sh,
...
for portability to hosts where /bin/sh has problems.
2013-08-27 23:01:52 -07:00
Dmitry Antipov
f60e429a1a
Redesign redisplay interface to drop global output_cursor.
...
* dispextern.h (struct redisplay_interface): Remove cursor_to member.
(toplevel): Remove declaration of output_cursor.
(set_output_cursor, x_cursor_to): Remove prototype.
* window.h (struct window): New member output_cursor.
(output_cursor_to): New function to replace RIF member.
* dispnew.c (redraw_overlapped_rows, update_marginal_area)
(update_text_area, set_window_cursor_after_update): Use it.
* xdisp.c (output_cursor, set_output_cursor, x_cursor_to): Remove.
(x_write_glyphs, x_insert_glyphs, x_clear_end_of_line):
* nsterm.m (ns_update_window_begin, ns_update_window_end):
* w32term.c (x_update_window_begin, x_update_window_end):
* xterm.c (x_update_window_begin, x_update_window_end):
Adjust to use per-window output cursor.
2013-08-28 09:45:38 +04:00
Paul Eggert
d486344e6f
Simplify SELECT_TYPE-related code.
...
Like EMACS_TIME, this portability layer is no longer needed, since
Emacs has been using fd_set as a portability layer for some time.
* sysselect.h (FD_SETSIZE): Rename from MAXDESC. All uses changed.
(SELECT_TYPE): Remove. All uses changed to fd_set.
(fd_set) [!FD_SET]: New typedef.
2013-08-27 12:36:28 -07:00
Paul Eggert
43aac990c3
Simplify EMACS_TIME-related code.
...
This portability layer is no longer needed, since Emacs has been
using struct timespec as a portability layer for some time.
Merge from gnulib, incorporating:
2013-08-27 timespec: new convenience constants and function
* src/atimer.h, src/buffer.h, src/dispextern.h, src/xgselect.h:
Include <time.h> rather than "systime.h"; that's all that's needed now.
* src/dispnew.c: Include <timespec.h> rather than "systime.h";
that's all that's needed now.
* src/systime.h (EMACS_TIME): Remove. All uses changed to struct timespec.
(EMACS_TIME_RESOLUTION): Remove. All uses changed to
TIMESPEC_RESOLUTION.
(LOG10_EMACS_TIME_RESOLUTION): Remove. All uses changed to
LOG10_TIMESPEC_RESOLUTION.
(EMACS_SECS, emacs_secs_addr): Remove. All uses changed to tv_sec.
(EMACS_NSECS): Remove. All uses changed to tv_nsec.
(make_emacs_time): Remove. All used changed to make_timespec.
(invalid_timespec): Rename from invalid_emacs_time. All uses changed.
(current_timespec): Rename from current_emacs_time. All uses changed.
(add_emacs_time): Remove. All uses changed to timespec_add.
(sub_emacs_time): Remove. All uses change dot timespec_sub.
(EMACS_TIME_SIGN): Remove. All uses changed to timespec_sign.
(timespec_valid_p): Rename from EMACS_TIME_VALID_P. All uses changed.
(EMACS_TIME_FROM_DOUBLE): Remove. All uses changed to dtotimespec.
(EMACS_TIME_TO_DOUBLE): Remove. All uses changed to timespectod.
(current_timespec): Rename from current_emacs_time. All uses changed.
(EMACS_TIME_EQ, EMACS_TIME_LT, EMACS_TIME_LE): Remove. All uses
changed to timespec_cmp.
* src/xgselect.c: Include <timespec.h>, since our .h files don't.
2013-08-27 11:47:55 -07:00
Dmitry Antipov
d350e350ea
* xterm.h (FONT_TYPE_FOR_UNIBYTE, FONT_TYPE_FOR_MULTIBYTE:)
...
* nsterm.h (FONT_TYPE_FOR_UNIBYTE, FONT_TYPE_FOR_MULTIBYTE):
Remove the leftovers.
* gtkutil.c (toplevel): Do not declare Qxft but include
font.h to do so.
* image.c (toplevel): Do not declare Vlibrary_cache because
it's already done in lisp.h.
2013-08-27 08:23:54 +04:00
Dmitry Antipov
9fed97293c
* lisp.h (Mouse_HLInfo): Move from here...
...
* dispextern.h (Mouse_HLInfo): ...to here and offload lisp.h.
(reset_mouse_highlight): New function.
* msdos.c (dos_set_window_size, IT_update_begin)
(internal_terminal_init):
* nsterm.m (ns_update_window_end, x_free_frame_resources)
(ns_initialize_display_info):
* w32console.c (initialize_w32_display):
* w32term.c (x_update_window_end, x_free_frame_resources)
(w32_initialize_display_info):
* xterm.c (x_update_window_end, x_free_frame_resources, x_term_init):
* window.c (Fdelete_other_windows_internal):
* xdisp.c (clear_mouse_face, cancel_mouse_face): Use it.
* termchar.h (toplevel):
* xterm.h (toplevel): Include dispextern.h.
2013-08-27 07:52:21 +04:00
Paul Eggert
f462f0750f
Fix minor problems found by static checking.
...
* image.c (XGetPixel, XPutPixel) [HAVE_NS]: Now static.
(expect): Avoid nested-if warning.
(x_build_heuristic_mask) [HAVE_NS]: Avoid unused-var warning.
* nsmenu.m (fillWithWidgetValue:): Avoid type warning.
* nsterm.h, nsterm.m (ns_select):
* xgselect.c, xgselect.h (xg_select):
Adjust signature to better match pselect's.
* nsterm.m (ns_select):
Don't set *TIMEOUT, since pselect doesn't.
* regex.c (whitespace_regexp): Now const_re_char *, to avoid
diagnostic about assigning const char * to it.
* xfaces.c (x_display_info) [HAVE_NS]: Remove; unused.
2013-08-26 14:31:50 -07:00
Stefan Monnier
068f9124b4
* src/lread.c (substitute_object_recurse): Handle hash-tables as well.
...
Fixes: debbugs:15190
2013-08-26 16:33:21 -04:00
Paul Eggert
1fc8eb33f5
Fix unlikely core dump in init_tty, and simplify terminfo case.
...
* term.c (init_tty) [TERMINFO]: Fix check for buffer overrun.
The old version incorrectly dumped core if malloc returned a
buffer containing only non-NUL bytes.
(init_tty): Do not allocate or free termcap buffers; the
struct does that for us now.
* termchar.h (TERMCAP_BUFFER_SIZE) [!TERMINFO]: New constant.
(struct tty_display_info): Define members termcap_term_buffer and
termcap_strings_buffer only if !TERMINFO, since terminfo doesn't
use them. Allocate them directly in struct rather than indirectly
via a pointer, to simplify init_tty.
2013-08-26 11:10:30 -07:00
Paul Eggert
f5adc984fb
* frame.c (check_minibuf_window): Initialize 'window' properly,
...
so that Emacs reliably aborts later if 'window' is not initialized.
2013-08-26 10:31:00 -07:00
Dmitry Antipov
447218dd74
Fix ChangeLog typo.
2013-08-26 20:29:52 +04:00
Jan Djärv
efec3894b2
* gtkutil.c (xg_initialize): Set gtk-menu-bar-accel to "" instead
...
of VoidSymbol.
Fixes: debbugs:15154
2013-08-26 17:44:56 +02:00
Dmitry Antipov
e1d0341e25
* lisp.h (Mouse_HLInfo): Drop set-but-unused members
...
mouse_face_beg_y and mouse_face_end_y.
* xdisp.c (note_tool_bar_highlight, mouse_face_from_buffer_pos)
(mouse_face_from_string_pos, note_mode_line_or_margin_highlight):
Adjust users and update comment where appropriate.
2013-08-26 18:00:55 +04:00
Martin Rudalics
bfff644518
New function check_minibuf_window to fix bug#15183.
...
* frame.c (check_minibuf_window): New function.
(delete_frame, Fmake_frame_invisible, Ficonify_frame): Call
check_minibuf_window (Bug#15183).
2013-08-26 14:39:08 +02:00
Dmitry Antipov
c80016b3c1
* window.h (struct window): Replace last_cursor with last_cursor_vpos
...
because this is the only last cursor data we need to keep and consult.
* window.c (replace_window, set_window_buffer, Fsplit_window_internal):
* xdisp.c (mark_window_display_accurate_1, try_cursor_movement):
Adjust users.
2013-08-26 13:33:37 +04:00
Dmitry Antipov
de3967312f
Fix recovering from possible decompression error. Since
...
insert_from_gap doesn't always move point, we can't use PT as
the position where the partially decompressed data ends, and
should count how may bytes was produced so far.
* decompress.c (struct decompress_unwind_data): Add nbytes member.
(unwind_decompress): Really delete partially uncompressed data.
(Fzlib_decompress_region): Take decompressed data size into account.
2013-08-26 09:32:47 +04:00
Dmitry Antipov
1570ae92dc
* alloc.c (sweep_vectors): Do not initialize 'block' twice.
2013-08-26 09:26:06 +04:00