1. 10 Jan, 2019 1 commit
    • Alan Third's avatar
      Add native image scaling (bug#33587) · a1b7a3f2
      Alan Third authored
      * configure.ac: Test for XRender outside of xft checks.
      * src/Makefile.in (XRENDER_LIBS): List XRender libs separately from
      xft libs.
      * lisp/image.el (image--get-imagemagick-and-warn): Allow resizing if
      native scaling is available.
      * src/dispextern.h: Add XRender and image scaling stuff.
      (struct image): Add XRender Pictures.
      * src/image.c (x_create_bitmap_mask):
      (image_create_x_image_and_pixmap): Handle XRender Picture.
      (scale_image_size):
      (compute_image_size): Make available when any form of scaling is
      enabled.
      (x_set_image_size): New function.
      (lookup_image): Set image size.
      (x_create_x_image_and_pixmap): Create XRender Picture when necessary.
      (x_put_x_image): Handle the case where desired size != actual size.
      (free_image): Free XRender Pictures.
      (Fimage_scaling_p): New function.
      (syms_of_image): Add image-scaling-p.
      * src/nsimage.m (ns_load_image): Remove NS specific resizing.
      ([EmacsImage setSizeFromSpec:]): Remove method.
      (ns_image_set_size): New function.
      * src/nsterm.m (ns_draw_fringe_bitmap): Cocoa and GNUstep both have
      the same compositing functions, so remove unnecessary difference.
      * src/xterm.c (x_composite_image): New function.
      (x_draw_image_foreground): Use new x_composite_image function.
      * doc/lispref/display.texi (Image Descriptors): Document
      image-scaling-p and add resizing descriptors.
      (ImageMagick Images): Remove resizing descriptors.
      a1b7a3f2
  2. 01 Jan, 2019 1 commit
  3. 03 Dec, 2018 1 commit
    • Paul Eggert's avatar
      Use tcdrain, not fdatasync, to drain ttys · f5090b91
      Paul Eggert authored
      fdatasync is for storage devices, not ttys.
      * admin/merge-gnulib (GNULIB_MODULES): Remove fdatasync.
      * lib/fdatasync.c, m4/fdatasync.m4: Remove.
      * lib-src/Makefile.in (LIB_FDATASYNC):
      * src/Makefile.in (LIB_FDATASYNC):
      Remove.  All uses removed.
      * lib-src/emacsclient.c [!DOS_NT]:
      Include <termios.h>, for tcdrain.
      * lib-src/emacsclient.c (flush_stdout):
      * src/sysdep.c (reset_sys_modes): On ttys, use tcdrain instead
      of fdatasync (except don’t use either function if DOS_NT).
      * lib/gnulib.mk.in, m4/gnulib-comp.m4: Regenerate.
      f5090b91
  4. 12 Nov, 2018 1 commit
    • Paul Eggert's avatar
      Work around dumping bug on GNU/Linux ppc64le · 1d79c2eb
      Paul Eggert authored
      Problem reported by Thomas Fitzsimmons (Bug#33174).
      Do not merge to master, as we have a better fix there.
      * src/Makefile.in (emacs$(EXEEXT)):
      (bootstrap-emacs$(EXEEXT)):
      Unset EMACS_HEAP_EXEC before invoking temacs.
      1d79c2eb
  5. 07 Oct, 2018 1 commit
    • Paul Eggert's avatar
      Move timestamp-related stuff to timefns.c · b5d08da1
      Paul Eggert authored
      This does not change behavior; it’s just long-overdue
      refactoring (Bug#32902).
      * src/emacs.c (main): Call init_timefns, syms_of_timefns.
      * src/timefns.c: New file, containing timestamp-related stuff
      from editfns.c and sysdep.c.
      * src/Makefile.in (base_obj): Add timefns.o.
      * src/editfns.c: Simplify by moving a big chunk to timefns.c.
      Do not include systime.h, sys/resource.h, sys/param.h,
      strftime.h, coding.h.
      (HAVE_TZALLOC_BUG, TM_YEAR_BASE, HAVE_TM_GMTOFF, tzeqlen)
      (local_tz, utc_tz, emacs_localtime_rz, emacs_mktime_z)
      (invalid_time_zone_specification, xtzfree, tzlookup)
      (TIME_T_MIN, TIME_T_MAX, time_overflow, invalid_time)
      (check_time_validity, hi_time, lo_time, Fcurrent_time)
      (time_add, time_subtract, time_arith, Ftime_add)
      (Ftime_subtract, Ftime_less_p, Fget_internal_run_time)
      (make_lisp_time, disassemble_lisp_time, decode_float_time)
      (lisp_to_timespec, lisp_time_struct, lisp_time_argument)
      (lisp_seconds_argument, Ffloat_time, emacs_nmemftime)
      (Fformat_time_string, format_time_string, Fdecode_time)
      (check_tm_member, Fencode_time, Fcurrent_time_string)
      (tm_gmtoff, Fcurrent_time_zone, Fset_time_zone_rule)
      (emacs_getenv_TZ, emacs_setenv_TZ): Move to timefns.c.
      * src/emacs.c (main): Adjust to initialization changes.
      * src/sysdep.c: Include <sys/resource.h> if it's present.
      Regularize includes a bit.
      (Fget_internal_run_time): Move here from editfns.c.
      (init_timefns, syms_of_timefns): New functions.
      * src/w32.h (w32_get_internal_run_time): Move decl here
      so that it need not be cloned.
      * test/src/editfns-tests.el:
      * test/src/editfns-tests.el (format-time-string-with-zone)
      (format-time-string-with-outlandish-zone)
      (editfns-tests--have-leap-seconds)
      (format-time-string-with-bignum-on-32-bit):
      Move to ...
      * test/src/timefns-tests.el: ... this new file.
      b5d08da1
  6. 24 Sep, 2018 1 commit
    • Paul Eggert's avatar
      Fix ‘make clean’ with a file named ‘-.o’ · 36243179
      Paul Eggert authored
      Problem reported by T.V Raman in:
      https://lists.gnu.org/r/emacs-devel/2018-09/msg00866.html
      * Makefile.in (clean, extraclean):
      * doc/emacs/Makefile.in (mostlyclean):
      * doc/lispintro/Makefile.in (mostlyclean):
      * doc/lispref/Makefile.in (mostlyclean):
      * doc/misc/Makefile.in (mostlyclean, clean):
      * etc/refcards/Makefile (clean):
      * lib-src/Makefile.in (mostlyclean, extraclean):
      * lib/Makefile.in (clean):
      * lwlib/Makefile.in (clean mostlyclean):
      * oldXMenu/Makefile.in (clean mostlyclean):
      * src/Makefile.in (mostlyclean, extraclean):
      * test/Makefile.in (mostlyclean):
      Say ‘rm ./*.o’ instead of ‘rm *.o’ to avoid undesirable failure
      when a file name begins with ‘-’.
      36243179
  7. 28 Aug, 2018 1 commit
    • Paul Eggert's avatar
      Modularize bignums better · 9abaf5f3
      Paul Eggert authored
      * src/bignum.c, src/bignum.h: New files.  Only modules that
      need to know how bignums are implemented should include
      bignum.h.  Currently these are alloc.c, bignum.c (of course),
      data.c, emacs.c, emacs-module.c, floatfns.c, fns.c, print.c.
      * src/Makefile.in (base_obj): Add bignum.o.
      * src/alloc.c (make_bignum_str): Move to bignum.c.
      (make_number): Remove; replaced by bignum.c’s make_integer.
      All callers changed.
      * src/conf_post.h (ARG_NONNULL): New macro.
      * src/json.c (json_to_lisp): Use it.
      * src/data.c (Fnatnump):
      Move NATNUMP’s implementation here from lisp.h.
      * src/data.c (Fnumber_to_string):
      * src/editfns.c (styled_format):
      Move conversion of string to bignum to bignum_to_string, and
      call it here.
      * src/emacs-module.c (module_make_integer):
      * src/floatfns.c (Fabs):
      Simplify by using make_int.
      * src/emacs.c: Include bignum.h, to expand its inline fns.
      * src/floatfns.c (Ffloat): Simplify by using XFLOATINT.
      (rounding_driver): Simplify by using double_to_bignum.
      (rounddiv_q): Clarify use of temporaries.
      * src/lisp.h: Move decls that need to know bignum internals to
      bignum.h.  Do not include gmp.h or mini-gmp.h; that is now
      bignum.h’s job.
      (GMP_NUM_BITS, struct Lisp_Bignum, XBIGNUM, mpz_set_intmax):
      Move to bignum.h.
      (make_int): New function.
      (NATNUMP): Remove; all callers changed to use Fnatnump.
      (XFLOATINT): If arg is a bignum, use bignum_to_double, so that
      bignum internals are not exposed here.
      * src/print.c (print_vectorlike): Use SAFE_ALLOCA to avoid the
      need for a record_unwind_protect_ptr.
      9abaf5f3
  8. 06 Aug, 2018 1 commit
    • Paul Eggert's avatar
      Rename src/regex.c to src/regex-emacs.c. · e5652268
      Paul Eggert authored
      This is in preparation for using Gnulib regex for etags,
      to avoid collisions in include directives.
      * src/regex-emacs.c: Rename from src/regex.c.
      * src/regex-emacs.h: Rename from src/regex.h.  All uses changed.
      * test/src/regex-emacs-tests.el: Rename from test/src/regex-tests.el.
      e5652268
  9. 13 Jul, 2018 1 commit
    • Tom Tromey's avatar
      Add configury for GMP library · 7cb45cd2
      Tom Tromey authored
      * configure.ac (GMP_LIB, GMP_OBJ): New substs.
      * src/Makefile.in (GMP_OBJ, GMP_OBJ): New variables.
      (base_obj): Add GMP_OBJ.
      (LIBES): Add GMP_LIB.
      * src/mini-gmp.h: New file.
      * src/mini-gmp.c: New file.
      7cb45cd2
  10. 15 Jun, 2018 1 commit
  11. 12 Jun, 2018 1 commit
  12. 02 Jun, 2018 1 commit
  13. 26 Feb, 2018 1 commit
  14. 17 Feb, 2018 1 commit
  15. 13 Jan, 2018 1 commit
    • Ken Brown's avatar
      Add battery support to all Cygwin builds · 5af5df1f
      Ken Brown authored
      It already exists in the Cygwin-w32 build.
      * src/w32fns.c (Fw32_battery_status): Move to...
      * src/w32cygwinx: New file, to be used for functions common to
      the MS Windows and Cygwin builds.
      (syms_of_w32cygwinx): New function.
      * src/lisp.h: Add prototype of syms_of_w32cygwinx.
      * src/emacs.c (main) [HAVE_NTGUI or CYGWIN]: Call syms_of_w32cygwinx.
      * src/Makefile.in (SOME_MACHINE_OBJECTS):
      * configure.ac (W32_OBJ) [HAVE_W32]: Add w32cygwinx.o.
      (W32_LIBS) [CYGWIN]: Set equal to "-lkernel32" in non-w32 build.
      (W32_OBJ) [CYGWIN]: Set equal to "w32cygwinx.o" in non-w32 build.
      * etc/NEWS: Document the new battery support.
      5af5df1f
  16. 06 Jan, 2018 1 commit
  17. 01 Jan, 2018 1 commit
  18. 10 Dec, 2017 1 commit
    • Philipp Stephani's avatar
      Implement native JSON support using Jansson · ab203e36
      Philipp Stephani authored
      * configure.ac: New option --with-json.
      
      * src/json.c (Fjson_serialize, Fjson_insert, Fjson_parse_string)
      (Fjson_parse_buffer): New defuns.
      (json_malloc, json_free, json_has_prefix, json_has_suffix)
      (json_make_string, json_build_string, json_encode)
      (json_out_of_memory, json_parse_error)
      (json_release_object, check_string_without_embedded_nulls, json_check)
      (lisp_to_json, lisp_to_json_toplevel, lisp_to_json_toplevel_1)
      (json_insert, json_insert_callback, json_to_lisp)
      (json_read_buffer_callback, Fjson_parse_buffer, define_error): New
      helper functions.
      (init_json, syms_of_json): New file.
      
      * src/lisp.h: Declaration for init_json and syms_of_json.
      
      * src/emacs.c (main): Enable JSON functions.
      
      * src/eval.c (internal_catch_all, internal_catch_all_1): New helper
      functions to catch all signals.
      (syms_of_eval): Add uninterned symbol to signify out of memory.
      
      * src/Makefile.in (JSON_LIBS, JSON_CFLAGS, JSON_OBJ, EMACS_CFLAGS)
      (base_obj, LIBES): Compile json.c if --with-json is enabled.
      
      * test/src/json-tests.el (json-serialize/roundtrip)
      (json-serialize/object, json-parse-string/object)
      (json-parse-string/string, json-serialize/string)
      (json-parse-string/incomplete, json-parse-string/trailing)
      (json-parse-buffer/incomplete, json-parse-buffer/trailing): New unit
      tests.
      
      * doc/lispref/text.texi (Parsing JSON): New manual section.
      ab203e36
  19. 19 Sep, 2017 1 commit
  20. 18 Sep, 2017 2 commits
    • Philipp Stephani's avatar
      Revert "Implement native JSON support using Jansson" · 0925a20e
      Philipp Stephani authored
      This reverts commit cb99cf5a.
      0925a20e
    • Philipp Stephani's avatar
      Implement native JSON support using Jansson · cb99cf5a
      Philipp Stephani authored
      * configure.ac: New option --with-json.
      
      * src/json.c (Fjson_serialize, Fjson_insert, Fjson_parse_string)
      (Fjson_parse_buffer): New defuns.
      (json_out_of_memory, json_parse_error, json_release_object)
      (check_string_without_embedded_nulls, json_check, lisp_to_json)
      (json_insert, json_insert_callback, json_to_lisp)
      (json_read_buffer_callback, Fjson_parse_buffer, define_error): New
      helper function.
      (syms_of_json): New file.
      
      * src/lisp.h: Declaration for syms_of_json.
      
      * src/emacs.c (main): Enable JSON functions.
      
      * src/Makefile.in (JSON_LIBS, JSON_CFLAGS, JSON_OBJ, EMACS_CFLAGS)
      (base_obj, LIBES): Compile json.c if --with-json is enabled.
      
      * test/src/json-tests.el (json-serialize/roundtrip)
      (json-serialize/object, json-parse-string/object): New unit tests.
      cb99cf5a
  21. 13 Sep, 2017 2 commits
    • Paul Eggert's avatar
      Prefer HTTPS to FTP and HTTP in documentation · bc511a64
      Paul Eggert authored
      Most of this change is to boilerplate commentary such as license URLs.
      This change was prompted by ftp://ftp.gnu.org's going-away party,
      planned for November.  Change these FTP URLs to https://ftp.gnu.org
      instead.  Make similar changes for URLs to other organizations moving
      away from FTP.  Also, change HTTP to HTTPS for URLs to gnu.org and
      fsf.org when this works, as this will further help defend against
      man-in-the-middle attacks (for this part I omitted the MS-DOS and
      MS-Windows sources and the test tarballs to keep the workload down).
      HTTPS is not fully working to lists.gnu.org so I left those URLs alone
      for now.
      bc511a64
    • Mark Oteiza's avatar
      Add lcms2 interface · 5d4c539b
      Mark Oteiza authored
      configure.ac: Add boilerplate for configuring and detecting liblcms2.
      etc/NEWS: Mention new configure option and color-distance change.
      src/Makefile.in: Add references to lcms.c and liblcms.
      src/emacs.c: Define lcms2 symbols.
      src/lcms.c: New file.
      src/lisp.h: Add declaration for lcms2.
      src/xfaces.c: Add optional METRIC argument.
      5d4c539b
  22. 21 Aug, 2017 1 commit
  23. 18 Jun, 2017 1 commit
  24. 26 Apr, 2017 1 commit
  25. 25 Apr, 2017 1 commit
  26. 14 Apr, 2017 1 commit
    • Glenn Morris's avatar
      Create generated lisp files before main loaddefs.el · ad128fee
      Glenn Morris authored
      This should improve reproducibility of lisp/loaddefs.el.
      * lisp/Makefile.in (gen-lisp): New phony target.
      ($(lisp)/loaddefs.el, compile-main): Depend on gen-lisp.
      * src/Makefile.in ($(leimdir)/leim-list.el): Depend on all of ../leim.
      * lisp/cedet/semantic.el (semantic-mode):
      * lisp/cedet/semantic/fw.el (top-level):
      * lisp/emacs-lisp/eieio-core.el (top-level):
      Robustify to generated input files maybe not yet existing.
      ad128fee
  27. 13 Apr, 2017 1 commit
  28. 08 Apr, 2017 1 commit
    • Paul Eggert's avatar
      Fix dependency checking in src/Makefile.in · a614cd41
      Paul Eggert authored
      * src/Makefile.in (AUTO_DEPEND, DEPDIR, DEPFLAGS): Move includes of
      dependency files until after ALLOBJS is defined, since it uses ALLOBJS.
      Otherwise, some dependencies will be missed.
      a614cd41
  29. 21 Mar, 2017 1 commit
    • Paul Eggert's avatar
      Streamline dependency-file generation · bf8cf95d
      Paul Eggert authored
      * configure.ac (AUTODEPEND_PARENTS): New var.
      mkdir the dependency directories here, to simplify ‘make’.
      Remove dependency files just before outputting Makefiles, so that
      they are preserved if ‘configure’ exits early due to some other problem.
      * lib/Makefile.in, lwlib/Makefile.in, oldXMenu/Makefile.in:
      * src/Makefile.in: Adjust deps strategies to be similar, as follows:
      (MKDEPDIR): Remove.  All uses removed.  This cuts down on the
      number of processes spun off by ‘make’.
      (clean mostlyclean): Remove $(DEPDIR) contents, not $(DEPDIR) itself.
      (distclean): Remove $(DEPDIR) itself.
      * lwlib/Makefile.in (all): Move to front, so that depdir includes
      do not alter default action.
      bf8cf95d
  30. 17 Mar, 2017 2 commits
    • Paul Eggert's avatar
      Fixups for GNU Make switchover · 2f893509
      Paul Eggert authored
      This fixes some minor problems introduced in the recent switch to GNU
      Make, discovered by further testing.  Without some of these changes
      'make -j' would sometimes have race conditions caused by missing
      dependencies.  (Bug#26100)
      * .gitignore: Remove src/stamp-h.in, src/stamp-h1.
      * Makefile.in ($(MAKEFILE_NAME)): Depend on configure, not
      src/config.in, since the former's timestamp now represents
      the latter's.
      ($(srcdir)/configure): Use plain ./autogen.sh, for consistency
      with other autogen.sh invocations.
      ($(srcdir)/src/stamp-h.in):
      Remove rule, as this file is no longer created.
      * Makefile.in (top_distclean):
      * src/Makefile.in (bootstrap-clean):
      No need to remove stamp-h1, as that was an Automake byproduct
      and Automake is no longer in use.
      * lib/Makefile.in, src/Makefile.in:
      (AUTOCONF_INPUTS, $(top_srcdir)/configure): Remove.
      (../config.status, Makefile): Simplify by limiting dependencies
      to files we care about and files in the repository, and by
      using just one file to represent the timestamps on multiple
      targets updated by the same rule.
      * autogen.sh: Do not create or use src/stamp-h.in.
      Instead, have 'find' test the two output files directly.
      2f893509
    • Paul Eggert's avatar
      Switch from Automake to GNU Make · 65faa7bc
      Paul Eggert authored
      Emacs assumes GNU Make, and GNU Make has much of the functionality of
      Automake built-in.  The Emacs build process uses Automake primarily
      because Emacs uses some Gnulib code and Gnulib formerly required
      Automake.  Now that Gnulib no longer requires Automake, Emacs can
      stop using Automake and this should simplify Emacs maintenance
      in the future (Bug#26100).  Although this patch may look long, most of
      it is generated automatically: the changes to build-aux/config.guess,
      build-aux/config.sub, build-aux/install-sh, and lib/gnulib.mk.in are
      all done by admin/merge-gnulib.
      * .gitignore: Remove build-aux/ar-lib, build-aux/compile,
      build-aux/config.guess, build-aux/config.sub, build-aux/depcomp,
      build-aux/install-sh, build-aux/missing, and lib/Makefile.in,
      as they are no longer built by autogen.sh.
      Add lib/gnulib.mk, as it is now built by 'configure'.
      Remove nt/gnulib.mk, as it is no longer built by 'make'.
      * INSTALL.REPO, README, admin/make-tarball.txt:
      Remove mention of Automake.
      * Makefile.in (AUTOCONF, AUTOMAKE, AUTOHEADER, ACLOCAL, lib)
      (AUTOCONF_INPUTS, ACLOCAL_PATH, ACLOCAL_INPUTS)
      ($(srcdir)/aclocal.m4, AUTOMAKE_INPUTS)
      ($(srcdir)/lib/Makefile.in, $(srcdir)/nt/gnulib.mk, am--refresh):
      Remove.
      ($(MAKEFILE_NAME)): Depend on lib/gnulib.mk.in.
      ($(srcdir)/configure, $(srcdir)/src/stamp-h.in)
      ($(srcdir)/src/config.in):
      Use autogen.sh instead of doing it by hand.
      * admin/merge-gnulib (AVOIDED_MODULES, avoided_flags)):
      New vars, to simplify processing of avoided modules.
      (GNULIB_TOOL_FLAGS): Move --avoid flags into AVOIDED_MODULES.
      Add --gnu-make, and change makefile name to gnulib.mk.in.
      Copy config.guess, config.sub, and install-sh too, since
      Automake no longer does that for us.
      * admin/notes/copyright:
      * admin/update_autogen (genfiles):
      Update list of files.
      Remove hack for nt/gnulib.mk, a file that is no longer needed.
      * autogen.sh (progs): Remove Automake.
      (automake_min): Remove.
      Build aclocal.m4 so that autoreconf need not use aclocal.
      * build-aux/config.guess, build-aux/config.sub:
      * build-aux/install-sh:
      New files, copied from Gnulib.  These are now updated by
      admin/merge-gnulib instead by autogen.sh.
      * configure.ac (AC_PROG_MAKE_SET, ACLOCAL_PATH, AM_CONDITIONAL):
      Remove.
      (AM_INIT_AUTOMAKE, AM_SILENT_RULES): Remove call.
      (AC_PROG_CC_C_O): Call this instead of AM_PROG_CC_C_O.
      (BUILDING_FOR_WINDOWSNT, HYBRID_MALLOC_LIB): Remove; no longer needed.
      (--disable-silent-rules): New option, since Automake no longer
      does this for us.
      (AM_V, AM_DEFAULT_V): Set unconditionally, and do not bother
      with AM_SUBST_NOTMAKE.
      (AC_PROG_INSTALL): Add call.
      (MAKEINFO): Do not bother with the 'missing' program.
      (MAKEINFO, SYSTEM_TYPE): AC_SUBST.
      (AC_CONFIG_FILES): Add Makefile, lib/gnulib.mk.
      (SUBDIR_MAKEFILES): Remove duplication.
      * lib/Makefile.am: Remove, replacing with:
      * lib/Makefile.in: New file, with the old Makefile.am contents
      and with the following changes:
      (AUTOMAKE_OPTIONS, BUILT_SOURCES, CLEANFILES, EXTRA_DIST)
      (MOSTLYCLEANDIRS, MOSTLYCLEANFILES, noinst_LIBRARIES, SUFFIXES)
      (AM_CFLAGS, DEFAULT_INCLUDES, libegnu_a_SOURCES, libegnu_a_LIBADD)
      (EXTRA_libegnu_a_SOURCES, libegnu_a_SHORTNAME, libegnu_a_CPPFLAGS):
      Remove.
      (VPATH, abs_top_builddir, top_builddir, top_srcdir, all, AM_V_AR)
      (AM_V_CC, AM_V_GEN, AM_V_at, DEPDIR, DEPFLAGS, MKDEPDIR, SYSTEM_TYPE)
      (libgnu.a, libegnu.a, ETAGS, $(ETAGS), tags, TAGS, clean)
      (mostlyclean, distclean, bootstrap-clean, maintainer-clean):
      New macros and rules, since Automake no longer does them.
      Include ../nt/gnulib-cfg.mk if SYSTEM_TYPE is windows-nt,
      instead of including ../nt/gnulib.mk if BUILDING_FOR_WINDOWS_NT.
      Include dependency files if AUTO_DEPEND.
      (ALL_CFLAGS, AUTOCONF_INPUTS, libgnu_a_OBJECTS, libegnu_a_OBJECTS):
      New macros.
      (bootstrap-clean): Depend on distclean, not maintainer-clean,
      and remove gnulib.mk.
      (AUTOCONF_INPUTS, $(top_srcdir)/configure, ../config.status, Makefile):
      New macros and rules, copied from ../Makefile.in.
      ($(libegnu_a_OBJECTS), $(libgnu_a_OBJECTS)): Depend on BUILT_SOURCES.
      (.c.o, e-%.o): New generic rules.
      * lib/gnulib.mk: Remove.
      * lib/gnulib.mk.in: New file, which is built by autogen.sh
      and contains much of what used to be in lib/gnulib.mk.
      * m4/gnulib-common.m4: Copy from gnulib.
      * make-dist: Do not distribute build-aux/compile, build-aux/depcomp,
      build-aux/missing, build-aux/ar-lib, lib/Makefile.am, nt/gnulib.mk,
      nt/gnulib-modules-to-delete.cfg.  Distribute lib/Makefile.in,
      lib/gnulib.mk.in, and nt/gnulib-cfg.mk instead.
      * nt/Makefile.in (AM_V_GEN, am__v_GEN_, am__v_GEN_0)
      (am__v_GEN_1, ${srcdir}/gnulib.mk): Remove.
      * nt/gnulib-cfg.mk: New file, which supersedes ...
      * nt/gnulib-modules-to-delete.cfg: ... this file, which is removed.
      * src/Makefile.in (ACLOCAL_INPUTS): Remove.
      (AUTOCONF_INPUTS): Merge ACLOCAL_INPUTS into it.
      ($(top_srcdir)/configure, ../config.status, config.in Makefile):
      Defer to parent Makefile.
      65faa7bc
  31. 07 Mar, 2017 2 commits
    • Phillip Lord's avatar
      Revert "Replace ldefs-boot with a much smaller file" · 542a7632
      Phillip Lord authored
      This reverts commit c27b6459.
      
      This commit has been reverted because the new mechanism was too
      sensitive to changes in the lisp source, generation of new ldefs-boot
      files was platform specific and resulted in warnings about undefined
      variables.
      
      See also 11436e2890d.
      542a7632
    • Phillip Lord's avatar
      Revert "Speed generation of ldefs-boot-auto" · 8f58747a
      Phillip Lord authored
      This reverts commit 7b5e1c82.
      
      This commit has been reverted because the new mechanism was too
      sensitive to changes in the lisp source, generation of new ldefs-boot
      files was platform specific and resulted in warnings about undefined
      variables.
      
      See also 11436e2890d.
      8f58747a
  32. 28 Feb, 2017 1 commit
    • Phillip Lord's avatar
      Speed generation of ldefs-boot-auto · 7b5e1c82
      Phillip Lord authored
      Previously, generation of ldefs-boot-auto required at least one full
      bootstrap and, in extreme cases, two. Now, from build system, it
      requires the same time as taken to dump Emacs.
      
      * Makefile.in: Remove all calls, pass to src.
      * admin/ldefs-clean.el: Update for changed messages.
      * lisp/Makefile.in (compile-first-delete): Add.
      * lisp/ldefs-boot-auto.el: Update.
      * src/Makefile.in (generate-ldefs-boot): Add.
      7b5e1c82
  33. 08 Jan, 2017 1 commit
  34. 01 Jan, 2017 1 commit
  35. 13 Dec, 2016 1 commit
    • Phillip Lord's avatar
      Replace ldefs-boot with a much smaller file · c27b6459
      Phillip Lord authored
       * Makefile.in (bootstrap-build,generate-ldefs-boot): New targets.
         (bootstrap): Depend on bootstrap-build.
       * admin/ldefs-clean.el: New file.
       * lisp/Makefile.in (compile-first): Depend on loaddefs.el
       * lisp/ldefs-boot.el: Remove.
       * lisp/ldefs-boot-auto.el: New file.
       * lisp/ldefs-boot-manual.el: New file.
       * lisp/loadup.el: Load ldefs-boot-manual.el.
       * src/emacs.c (generating_ldefs_boot): New variable.
         (main): Check whether we are generating ldefs.
       * src/eval.c (autoload-do-load): Dump autoload forms to stderr when
         requested.
       * src/lisp.h (generating_ldefs_boot): New variable.
       * admin/gitmerge.el, admin/make-tarball.txt, admin/notes/copyright,
         lisp/Makefile.in, lisp/cus-dep.el, lisp/emacs-lisp/elint.el,
         lisp/finder.el, lisp/loadup.el, msdos/mainmake.v2: Update reference to
         ldefs-boot.
       * admin/update_autogen: Alter mechanism for ldefs-boot generation.
      c27b6459
  36. 07 Dec, 2016 1 commit