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

35956 commits

Author SHA1 Message Date
Dmitry Antipov
3e1fc7fbd1 * lisp.h (STRING_COPYIN): Remove; unused.
* ccl.c (Fccl_execute_on_string):
* font.c (fon_intern_prop): Use make_specified_string.
2014-06-17 17:41:14 +04:00
Dmitry Antipov
67343d1d9f * eval.c (toplevel): Remove redundant #include directives.
* xterm.c (x_initialize): Add static to match prototype.
2014-06-17 07:40:29 +04:00
Dmitry Antipov
9dc774d479 * fileio.c (Fread_file_name): Do not pass redundant args and ...
* callint.c (read_file_name): ... convert to static here.
* lisp.h (Fread_file_name): Do not EXFUN it.
* composite.c (CHAR_COMPOSABLE_P): Replace unsafe macro with ...
(char_composable_p): ... static function.  All users changed.
2014-06-17 07:14:00 +04:00
Paul Eggert
64e104891f * Makefile.in (ns-app): Fix typo that broke build on OS X.
Reported by David Caldwell in:
http://lists.gnu.org/archive/html/emacs-devel/2014-06/msg00251.html
2014-06-16 15:38:17 -07:00
Dmitry Antipov
e9558d441d Do not ask for XRender extension each time XFT font is opened.
* xftfont.c (xftfont_open): Move call to XRenderQueryExtension ...
* xterm.c (x_term_init) [HAVE_XFT]: ... to here.  Adjust comment.
2014-06-16 12:49:09 +04:00
Glenn Morris
0d9f81376b Use make -C' rather than cd && make'
* Makefile.in: Use `make -C' rather than `cd && make' throughout.

* lib-src/Makefile.in (../lib/libgnu.a): Use `make -C' rather than `cd && make'.

* lisp/Makefile.in (leim, semantic): Use `make -C' rather than `cd && make'.

* lwlib/Makefile.in ($(globals_h)): Use `make -C' rather than `cd && make'.

* src/Makefile.in: Use `make -C' rather than `cd && make' throughout.
2014-06-14 17:34:22 -07:00
Glenn Morris
90de50e270 Merge from emacs-24; up to 2014-06-03T06:51:18Z!eliz@gnu.org 2014-06-14 17:06:30 -07:00
Eli Zaretskii
59579a97d8 Fix bug #17777 with keyboard macros and visual-order cursor movement.
src/xdisp.c (Fmove_point_visually): Don't use the glyph matrix
 information if we are in the middle of executing a keyboard macro,
 since redisplay doesn't update the screen until the macro is
 finished.
2014-06-14 14:09:10 +03:00
Eli Zaretskii
78275cd0ed src/xdisp.c: Enhance commentary. 2014-06-14 12:44:20 +03:00
Glenn Morris
f9d80c5110 With GNU make, MFLAGS is not needed
* Makefile.in (CC, CFLAGS, LDFLAGS, CPPFLAGS, abs_top_srcdir):
Remove, no longer used.
(lib, lib-src, lisp, nt, src, blessmail, install-arch-dep)
(install-nt, install-strip, uninstall, uninstall-nt)
(mostlyclean, clean, distclean, bootstrap-clean)
(maintainer-clean, extraclean, TAGS, tags, check, $(DOCS)):
($(INSTALL_DOC), $(UNINSTALL_DOC), info, bootstrap, check-declare):
GNU make automatically passes command-line arguments to sub-makes.

* admin/unidata/Makefile.in (${DSTDIR}/charprop.el):
GNU make automatically passes command-line arguments to sub-makes.

* lib-src/Makefile.in (../lib/libgnu.a):
GNU make automatically passes command-line arguments to sub-makes.

* lisp/Makefile.in ($(lisp)/cus-load.el, $(lisp)/finder-inf.el)
(autoloads, $(lisp)/subdirs.el, compile-main, leim, semantic, compile)
(compile-always): GNU make automatically passes
command-line arguments to sub-makes.

* lwlib/Makefile.in ($(globals_h)):
GNU make automatically passes command-line arguments to sub-makes.

