Dmitry Antipov
2e120be4e9
* dispextern.h (PREPARE_FACE_FOR_DISPLAY): Remove as a duplicate of ...
...
* xfaces.c (prepare_face_for_display) [HAVE_WINDOW_SYSTEM]: ... this
function. Also adjust comment.
* fringe.c, w32term.c, xdisp.c, xterm.c: All users changed.
2014-06-10 07:13:41 +04:00
Paul Eggert
feb6546cdf
Say (accept-process-output P)'s result pertains to P if P is non-nil.
...
* doc/lispref/processes.texi (Accepting Output):
* src/process.c (Faccept_process_output)
(wait_reading_process_output): Mention that if PROCESS is non-nil,
the return value is about PROCESS, not about other processes.
2014-06-09 13:31:06 -07:00
Dmitry Antipov
2c70e6b00a
Further adjustments to mark_object and friends.
...
Now the mark_object's stack is just 32 bytes on a 64-bit
system, which means extra 20% off the stack usage.
* alloc.c (mark_save_value): As before, refactored out from ...
(mark_object): ... adjusted user. Also add comment.
2014-06-09 19:03:49 +04:00
Paul Eggert
f4454d5215
Fix core dump after a dropped X connection.
...
* sysdep.c (stuff_char): Don't abort merely because the selected frame
is dead, as we may be shutting down.
Fixes: debbugs:17704
2014-06-09 07:50:57 -07:00
Glenn Morris
fd60bf6c90
Merge from emacs-24; up to 2014-06-02T11:35:40Z!michael.albinus@gmx.de
2014-06-08 16:41:43 -07:00
Paul Eggert
ff2d0e8336
If a C name must be extern on some platforms, make it extern on all.
...
* dispextern.h (set_vertical_scroll_bar, erase_phys_cursor)
(load_color):
* font.h (ftxfont_driver) [HAVE_XFT]:
* keyboard.h (menu_items_inuse, ignore_mouse_drag_p, make_ctrl_char):
* lisp.h (get_frame_param):
* menu.h (tty_menu_show):
* process.h (conv_sockaddr_to_lisp, catch_child_signal):
* termhooks.h (encode_terminal_code):
* xterm.h (x_menu_wait_for_event):
Always declare.
* frame.c (get_frame_param):
* fringe.c (max_used_fringe_bitmap):
* ftxfont.c (ftxfont_driver):
* keyboard.c (ignore_mouse_drag_p, make_ctrl_char):
* menu.c (menu_items_inuse):
* process.c (conv_sockaddr_to_lisp, catch_child_signal):
* term.c (encode_terminal_code, tty_menu_show):
* xdisp.c (set_vertical_scroll_bar, erase_phys_cursor):
* xfaces.c (load_color):
* xmenu.c (x_menu_wait_for_event):
Now always extern.
2014-06-08 11:27:22 -07:00
Dmitry Antipov
83f1450065
Change object marking routines to minimize stack usage.
...
This change moves a few cold paths from mark_object to NO_INLINE
functions and adjusts symbol marking loop. According to GCC 4.8.2
-Wstack-usage, this reduces mark_object's stack usage from 80 to
48 bytes on a 64-bit system. For a long byte-force-recompile runs,
stack usage at the mark phase is reduced up to 28%. Surprisingly,
it also gains up to 3% in speed (with default '-O2 -g3' flags).
* alloc.c (mark_compiled, mark_localized_symbol): New functions,
refactored out from ...
(mark_object): ... adjusted user. Also mark symbols in a tight
inner loop.
(mark_face_cache): Add NO_INLINE.
2014-06-08 19:06:03 +04:00
Glenn Morris
6cbdfa0115
* src/fileio.c (write-region-inhibit-fsync): Doc tweak.
2014-06-07 17:59:05 -07:00
Glenn Morris
7b385b0201
Doc tweaks re < etc
...
* doc/lispref/numbers.texi (Comparison of Numbers): Copyedits.
* src/data.c (Flss, Fgtr, Fleq, Fgeq): Doc tweaks.
2014-06-07 17:51:10 -07:00
Glenn Morris
36cf8493af
Merge from emacs-24; up to 2014-06-01T23:37:59Z!eggert@cs.ucla.edu
2014-06-07 17:35:27 -07:00
Eli Zaretskii
3f2f9b6aff
Fix last commit.
...
src/term.c (tty_menu_show) [WINDOWSNT]: Make tty_menu_show extern
only for WINDOWSNT.
src/menu.h (tty_menu_show) [WINDOWSNT]: Declare extern only for WINDOWSNT.
2014-06-07 10:25:49 +03:00
Paul Eggert
5dda54d600
* term.c (tty_menu_show) [!HAVE_NTGUI]: Now static.
...
* menu.h (tty_menu_show) [!HAVE_NTGUI]: Omit extern decl.
2014-06-06 12:33:19 -07:00
Stefan Monnier
3da983f8c4
* src/window.c (Frecenter): Signal an error if window-buffer is not
...
current-buffer.
2014-06-06 10:37:05 -04:00
Stefan Monnier
631de55bc1
* lisp/mouse.el (mouse-posn-property): Ignore buffer position info when the
...
even happened elsewhere.
* src/keyboard.c (make_lispy_position): Don't include a buffer position in
mode/header-line mouse events.
2014-06-05 22:35:17 -04:00
Stefan Monnier
79b0d21638
* src/keyboard.c (read_char): Handle (t . <event>) in the second use of
...
Vunread_command_events.
Fixes: debbugs:17650
2014-06-05 22:22:40 -04:00
Dmitry Antipov
b77205c029
* xterm.c (x_setup_pointer_blanking): Conditionally
...
probe Xfixes until this stuff is stabilized (Bug#17609).
2014-06-06 05:11:26 +04:00
Dmitry Antipov
ea633fff4c
* configure.ac (POLL_FOR_INPUT): Define with HAVE_WINDOW_SYSTEM.
...
* nt/inc/ms-w32.h (POLL_FOR_INPUT): Likewise.
* src/keyboard.c, src/process.c: Do not define POLL_FOR_INPUT here
because it will be defined in generated config.h if needed.
2014-06-05 10:24:54 +04:00
Eli Zaretskii
b1b4013662
src/menu.c (Fx_popup_dialog): Comment the use of Qunsupported__w32_dialog.
2014-06-04 18:16:54 +03:00
Dmitry Antipov
680a6ad932
Use terminal-specific hooks to display popup dialogs.
...
* termhooks.h (struct terminal): New field popup_dialog_hook.
* menu.c (emulate_dialog_with_menu): New function, refactored from ...
(Fx_popup_dialog): ... adjusted user. Also remove old #if 0
code and use popup_dialog_hook.
* nsmenu.m (ns_popup_dialog): Make hook-compatible.
* nsterm.h (ns_popup_dialog): Adjust prototype.
* nsterm.m (ns_create_terminal):
* w32term.c (w32_create_terminal):
* xterm.c (x_create_terminal) [USE_X_TOOLKIT || USE_GTK]: Setup
popup_dialog_hook.
2014-06-04 18:59:09 +04:00
Eli Zaretskii
350aea695f
Fix last commit.
2014-06-04 15:00:34 +03:00
Eli Zaretskii
a7f999dc5f
Improve dumped memory report on MS-Windows.
...
src/w32heap.c (report_temacs_memory_usage): Improve the report by
reporting the large blocks that are actually occupied at dump time.
2014-06-04 14:46:51 +03:00
Eli Zaretskii
6032a3e831
Fix infloop of -nw session at exit on MS-Windows under a debugger.
...
src/sysdep.c (reset_sys_modes): Use cursorX, not curX, as the latter
contains garbage on WINDOWSNT (which could potentially infloop at
exit).
2014-06-04 13:54:58 +03:00
Eli Zaretskii
d13adf6ddc
Attempt to solve bug #17497 by minimizing cursor motion during TTY menu updates.
...
src/term.c (tty_menu_display): Don't position cursor here. Instead,
pass the cursor coordinates to update_frame_with_menu.
(tty_menu_activate): Send the hide cursor command only once in an
iteration through the outer 'while' loop.
src/dispnew.c (update_frame_1): Accept an additional argument
SET_CURSOR_P, and position the cursor at the end of the frame
update only if that argument is non-zero. All callers changed to
provide the additional argument as non-zero, except for
update_frame_with_menu.
(update_frame_with_menu): Accept 2 additional arguments ROW and
COL; if they are non-negative, instruct update_frame_1 not to
position the cursor, and instead position it according to ROW and
COL.
src/dispextern.h (update_frame_with_menu): Update prototype.
2014-06-04 12:16:46 +03:00
Eli Zaretskii
5dff48b0f8
Fix TTY menus on MS-Windows broken by last commit.
...
src/w32console.c (initialize_w32_display): Set the console
menu_show_hook, otherwise TTY menus on w32 crash and burn.
2014-06-04 10:54:16 +03:00
Dmitry Antipov
cfd794af42
Use terminal-specific hooks to display menus.
...
* termhooks.h (struct terminal): New field menu_show_hook.
* menu.h (<anonymous enum>): Bit flags for menu hooks.
(x_menu_show, w32_menu_show, ns_menu_show, tty_menu_show):
Adjust prototypes.
* menu.c (Fx_popup_menu): Use bit flags and menu_show_hook.
* nsmenu.m (ns_menu_show):
* w32menu.c (w32_menu_show):
* xmenu.c (x_menu_show):
* term.c (tty_menu_show): Adjust to use bit flags.
(set_tty_hooks): Set menu_show_hook.
* xterm.c (x_create_terminal):
* nsterm.m (ns_create_terminal):
* msdos.c (initialize_msdos_display):
* w32term.c (w32_create_terminal): Likewise.
2014-06-04 08:58:31 +04:00
Juanma Barranquero
6348c9d718
src/w32heap.c (DUMPED_HEAP_SIZE) [!_WIN64]: Reduce to 11 MB.
2014-06-04 00:13:17 +02:00
Eli Zaretskii
71b2605c95
Fix the MS-Windows build broken by few last commits.
...
src/sysselect.h (fd_CLR, fd_ISSET, fd_SET, FD_CLR, FD_ISSET)
(FD_SET): Don't define on WINDOWSNT.
2014-06-04 00:00:40 +03:00
Paul Eggert
86caa902c4
* emacs.c: Include "sysselect.h", to define its inline functions.
...
Problem reported by Glenn Morris in:
http://lists.gnu.org/archive/html/emacs-devel/2014-06/msg00077.html
2014-06-03 13:08:08 -07:00
Paul Eggert
181f08a7d8
Do not require libXt-devel when building with gtk.
...
* 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.
2014-06-03 12:59:55 -07:00
Paul Eggert
5897da1d74
If ENABLE_CHECKING, range-check args of FD_CLR, FD_ISSET, FD_SET.
...
* process.c (add_read_fd, delete_read_fd, add_write_fd)
(delete_write_fd, wait_reading_process_output):
Remove now-redundant easserts.
* sysselect.h (SYSSELECT_H): New macro, to avoid double-inclusion woes.
Use INLINE_HEADER_BEGIN, INLINE_HEADER_END.
(fd_CLR, fd_ISSET, fd_SET): New inline functions.
(FD_CLR, FD_ISSET, FD_SET): Redefine in terms of these functions.
2014-06-03 09:15:43 -07:00
Eli Zaretskii
221e0a20f6
More minor cleanups in src/w32heap.c.
...
src/w32heap.c (calloc): Don't undef, it is never defined.
(HEAP_ENTRY_SHIFT): Remove unused macro.
2014-06-03 13:01:08 +03:00
Eli Zaretskii
89b3620292
Define the size of dumped data for MS-Windows locally on w32heap.c.
...
configure.ac (C_HEAP_SWITCH): Remove.
src/w32heap.c (DUMPED_HEAP_SIZE): Move from w32heap.h. Don't use
HEAPSIZE; instead, define separate values for the 32- and 64-bit
builds.
src/Makefile.in (C_HEAP_SWITCH): Remove.
(ALL_CFLAGS): Don't use $(C_HEAP_SWITCH).
2014-06-03 10:28:07 +03:00
Eli Zaretskii
0031c9530d
Fix MS-Windows build broken by menu changes on 2014-06-02.
...
src/w32menu.c (w32_menu_show): Fix a typo that broke compilation.
src/menu.h (enum button_type, struct _widget_value) [HAVE_NTGUI]:
Define instead of including ../lwlib/lwlib.h, which causes
compilation errors due to missing X11 headers.
2014-06-03 09:51:18 +03:00
Paul Eggert
827a3c3d8e
* process.c (wait_reading_process_output): Omit incorrect test
...
of p->infd against zero. Add easserts for infd having a plausible
value.
2014-06-02 17:44:30 -07:00
Stefan Monnier
c4e6b585bb
* src/callproc.c (call_process): Don't check read-only if we don't insert
...
anything.
Fixes: debbugs:17666
2014-06-02 14:42:07 -04:00
Dmitry Antipov
5668fb88bf
Use common memory management functions for lwlib and refactor users.
...
* 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.
2014-06-02 22:01:21 +04:00
Dmitry Antipov
da11196a24
* image.c (x_query_frame_background_color)
...
[HAVE_PNG || HAVE_NS || HAVE_IMAGEMAGICK || HAVE_RSVG]:
Fix --enable-gcc-warnings compilation without image libraries.
2014-06-02 21:55:38 +04:00
Eli Zaretskii
904e7cf8a2
src/w32heap.c (init_heap): Fix typos in comments (again).
2014-06-02 20:19:19 +03:00
Eli Zaretskii
e67cf8c651
src/w32heap.c (init_heap): Fix typos in comments.
2014-06-02 20:17:55 +03:00
Eli Zaretskii
0dd0ad374b
Minor improvement of sbrk emulation on MS-Windows.
...
src/w32heap.c (malloc_after_dump, realloc_after_dump): Update the
emulated break value only if it goes up.
(sbrk): Add assertion that the INCREMENT argument is strictly
zero. Improve and correct the commentary.
2014-06-02 20:08:50 +03:00
Eli Zaretskii
834dee2099
src/dispnew.c (update_frame_with_menu): Set display_completed.
2014-06-02 19:53:02 +03:00
Paul Eggert
f34897e34d
Improve AIX-related merge from emacs-24.
...
* conf_post.h (FLEXIBLE_ARRAY_MEMBER): Fix comment.
* lisp.h (ENUMABLE) [!_AIX]: Don't define to 0 merely because we're
not on AIX; since we're on the trunk we can use enums more broadly.
2014-06-01 23:08:49 -07:00
Glenn Morris
953e106ac8
Merge from emacs-24; up to 2014-05-29T17:16:00Z!dmantipov@yandex.ru
2014-06-01 17:18:22 -07:00
Paul Eggert
b9928bbace
Spelling fix in ChangeLog entry.
2014-06-01 16:37:59 -07:00
Paul Eggert
5c2b9423c5
Port signal-handling to DragonFly BSD.
...
* callproc.c, sysdep.c (block_child_signal, unblock_child_signal):
Move implementations from callproc.c to sysdep.c.
* process.h, syssignal.h (block_child_signal, unblock_child_signal):
Move declaratations from process.h to syssignal.h.
Fixes: debbugs:17646
2014-06-01 16:17:56 -07:00
Paul Eggert
afca0e7590
* frame.c (x_set_frame_parameters): Don't read uninitialized storage.
2014-06-01 11:49:52 -07:00
Jan Djärv
a3d0b7d19d
Make jump scroll work with Gtk+
...
* xterm.c (xg_scroll_callback): Remove position, for jump set portion
to min(value, whole).
2014-06-01 20:00:56 +02:00
Juanma Barranquero
cc30429078
src/callint.c (Ffuncall_interactively): Add usage.
2014-06-01 18:25:19 +02:00
Eli Zaretskii
be04283a7f
src/w32heap.c (realloc_before_dump): Improve commentary.
2014-06-01 18:54:56 +03:00
Jan Djärv
a2130fb7e2
* nsfns.m (ns_appkit_version_str): Add os version for Cocoa.
2014-06-01 10:23:18 +02:00