* configure: Regenerate from the following.
2011-01-30 Paul Eggert <eggert@cs.ucla.edu>
mktime: clarify long_int width checking
* lib/mktime.c (long_int_is_wide_enough): Move this assertion to
the top level, to make it clearer that the assumption about
long_int width is being checked. See
<http://lists.gnu.org/archive/html/bug-gnulib/2011-01/msg00554.html>.
2011-01-29 Paul Eggert <eggert@cs.ucla.edu>
TYPE_MAXIMUM: avoid theoretically undefined behavior
* lib/intprops.h (TYPE_MINIMUM, TYPE_MAXIMUM): Do not shift a
negative number, which the C Standard says has undefined behavior.
In practice this is not a problem, but might as well do it by the book.
Reported by Rich Felker and Eric Blake; see
<http://lists.gnu.org/archive/html/bug-gnulib/2011-01/msg00493.html>.
* m4/mktime.m4 (AC_FUNC_MKTIME): Likewise.
* lib/mktime.c (TYPE_MAXIMUM): Redo slightly to match the others.
mktime: #undef mktime before #defining it
* lib/mktime.c (mktime) [DEBUG]: #undef mktime before #defining it.
mktime: systematically normalize tm_isdst comparisons
* lib/mktime.c (isdst_differ): New function.
(__mktime_internal): Use it systematically for all isdst comparisons.
This completes the fix for libc BZ #6723, and removes the need for
normalizing tm_isdst. See
<http://sourceware.org/bugzilla/show_bug.cgi?id=6723>
(not_equal_tm) [DEBUG]: Use isdst_differ here, too.
mktime: fix some integer overflow issues and sidestep the rest
This was prompted by a bug report by Benjamin Lindner for MinGW
<http://lists.gnu.org/archive/html/bug-gnulib/2011-01/msg00472.html>.
His bug is due to signed integer overflow (0 - INT_MIN), and I
I scanned through mktime.c looking for other integer overflow
problems, fixing all the bugs I found.
Although the C Standard says the resulting code is still not safe
in the presence of integer overflow, in practice it should be good
enough for all real-world two's-complement implementations, except
for debugging environments that deliberately trap on integer
overflow (e.g., gcc -ftrapv).
* lib/mktime.c (WRAPV): New macro.
(SHR): Also check that long_int and time_t shift right in the
usual way, before using the fast-but-unportable method.
(TYPE_ONES_COMPLEMENT, TYPE_SIGNED_MAGNITUDE): Remove, no longer
used. The code already assumed two's complement, so there's
no need to test for alternatives. All uses removed.
(TYPE_MAXIMUM): Don't rely here on overflow behavior not defined by
the C standard. Problem reported by Rich Felker in
<http://lists.gnu.org/archive/html/bug-gnulib/2011-01/msg00488.html>.
(twos_complement_arithmetic): Also check long_int and time_t.
(time_t_avg, time_t_add_ok, time_t_int_add_ok): New functions.
(guess_time_tm, ranged_convert, __mktime_internal): Use them.
(__mktime_internal): Avoid integer overflow with unary subtraction
in two instances where -1 - X is an adequate replacement for -X,
since the calculations are approximate.
2011-01-29 Eric Blake <eblake@redhat.com>
mktime: avoid infinite loop
* m4/mktime.m4 (AC_FUNC_MKTIME): Avoid overflow on possibly-signed
type; behavior is still undefined but portable to all known targets.
Reported by Rich Felker.
2011-01-28 Paul Eggert <eggert@cs.ucla.edu>
mktime: avoid problems on NetBSD 5 / i386
* lib/mktime.c (long_int): New type. This works around a problem
on NetBSD 5 / i386, where 'long int' and 'int' are both 32 bits
but time_t is 64 bits, and where I expect the existing code is
wrong in some cases.
(leapyear, ydhms_diff, guess_time_tm, __mktime_internal): Use it.
(ydhms_diff): Bring back the compile-time check for wide-enough
year and yday.
mktime: fix misspelling in comment
* lib/mktime.c (__mktime_internal): Fix misspelling in comment.
This merges all recent glibc changes of importance.
2011-01-28 Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
move-if-change: cope with concurrent mv of identical file.
* move-if-change (CMPPROG): Accept environment
variable as an override for `cmp'.
(usage): Document CMPPROG.
Adjust comparison to drop stdout. Cope with failure of mv if
the target file exists and is identical to the source, for
parallel builds.
Report from H.J. Lu against binutils in PR binutils/12283.
* Makefile.in (DOS_gnulib_comp.m4): Renamed from DOS-gnulib-comp.m4,
for portability to POSIX make. Reported by Bruno Haible.
(sync-from-gnulib): Copy gl-comp.m4 (if present) back to
gnulib-comp.m4 before running gnulib-tool, to prevent old gnulib
files from accumulating as garbage. Also reported by Bruno Haible.
This way, we don't have to assume that the maintainer has
the automake package installed. See
<http://lists.gnu.org/archive/html/emacs-devel/2011-01/msg00746.html>.
* .bzrignore: Remove aclocal.m4, undoing the previous change.
* Makefile.in (top_maintainer_clean): Do not remove aclocal.m4,
undoing the previous change.
* aclocal.m4: New file (actually, resurrected).
* configure.in: Invoke the new gnulib macro gl_ASSERT_NO_GNULIB_TESTS.
This makes src/config.in a bit smaller, by removing identifiers
like GNULIB_TEST_MKTIME that Emacs does not need.
* m4/getopt.m4, m4/gnulib-common.m4, m4/include_next.m4:
* m4/multiarch.m4, m4/stddef_h.m4, m4/time_h.m4, m4/unistd_h.m4:
Sync from gnulib. This removes a few more unnecessary symbols from
src/config.in, such as AA_APPLE_UNIVERSAL_BUILD and HAVE_STDDEF_H.
* configure, src/config.in: Regenerate.
* Makefile.in (am--refresh): Mark as .PHONY.
(top_maintainer_clean): Don't remove lib/gnulib.mk m4/gnulib-cache.m4,
as they're not rebuilt unless you do a "make sync-from-gnulib"
and the former is needed for "configure".
(maintainer-clean): Don't recurse into lib, as "make bootstrap-clean"
has already removed lib/Makefile.
Distribute every file under test/ that is under version control,
using patterns like *.el to capture files that are added later.
Without this change, "configure" would fail, because it would
attempt to build from a Makefile.in that was not distributed.
* Makefile.in, configure.in, doc/misc/Makefile.in, doc/misc/makefile.w32-in:
Add ERT. Make "make check" run tests in test/automated.
* doc/misc/ert.texi, lisp/emacs-lisp/ert.el, lisp/emacs-lisp/ert-x.el:
New files.
* test/automated: New directory.
* configure.in [netbsd systems]: Check for tputs definition.
* src/config.in (TERMINFO): New definition.
* src/s/netbsd.h: Use it to choose between terminfo and termcap.
Add lib/.deps/, lib/arg-nonnull.h, lib/c++defs.h, lib/getopt.h,
lib/time.h, lib/unistd.h, lib/warn-on-use.h. These are
host-dependent and are built as part of an ordinary 'make', and
should not be checked in.
* configure.in (HAVE_MAKEINFO): New output variable.
(MAKEINFO): Reset to "makeinfo" if not found.
* Makefile.in (install-arch-indep, info):
Replace MAKEINFO = off with HAVE_MAKEINFO = no.
so that they do not get optimized away.
* configure.in (EXTERNALLY_VISIBLE): New definition.
* src/emacs.c (gdb_use_union, gdb_valbits,gdb_gctypebits)
(gdb_data_seg_bits, gdb_array_mark_flag, PVEC_FLAG)
(gdb_pvec_type):
* src/print.c (print_output_debug_flag):
* src/lisp.h (debug_print): Mark as EXTERNALLY_VISIBLE.
(safe_debug_print): New declaration.
* configure.in (CRT_DIR): New output variable.
(--with-crt-dir): New option. (Bug#5655)
(HAVE_LIB64_DIR): Remove.
* src/Makefile.in (CRT_DIR): New variable, set by configure.
* src/m/amdx86-64.h, m/ibms390x.h (START_FILES, LIB_STANDARD):
Use $CRT_DIR rather than HAVE_LIB64_DIR. (Bug#5655)
* make-dist: Remove --compress. Check for the appropriate
gzip-like executable, and if not found, don't compress.
Check version number in README, don't change it.
Use find for nt/inc/*.h.
Eg: there are no symlinks in the tree for a long time
Check for version in emacsver.texi.
Clean up *~ etc files using a find at the end.
Add etc/srecode.
* configure.in (PROFILING_LDFLAGS): Do not define, remove all uses.
* lib-src/Makefile.in (PROFILING_LDFLAGS): Remove, not needed.
* msdos/sed1v2.inp (PROFILING_LDFLAGS):
* msdos/sed3v2.inp (PROFILING_LDFLAGS): Remove, not defined anymore.
* src/Makefile.in (temacs): Use $(ALL_CFLAGS) on the link line.
(PROFILING_LDFLAGS): Remove, not needed anymore.
* doc/misc/Makefile.in (emacsdir): New variable.
($(infodir)/efaq): Pass -I $(emacsdir) to makeinfo.
* doc/misc/faq.texi (VER): Replace with EMACSVER from emacsver.texi.
* doc/lispref/Makefile.in (emacsdir): New variable.
(MAKEINFO): Add -I $emacsdir.
(dist): Copy emacsver.texi.
* doc/lispref/book-spine.texinfo, doc/lispref/elisp.texi:
* doc/lispref/vol2.texi, doc/lispref/vol1.texi:
Set EMACSVER by including emacsver.texi.
* doc/emacs/emacsver.texi.in: New file.
* doc/emacs/emacs.texi: Set EMACSVER by including emacsver.texi.
* doc/emacs/Makefile.in (distclean): Delete emacsver.texi.
(dist): Copy emacsver.texi.
* admin/admin.el (set-version): No need to act on doc/ files any more.
* configure.in (AC_OUTPUT): Add doc/emacs/emacsver.texi.
* make-dist: Include doc/emacs/*.texi.in.
* configure.in: Set up GnuTLS.
* lisp/net/gnutls.el: GnuTLS glue code to set up a connection.
* src/Makefile.in (LIBGNUTLS_LIBS, LIBGNUTLS_CFLAGS, ALL_CFLAGS)
(obj, LIBES): Set up GnuTLS support.
* src/config.in: Set up GnuTLS support.
* src/emacs.c: Set up GnuTLS support and call syms_of_gnutls.
* src/gnutls.c: The source code for GnuTLS support in Emacs.
* src/gnutls.h: The GnuTLS glue for Emacs, macros and enums.
* src/process.c (make_process, Fstart_process)
(read_process_output, send_process): Set up GnuTLS support for
process input/output file descriptors.
* src/process.h: Set up GnuTLS support.
* xml.c: Switch to GNU indentation.
(make_dom): Change parse tree format to match xml.el.
(Fxml_parse_html_string_internal): Rename from html-parse-string.
(Fxml_parse_string_internal): Rename from xml-parse-string.
* configure.in: Announce whether libxml2 is linked to.
If a function returns Lisp_Object it must be declared, otherwise on a 64-bit
system, it will return just 32 bits (int).
* configure.in: Use -Wimplicit-function-declaration if compiler supports it.
* src/keyboard.h (poll_for_input_1): Unconditionally declare.
* src/xterm.h (x_get_focus_frame): Declare.
* emacs.c (main) [PROFILING]: Use __executable_start if defined to
find start of text segment.
* dispnew.c (safe_bcopy): Don't define if HAVE___EXECUTABLE_START
is defined.
* configure.in: Check for __executable_start.
* configure.in (C_WARNINGS_SWITCH, PROFILING_CFLAGS)
(PROFILING_LDFLAGS): Substitute, don't add them to CFLAGS/LDFLAGS.
(C_OPTIMIZE_SWITCH): Remove.
(TEMACS_LDFLAGS2): Add ${PROFILING_LDFLAGS}.
* lib-src/Makefile.in (C_WARNINGS_SWITCH, PROFILING_CFLAGS)
(PROFILING_LDFLAGS): Set from substitution.
(BASE_CFLAGS): Add ${C_WARNINGS_SWITCH}.
(ALL_CFLAGS, CPP_CFLAGS): Add ${PROFILING_CFLAGS}.
(LINK_CFLAGS): Add ${PROFILING_LDFLAGS}.
* lwlib/Makefile.in (C_WARNINGS_SWITCH, PROFILING_CFLAGS): Set from
substitution.
(ALL_CFLAGS): Add ${C_WARNINGS_SWITCH} and ${PROFILING_CFLAGS}.
* oldXMenu/Makefile.in (C_WARNINGS_SWITCH, PROFILING_CFLAGS): Set from
substitution.
(ALL_CFLAGS): Add ${C_WARNINGS_SWITCH} and ${PROFILING_CFLAGS}.
* src/Makefile.in (C_WARNINGS_SWITCH, PROFILING_CFLAGS)
(PROFILING_LDFLAGS): Set from substitution.
(ALL_CFLAGS): Add C_WARNINGS_SWITCH and PROFILING_CFLAGS, put
CFLAGS last.
* configure.in (CFLAGS): Always use -g like it was done before the
2010-03-30 change.
(REAL_CFLAGS): Use CFLAGS for non-GCC to get optimization flags. (Bug#6538)
Set with AC_DEFINE rather than AH_BOTTOM.
* src/s/sol2-6.h (INHIBIT_X11R6_XIM): Remove, handled by configure now.
* admin/CPP-DEFINES: Remove INHIBIT_X11R6_XIM.
* configure, src/config.in: Regenerate.
* configure.in (C_OPTIMIZE_SWITCH, CANNOT_DUMP, SYSTEM_MALLOC):
(USE_MMAP_FOR_BUFFERS, C_WARNING_SWITCH): Set with shell, not cpp.
(LIBX): Remove, just use -lX11 in the one place this was used.
(cannot_dump): Replace with CANNOT_DUMP.
* src/Makefile.in (CANNOT_DUMP): Update for configure name change.
* src/s/freebsd.h (USE_MMAP_FOR_BUFFERS):
* src/s/irix6-5.h (USE_MMAP_FOR_BUFFERS):
* src/s/darwin.h (SYSTEM_MALLOC):
* src/s/sol2-10.h (SYSTEM_MALLOC): Move to configure.
* src/m/alpha.h: Remove old comment.
* src/s/aix4-2.h: Update comment.
* src/s/template.h: Remove USE_MMAP_FOR_BUFFERS.
* msdos/sed1v2.inp (CANNOT_DUMP): Update for configure name change.
* admin/CPP-DEFINES: Remove USE_MMAP_FOR_BUFFERS, CANNOT_DUMP.
* etc/DEBUG: Update SYSTEM_MALLOC and CANNOT_DUMP references.
Some re-filling.
* configure.in: Add --with-x-toolkit=gtk3. Remove HAVE_GTK_MULTIDISPLAY,
check for gtk_file_chooser_dialog_new, and HAVE_GTK_FILE_BOTH (implied
by minimum required Gtk+ 2.6). Add checks for functions introduced
in Gtk+ 2.14 or newer.
* xterm.h (gtk_widget_get_window, gtk_widget_get_mapped)
(gtk_adjustment_get_page_size, gtk_adjustment_get_upper): New
defines based on what configure finds.
* xterm.c (XTflash): Use gtk_widget_get_window.
(xg_scroll_callback): Use gtk_adjustment_get_upper and
gtk_adjustment_get_page_size.
(handle_one_xevent): Use gtk_widget_get_mapped.
(x_term_init): Remove HAVE_GTK_MULTIDISPLAY and associated error
messages.
* xmenu.c (create_and_show_popup_menu): Call gtk_widget_get_mapped.
* gtkutil.h: Replace HAVE_GTK_FILE_BOTH with
HAVE_GTK_FILE_SELECTION_NEW.
* gtkutil.c (xg_display_open, xg_display_close): Remove
HAVE_GTK_MULTIDISPLAY, it is always defined.
(xg_display_open): Return type is void.
(gtk_widget_set_has_window)
(gtk_dialog_get_action_area, gtk_dialog_get_content_area)
(gtk_widget_get_sensitive, gtk_adjustment_set_page_size)
(gtk_adjustment_set_page_increment)
(gtk_adjustment_get_step_increment): #define these if not found
by configure.
(remove_submenu): New define based on Gtk+ version.
(xg_set_cursor, xg_frame_resized, xg_event_is_for_scrollbar): Use
gtk_widget_get_window.
(xg_frame_resized, xg_update_frame_menubar): Use gtk_widget_get_mapped.
(xg_create_frame_widgets): Use gtk_widget_set_has_window.
(create_dialog): Use gtk_dialog_get_action_area and
gtk_dialog_get_content_area.
(xg_uses_old_file_dialog, xg_get_file_name): Remove HAVE_GTK_FILE_BOTH
and HAVE_GTK_FILE_CHOOSER_DIALOG_NEW. File chooser is always
available, so checking for HAVE_GTK_FILE_SELECTION_NEW is enough.
(xg_update_menubar, xg_update_submenu, xg_show_toolbar_item): Use
g_object_ref and g_object_unref.
(xg_update_menu_item, xg_tool_bar_menu_proxy): Use
gtk_widget_get_sensitive.
(xg_update_submenu): Use remove_submenu.
(xg_update_scrollbar_pos): Don't use GtkFixedChild, use child
properties instead to get old x and y position.
(xg_set_toolkit_scroll_bar_thumb): Use gtk_adjustment_get_page_size,
gtk_adjustment_get_step_increment, gtk_adjustment_set_page_size,
gtk_adjustment_set_step_increment and gtk_adjustment_set_page_increment.
(xg_get_tool_bar_widgets): New function.
(xg_tool_bar_menu_proxy, xg_show_toolbar_item)
(update_frame_tool_bar): Call xg_get_tool_bar_widgets.
(toolbar_set_orientation): New #define based on if configure
finds gtk_orientable_set_orientation.
(xg_create_tool_bar): Call toolbar_set_orientation.
(xg_make_tool_item, xg_show_toolbar_item): Call gtk_box_pack_start
instead of gtk_box_pack_start_defaults.
config.bat: Remove white space around "+" in COPY commands.
msods/mainmake.v2 (version): Use emacs_version[] in src/emacs.c
instead of lisp/version.el (see 2010-05-15T21:11:37Z!raeburn@raeburn.org).
msdos/sed1v2.inp (MKDEPDIR): Edit to empty.
Delete lines in rules that invoke $(MKDEPDIR).
Fix editing rules that begin with "cd ../lisp".
Edit out sh if-then-else-fi constructs that test ${CANNOT_DUMP}.
Edit out "|| exit ;\" constructs in emacs${EXEEXT} rule.
* configure.in (--without-compress-info): New option.
(GZIP_INFO): New output variable.
* Makefile.in (GZIP_INFO): New, set by configure.
(install-arch-indep): Don't gzip info pages if GZIP_INFO is nil.
Handle man pages in the same way.
* etc/NEWS: Re-order installation section, and add new item.
(Programmed Completion): Document the new fourth method for boundaries.
* .bzrignore: Ignore new files from trunk, which appear if you use
colocated branches (i.e. "bzr switch").
* configure.in: Do not preprocess src/Makefile.in.
(cpp_undefs, CPP_NEED_TRADITIONAL): Remove.
(AC_EGREP_CPP): Test no longer needed.
* configure: Regenerate.
* config.bat: Do not preprocess src/Makefile.in.
* make-dist: No more Makefile.c files.
* INSTALL, src/README: Makefiles are not preprocessed.
* src/Makefile.in, src/autodeps.mk, src/deps.mk, src/ns.mk:
Convert comments to Makefile format.
* lib-src/Makefile.in (distclean): No more Makefile.c.
* src/Makefile.in (bootstrap-clean): No more Makefile.c.
* admin/notes/cpp: Remove file.
* admin/quick-install-emacs (AVOID): No more Makefile.c files.
* etc/PROBLEMS, etc/MACHINES: Remove details of cpp problems which can
no longer occur.
* configure.in (NS_IMPL_GNUSTEP_INC, NS_IMPL_GNUSTEP_TEMACS_LDFLAGS)
(GNUSTEP_MAKEFILES): Remove.
(LD_SWITCH_SYSTEM_TEMACS): Move NS_IMPL_GNUSTEP_TEMACS_LDFLAGS
stuff to here.
* src/Makefile.in (NS_IMPL_GNUSTEP_INC, NS_IMPL_GNUSTEP_TEMACS_LDFLAGS):
Remove.
(TEMACS_LDFLAGS): Do not use NS_IMPL_GNUSTEP_TEMACS_LDFLAGS.
* msdos/sed1v2.inp (NS_IMPL_GNUSTEP_INC, NS_IMPL_GNUSTEP_TEMACS_LDFLAGS):
No longer present.
Comments:
See http://lists.gnu.org/archive/html/emacs-devel/2010-05/msg00846.html.
Nothing from gui.make was used at all in src/Makefile.in. The only
thing used from base.make was $CONFIG_SYSTEM_LIBS, but because we only
set shared _after_ sourcing base.make, it was always empty. We can
move the remaining flags, set in configure, to the standard variable
LD_SWITCH_SYSTEM_TEMACS.
* configure.in (LD_SWITCH_SYSTEM): Move some gnu-linux stuff...
(LD_SWITCH_SYSTEM_TEMACS): ... to here.
* src/Makefile.in (LD_SWITCH_SYSTEM_TEMACS): Move definition after some
variables it may reference.
* configure.in (LD_SWITCH_SYSTEM_EXTRA): Remove.
(LD_SWITCH_SYSTEM_TEMACS): Put darwin stuff from LD_SWITCH_SYSTEM_EXTRA
here instead.
* src/Makefile.in (LD_SWITCH_SYSTEM_EXTRA): Remove.
(TEMACS_LDFLAGS): Remove LD_SWITCH_SYSTEM_EXTRA.
* msdos/sed1v2.inp (LD_SWITCH_SYSTEM_EXTRA): No longer present.
* configure.in (ns_frag): New output file.
* src/Makefile.in (${ns_appdir}, ${ns_appbindir}Emacs, ns-app):
Move these rules to ns.mk.
* ns.mk: New file. Copyright years based on date of nextstep merge.
* msdos/sed1v2.inp(@ns_frag@): Edit to nothing.
* configure.in (OLDXMENU): Set to "nothing" if !HAVE_X11 || USE_GTK.
(OLDXMENU_TARGET): Set to empty if USE_GTK.
* src/Makefile.in (../src/$(OLDXMENU), $(OLDXMENU)): Always define rules.
* msdos/sed1x.inp (OLDXMENU): Replace any initial value.
* msdos/sed1v2.inp (OLDXMENU): Edit to "nothing".
* configure.in (cannot_dump): New output variable.
* src/Makefile.in (CANNOT_DUMP): New, set by configure.
(emacs${EXEEXT}, bootstrap-emacs${EXEEXT}): Use $CANNOT_DUMP.
* msdos/sed1v2.inp (CANNOT_DUMP): Edit to no.
* make-dist (src): Include *.mk.
* config.bat: Concatenate deps.mk onto the end of src/Makefile.
* configure.in (DEPFLAGS, MKDEPDIR): New output variables.
(deps_frag): New output file.
(AUTO_DEPEND): Remove this definition.
* src/Makefile.in (DEPDIR): New constant.
(DEPFLAGS): Set with configure, not cpp.
(MKDEPDIR): New, set by configure.
(.c.o, .m.o, ecrt0.o): Use $MKDEPDIR.
(clean): Use $DEPDIR.
(deps_frag): Include from configure.
Move static/dynamic dependency stuff to deps.mk/autodeps.mk.
* src/deps.mk, src/autodeps.mk: New files, extracted from Makefile.in.
* msdos/sed1v2.inp (DEPFLAGS, deps_frag): Edit to empty.
(MKDEPDIR): Edit to ':'.
* configure.in (LINKER, YMF_PASS_LDFLAGS): New output variables.
(ORDINARY_LINK): New AC_DEFINE.
(LIB_GCC): No need to set if ORDINARY_LINK.
* src/Makefile.in (LD, YMF_PASS_LDFLAGS): Set with configure, not cpp.
(GNULIB_VAR): Remove.
(LIBES): Use LIB_GCC instead of GNULIB_VAR.
* src/m/ibms390x.h (LINKER):
* src/m/macppc.h (LINKER) [GNU_LINUX]:
* src/s/aix4-2.h (ORDINARY_LINK):
* src/s/cygwin.h (LINKER):
* src/s/darwin.h (ORDINARY_LINK):
* src/s/gnu.h (ORDINARY_LINK):
* src/s/netbsd.h (LINKER):
* src/s/usg5-4.h (ORDINARY_LINK):
Move to configure.
* msdos/sed1v2.inp (LD): Edit to $(CC).
(YMF_PASS_LDFLAGS): Edit to `flags'.
* configure.in (POST_ALLOC_OBJ) [cygwin]: Omit vm-limit.o.
(POST_ALLOC_OBJ) [!cygwin]: Set to empty.
* src/Makefile.in (otherobj): Include $(VMLIMIT_OBJ) separately from
$(POST_ALLOC_OBJ).
* configure.in (REL_ALLOC): Unset on gnu, gnu-linux if DOUG_LEA_MALLOC.
(RALLOC_OBJ): New output variable.
* config.bat (RALLOC_OBJ): Edit to empty if sys_malloc.
* src/Makefile.in (RALLOC_OBJ): New, set by configure.
(rallocobj): Replace with the previous variable.
(otherobj): Use $RALLOC_OBJ.
* src/s/gnu.h (REL_ALLOC) [DOUG_LEA_MALLOC]:
* src/s/gnu-linux.h (REL_ALLOC) [DOUG_LEA_MALLOC]: Move undef to configure.
* msdos/sed1v2.inp (RALLOC_OBJ): Edit to ralloc.o.
* configure.in (GMALLOC_OBJ, VMLIMIT_OBJ): New output variables.
* config.bat (GMALLOC_OBJ, VMLIMIT_OBJ): Edit to empty if sys_malloc.
* src/Makefile.in (GMALLOC_OBJ, VMLIMIT_OBJ): New, set by configure.
(gmallocobj, vmlimitobj): Replace with previous two variables.
(otherobj): Use $GMALLOC_OBJ, $VMLIMIT_OBJ.
* msdos/sed1v2.inp (GMALLOC_OBJ): Edit to gmalloc.o.
(VMLIMIT_OBJ): Edit to vm-limit.o.
* configure.in (TEMACS_LDFLAGS2): New output variable.
* configure: Regenerate.
* msdos/sed1v2.inp (TEMACS_LDFLAGS2): Edit to $(LDFLAGS).
* src/Makefile.in (TEMACS_LDFLAGS2): New, set by configure.
(temacs${EXEEXT}): Combine the NS_IMPL_GNUSTEP case with the default.
* configure.in (NS_IMPL_GNUSTEP_TEMACS_LDFLAGS): New output variable.
(START_FILES): Set to empty if NS_IMPL_GNUSTEP.
(GNUSTEP_SYSTEM_HEADERS, GNUSTEP_SYSTEM_LIBRARIES): Do not output,
nothing uses.
* configure: Regenerate.
* src/Makefile.in (GNUSTEP_SYSTEM_LIBRARIES): Remove, unused.
(NS_IMPL_GNUSTEP_TEMACS_LDFLAGS): New, set by configure.
(LD) [NS_IMPL_GNUSTEP]: Set to $(CC) -rdynamic.
(temacs${EXEEXT}): Remove $LOCALCPP, never defined or referenced.
Make most of the NS_IMPL_GNUSTEP case the same as the default case.
* msdos/sed1v2.inp (GNUSTEP_SYSTEM_LIBRARIES): Remove.
(NS_IMPL_GNUSTEP_TEMACS_LDFLAGS): Edit to empty.
* configure.in (FONT_OBJ): Set to empty if !HAVE_X_WINDOWS.
* src/Makefile.in (FONT_DRIVERS): Remove, replace with $FONT_OBJ.
(obj, SOME_MACHINE_OBJECTS): Use $FONT_OBJ.
* msdos/sed1v2.inp (FONT_OBJ): Edit to empty for non-X case.
* msdos/sed1x.inp (FONT_OBJ): Edit to xfont.o for X case.
* src/emacs.c (emacs_version, emacs_copyright): New string
variables.
(Vemacs_version, Vemacs_copyright): New Lisp_Object variables.
(syms_of_emacs): Defvar them, and initialize them from the C
string variables.
(main): If initialization hasn't been done, print initial version
info from the C strings, instead of starting an interactive session.
* lisp/version.el (emacs-copyright, emacs-version): Don't define
here.
* configure.in: Look for version string in its new place.
* Makefile.in (install-arch-indep): Remove references to RCS, CVS,
and other files that no longer exist.
* leim/Makefile.in (install): Remove references to CVS-related files.
* lisp/Makefile.in (setwins, setwins_almost, setwins_for_subdirs):
Remove references to CVS, RCS and Old directories.
* src/Makefile.in (${ns_appdir}): Remove references to CVS-related files.
* configure.in (GPM_MOUSE_SUPPORT): Remove.
(MOUSE_SUPPORT, TOOLTIP_SUPPORT, WINDOW_SUPPORT): New output variables.
(HAVE_WINDOW_SYSTEM, HAVE_MOUSE): Move out of AC_BOTTOM.
* src/Makefile.in (REAL_MOUSE_SUPPORT): New constant.
(GPM_MOUSE_SUPPORT): Now it's a constant.
(MOUSE_SUPPORT, TOOLTIP_SUPPORT, WINDOW_SUPPORT): Set with configure, not cpp.
* msdos/sed2x.inp (HAVE_WINDOW_SYSTEM): Define.
* msdos/sed1x.inp (TOOLTIP_SUPPORT): Edit to ${lispsource}tooltip.elc.
(WINDOW_SUPPORT): Edit to $(BASE_WINDOW_SUPPORT) $(X_WINDOW_SUPPORT).
* msdos/sed1v2.inp (MOUSE_SUPPORT): Edit to $(REAL_MOUSE_SUPPORT).
(TOOLTIP_SUPPORT, WINDOW_SUPPORT): Edit to empty.
* configure.in (NS_IMPL_GNUSTEP_INC): New output variable.
(GNUSTEP_MAKEFILES): Do not output.
* src/Makefile.in (@NS_IMPL_GNUSTEP_INC@): Use in place of #ifdef.
* msdos/sed1v2.inp (@NS_IMPL_GNUSTEP_INC@): Edit to nil.
* configure.in (OLDXMENU, LIBXMENU): Set to empty if !HAVE_MENUS.
* src/Makefile.in (OLDXMENU, LIBXMENU) [!HAVE_MENUS]:
Let configure set these variables (to empty) in this case as well.
* configure.in (LD_SWITCH_X_SITE, C_SWITCH_X_SITE): Do not define.
* src/Makefile.in (LD_SWITCH_X_SITE): Define as a variable, not via cpp.
(LIBX_BASE): Use $LD_SWITCH_X_SITE.
* nt/config.nt (LD_SWITCH_X_SITE, C_SWITCH_X_SITE): Remove undefs.
* msdos/sed1v2.inp: Comment.
* config.bat [HAVE_X11]: Run sed3x.inp on lib-src/Makefile.
* src/Makefile.in (LIBS_SYSTEM) [MSDOS]: Do not reset.
* src/s/msdos.h (MSDOS_LIBS_SYSTEM): Remove.
* msdos/sed1x.inp (LIBS_SYSTEM): Edit to -lxext -lsys.
* msdos/sed3x.inp: New file.
* lib-src/Makefile.in (LIBS_SYSTEM) [MSDOS]: Do not reset.
(config.h) [MSDOS]: Do not include.
* configure.in (LIBS_SYSTEM): New output variable, replacing cpp.
* lib-src/Makefile.in (LIBS_SYSTEM) [!MSDOS]: Set with configure, not cpp.
(LIBS_SYSTEM) [MSDOS]: Use MSDOS_LIBS_SYSTEM.
(NOT_C_CODE): Remove, no longer used.
(config.h) [!MSDOS]: No longer include.
(LOADLIBES): Use LIBS_SYSTEM as a variable.
* src/Makefile.in (LIBS_SYSTEM): Set using configure, not cpp.
(LIBS_SYSTEM) [MSDOS]: Reset with MSDOS_LIBS_SYSTEM.
(LIBES): Use LIBS_SYSTEM as a variable.
* src/s/msdos.h (LIBS_SYSTEM): Rename to MSDOS_LIBS_SYSTEM. Always define.
* src/s/aix4-2.h (LIBS_SYSTEM):
* src/s/freebsd.h (LIBS_SYSTEM):
* src/s/hpux10-20.h (LIBS_SYSTEM):
* src/s/sol2-6.h (LIBS_SYSTEM):
* src/s/unixware.h (LIBS_SYSTEM):
Move to configure.
* msdos/sed1v2.inp, msdos/sed3v2.inp (LIBS_SYSTEM): Edit to empty.
* configure.in (HAVE_LIBNCURSES): New local variable.
(TERMINFO, LIBS_TERMCAP, TERMCAP_OBJ): New output variables,
replacing cpp in src/s/*.h and src/Makefile.in.
* src/Makefile.in (LIBS_TERMCAP): Set with configure, not cpp.
(TERMCAP_OBJ): New, set by configure, replacing termcapobj.
(termcapobj): Replace with TERMCAP_OBJ.
(otherobj): Use $TERMCAP_OBJ instead of $termcapobj.
(LIBES): Use LIBS_TERMCAP as a variable.
* src/s/freebsd.h (osreldate.h): No longer include, since this file
does not use __FreeBSD_version any more.
* srs/s/aix4-2.h (TERMINFO):
* srs/s/cygwin.h (TERMINFO):
* srs/s/darwin.h (TERMINFO, LIBS_TERMCAP) [HAVE_LIBNCURSES]:
* srs/s/freebsd.h (TERMINFO, LIBS_TERMCAP):
* srs/s/gnu-linux.h (TERMINFO, LIBS_TERMCAP) [HAVE_LIBNCURSES]:
* srs/s/gnu.h (TERMINFO, LIBS_TERMCAP) [HAVE_LIBNCURSES]:
* srs/s/hpux10-20.h (TERMINFO, LIBS_TERMCAP):
* srs/s/irix6-5.h (TERMINFO):
* srs/s/netbsd.h (LIBS_TERMCAP):
* srs/s/openbsd.h (TERMINFO, LIBS_TERMCAP):
* srs/s/sol2-6.h (LIBS_TERMCAP) [!TERMINFO]:
* srs/s/usg5-4.h (TERMINFO):
Move to configure.
* msdos/sed1v2.inp (LIBS_TERMCAP): Edit to empty.
(TERMCAP_OBJ): Edit to tparam.o.
* admin/CPP-DEFINES (LIBS_TERMCAP, TERMINFO): Remove.
config.bat: Allow for 2 leading `#'s in comments in src/Makefile.in.
src/Makefile.in: Don't use Make-style comments past the
"start of cpp stuff" line.
* configure.in (LD_SWITCH_SYSTEM): Set with configure, not cpp.
Merges logic from src/s/* and src/Makefile.in.
(LD_SWITCH_SYSTEM_TEMACS): New output variable.
* src/Makefile.in (LD_SWITCH_SYSTEM): Set with configure, not cpp.
(LD_SWITCH_SYSTEM_EXTRA): New variable, set by configure.
(TEMACS_LDFLAGS): Use $LD_SWITCH_SYSTEM and $LD_SWITCH_SYSTEM_EXTRA,
move out of cpp section.
* src/s/freebsd.h (LD_SWITCH_SYSTEM):
* src/s/gnu-linux.h (LD_SWITCH_SYSTEM):
* src/s/netbsd.h (LD_SWITCH_SYSTEM):
* admin/CPP-DEFINES: Remove LD_SWITCH_SYSTEM.
* Makefile.in (C_SWITCH_SYSTEM): Use @C_SWITCH_SYSTEM@ rather than
@c_switch_system@.
* oldXMenu/Makefile.in (C_SWITCH_SYSTEM, C_SWITCH_MACHINE): Use
@C_SWITCH_SYSTEM@, @C_SWITCH_MACHINE@ rather than
@c_switch_system@, @c_switch_machine@.
* configure.in (LD_SWITCH_X_SITE_AUX): Use AC_SUBST only, not AC_DEFINE as well.
(LD_SWITCH_X_SITE_AUX_RPATH): New output variable.
* nt/config.nt (LD_SWITCH_X_SITE_AUX): Remove.
* src/s/gnu-linux.h (LD_SWITCH_SYSTEM): Use LD_SWITCH_X_SITE_AUX as a shell
variable.
* src/s/netbsd.h (LD_SWITCH_SYSTEM_tmp): Remove.
(LD_SWITCH_SYSTEM): Use $LD_SWITCH_X_SITE_AUX_RPATH.
* src/s/openbsd.h (LD_SWITCH_SYSTEM_tmp): Remove.
(LD_SWITCH_SYSTEM): Use $LD_SWITCH_X_SITE_AUX_RPATH instead of
LD_SWITCH_SYSTEM_tmp.
* src/Makefile.in (LD_SWITCH_X_SITE_AUX, LD_SWITCH_X_SITE_AUX_RPATH):
New variables, set by configure.
* configure.in (LD_SWITCH_SYSTEM_TEMACS): New output variable.
* src/s/aix4-2.h (LD_SWITCH_SYSTEM_TEMACS): Move to configure.in.
* src/s/darwin.h (HEADERPAD_EXTRA, LIBS_NSGUI): Remove.
(LD_SWITCH_SYSTEM_TEMACS): Move to configure.in.
* src/Makefile.in (LD_SWITCH_SYSTEM_TEMACS): New variable, set by configure.
(TEMACS_LDFLAGS): Use $LD_SWITCH_SYSTEM_TEMACS.
* configure.in (C_SWITCH_MACHINE, C_SWITCH_SYSTEM): New output
variables, replacing c_switch_machine, c_switch_system.
* src/s/aix4-2.h (C_SWITCH_SYSTEM):
* src/m/alpha.h (C_SWITCH_MACHINE):
Move to configure.in.
* src/Makefile.in (C_SWITCH_MACHINE, C_SWITCH_SYSTEM):
New variables, set by configure.
(ALL_CFLAGS): Use $C_SWITCH_MACHINE and $C_SWITCH_SYSTEM in place of
$c_switch_machine and $c_switch_system.
* lib-src/Makefile.in: Use @C_SWITCH_SYSTEM@, @C_SWITCH_MACHINE@
rather than @c_switch_system@, @c_switch_machine@.
* configure.in (LIBXT_OTHER, LIBX_OTHER): New output variables.
* src/Makefile.in (LIBX_EXTRA, LIBX_BASE): New variables.
(LIBXT_OTHER, LIBX_OTHER): New, set by configure.
(LIBXT): Set with configure, not cpp.
(LIBX): Remove.
(LIBES): Replace $LIBX with $LIBX_BASE and $LIBX_OTHER.
* Makefile.in (LD_SWITCH_MACHINE): Remove definition, unused.
(TEMACS_LDFLAGS): Do not use LD_SWITCH_MACHINE.
* configure.in (LD_SWITCH_MACHINE, ld_switch_machine): Remove, unused.
(ac_link): Do not use ld_switch_machine.
* configure.in (OTHER_OBJ): Remove.
(PRE_ALLOC_OBJ, POST_ALLOC_OBJ): New output variables.
* configure: Regenerate.
* src/Makefile.in (gmallocobj, rallocobj, vmlimitobj): Initialize to null,
for clarity.
(OTHER_OBJ): Remove.
(PRE_ALLOC_OBJ, POST_ALLOC_OBJ): New, set by configure.
(otherobj): Use PRE_ALLOC_OBJ, POST_ALLOC_OBJ rather than OTHER_OBJ.
* configure.in (OTHER_OBJ): Always include vm-limit.o on Cygwin.
Elsewhere, maybe include it.
* src/Makefile.in (vmlimitobj) [!SYSTEM_MALLOC]: New variable.
(OTHER_OBJ): Define as a separate variable, for clarity.
* configure: Regenerate.
* configure.in (TOOLKIT_LIBW) [HAVE_GTK]: Set to $GTK_LIBS.
(OLDXMENU, LIBXMENU): New output variables.
* src/Makefile.in (OLDXMENU, LIBXMENU) [HAVE_MENUS]:
Set with configure, not cpp.
(LIBW): Remove, replace with $TOOLKIT_LIBW.
* configure.in (GPM_MOUSE_SUPPORT): New output variable.
* src/Makefile.in (GPM_MOUSE_SUPPORT): New, set by configure.
(MOUSE_SUPPORT) [!HAVE_MOUSE]: Use $GPM_MOUSE_SUPPORT.
* configure.in (LIBXMU): New output variable.
* src/Makefile.in (LIBXMU): Set with configure, not cpp.
* src/s/aix4-2.h (LIBXMU):
* src/s/hpux10-20.h (LIBXMU):
Remove definition, now set in configure.
See discussion in bug#5655.
* configure.in (machine, canonical): On amdx86-64, check for a 32-bit
userland and maybe change values to i386 (move test from s/amdx86-64.h).
* src/m/amdx86-64.h [i386]: Move this test to configure.in.
* configure.in (LIBXTR6): New output variable. Move unixware special
case here from src/s/unixware.h.
* src/Makefile.in (LIBXTR6): Set with configure, not cpp.
* src/s/unixware.h (NEED_LIBW): Remove definition.
* admin/CPP-DEFINES: Remove NEED_LIBW.
* configure.in (LUCID_LIBW, MOTIF_LIBW): No longer substitute in Makefiles.
(TOOLKIT_LIBW): New output variable, replacing LUCID_LIBW/MOTIF_LIBW.
* src/Makefile.in (LUCID_LIBW, MOTIF_LIBW): Remove, replacing by...
(TOOLKIT_LIBW): New, set by configure.
(@X_TOOLKIT_TYPE@): No longer define it.
* configure.in (HAVE_MOTIF_2_1): Remove unused variable.
(LIBXP): No longer substitute in Makefiles.
(MOTIF_LIBW): New output variable. Move system-specific settings here
from src/s files.
* src/Makefile.in (LIBXP): Remove, since included in MOTIF_LIBW.
(MOTIF_LIBW): Set with configure, not cpp.
* s/aix4-2.h (LIB_MOTIF):
* s/gnu-linux.h (LIB_MOTIF):
* s/unixware.h (LIB_MOTIF): Move to configure.in.
* admin/CPP-DEFINES: Remove LIB_MOTIF.
* Makefile.in (C_SWITCH_SYSTEM, C_SWITCH_MACHINE, C_SWITCH_X_SITE): Remove
definitions and undefs. Inline definitions in the only user.
(ALL_CFLAGS): Substitute C_SWITCH_X_SYSTEM using autoconf.
* Makefile.in (C_SWITCH_X_SYSTEM): Define using autoconf.
* Makefile.in (C_SWITCH_X_SYSTEM): Define using autoconf.
* configure.in (C_SWITCH_X_SYSTEM): Define using autoconf, not cpp.
* Makefile.in (LIB_X11_LIB): Remove, inline in the only user.
(obj): Use autoconf for unexec instead of cpp.
* configure.in (LIB_X11_LIB): Remove, inline in the only user.
(unexec): Define unconditionally, all platforms define
UNEXEC. AC_SUBST it.
(UNEXEC_SRC): Remove, unused.
* configure.in (--with-crt-dir): Doc fix (now valid for all platforms).
(CRT_DIR): On (powerpc64|sparc64)-*-linux-gnu*, default to /usr/lib64.
On hpux10-20, default to /lib.
* src/m/amdx86-64.h (START_FILES, LIB_STANDARD): Change the logic around,
since the defaults (set by the system file) are fine in most cases.
[GNU_LINUX, __OpenBSD__, __NetBSD__, __APPLE__]: Remove sections.
* src/m/ibms390x.h (START_FILES, LIB_STANDARD):
* src/m/macppc.h (START_FILES, LIB_STANDARD) [GNU_LINUX]:
* src/m/sparc.h (START_FILES, LIB_STANDARD) [__linux__]:
Remove definitions, since they are set correctly in s/gnu-linux.h.
* src/s/freebsd.h (START_FILES, LIB_STANDARD):
* src/s/gnu-linux.h (START_FILES, LIB_STANDARD):
* src/s/hpux10-20.h (START_FILES):
* src/s/netbsd.h (START_FILES, LIB_STANDARD, START_FILES_1, END_FILES_1):
Use $CRT_DIR in place of fixed /usr/lib, /lib directories.
* src/Makefile.in: Comment.
* configure.in (LUCID_LIBW, LIBXP, WIDGET_OBJ): New output variables.
* src/Makefile.in (LIBXP, LUCID_LIBW, WIDGET_OBJ): Set via configure.
(MOTIF_LIBW): Use $LIBXP.
(otherobj): Use $WIDGET_OBJ.
* configure.in (CRT_DIR): New output variable.
(--with-crt-dir): New option. (Bug#5655)
(HAVE_LIB64_DIR): Remove.
* src/Makefile.in (CRT_DIR): New variable, set by configure.
* src/m/amdx86-64.h, m/ibms390x.h (START_FILES, LIB_STANDARD):
Use $CRT_DIR rather than HAVE_LIB64_DIR. (Bug#5655)
* configure.in (LIBSELINUX_LIBS): Always substitute in Makefiles.
(GTK_OBJ, DBUS_OBJ, LIBXSM, XMENU_OBJ, XOBJ): New output variables.
* src/Makefile.in (DBUS_OBJ, GTK_OBJ, XMENU_OBJ, XOBJ):
Define using autoconf, not cpp.
(LIBXSM): New variable, set by autoconf.
(LIBXT): Use $LIBXSM.
* configure.in: New option: --with(out)-selinux, on by default.
Set HAVE_LIBSELINUX if we find libselinux, and substitute
LIBSELINUX_LIBS in Makefiles.
* src/Makefile.in (LIBSELINUX_LIBS): New.
(LIBES): Add $LIBSELINUX_LIBS.
* src/eval.c, lisp.h (call7): New function.
* src/fileio.c [HAVE_LIBSELINUX]: Include selinux headers.
(Ffile_selinux_context, Fset_file_selinux_context):
New functions.
(Fcopy_file): New parameter preserve-selinux-context.
(Frename_file): Preserve selinux context when renaming by copy-file.
* lisp/files.el (backup-buffer): Handle SELinux context, and return it
if a backup was made by renaming.
(backup-buffer-copy): Set SELinux context to the target file.
(basic-save-buffer): Set SELinux context of the newly written file.
(basic-save-buffer-1): Now it also returns any SELinux context.
(basic-save-buffer-2): Set SELinux context of the newly created file,
and return it.
* lisp/net/tramp.el (tramp-file-name-for-operation):
Add file-selinux-context.
* Makefile.in (LIBX11_SYSTEM): Remove.
* s/msdos.h (LIBX11_SYSTEM): Do not define, define LIBS_SYSTEM
instead.
* configure.in: Remove all references to LIBX11_SYSTEM.
* s/unixware.h: Add the contents of s/usg-5-4-2.h.
* s/usg-5-4-2.h: Remove.
* configure.in: Remove support for old UNIX System V systems and
for Unixware on non-x86 machines.
* s/sol2-6.h: Add the contents of s/sol-2.3.h, s/sol-2.4.h, s/sol-2.5.h.
(LD_SWITCH_SYSTEM, USE_MMAP_FOR_BUFFERS): Remove #defines/#undef
that cancel each other.
* s/sol2-3.h:
* s/sol2-4.h:
* s/sol2-5.h: Remove.
* m/ibmrs6000.h: Remove code for USG5_4, this file is only used on AIX.
(NO_REMAP): Remove, unused.
(UNEXEC): Move definition ...
* s/aix4-2.h (UNEXEC): ... here.
* configure.in: Remove support for Solaris on PPC and for old versions.
* configure.in (--with-mmdf, --with-mail-unlink):
New options, off by default.
(--with-mailhost): New option to set default POP host.
(LIBXPM, LIBJPEG, LIBPNG, LIBTIFF, LIBGIF, LIBGPM, LIBS_MAIL)
(LIBHESIOD, LIBRESOLV, COM_ERRLIB, CRYPTOLIB, KRB5LIB, DESLIB, KRB4LIB):
New variables, substituted in Makefiles.
(try_libungif, ac_gif_lib_name): Replace with HAVE_GIF=maybe, LIBGIF.
(LIBGIF): Use AC_SUBST rather than AC_DEFINE.
(HAVE_LIBMAIL, HAVE_LIBLOCKFILE, HAVE_LIBCOM_ERR, HAVE_LIBCRYPTO)
(HAVE_LIBK5CRYPTO, HAVE_LIBKRB5, HAVE_LIBDES425, HAVE_LIBDES)
(HAVE_LIBKRB4, HAVE_LIBKRB): New AC_DEFINEs.
* lib-src/Makefile.in (KRB4LIB, DESLIB, KRB5LIB, CRYPTOLIB, COM_ERRLIB)
(HESIODLIB, LIBS_MAIL): Set using autoconf rather than cpp.
(BASE_CFLAGS): Remove (identical to CPP_CFLAGS).
* src/Makefile.in (XFT_LIBS, LIBXPM, LIBJPEG, LIBPNG, LIBTIFF, LIBGIF)
(LIBGPM, LIBRESOLV): Set using autoconf rather than cpp.
configure.in <AC_CHECK_HEADERS>: Remove termcap.h.
configure: Regenerated.
src/Makefilie.in (termcapobj): Move termcap.o from here...
(MSDOS_OBJ): ...to here.
(termcapobj) [!LIBS_TERMCAP]: Remove specialized value, as it is
now identical to when LIBS_TERMCAP is defined.
src/term.c: Remove (ifdef'ed away) inclusion of termcap.h.
src/cm.c: Remove (ifdef'ed away) inclusion of termcap.h.
src/config.in: Regenerated.
* configure.in: Check for utmp.h availability (FreeBSD 9.x lacks
this header file).
* filelock.c: Include utmp.h only when HAVE_UTMP_H (FreeBSD 9.x
lacks this header file).
See http://lists.gnu.org/archive/html/emacs-devel/2009-12/msg00758.html
* emacs.c (REPORT_EMACS_BUG_PRETEST_ADDRESS): Set it to
bug-gnu-emacs rather than emacs-pretest-bug.
* mail/emacsbug.el (report-emacs-bug-pretest-address): Set
it to bug-gnu-emacs rather than emacs-pretest-bug.
* CONTRIBUTE, NEWS: Use bug-gnu-emacs rather than emacs-pretest-bug
for bug reports for development versions.
* trouble.texi (Checklist): Use bug-gnu-emacs rather than
emacs-pretest-bug for bug reports for development versions.
* emacs-pretesters, make-announcement: Use bug-gnu-emacs rather
than emacs-pretest-bug for bug reports for development versions.
* INSTALL.BZR, README: Use bug-gnu-emacs rather than emacs-pretest-bug
for bug reports for development versions.
* xterm.h (struct x_display_info): Add atoms and Window for xsettings.
* xterm.c (handle_one_xevent): Call xft_settings_event for
ClientMessage, PropertyNotify and DestroyNotify.
(x_term_init): If we have XFT, get DPI from Xft.dpi.
Call xsettings_initialize.
* xftfont.c (xftfont_fix_match): New function.
(xftfont_open): Call XftDefaultSubstitute before XftFontMatch.
Call xftfont_fix_match after XftFontMatch.
* xfont.c (xfont_driver): Initialize all members.
* xfns.c (x_default_font_parameter): Try font from Ffont_get_system_font.
Do not get font from x_default_parameter if we got one from
Ffont_get_system_font.
(Fx_select_font): Get the defaut font name from :name of FRAME_FONT (f).
* w32font.c (w32font_driver): Initialize all members.
* termhooks.h (enum event_kind): CONFIG_CHANGED_EVENT is new.
* lisp.h: Declare syms_of_xsettings.
* keyboard.c (kbd_buffer_get_event, make_lispy_event): Handle
CONFIG_CHANGED_EVENT.
* ftfont.c (ftfont_filter_properties): New function.
* frame.c (x_set_font): Remove unused variable lval.
* font.h (struct font_driver): filter_properties is new.
* font.c (font_put_extra): Don't return if val is nil, it means
boolean option is off.
(font_parse_fcname): Collect all extra properties in extra_props
and call filter_properties for all drivers with extra_props and
font as parameter.
(font_open_entity): Do not use cache, it does not pick up new fontconfig
settings like hinting.
(font_load_for_lface): If spec had a name in it, store it in entity.
* emacs.c (main): Call syms_of_xsettings
* config.in: HAVE_GCONF is new.
* Makefile.in (GCONF_CFLAGS, GCONF_LIBS): New variables for HAVE_GCONF.
xsettings.o is new.
* menu-bar.el: Put "Use system font" in Option-menu.
* loadup.el: If feature system-font-setting or font-render-setting is
there, load font-setting.
* Makefile.in (ELCFILES): font-settings.el is new.
* font-setting.el: New file.
* NEWS: Mention dynamic font changes (font-use-system-font).
* configure.in: New option: --with(out)-gconf.
Set HAVE_GCONF if we find gconf.
* Makefile.in: If AUTO_DEPEND is defined, make gcc generate
dependency files in deps/. Include those files into Makefile.
* config.in: Generated (AUTO_DEPEND).
* configure.in: --enable-autodepend is new. Check for GNU Make
and that gcc supports -MMD -MF. Define AUTO_DEPEND if we can use
gcc and GNU make to generate dependencies.