* configure.in: Add header check: sys/socket.h,
ifaddrs.h, net/if_dl.h. Check for getifaddrs and freeifaddrs.
Check for sa_len in struct ifreq.ifr_addr (Bug#8477).
* src/process.c: Include ifaddrs.h and net/if_dl.h if available (Bug#8477).
(Fnetwork_interface_list): Allocate in increments of bytes instead
of sizeof (struct ifreq). Iterate over ifconf.ifc_req by counting
bytes (Bug#8477). Count bytes correctly when ifr_addr is a struct
sockaddr.
(struct ifflag_def): notrailers is smart on OSX.
(Fnetwork_interface_info): Handle case when ifr_flags is negative.
Get hardware address with getifaddrs if available.
* m4/largefile.m4: New file, so that Emacs does not mess up when
accessing files with large inode numbers in MacOS X 10.5 and later.
* m4/nocrash.m4: New file, to avoid triggering background debugger
and/or create core dumps during 'configure'.
* build-aux/move-if-change: Renamed from move-if-change.
* build-aux/snippet/arg-nonnull.h: Renamed from arg-nonnull.h.
* build-aux/snippet/c++defs.h: Renamed from c++defs.h.
* build-aux/snippet/warn-on-use.h: Renamed from warn-on-use.h.
* build-aux/snippet/_Noreturn.h: New file, for draft C1X _Noreturn.
* .bzrignore: The autogenerated files compile, config.guess,
config.sub, depcomp, install-sh, and missing are now in build-aux.
* Makefile.in (epaths-force, sync-from-gnulib):
move-if-change is now in build-aux.
(GNULIB_TOOL_FLAGS): Avoid threadlib; this is now a prerequisite
of gnulib's pthread_sigmask module, but Emacs doesn't need it.
(mkdir): install-sh is now in build-aux.
* config.bat: c++defs.h is now in build-aux/snippets.
* configure.in: Specify AC_CONFIG_AUX_DIR with build-aux (the
usual parameter).
* lib/gnulib.mk, m4/gl-comp.m4: Regenerate.
* lib/makefile.w32-in (ARG_NONNULL_H): arg-nonnull.h moved
to build-aux/snippet.
* lib/pthread_sigmask.c, lib/stdlib.in.h, m4/extensions.m4:
* m4/getopt.m4, m4/gnulib-common.m4, m4/pthread_sigmask.m4:
Merge from gnuilib. This fixes porting bugs on Cygwin, Irix, and
Solaris, enables MacOS extensions, and enables nocrash during
'configure'.
* make-dist: Adjust to new build-aux and build-aux/snippit dirs.
* admin/notes/copyright: The files compile, config.guess, config.sub,
depcomp, install-sh, missing, and move-if-change are now in the
new build-aux subdirectory. The files arg-nonnull.h, c++defs.h,
and warn-on-use.h are now in build-aux/snippets. New file
build-aux/snippets/_Noreturn.h.
* leim/Makefile.in (install): install-sh is now in build-aux.
* lib-src/Makefile.in ($(DESTDIR)${archlibdir}): install-sh moved
to build-aux.
* msdos/sedlibmk.inp (CONFIG_CLEAN_VPATH_FILES): Adjust to snippet moves
from top level to build-aux/snippet.
* src/Makefile.in (gl-stamp): move-if-change is now in build-aux.
test, which runs afoul of Automake installations where, for example,
/usr/share/aclocal contains a copy of gl_THREADLIB.
Problem reported by Sven Joachim in
<http://lists.gnu.org/archive/html/emacs-devel/2011-07/msg00529.html>.
This is just a quick temporary fix, specific to Emacs; I'll work
with the other gnulib maintainers to get a more-permanent fix.
* Makefile.in (GNULIB_TOOL_FLAGS): Do not avoid sigprocmask.
* configure.in (AC_TYPE_UID_T): New dummy macro.
Configure gnulib after adjusting LIBS,
so that gnulib can assume the libraries in LIBS.
* lib/pthread_sigmask.c, lib/sigprocmask.c, m4/signalblocking.m4:
New files, automatically imported from gnulib.
* lib/gnulib.mk, m4/gl-comp.m4: Regenerate.
* src/Makefile.in (LIB_PTHREAD_SIGMASK): New macro.
(LIBES): Use it.
* Makefile.in (GNULIB_MODULES): Add pthread_sigmask.
(GNULIB_TOOL_FLAGS): Avoid sigprocmask. Emacs does its own
implementation of 'sigprocmask' on Windows, and it assumes
'sigprocmask' on non-Windows hosts, so it doesn't need the
sigprocmask module.
* lib/signal.in.h, m4/pthread_sigmask.m4, m4/signal_h.m4:
New files, automatically imported from gnulib.
* lib/gnulib.mk, m4/gl-comp.m4: Automatically-imported update
due to the above changes.
* .bzrignore: Add lib/signal.h.
* configure.in (HAVE_GCONF): Allow both HAVE_GCONF and HAVE_GSETTINGS.
* lisp/dynamic-setting.el (dynamic-setting-handle-config-changed-event):
Update doc string.
* src/xsettings.c: Use both GConf and GSettings if both are available.
(store_config_changed_event): Add comment.
(dpyinfo_valid, store_font_name_changed, map_tool_bar_style)
(store_tool_bar_style_changed): New functions.
(store_monospaced_changed): Add comment. Call dpyinfo_valid.
(struct xsettings): Move font inside HAVE_XFT.
(GSETTINGS_TOOL_BAR_STYLE, GSETTINGS_FONT_NAME): New defines.
(GSETTINGS_MONO_FONT): Renamed from SYSTEM_MONO_FONT.
Move inside HAVE_XFT.
(something_changed_gsettingsCB): Renamed from something_changedCB.
Check for changes in GSETTINGS_TOOL_BAR_STYLE and GSETTINGS_FONT_NAME
also.
(GCONF_TOOL_BAR_STYLE, GCONF_FONT_NAME): New defines.
(GCONF_MONO_FONT): Renamed from SYSTEM_MONO_FONT. Move inside HAVE_XFT.
(something_changed_gconfCB): Renamed from something_changedCB.
Check for changes in GCONF_TOOL_BAR_STYLE and GCONF_FONT_NAME also.
(parse_settings): Move check for font inside HAVE_XFT.
(read_settings, apply_xft_settings): Add comment.
(read_and_apply_settings): Add comment. Call map_tool_bar_style and
store_tool_bar_style_changed. Move check for font inside HAVE_XFT and
call store_font_name_changed.
(xft_settings_event): Add comment.
(init_gsettings): Add comment. Get values for GSETTINGS_TOOL_BAR_STYLE
and GSETTINGS_FONT_NAME. Move check for fonts within HAVE_XFT.
(init_gconf): Add comment. Get values for GCONF_TOOL_BAR_STYLE
and GCONF_FONT_NAME. Move check for fonts within HAVE_XFT.
(xsettings_initialize): Call init_gsettings last.
(xsettings_get_system_font, xsettings_get_system_normal_font): Add
comment.
Assume support for memcmp, memcpy, memmove, memset.
This simplifies the code a bit. All current platforms have these,
as they are required for C89. If this turns into a problem we
can add the gnulib modules for these (a 1-line change to Makefile.in).
* configure.in: Don't check for memcmp, memcpy, memmove, memset.
[lib-src/ChangeLog]
Assume support for memcmp, memcpy, memmove, memset.
* etags.c (absolute_filename): Assume memmove exists.
[src/ChangeLog]
Assume support for memcmp, memcpy, memmove, memset.
* lisp.h, sysdep.c (memcmp, memcpy, memmove, memset):
* regex.c (memcmp, memcpy):
Remove; we assume C89 now.
* gmalloc.c (memcpy, memset, memmove): Remove; we assume C89 now.
(__malloc_safe_bcopy): Remove; no longer needed.
* configure.in (gsettings): New option and check for GSettings.
* src/Makefile.in (SETTINGS_CFLAGS, SETTINGS_LIBS): Renamed from
GCONF_CFLAGS/LIBS.
* src/xsettings.c: Include glib.h if HAVE_GSETTINGS.
Let HAVE_GSETTINGS override HAVE_GCONF.
(store_monospaced_changed): New function.
(EMACS_SETTINGS): A new type derived from GObject to handle
GSettings notifications.
(emacs_settings_constructor, emacs_settings_get_property)
(emacs_settings_set_property, emacs_settings_class_init):
New functions.
(gsettings_client, gsettings_obj): New variables.
(GSETTINGS_SCHEMA): New define.
(something_changedCB): Call store_monospaced_changed.
(init_gsettings): New function.
(xsettings_initialize): Call init_gsettings.
(syms_of_xsettings): Initialize gsettings_client, gsettings_obj
to NULL.
* Makefile.in (GNULIB_MODULES): Add dup2.
* configure.in: Do not check for dup2; gnulib does that now.
* lib/dup2.c, m4/dup2.m4: New files, from gnulib.
* src/sysdep.c (dup2) [!HAVE_DUP2]: Remove; gnulib now does this.
* .bzrignore: Add lib/alloca.h.
* Makefile.in (GNULIB_MODULES): Add alloca-opt.
* configure.in (AC_FUNC_ALLOCA): Remove almost all the alloca stuff,
as gnulib now does that for us. Put alloca check after gl_INIT.
* lib/gnulib.mk, m4/gl-comp.m4: Regenerate.
* lib/alloca.in.h, m4/alloca.m4: New files, from gnulib.
* configure.in: Add emacsgtkfixed.o to GTK_OBJ if HAVE_GTK3.
* src/emacsgtkfixed.c, src/emacsgtkfixed.h: New files.
* src/gtkutil.c: Include src/emacsgtkfixed.h if HAVE_GTK3.
(int_gtk_range_get_value): Move to the scroll bar part of the file.
(style_changed_cb): Call update_theme_scrollbar_width and call
x_set_scroll_bar_default_width and xg_frame_set_char_size for
all frames.
(xg_create_frame_widgets): Call emacs_fixed_new if HAVE_GTK3 (Bug#8505).
Call gtk_window_set_resizable if HAVE_GTK3.
(x_wm_set_size_hint): Call emacs_fixed_set_min_size with min width
and height if HAVE_GTK3 (Bug#8505).
(scroll_bar_width_for_theme): New variable.
(update_theme_scrollbar_width): New function.
(xg_get_default_scrollbar_width): Move code to
update_theme_scrollbar_width, just return scroll_bar_width_for_theme.
(xg_initialize): Call update_theme_scrollbar_width.
* src/gtkutil.h (xg_get_default_scrollbar_width): Remove argument.
* src/xfns.c (x_set_scroll_bar_default_width): Remove argument to
xg_get_default_scrollbar_width.
* configure.in (OPT_MAKEFILES_IN): Remove.
(SUBDIR_MAKEFILES): New variable, passed to AC_CONFIG_FILES.
(SUBDIR_MAKEFILES_IN): New output variable.
* Makefile.in (OPT_MAKEFILES_IN): Remove.
(SUBDIR_MAKEFILES_IN): Let configure set it.
* configure.in (OPT_MAKEFILES_IN): Remove.
(SUBDIR_MAKEFILES): New variable, passed to AC_CONFIG_FILES.
(SUBDIR_MAKEFILES_IN): New output variable.
* Makefile.in (OPT_MAKEFILES_IN): Remove.
(SUBDIR_MAKEFILES_IN): Let configure set it.
* make-dist: Don't distribute test/.
* configure.in (OPT_MAKEFILES_IN): New output variable.
(AC_CONFIG_FILES): Conditionally include test/automated/Makefile.
* Makefile.in (OPT_MAKEFILES_IN): New, set by configure.
(SUBDIR_MAKEFILES_IN): Use $OPT_MAKEFILES_IN.
(check): Give an explicit error if test/ is not present.
config.bat: Concatenate lisp.mk onto the end of src/Makefile.
msdos/sed1v2.inp (make-docfile commands): Recognize only if the line
begins with a TAB. Use $(etc) rather than a literal "../etc".
(`sed SED-COMMAND $(srcdir)/lisp.mk`): Edit to replace with "$(lisp).
(@lisp_frag@): Edit out.
msdos/sedlibmk.inp (GNULIB_GROUP_MEMBER, HAVE_GROUP_MEMBER): Edit to
zero.
src/callproc.c (Fcall_process) [MSDOS]: Fix arguments to
report_file_error introduced by the change from 2011-05-07.
* configure.in (lisp_frag): New output file.
* src/lisp.mk: New file, split from Makefile.in, and inheriting its
copyright years.
* src/Makefile.in (lisp): Move to separate file, inserted by @lisp_frag@.
(shortlisp): Remove.
($(etc)/DOC): Edit lisp.mk rather than using $shortlisp.
* lisp/loadup.el, doc/misc/Makefile.in: Comment changes.
See discussion in http://debbugs.gnu.org/8302
* configure.in (NS_SUPPORT, MOUSE_SUPPORT, TOOLTIP_SUPPORT)
(WINDOW_SUPPORT): Remove output variables that are no longer used.
* lib-src/makefile.w32-in (echolisp): Remove rule that is no longer needed.
(clean): No more echolisp.tmp.
* .bzrignore: Remove lib-src/echolisp.tmp.
* lisp/emacs-lisp/autoload.el (batch-update-autoloads):
Set autoload-excludes by parsing lisp/loadup.el rather than Makefiles.
* lisp/loadup.el: Update commentary.
* msdos/sed1x.inp (TOOLTIP_SUPPORT, WINDOW_SUPPORT):
* msdos/sed1v2.inp (MSDOS_SUPPORT, NS_SUPPORT, MOUSE_SUPPORT)
(TOOLTIP_SUPPORT, WINDOW_SUPPORT): No need to edit these any more.
* src/Makefile.in (MSDOS_SUPPORT_REAL, MSDOS_SUPPORT, NS_SUPPORT)
(REAL_MOUSE_SUPPORT, GPM_MOUSE_SUPPORT, MOUSE_SUPPORT, TOOLTIP_SUPPORT)
(BASE_WINDOW_SUPPORT, X_WINDOW_SUPPORT, WINDOW_SUPPORT): Remove.
(lisp): Set the order to that of loadup.el.
(shortlisp): Make it a copy of $lisp.
(SOME_MACHINE_LISP): Remove.
($(etc)/DOC): Depend just on $lisp, not $SOME_MACHINE_LISP too.
Use just $shortlisp, not $SOME_MACHINE_LISP too.
This prepares for a future patch that will prefer 64-bit EMACS_INT if
available. That patch can be tried now, by compiling with -DWIDE_EMACS_INT,
but it is temporarily not the default so that it can be further tested.
Also, install some other fixes for problems discovered by the static
checking of GCC 4.6.0.
Fixes: debbugs:8545 debbugs:8601 debbugs:8600 debbugs:8602
(AC_TYPE_SIZE_T): Define an empty macro, to suppress obsolescent test.
(size_t): Do not check for this, and do not typedef. This code
is never exercised now.