Commit graph

32976 commits

Author SHA1 Message Date
Paul Eggert
a0bee46f5a * process.c (wait_reading_process_output): 'waitchannels' was unset
when read_kbd || !NILP (wait_for_cell); fix this.
2012-07-09 14:12:08 -07:00
Paul Eggert
5994c1836b Add GCC-style 'const' attribute to functions that can use it. 2012-07-09 09:38:45 -07:00
Paul Eggert
26bccfaebf Minor improvements to make_formatted_string.
* alloc.c (make_formatted_string): Prefer int to ptrdiff_t
where int is good enough, as vsprintf returns an int.
* lisp.h (make_formatted_string): Add ATTRIBUTE_FORMAT_PRINTF.
2012-07-09 09:06:19 -07:00
Dmitry Antipov
a8290ec31c Use make_formatted_string to avoid double length calculation.
* lisp.h (make_formatted_string): New prototype.
* alloc.c (make_formatted_string): New function.
* buffer.c (Fgenerate_new_buffer_name): Use it.
* dbus.c (syms_of_dbusbind): Likewise.
* editfns.c (Fcurrent_time_zone): Likewise.
* filelock.c (get_boot_time): Likewise.
* frame.c (make_terminal_frame, set_term_frame_name)
(x_report_frame_params): Likewise.
* image.c (gs_load): Likewise.
* minibuf.c (get_minibuffer): Likewise.
* msdos.c (dos_set_window_size): Likewise.
* process.c (make_process): Likewise.
* xdisp.c (ensure_echo_area_buffers): Likewise.
* xsettings.c (apply_xft_settings): Likewise.
2012-07-09 16:02:27 +04:00
Glenn Morris
d01ba2f149 Stop ns builds polluting the environment with EMACSDATA, EMACSDOC
It's bad form for one part of a program to communicate with another
part by making persistent changes to the environment of all subsequent
child processes.  For example, it can cause odd bugs when building
Emacs from within Emacs (eg bug#6401, maybe).

* nsterm.m (ns_etc_directory): New function, split from ns_init_paths.
(ns_init_paths): Do not set EMACSDATA, EMACSDOC.
* nsterm.h (ns_etc_directory): Add it.
* callproc.c [HAVE_NS]: Include nsterm.h.
(init_callproc_1, init_callproc) [HAVE_NS]: Use ns_etc_directory.
2012-07-09 00:07:24 -07:00
Paul Eggert
c4444d16dc Rename configure.in to configure.ac.
Fixes: debbugs:11603
2012-07-08 21:52:49 -07:00
Dmitry Antipov
f1f924b619 Move marker debugging code under MARKER_DEBUG.
* marker.c (MARKER_DEBUG): Move marker debugging code under
#ifdef MARKER_DEBUG because byte_char_debug_check is too slow
for bootstrap with --enable-checking (~3x slowdown reported
by Juanma Barranquero <lekktu@gmail.com>).
(verify_bytepos): Move under #ifdef MARKER_DEBUG.
2012-07-09 07:15:10 +04:00
Paul Eggert
ab531b66f3 * systime.h (EMACS_SUB_TIME): Clarify behavior with unsigned time_t.
See <http://bugs.gnu.org/11825#29>.
2012-07-08 16:00:38 -07:00
Eli Zaretskii
3434fe8a23 Cleanup changes following fix for bug #11832.
src/ xdisp.c (display_line): Add commentary about displaying 
 truncation glyphs on GUI frames.
 (produce_special_glyphs): Move here from term.c.
 src/term.c (produce_special_glyphs): Move to xdisp.c.
 src/dispextern.h (produce_special_glyphs): Move prototype to xdisp.c
 section.
2012-07-08 19:38:43 +03:00
Eli Zaretskii
c4b3bc8aaf Fix bug #11813 with invalid font for buffer name on the modeline.
src/xdisp.c (fill_glyphless_glyph_string): If the face of the glyph
 has no font, use the frame's font.
2012-07-08 18:49:39 +03:00
Juanma Barranquero
090bd7cb34 Fix ChangeLog typos. 2012-07-08 01:16:19 +02:00
Andreas Schwab
f17c527307 * xdisp.c (display_line): Avoid warning about implicit declaration
of FRAME_FONT.
2012-07-07 23:39:45 +02:00
Andreas Schwab
298819b917 * frame.c (get_frame_param): Define only if HAVE_WINDOW_SYSTEM. 2012-07-07 23:39:23 +02:00
Andreas Schwab
b676b881b2 * lisp.h: Remove empty conditional. 2012-07-07 23:39:23 +02:00
Paul Eggert
b3350bf9c0 * lread.c (load_path_check): Now static. 2012-07-07 12:33:28 -07:00
Paul Eggert
6045c4fdb8 Improve static checking when configured --with-ns.
See Samuel Bronson's remarks in
<http://lists.gnu.org/archive/html/emacs-devel/2012-07/msg00146.html>.
* configure.in (WARN_CFLAGS): Omit -Wunreachable-code, as it's
a no-op with recent GCC and harmful in earlier ones.
Omit -Wsync-nand, as it's irrelevant to Emacs and provokes a
warning when compiling with ObjC.  Always omit
-Wunsafe-loop-optimizations, as we don't mind when optimization is
being done correctly.

Fix some minor --with-ns problems found by static checking.
* src/frame.c (Ftool_bar_pixel_width) [!FRAME_TOOLBAR_WIDTH]:
(x_set_font) [!HAVE_X_WINDOWS]:
* src/image.c (xpm_load_image) [HAVE_NS]:
(x_to_xcolors) [!HAVE_X_WINDOWS && !HAVE_NTGUI]:
(x_disable_image) [!HAVE_NS && !HAVE_NTGUI]:
Remove unused local.
(Fx_parse_geometry) [HAVE_NS]: Don't return garbage.
(xpm_load_image) [HAVE_NS && !HAVE_XPM]: Remove unused label.
* src/image.c (x_create_bitmap_from_file) [HAVE_NS]:
(xpm_load_image, xpm_load) [HAVE_NS && !HAVE_XPM]:
* src/nsselect.m (symbol_to_nsstring, ns_string_to_pasteboard_internal):
* src/xfaces.c (Fx_load_color_file) [!HAVE_X_WINDOWS]:
Fix pointer signedness problem.
* src/xfaces.c (FRAME_X_FONT_TABLE):
* src/xterm.h (FRAME_X_FONT_TABLE): Remove unused, incompatible macros.
2012-07-07 12:23:41 -07:00
Glenn Morris
41f9404e0c * configure.in (BROKEN_SA_RESTART): Doc fix.
* src/sysdep.c, src/s/irix6-5.h: Related comments.
2012-07-07 11:16:15 -07:00
Glenn Morris
929e784574 Try to simplify the initialization of Vload_path
* src/lread.c (load_path_check): New function, split from init_lread.
(init_lread): Reorganize.  Motivation:
If EMACSLOADPATH is set, check/warn about that rather than the
defaults, which we are not going to use.  Hence we can remove
the turn_off_warning and WINDOWSNT || HAVE_NS tests.
Don't warn if site-lisp directories are missing.
If not installed, start from a blank load-path, since
PATH_LOADSEARCH refers to the eventual installation directories.
2012-07-07 11:06:32 -07:00
Eli Zaretskii
58dd0aa4c5 Fix bug #11832 with truncated lines when fringes are disabled on GUI frames.
src/xdisp.c (init_iterator): Get dimensions of truncation and
 continuation glyphs even if on GUI frames.  Adjust
 it->last_visible_x on GUI frames when the left or right fringes,
 or both, are absent.
 (start_display, move_it_in_display_line_to): Handle the case of a
 GUI frame without a fringe to display continuation or truncation
 glyphs.
 (insert_left_trunc_glyphs): Support GUI frames: make sure
 truncation glyphs overwrite enough glyphs from the current line to
 have sufficient space in pixels.
 (display_line): Support truncation and continuation glyphs on GUI
 frames.  If some spare pixels are left on the line after inserting
 the truncation glyphs, fill that space with a stretch glyph of a
 suitably computed width.
 src/term.c (produce_special_glyphs): Call PRODUCE_GLYPHS, not
 produce_glyphs, to support GUI sessions.
2012-07-07 19:36:02 +03:00
Paul Eggert
5a16b9bc1d * sysdep.c (ULLONG_MAX): Define if not already defined.
Fixes: debbugs:11781
2012-07-06 20:06:00 -07:00
Paul Eggert
f3047c750d * sysdep.c (list_system_processes): Port to NetBSD-current.
Fixes: debbugs:11797
2012-07-06 19:25:28 -07:00
Paul Eggert
31571fd712 Do not require float-time's arg to fit in time_t (Bug#11825).
This works better on hosts where time_t is unsigned, and where
float-time is applied to the (negative) difference between two times.
* editfns.c (decode_time_components): Last arg is now double *,
not int *, and means to store all the result as a double, without
worrying about whether the seconds part fits in time_t.
All callers changed.
(lisp_time_argument): Remove last int * arg, as it's no longer needed.
All callers changed.
(Ffloat_time): Do not fail merely because the specified time falls
outside of time_t range.
2012-07-06 18:57:42 -07:00
Glenn Morris
4516fbef72 Replace some src/s undefs by never even checking on relevant platforms
* configure.in: (getwd): Don't check for it on unixware.
(random, rint): Don't check for these on hpux.
(res_init, libresolv): Don't check for these on darwin.

* src/s/darwin.h (HAVE_RES_INIT, HAVE_LIBRESOLV):
* src/s/hpux10-20.h (HAVE_RINT, HAVE_RANDOM):
* src/s/unixware.h (HAVE_GETWD): Move undefs to configure (effectively).
2012-07-06 21:03:46 -04:00
Juanma Barranquero
07adc2c63b Update Windows port to gnulib changes in 2012-07-06T21:07:46Z!eggert@cs.ucla.edu.
* lib-src/makefile.w32-in ($(BLD)/ctags.$(O), $(BLD)/etags.$(O)):
Update dependencies.

* lib/makefile.w32-in (GNULIBOBJS): Add $(BLD)/c-ctype.$(O),
$(BLD)/c-strcasecmp.$(O) and $(BLD)/c-strncasecmp.$(O).
($(BLD)/c-ctype.$(O), $(BLD)/c-strcasecmp.$(O))
($(BLD)/c-strncasecmp.$(O)): New dependencies.

* src/makefile.w32-in (DISPEXTERN_H, $(BLD)/regex.$(O)):
Update dependencies.

* src/s/ms-w32.h [_MSC_VER]: Remove strcasecmp, strncasecmp.
2012-07-07 02:20:56 +02:00
Paul Eggert
fee5959dd8 Use c_strcasecmp for ASCII case-insensitive comparison.
Fixes: debbugs:11786
2012-07-06 14:07:46 -07:00
Paul Eggert
fd573f31dc * xfont.c (compare_font_names): Redo to omit the need for casts. 2012-07-06 13:49:23 -07:00
Andreas Schwab
fca8d6b687 * xfns.c (Fx_change_window_property): Doc fix.
* w32fns.c (Fx_change_window_property): Doc fix.
2012-07-06 22:00:42 +02:00
Andreas Schwab
ddadbc0e71 Fixes: debbugs:11870
* w32fns.c (Fx_window_property): Accept the same arguments as the
X Windows version.  Doc fix.
* xfns.c (Fx_window_property): Doc fix.
2012-07-06 21:34:39 +02:00
Juanma Barranquero
f247498ead * nt/config.nt: Complete rework to bring it in sync with autogen/config.in.
All Windows-specific code moved to src/s/ms-w32.h.

* src/s/ms-w32.h: Settings not specific to Windows moved to nt/config.nt.
Windows-specific code from nt/config.nt moved here.
Obsolete settings removed.
2012-07-06 19:19:33 +02:00
Paul Eggert
216ee680e5 * process.c: Avoid unnecessary calls to gettime.
(wait_reading_process_output): Don't get the time of day
when gobbling data immediately and not waiting, as there's no need
for it in that case.  This removes a FIXME.
2012-07-06 09:57:32 -07:00
Paul Eggert
5293d75864 Fix stray '<' from last change. 2012-07-06 08:46:51 -07:00
Jan Djärv
bdd091e45b * gtkutil.c (xg_event_is_for_scrollbar): Assign gwin when HAVE_GTK3 is defined.
Fixes: debbugs:11768
2012-07-06 17:02:29 +02:00
Dmitry Antipov
9d44f8ce16 Fix marker debugging code.
* marker.c (byte_char_debug_check): Do not perform the check
if buffer is not multibyte.
(buf_charpos_to_bytepos, buf_bytepos_to_charpos): Call
byte_char_debug_check with correct arguments.
2012-07-06 18:16:54 +04:00
Dmitry Antipov
90fc478637 Compile marker debugging code only if ENABLE_CHECKING is defined.
* marker.c (byte_char_debug_check, count_markers): Use
only if ENABLE_CHECKING is defined.
(byte_debug_flag): Remove.
(CONSIDER, buf_charpos_to_bytepos, buf_bytepos_to_charpos):
Always call byte_char_debug_check if ENABLE_CHECKING is defined.
2012-07-06 13:20:41 +04:00
Dmitry Antipov
4e57b342c5 Avoid code repetition in marker-related functions.
* marker.c (attach_marker): New function.
(Fset_marker, set_marker_restricted, set_marker_both)
(set_marker_restricted_both): Use it.
(Fset_marker, set_marker_restricted, Fbuffer_has_markers_at):
Consistently rename charno to charpos.
(marker_position): Add eassert.
(marker_byte_position): Convert to eassert.
2012-07-06 12:53:15 +04:00
Dmitry Antipov
7b7ae96547 * buffer.c (unchain_overlay): Simplify. Add comment.
* marker.c (unchain_marker): Simplify.  Fix comments.
2012-07-06 11:34:37 +04:00
Dmitry Antipov
657924ff58 Introduce fast path for the widely used marker operation.
* alloc.c (build_marker): New function.
* lisp.h (build_marker): New prototype.
* buffer.c (clone_per_buffer_values, Fmake_indirect_buffer): Use it.
* composite.c (autocmp_chars): Likewise.
* editfns.c (buildmark): Remove.
(Fpoint_marker, Fpoint_min_marker, Fpoint_max_marker)
(save_restriction_save): Use build_marker.
* marker.c (buf_charpos_to_bytepos, buf_bytepos_to_charpos): Likewise.
* window.c (save_window_save): Likewise.
2012-07-06 09:07:44 +04:00
Dmitry Antipov
041a49a645 Do not use Fdelete_overlay in delete_all_overlays
to avoid redundant calls to unchain_overlay.
* buffer.c (drop_overlay): New function.
(delete_all_overlays, Fdelete_overlay): Use it.
* minibuf.c (get_minibuffer): Fix comment.
2012-07-06 08:42:30 +04:00
Paul Eggert
7dca65a4b4 Port to OpenBSD 5.1 amd64. 2012-07-06 03:08:57 +00:00
Glenn Morris
8eb876e22c * src/Makefile.in (emacs$(EXEEXT)): Don't check for load-path shadows.
It has nothing to do with building Emacs, and no-one is likely to be
paying attention to the result.  The CANNOT_DUMP branch was pointless,
since it sets EMACSLOADPATH=$(lispsource) it is impossible for there
to ever be any shadows.  The EMACSLOADPATH setting was probably necessary
for emacs to work at all when uninstalled, given the way init_lread
works for the CANNOT_DUMP case.  Since -batch implies -q, in the
non-CANNOT_DUMP branch, any shadows could only come from site-lisp
files.
2012-07-05 21:29:54 -04:00
Paul Eggert
38182d901d More xmalloc and related cleanup.
* alloc.c, bidi.c, buffer.c, buffer.h, bytecode.c, callint.c:
* callproc.c, charset.c, coding.c, composite.c, data.c, dispnew.c:
* doc.c, editfns.c, emacs.c, eval.c, fileio.c, filelock.c, fns.c:
* font.c, fontset.c, frame.c, fringe.c, ftfont.c, ftxfont.c, gmalloc.c:
* gtkutil.c, image.c, keyboard.c, keymap.c, lread.c, macros.c, menu.c:
* nsfns.m, nsfont.m, nsmenu.m, nsterm.m, print.c, process.c, ralloc.c:
* regex.c, region-cache.c, scroll.c, search.c, sound.c, syntax.c:
* sysdep.c, term.c, termcap.c, unexmacosx.c, window.c, xdisp.c:
* xfaces.c, xfns.c, xftfont.c, xgselect.c, xmenu.c, xrdb.c, xselect.c:
* xterm.c:
Omit needless casts involving void * pointers and allocation.
Prefer "P = xmalloc (sizeof *P)" to "P = xmalloc (sizeof (TYPE_OF_P))",
as the former is more robust if P's type is changed.
Prefer xzalloc to xmalloc + memset 0.
Simplify malloc-or-realloc to realloc.
Don't worry about xmalloc returning a null pointer.
Prefer xstrdup to xmalloc + strcpy.
* editfns.c (Fmessage_box): Grow message_text by at least 80 when
growing it.
* keyboard.c (apply_modifiers_uncached): Prefer local array to
alloca of a constant.
2012-07-05 11:35:48 -07:00
Eli Zaretskii
6dd5a677db Avoid long futile looping on a TTY under huge values of hscroll.
src/xdisp.c (display_line): Fix horizontal pixel coordinates when
 hscroll is larger than the line width.  Fixes long and futile
 looping inside extend_face_to_end_of_line (on a TTY) producing
 glyphs that are not needed and thrown away.
2012-07-05 19:28:34 +03:00
Dmitry Antipov
6b312f0fec * marker.c (set_marker_restricted_both): Simplify by using
clip_to_bounds.
2012-07-05 20:14:39 +04:00
Paul Eggert
f520ef9bc1 * editfns.c (region_limit): Simplify by using clip_to_bounds. 2012-07-05 09:00:20 -07:00
Jan Djärv
383b7c95b8 Don't use deprecated functions when compiling with Gtk3.
* gtkutil.c (gtk_scrollbar_new, gtk_box_new): Define when HAVE_GTK3 is
not defined (Bug#11768).
(xg_create_frame_widgets): Use gtk_plug_new_for_display (Bug#11768).
(xg_create_frame_widgets, create_dialog, xg_get_file_with_chooser)
(make_widget_for_menu_item, xg_make_tool_item): Use gtk_box_new
followed by gtk_box_set_homogeneous (Bug#11768).
(xg_update_menu_item): Use GTK_IS_BOX (Bug#11768).
(update_theme_scrollbar_width, xg_create_scroll_bar): Use
gtk_scrollbar_new (Bug#11768).
(xg_event_is_for_scrollbar): Use Gdk Device functions for HAVE_GTK3.
(is_box_type): New function (Bug#11768).
(xg_tool_item_stale_p): Call is_box_type.
(xg_initialize): Get settings by calling gtk_settings_get_for_screen
with default display (Bug#11768).
2012-07-05 17:44:53 +02:00
Eli Zaretskii
ea2ac79792 Revert hscroll and min_hscroll to ptrdiff_t.
Fixes: debbugs:11857
2012-07-05 18:20:12 +03:00
Eli Zaretskii
d6e7bf450c Fix bug #11857 with messed up display for insanely large hscroll values.
src/xdisp.c (window_hscroll_limited): New function.
 (pos_visible_p, init_iterator): Use it to avoid overflow of pixel
 coordinates when window's hscroll is set to insanely large
 values.
 src/window.h (struct window) <hscroll, min_hscroll>: Change type to 'int'.
2012-07-05 18:04:57 +03:00
Juanma Barranquero
431391ec72 src/makefile.w32-in: Update dependencies.
($(BLD)/dired.$(O), $(BLD)/fileio.$(O)): Fix typo.
($(BLD)/terminal.$(O), $(BLD)/syntax.$(O)): Update dependencies.
2012-07-05 14:07:29 +02:00
Dmitry Antipov
23f86fce48 Cleanup xmalloc.
* admin/coccinelle/xzalloc.cocci: Semantic patch to convert
calls to xmalloc with following memset to xzalloc.
* src/lisp.h (xzalloc): New prototype.  Omit needless casts.
* src/alloc.c (xzalloc): New function.  Omit needless casts.
* src/charset.c: Omit needless casts.  Convert all calls to
malloc with following memset to xzalloc.
* src/dispnew.c: Likewise.
* src/fringe.c: Likewise.
* src/image.c: Likewise.
* src/sound.c: Likewise.
* src/term.c: Likewise.
* src/w32fns.c: Likewise.
* src/w32font.c: Likewise.
* src/w32term.c: Likewise.
* src/xfaces.c: Likewise.
* src/xfns.c: Likewise.
* src/xterm.c: Likewise.
* src/atimer.c: Omit needless casts.
* src/buffer.c: Likewise.
* src/callproc.c: Likewise.
* src/ccl.c: Likewise.
* src/coding.c: Likewise.
* src/composite.c: Likewise.
* src/doc.c: Likewise.
* src/doprnt.c: Likewise.
* src/editfns.c: Likewise.
* src/emacs.c: Likewise.
* src/eval.c: Likewise.
* src/filelock.c: Likewise.
* src/fns.c: Likewise.
* src/gtkutil.c: Likewise.
* src/keyboard.c: Likewise.
* src/lisp.h: Likewise.
* src/lread.c: Likewise.
* src/minibuf.c: Likewise.
* src/msdos.c: Likewise.
* src/print.c: Likewise.
* src/process.c: Likewise.
* src/region-cache.c: Likewise.
* src/search.c: Likewise.
* src/sysdep.c: Likewise.
* src/termcap.c: Likewise.
* src/terminal.c: Likewise.
* src/tparam.c: Likewise.
* src/w16select.c: Likewise.
* src/w32.c: Likewise.
* src/w32reg.c: Likewise.
* src/w32select.c: Likewise.
* src/w32uniscribe.c: Likewise.
* src/widget.c: Likewise.
* src/xdisp.c: Likewise.
* src/xmenu.c: Likewise.
* src/xrdb.c: Likewise.
* src/xselect.c: Likewise.
2012-07-05 10:32:41 +04:00
Paul Eggert
0497dc44b4 * fileio.c (time_error_value): Check the right error number.
Problem reported by Troels Nielsen in
<http://lists.gnu.org/archive/html/emacs-devel/2012-07/msg00095.html>.
2012-07-04 21:16:11 -07:00