Commit graph

34717 commits

Author SHA1 Message Date
Juanma Barranquero
44e18199d9 Fix typos in ChangeLogs. 2013-08-02 00:53:03 +02:00
Paul Eggert
6318cde023 * fileio.c, fns.c (merge): Move extern decl from here ...
* lisp.h (merge): ... to here.
2013-08-01 23:24:02 +01:00
Dmitry Antipov
6c1a09ba9a Fix last font-related change.
* w32font.h (w32font_list_internal, w32font_match_internal):
Fix prototype.
* w32uniscribe.c (uniscribe_list, uniscribe_match):
(uniscribe_list_family): Adjust to match font API change.
MS-Windows breakage reported by Juanma Barranquero <lekktu@gmail.com>
at http://lists.gnu.org/archive/html/emacs-devel/2013-08/msg00006.html.
2013-08-01 20:09:20 +04:00
Dmitry Antipov
f8c2020882 * frame.h (FRAME_MOUSE_UPDATE):
* nsterm.m (ns_frame_up_to_date): Omit redundant check
whether hlinfo->mouse_face_mouse_frame is non-NULL.
2013-08-01 18:54:29 +04:00
Dmitry Antipov
fdb396e222 Avoid redundant Lisp_Object <-> struct frame conversions in font API.
* font.h (struct font_driver): Change list, match, and list_family
functions to accept struct frame * as first arg.
* font.c (font_score, font_compare, font_sort_entities): Remove
prototypes.
(font_sort_entities, font_list_entities, font_select_entity):
(font_find_for_lface, Flist_fonts, Ffont_family_list): Adjust to
match font API change.
* xfont.c (xfont_list, xfont_match, xfont_list_family):
* ftfont.c (ftfont_list, ftfont_match, ftfont_list_family):
* ftxfont.c (ftxfont_list, ftxfont_match):
* xftfont.c (xftfont_list, xftfont_match):
* nsfont.m (nsfont_list, nsfont_match, nsfont_list_family):
* w32font.c (w32font_list, w32font_match, w32font_list):
(w32font_list_internal, w32_font_match_internal): Likewise.
* xfaces.c (Fx_family_fonts): Adjust user.
2013-08-01 14:33:25 +04:00
Dmitry Antipov
2f935d86fd * xterm.c (any_help_event_p, x_draw_glyph_string_background):
(x_display_ok): Use bool for booleans.
(x_draw_glyph_string_background, cvt_string_to_pixel):
(cvt_pixel_dtor): Drop unnecessary prototypes.
* xterm.h (x_display_ok): Adjust prototype.
2013-08-01 11:33:58 +04:00
Dmitry Antipov
52b8a085f7 Do not use pure Xism x_wm_set_icon_position in non-X ports.
* frame.c (x_set_frame_parameters): Call to x_wm_set_icon_position
only if HAVE_X_WINDOWS is in use.
* frame.h (x_set_frame_parameters): Move under HAVE_X_WINDOWS.
* nsterm.m (x_wm_set_icon_position): Remove no-op.
* w32term.c (x_wm_set_icon_position): Likewise.
* w32fns.c (x_icon): Adjust user.
2013-08-01 10:38:49 +04:00
Dmitry Antipov
1ca6cc28eb * xterm.c (x_flush): Call XFlush once per each X display, not
frame.  This is better because this code always unconditionally
skips non-X frames in Vframe_list and issues the only XFlush if
we have more than one X frame on the same X display.
2013-08-01 09:56:20 +04:00
Dmitry Antipov
c791c18e23 * xterm.c (last_mouse_press_frame): Remove the
leftover which is not really used any more.
(handle_one_xevent, syms_of_xterm): Adjust users.
2013-08-01 09:28:24 +04:00
Dmitry Antipov
f435830ea4 Drop unnecessary functions that deals with frame pixel size.
* frame.h, msdos.h, w32term.h, xterm.h (x_pixel_width)
(x_pixel_height): Drop prototypes.
* msdos.c, nsfns.m, w32fns.c, xfns.c (x_pixel_width)
(x_pixel_height): Drop implementations.
* frame.c (Fframe_pixel_height): Use FRAME_PIXEL_HEIGHT
which should be always valid for window frame.
(Frame_pixel_width): Likewise with FRAME_PIXEL_WIDTH.
* w32menu.c (Fx_popup_dialog):
* xmenu.c (Fx_popup_dialog): Likewise for both.
2013-07-31 16:50:59 +04:00
Dmitry Antipov
4c131798b5 * frame.c (Fset_frame_height, Fset_frame_width): Mention nil frame in docstring.
(Fset_frame_size, Fset_frame_position): Use decode_live_frame and mention nil
frame in docstring.
2013-07-31 16:09:16 +04:00
Dmitry Antipov
84231434a2 * frame.c (Fmake_terminal_frame): Use store_in_alist to setup
frame parameters and call to Fmodify_frame_parameters just once.
2013-07-31 11:45:34 +04:00
Dmitry Antipov
959067a112 * frame.c (make_frame, x_set_frame_parameters): Use bool for boolean.
(x_figure_window_size): Likewise.  Adjust to return long.
(syms_of_frame): Do not DEFSYM Qterminal_live_p.
(toplevel): Move Qterminal_live_p to...
* terminal.c (toplevel): ...here, make it static, and...
(syms_of_terminal): ...DEFSYM here.
* frame.h (Qterminal_live_p): Remove declaration.
(make_frame, x_figure_window_size): Adjust prototype.
* nsfns.m (Fx_create_frame): Use long for window flags.
2013-07-31 10:05:05 +04:00
Paul Eggert
f4b169ce67 Fix tempfile bug on platforms lacking mkostemp and mkstemp.
* callproc.c (create_temp_file) [! (HAVE_MKOSTEMP || HAVE_MKSTEMP)]:
Do not assume that emacs_close (INT_MAX) is a no-op.