* src/Makefile.in ($(leimdir)/leim-list.el, $(srcdir)/macuvs.h)
($(lispsource)/international/charprop.el)
($(libsrc)/make-docfile$(EXEEXT), $(lwlibdir)/liblw.a)
($(oldXMenudir)/libXMenu11.a, ns-app, .el.elc)
($(lispsource)/loaddefs.el, bootstrap-emacs$(EXEEXT)):
GNU make automatically passes command-line arguments to sub-makes.

* test/automated/Makefile.in (compile-main):
GNU make automatically passes command-line arguments to sub-makes.
2014-06-13 19:05:00 -04:00
Paul Eggert
05d282102d Avoid hangs in accept-process-output.
* lisp.h, process.c (wait_reading_process_input):
Return int, not bool.  All uses changed.
* process.c (SELECT_CANT_DO_WRITE_MASK):
Remove macro, replacing with ...
(SELECT_CAN_DO_WRITE_MASK): ... new constant, with inverted sense.
All uses changed.
(status_notify): New arg WAIT_PROC.  Return int, not void.
All uses changed.

Fixes: debbugs:17647
2014-06-13 08:55:48 -07:00
Eli Zaretskii
8e3a526990 Don't try to display menus and dialogs in an 'initial' frame.
src/menu.c (Fx_popup_menu): Don't call the frame's menu_show_hook if
 the frame is the initial frame, because the hook is not set up
 then, and Emacs crashes.
 Reported by Fabrice Popineau <fabrice.popineau@gmail.com>.
2014-06-13 17:42:43 +03:00
Eli Zaretskii
4346235f61 Attempt to fix bug #17771 with segfault if "C-h h" is interrupted.
src/alloc.c (cleanup_vector): Don't dereference a font driver
 pointer if it is NULL.
2014-06-13 16:53:24 +03:00
Stefan Monnier
2baa734e24 * src/keymap.c (silly_event_symbol_error): Don't recommend the use of strings. 2014-06-12 10:55:48 -04:00
Glenn Morris
d29d249207 Merge from emacs-24; up to 2014-06-02T14:17:07Z!michael.albinus@gmx.de 2014-06-11 15:33:14 -04:00
Jan Djärv
b765f1fe83 Fix memory leaks
* macfont.m (macfont_draw): positions where not freed.

* nsterm.h (EmacsApp): Always compile in shouldKeepRunning, isFirst
on Cocoa.

* nsterm.m (run): Always compile for Cocoa.  Use runtime check to
determine 10.9.

Fixes: debbugs:17751
2014-06-11 19:57:51 +02:00
Paul Eggert
15684f524b Spelling fix. 2014-06-11 10:54:07 -07:00
Eli Zaretskii
df907af0dd Fix bug #17744 with cursor motion near overlay string with 'cursor' prop.
src/xdisp.c (set_cursor_from_row): Fix an off-by-one error when
 matching overlay strings with 'cursor' property against buffer
 positions traversed in the glyph row.
2014-06-11 19:11:32 +03:00
Dmitry Antipov
bd009aefd5 * frame.h (window_system_available) [!HAVE_WINDOW_SYSTEM]: Always false.
* frame.c (window_system_available) [HAVE_WINDOW_SYSTEM]: Now here.
2014-06-10 09:28:00 +04:00
Dmitry Antipov
bfd559357d * dispextern.h (last_tool_bar_item): Remove declaration.
* frame.h (struct frame): New member last_tool_bar_item.
* frame.c (make_frame): Initialize it.
* xdisp.c (toplevel): Remove last_tool_bar_item.
(handle_tool_bar_click, note_tool_bar_highlight):
* w32term.c (w32_read_socket, w32_initialize):
* xterm.c (handle_one_xevent, x_initialize): Adjust users.
2014-06-10 08:55:03 +04:00
Dmitry Antipov
24ce6a0214 * dispextern.h (struct face) [HAVE_XFT]: Ifdef 'extra' member.
* font.c (font_done_for_face):
* xface.c (realize_non_ascii_face): Adjust user.
* font.h (struct font_driver): Convert 'prepare_face' to return
void because its return value is never used anyway.
* xfont.c (xfont_prepare_face): Return void.
* xftfont.c (xftfont_prepare_face): Likewise.  Use xmalloc.
(xftfont_done_face): Use xfree.
2014-06-10 07:32:36 +04:00
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