1. 02 Oct, 2017 1 commit
    • Paul Eggert's avatar
      Prefer HTTPS to HTTP for gnu.org · 5172fa02
      Paul Eggert authored
      This fixes some URLs I omitted from my previous pass,
      notably those in lists.gnu.org.  Although lists.gnu.org
      does not yet support TLS 1.1, TLS 1.0 is better than nothing.
      * lisp/erc/erc.el (erc-official-location):
      * lisp/mail/emacsbug.el (report-emacs-bug):
      Use https:, not http:.
      5172fa02
  2. 19 Sep, 2017 1 commit
  3. 16 Sep, 2017 1 commit
    • Eli Zaretskii's avatar
      Start emacs-26 release branch · 625cee53
      Eli Zaretskii authored
      * configure.ac:
      * nt/README.W32:
      * README:
      * msdos/sed2v2.inp: Increment Emacs version to 26.0.60.
      
      * lisp/cus-edit.el (customize-changed-options-previous-release):
      Update value to "25.3".
      625cee53
  4. 14 Sep, 2017 2 commits
    • Eli Zaretskii's avatar
    • Eli Zaretskii's avatar
      Support lcms2 in MS-Windows builds · 56ab0c4a
      Eli Zaretskii authored
      * lisp/term/w32-win.el (dynamic-library-alist): Include
      association for the lcms2 library.
      
      * src/lcms.c [WINDOWSNT]: Include windows.h and w32.h.  Use
      DEF_DLL_FN to define pointers to dynamically loaded lcms2
      functions.
      (cmsCIE2000DeltaE, cmsCIECAM02Init, cmsCIECAM02Forward)
      (cmsCIECAM02Done): New macros.
      (init_lcms_functions, Flcms2_available_p): New functions.
      (Flcms_cie_de2000, Flcms_cam02_ucs) [WINDOWSNT]: Call
      init_lcms_functions.
      (syms_of_lcms2): Defsubr lcms2-available-p.
      * src/w32fns.c (syms_of_w32fns): DEFSYM Qlcms2.
      
      * configure.ac: Include lcms2 in the final report and in
      emacs_config_features.
      
      * nt/INSTALL:
      * nt/INSTALL.W64: Update with the information about lcms2 library.
      56ab0c4a
  5. 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
  6. 10 Sep, 2017 2 commits
  7. 08 Sep, 2017 1 commit
  8. 05 Sep, 2017 1 commit
  9. 30 Aug, 2017 1 commit
  10. 29 Aug, 2017 2 commits
    • Paul Eggert's avatar
      Be more conservative in link time optimization doc · 9b4b2e9f
      Paul Eggert authored
      While testing --enable-link-time-optimization with GCC 7.1.1
      I ran into a serious GCC code-generation bug which makes me
      think that --enable-link-time-optimization should be
      discouraged for typical installs (Bug#28213).  See:
      https://bugzilla.redhat.com/show_bug.cgi?id=1486455
      9b4b2e9f
    • Paul Eggert's avatar
      Improve stack-top heuristic · 9baeed35
      Paul Eggert authored
      This is needed for gcc -Os -flto on x86-64; otherwise, GC misses part
      of the stack when scanning for heap roots, causing Emacs to crash
      later (Bug#28213).  The problem is that Emacs's hack for getting an
      address near the stack top does not work when link-time optimization
      moves stack variables around.
      * configure.ac (HAVE___BUILTIN_FRAME_ADDRESS): New macro.
      * lib-src/make-docfile.c (DEFUN_noinline): New constant.
      (write_globals, scan_c_stream): Support noinline.
      * src/alloc.c (NEAR_STACK_TOP): New macro.
      (SET_STACK_TOP_ADDRESS): Use it.
      (flush_stack_call_func, Fgarbage_collect): Now noinline.
      9baeed35
  11. 15 Aug, 2017 1 commit
    • Noam Postavsky's avatar
      Speed up ./configure with more caching (Bug#27960) · e88bbd22
      Noam Postavsky authored
      * configure.ac: Cache the 'GTK compiles', 'GSettings is in gio',
      'LN_S', '-znocombreloc', 'sysinfo', 'gcc autodepends', '-b link',
      'Xkb', 'Xpm preprocessor', 'tputs library' 'GLib', 'signals via
      characters', and 'Windows API header' checks.  Remove pause after
      warning about GTK bug.
      e88bbd22
  12. 12 Aug, 2017 1 commit
    • Paul Eggert's avatar
      Improve make-temp-file performance on local files · a6ad98ad
      Paul Eggert authored
      For the motivation behind this patch, please see Bug#28023 and:
      http://emacshorrors.com/posts/make-temp-name.html
      Although, given the recent changes to Tramp, the related security
      problem in make-temp-file is already fixed, make-temp-file still has
      several unnecessary system calls.  In the typical case on GNU/Linux,
      this patch replaces 8 syscalls (symlink, open, close, readlinkat, uname,
      getpid, unlink, umask) by 2 (open, close).
      * admin/merge-gnulib (GNULIB_MODULES): Add tempname, now
      that Emacs is using it directly.
      * configure.ac (AUTO_DEPEND): Remove AC_SYS_LONG_FILE_NAMES;
      no longer needed.
      * lib/gnulib.mk.in, m4/gnulib-comp.m4: Regenerate.
      * lisp/files.el (files--make-magic-temp-file): Rename from
      make-temp-file.
      (make-temp-file): Use make-temp-file-internal for
      non-magic file names.
      * src/fileio.c: Include tempname.h.
      (make_temp_name_tbl, make_temp_name_count)
      (make_temp_name_count_initialized_p, make_temp_name): Remove.
      (Fmake_temp_file_internal): New function.
      (Fmake_temp_name): Use it.
      * src/filelock.c (get_boot_time): Use Fmake_temp_file_internal
      instead of make_temp_name.
      a6ad98ad
  13. 03 Aug, 2017 2 commits
  14. 29 Jul, 2017 1 commit
    • Paul Eggert's avatar
      Do not worry about paxctl on newer NetBSD · 920afa22
      Paul Eggert authored
      Problem reported privately by Thomas Klausner.
      * configure.ac (emacs_uname_r): New var.  Use it to avoid paxctl
      on newer NetBSD platforms, where it is not needed.  Also use it to
      simplify Cygwin diagnostic.
      920afa22
  15. 24 Jul, 2017 2 commits
  16. 23 Jul, 2017 2 commits
  17. 14 Jul, 2017 2 commits
    • Paul Eggert's avatar
      GnuTLS integer-overflow and style fixes · 05b8b866
      Paul Eggert authored
      This tweaks the recently-added GnuTLS improvements so that
      they avoid some integer-overflow problems and follow typical
      Emacs style a bit better.
      * configure.ac (HAVE_GNUTLS3_HMAC, HAVE_GNUTLS3_AEAD)
      (HAVE_GNUTLS3_CIPHER): Use AC_CACHE_CHECK so that the
      configure-time results are displayed.
      * src/fns.c (extract_data_from_object): Return char *, not char
      const *, since one gnutls caller wants a non-const pointer.  Use
      CONSP rather than !NILP when testing for conses.  Use CAR_SAFE
      instead of rolling our own code.  Prefer signed types to unsigned
      when either will do.  Report problems for lengths out of range,
      instead of silently mishandling them.
      * src/gnutls.c (emacs_gnutls_strerror): New function, to simplify
      callers.  All callers of gnutls_sterror changed.
      (Fgnutls_boot): Check for integers out of range rather than
      silently truncating them.
      (gnutls_symmetric_aead): Check for integer overflow in size
      calculations.
      (gnutls_symmetric_aead, Fgnutls_macs, Fgnutls_digests):
      Prefer signed to unsigned integers where either	will do.
      (gnutls_symmetric_aead, gnutls_symmetric):
      Work even if ptrdiff_t is wider than ‘long’.
      (gnutls_symmetric, Fgnutls_hash_mac, Fgnutls_hash_digest):
      Check for integer overflow in algorithm selection.
      05b8b866
    • Ted Zlatanov's avatar
      GnuTLS HMAC and symmetric cipher support · 583995c6
      Ted Zlatanov authored
          * etc/NEWS: Add news for new feature.
      
          * doc/lispref/text.texi (GnuTLS Cryptography): Add
          documentation.
      
          * configure.ac: Add macros HAVE_GNUTLS3_DIGEST,
          HAVE_GNUTLS3_CIPHER, HAVE_GNUTLS3_AEAD, HAVE_GNUTLS3_HMAC.
      
          * src/fns.c (Fsecure_hash_algorithms): Add function to list
          supported `secure-hash' algorithms.
          (extract_data_from_object): Add data extraction function that
          can operate on buffers and strings.
          (secure_hash): Use it.
          (Fsecure_hash): Mention `secure-hash-algorithms'.
      
          * src/gnutls.h: Include gnutls/crypto.h.
      
          * src/gnutls.c (Fgnutls_ciphers, gnutls_symmetric_aead)
          (gnutls_symmetric, Fgnutls_symmetric_encrypt, Fgnutls_symmetric_decrypt)
          (Fgnutls_macs, Fgnutls_digests, Fgnutls_hash_mac, Fgnutls_hash_digest)
          (Fgnutls_available_p): Implement GnuTLS cryptographic integration.
      
          * test/lisp/net/gnutls-tests.el: Add tests.
      583995c6
  18. 06 Jul, 2017 1 commit
    • Paul Eggert's avatar
      Don’t use -Woverride-init · 24faf6b0
      Paul Eggert authored
      I have some further changes in mind that would also need to
      disable the -Woverride-init warnings.  In practice these warnings
      seem to be more trouble than they’re worth, so disable them in the
      cc command line.
      * configure.ac: Disable -Woverride-init here ...
      * src/bytecode.c: ... rather than here.
      24faf6b0
  19. 22 Jun, 2017 2 commits
    • Paul Eggert's avatar
      Remove getc_unlocked configure-time check · dfe73cb0
      Paul Eggert authored
      * configure.ac (getc_unlocked): Remove check, as unlocked-io now
      does this for us.
      dfe73cb0
    • Ken Raeburn's avatar
      Use getc_unlocked. · efe200c1
      Ken Raeburn authored
      * configure.ac: Check for getc_unlocked.
      * src/charset.c (read_hex, load_charset_map_from_file): Use
      getc_unlocked instead of getc.
      (getc_unlocked) [!HAVE_GETC_UNLOCKED]: Fall back to getc.
      * src/lread.c (readbyte_from_file, Fget_file_char, read1,
      getc_unlocked): Likewise.
      efe200c1
  20. 17 Jun, 2017 1 commit
  21. 15 Jun, 2017 2 commits
    • Paul Eggert's avatar
      Pacify clang without munging C source · 21d10e59
      Paul Eggert authored
      * configure.ac (WARN_CFLAGS): With Clang, use
      -Wno-tautological-compare regardless of --enable-gcc-warnings.
      (WERROR_CFLAGS): Simplify assignments, and guarantee it’s always set.
      * lib/strftime.c: Copy from gnulib, reverting Clang-specific
      change which I hope is no longer needed.
      * src/emacs.c (main): Revert rlim_t change, as rlim_t is signed on
      some older non-POSIX hosts.
      21d10e59
    • Paul Eggert's avatar
      Port './configure CC=clang' to Fedora 25 · 1ac8c9bb
      Paul Eggert authored
      * configure.ac (HAVE_IMAGEMAGICK): Disable if even a
      standard function like MagickRelinquishMemory does not link.
      1ac8c9bb
  22. 13 Jun, 2017 1 commit
    • Philipp Stephani's avatar
      Inline test module Makefile into main test Makefile · 58b9b098
      Philipp Stephani authored
      The test/data/emacs-module/Makefile only built a single target, and
      inlining it into test/Makefile simplifies dependency tracking and
      reduces code duplication.
      
      * configure.ac: Don't build test/data/emacs-module/Makefile.
      
      * Makefile.in ($(test_module)): Inline compilation.
      (clean): Also clean test module outputs.
      58b9b098
  23. 12 Jun, 2017 1 commit
    • Philipp Stephani's avatar
      Use Autoconf to generate the test module Makefile · c90a97ad
      Philipp Stephani authored
      This makes it easier to pass compilation flags around.
      
      * configure.ac: Also build test module Makefile.
      
      * test/data/emacs-module/Makefile.in: New makefile template.
      
      * test/Makefile.in ($(test_module)): No longer necessary to pass
      @MODULES_SUFFIX@ around.
      
      * .gitignore: Test module Makefile can now be ignored.
      c90a97ad
  24. 26 May, 2017 1 commit
  25. 23 May, 2017 1 commit
  26. 19 May, 2017 2 commits
  27. 16 May, 2017 2 commits
    • Paul Eggert's avatar
      Merge with gnulib, pacifying GCC 7 · 2e1bebe2
      Paul Eggert authored
      This incorporates:
      2017-05-16 manywarnings: update for GCC 7
      2017-05-15 sys_select: Avoid "was expanded before it was required"
      * configure.ac (nw): Suppress GCC 7’s new -Wduplicated-branches and
      -Wformat-overflow=2 options, due to too many false alarms.
      * doc/misc/texinfo.tex, lib/strftime.c, m4/manywarnings.m4:
      Copy from gnulib.
      * m4/gnulib-comp.m4: Regenerate.
      * src/coding.c (decode_coding_iso_2022):
      Fix bug uncovered by -Wimplicit-fallthrough.
      * src/conf_post.h (FALLTHROUGH): New macro.
      Use it to mark all switch cases that fall through.
      * src/editfns.c (styled_format): Use !, not ~, on bool.
      * src/gtkutil.c (xg_check_special_colors):
      When using sprintf, don’t trust Gtk to output colors in [0, 1] range.
      (xg_update_scrollbar_pos): Avoid use of possibly-uninitialized bool;
      this bug was actually caught by Clang.
      * src/search.c (boyer_moore):
      Tell GCC that CHAR_BASE, if nonzero, must be a non-ASCII character.
      * src/xterm.c (x_draw_glyphless_glyph_string_foreground):
      Tell GCC that glyph->u.glyphless.ch must be a character.
      2e1bebe2
    • Glenn Morris's avatar
      Add oldxmenu to system-configuration-features · 4ce6e94c
      Glenn Morris authored
      * configure.ac (HAVE_OLDXMENU): New.
      (emacs_config_features): Add oldxmenu.
      4ce6e94c
  28. 12 May, 2017 1 commit