Fixes: debbugs:14986
2013-07-30 23:44:43 +02:00
Dmitry Antipov
bee6a2c7dc * xfaces.c (make_face_cache): For struct face_cache, prefer
xmalloc to xzalloc and so avoid redundant call to memset.
(Finternal_set_lisp_face_attribute): Fix comment typo and style.
2013-07-30 17:40:46 +04:00
Dmitry Antipov
d7e6881a2e * fringe.c (draw_window_fringes, update_window_fringes)
(compute_fringe_widths):
* w32term.c (x_draw_glyph_string):
* window.c (candidate_window_p, Frecenter):
* xfaces.c (realize_basic_faces, realize_default_face)
(Fbitmap_space_p, Finternal_set_lisp_face_attribute)
(x_update_menu_appearance, face_attr_equal_p, lface_equal_p):
* xfns.c (x_set_cursor_color, xic_free_xfontset):
* xmenu.c (Fx_menu_bar_open_internal):
* xselect.c (x_reply_selection_request, Fx_get_atom_name):
* xsettings.c (xft_settings_event):
* xterm.c (x_draw_glyph_string, x_had_errors_p):
Use bool for booleans.  Adjust style and comments where
appropriate.
* dispextern.h (draw_window_fringes, update_window_fringes)
(compute_fringe_widths):
* xterm.h (x_had_errors_p): Adjust prototype.
2013-07-30 09:56:18 +04:00
Dmitry Antipov
ec3058af96 * frame.c (Fmodify_frame_parameters): Always check 2nd arg with
CHECK_LIST.  Rewrite the loop to avoid useless local variable.
2013-07-30 08:35:44 +04:00
Dmitry Antipov
218e063750 * fns.c (toplevel): Remove comment before Fsafe_length because
it checks for QUIT.
2013-07-29 21:28:07 +04:00
Paul Eggert
e560aba9d1 * frame.c (delete_frame): Avoid unnecessary 'this_f' test.
Fixes: debbugs:14970
2013-07-28 21:36:23 +02:00
Eli Zaretskii
2e5ce5ded7 Fix bug #14970 with crashes when deleting many frames on MS-Windows.
src/w32fns.c (w32_wnd_proc) <WM_IME_STARTCOMPOSITION>: Make sure the
 frame which got the message is still alive, before dereferencing
 its pointer.
 src/frame.c (delete_frame): Test "this" frame's minibuffer window to
 be a live window, before using it as such.
2013-07-28 18:22:27 +03:00
Paul Eggert
94fea300fd Spelling fixes. 2013-07-28 00:14:07 +02:00
Eli Zaretskii
e95da6d36c Fix focus-out events on MS-Windows.
src/w32term.c (w32_read_socket) <WM_KILLFOCUS>: Call
 w32_detect_focus_change instead of doing part of its job by hand.
 This fixes the problem whereby FOCUS_OUT events were not sent to
 the event queue.
