Work around some portability problems with symlinks.
* Makefile.in (GNULIB_MODULES): Add lstat, readlink, symlink.
* configure.in (lstat, HAVE_LSTAT): Remove special hack.
* lib/lstat.c, lib/readlink.c, lib/stat.c, lib/symlink.c:
* m4/dos.m4, m4/lstat.m4, m4/readlink.m4, m4/stat.m4, m4/symlink.m4:
New files, automatically generated from gnulib.
* aclocal.m4, configure, lib/Makefile.in, lib/gnulib.mk:
* lib/stdlib.in.h, m4/gl-comp.m4, m4/stdlib_h.m4: Regenerate.
2011-02-22 Paul Eggert <eggert@cs.ucla.edu>
[src/ChangeLog]
Work around some portability problems with symlinks.
* fileio.c (Frename_file, Fmake_symbolic_link, Ffile_symlink_p):
Simplify the code by assuming that the readlink and symlink calls
exist, even if they always fail on this host.
(Ffile_readable_p): Likewise, for fifos.
* config.in: Regenerate.
* configure: Rebuild.
* configure.in (NS_OBJC_OBJ): New subst.
lib-src
* make-docfile.c: Unconditionally include stdlib.h.
(generate_globals): New global.
(xrealloc): New function.
(main): Handle '-g'. Call start_globals, write_globals.
(scan_file): Conditionally call put_filename.
(start_globals): New function.
(struct global): New.
(num_globals, globals): New globals.
(add_global, compare_globals, write_globals): New functions.
(scan_c_file): Update for "-g".
(scan_lisp_file): Fail if "-g".
(enum global_type): New.
src
* Makefile.in (NS_OBJC_OBJ): New variable.
(base_obj): Rename from 'obj'.
(obj): New variable.
(globals.h, gl-stamp, $(obj)): New targets.
(GLOBAL_SOURCES): New variable.
* globals.h: Remove.
* nsselect.m (Vselection_alist): Define. Reverts part of
2011-01-19T22:11:33Z!jan.h.d@swipnet.se.
* buffer.c: Don't use "no_cell" for name of kill-buffer-hook's
variable.
* xselect.c (Vselection_alist): Define. Reverts part of 2011-01-19T23:32:42Z!eggert@cs.ucla.edu.
* 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, 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.
* 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 (HAVE_GCONF): Check for g_type_init if GConf is found.
* src/config.in (HAVE_G_TYPE_INIT): New symbol.
* src/xsettings.c (init_gconf): Check HAVE_G_TYPE_INIT.
* 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 (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.
* configure.in (LINKER): Rename to LD_FIRSTFLAG, do not include $(CC).
* src/Makefile.in (temacs): Link using $(CC) not $(LD).
(LD_FIRSTFLAG): Define using autoconf.
(LD): Remove.
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.