2013-07-27 16:08:03 +03:00
Eli Zaretskii
fec9206062 Fix documentation of list-processes and process-list.
src/process.c (Fprocess_list): Doc fix.

 lisp/simple.el (list-processes): Doc fix.
2013-07-26 21:48:05 +03:00
Juanma Barranquero
a04689de43 Fix typos in ChangeLogs. 2013-07-26 19:02:22 +02:00
Eli Zaretskii
a8f9365172 Fix bug #14841 with invisible frames on MS-Windows.
src/w32term.c (w32_read_socket) <WM_EMACS_PAINT>: Warn about frame
 being re-exposed only if it didn't ask to become visible.
 <WM_SIZE>: Under SIZE_RESTORED, only set the frame visible if it
 was previously iconified.
 (x_iconify_frame): Mark the frame iconified.
2013-07-26 12:59:59 +03:00
Paul Eggert
d5a7a9d94b Fix minor problems found by static checking.
* eval.c (get_backtrace_frame, backtrace_eval_unrewind): Now static.
(backtrace_eval_unrewind): ';' -> '{}' to pacify GCC.
2013-07-26 09:39:55 +01:00
Stefan Monnier
56ea72917a Add support for lexical variables to the debugger's `e' command.
* lisp/emacs-lisp/debug.el (debug): Don't let-bind the debugger-outer-*
vars, except for debugger-outer-match-data.
(debugger-frame-number): Move check for "on a function call" from
callers into it.  Add `skip-base' argument.
(debugger-frame, debugger-frame-clear): Simplify accordingly.
(debugger-env-macro): Only reset the state stored in non-variables,
i.e. current-buffer and match-data.
(debugger-eval-expression): Rewrite using backtrace-eval.
* lisp/subr.el (internal--called-interactively-p--get-frame): Remove.
(called-interactively-p):
* lisp/emacs-lisp/edebug.el (edebug--called-interactively-skip): Use the new
`base' arg of backtrace-frame instead.
* src/eval.c (set_specpdl_old_value): New function.
(unbind_to): Minor simplification.
(get_backtrace_frame): New function.
(Fbacktrace_frame): Use it.  Add `base' argument.
(backtrace_eval_unrewind, Fbacktrace_eval): New functions.
(syms_of_eval): Export backtrace-eval.
* src/xterm.c (x_focus_changed): Simplify.
2013-07-26 03:38:18 -04:00
Paul Eggert
b680602932 * fileio.c (Finsert_file_contents): Use a more-conservative fix.
Fixes: debbugs:14936
2013-07-25 09:07:47 +01:00
Paul Eggert
9d611ffe28 * fileio.c (Finsert_file_contents): Avoid double-close.
Fixes: debbugs:14936
2013-07-25 08:29:36 +01:00
Eli Zaretskii
999c74e390 Fix bug #14780 with unreachable lines near end of buffer.
src/xdisp.c (redisplay_window): Instead of moving point out of
 scroll margin, reject the force_start method, and try scrolling.
2013-07-24 20:36:42 +03:00
Ken Brown
198fa21756 * src/alloc.c (make_save_ptr): Define if HAVE_NTGUI is defined (Bug#14944). 2013-07-24 11:11:30 -04:00
Paul Eggert
53840e556e * src/eval.c (Fprogn): Do not check that BODY is a proper list.
This undoes the previous change.  The check slows down the
interpreter, and is not needed to prevent a crash.  See
<http://lists.gnu.org/archive/html/emacs-devel/2013-07/msg00693.html>.
* doc/lispref/eval.texi (Special Forms): Mention 'lambda'.  Also, say that
non-well-formed expressions result in unspecified behavior, though
Emacs will not crash.
2013-07-24 07:21:07 +01:00
Glenn Morris
60967f56e7 No need for configure to create etc/ and lisp/ any more
* configure.ac (etc, lisp): No need to create specially.
Configure already creates lisp when generating lisp/Makefile;
src/Makefile now creates etc when needed.

* src/Makefile.in ($(etc)/DOC, temacs$(EXEEXT)): Ensure etc/ exists.
2013-07-23 19:00:43 -04:00
Glenn Morris
bbece175c9 Use a @configure_input@ comment at the start of generated Makefiles 2013-07-23 18:57:17 -04:00
Paul Eggert
a29c3e6db0 Port to GNU/Linux systems with tinfo but not ncurses.
* configure.ac (USE_NCURSES): New symbol.
* src/dispnew.c (init_display): Depend on USE_NCURSES, not GNU_LINUX,
to decide whether ncurses is being used.  Without this change,
GCC complains about tgetent not being declared, on a system
that has tinfo installed but ncurses not installed.
2013-07-23 09:08:57 +01:00
Paul Eggert
f274311c2c * eval.c (Fprogn): Check that BODY is a proper list. 2013-07-23 08:22:16 +01:00
Paul Eggert
16b0520a9e Tune UNEVALLED functions by using XCAR instead of Fcar, etc.
* data.c (Fsetq_default):
* eval.c (Fif, Fcond, Fprog1, Fsetq, Fquote, Ffunction, Fdefvar)
(Fdefconst, FletX, Flet, Fwhile, Fcatch, Funwind_protect)
(Fcondition_case):
Tune by taking advantage of the fact that ARGS is always a list
when a function is declared to have UNEVALLED args.
2013-07-23 07:48:34 +01:00
Paul Eggert
9ca960e27a * emacsgtkfixed.c: Port to GCC 4.6.
GCC 4.6 complains about -Wunused-local-typedefs, introduced in 4.7.
2013-07-23 07:38:51 +01:00
Juanma Barranquero
afacaa1b18 src/callproc.c (child_setup): Silence compiler warnings. 2013-07-23 03:11:40 +02:00
Paul Eggert
368a85a4db * sysdep.c (frame) [__FreeBSD__]: #define to freebsd_frame
when including <sys/user.h>, to prevent Sparc/ARM machine/frame.h
from messing up Emacs's 'struct frame'.

Fixes: debbugs:14923
2013-07-22 16:30:54 +01:00
Paul Eggert
f4e891b5a8 * alloc.c (make_save_ptr_ptr): Define this function.
It was inadvertently omitted.  It's needed only if
HAVE_MENUS && ! (USE_X_TOOLKIT || USE_GTK).
2013-07-21 08:56:55 -07:00
Jan Djärv
96c8b65ebd * nsterm.m (sendEvent:): Skip mouse moved if no dialog and no Emacs
frame have focus.

Fixes: debbugs:14895
2013-07-21 13:47:07 +02:00
Paul Eggert
ee01079735 Avoid vfork-related deadlock more cleanly.
* callproc.c (child_setup): When the child's exec fails, output
the program name, as that's more useful.  Use O_NONBLOCK to avoid
deadlock.
* process.c (create_process_1): Remove; no longer needed.
(create_process): Remove timer hack; no longer needed, now that
the child avoids deadlock.
2013-07-20 23:53:47 -07:00
Paul Eggert
02c66599e3 Spelling fixes. 2013-07-20 21:22:33 -07:00
Juanma Barranquero
763a086dc7 lisp/ChangeLog, src/ChangeLog: Fix typos. 2013-07-21 04:53:19 +02:00
Glenn Morris
f0398ec17f Merge from emacs-24; up to 2012-12-31T11:35:13Z!rudalics@gmx.at 2013-07-20 12:20:33 -07:00
Paul Eggert
6496aec9e9 Fix array bounds violation when pty allocation fails.
* configure.ac (PTY_TTY_NAME_SPRINTF): Use PTY_NAME_SIZE,
not sizeof pty_name, since pty_name is now a pointer to the array.
* src/process.c (PTY_NAME_SIZE): New constant.
(pty_name): Remove static variable; it's now auto.
(allocate_pty): Define even if !HAVE_PTYS; that's simpler.
Take pty_name as an arg rather than using a static variable.
All callers changed.
(create_process): Recover pty_flag from process, not from volatile local.
(create_pty): Stay inside array even when pty allocation fails.
(Fmake_serial_process): Omit unnecessary initializaiton of pty_flag.
2013-07-20 08:33:00 -07:00
Paul Eggert
b2a069c2f8 * lread.c (Fload): Avoid initialization only when lint checking.
Mention that it's needed only for older GCCs.
2013-07-20 07:21:25 -07:00
Kenichi Handa
7e67809332 merge trunk 2013-07-20 20:51:53 +09:00
Kenichi Handa
0efe47a860 coding.c (decode_coding_iso_2022): Fix previous change. 2013-07-20 20:45:50 +09:00