1. 03 Jan, 2020 14 commits
    • Philipp Stephani's avatar
      Implement finalizers for module functions (Bug#30373) · 48ffef5e
      Philipp Stephani authored
      * src/module-env-28.h: Add new module environment functions to
      module environment for Emacs 28.
      
      * src/emacs-module.h.in: Document that 'emacs_finalizer' also works
      for function finalizers.
      
      * src/emacs-module.c (CHECK_MODULE_FUNCTION): New function.
      (struct Lisp_Module_Function): Add finalizer data member.
      (module_make_function): Initialize finalizer.
      (module_get_function_finalizer)
      (module_set_function_finalizer): New module environment functions.
      (module_finalize_function): New function.
      (initialize_environment): Initialize new environment functions.
      
      * src/alloc.c (cleanup_vector): Call potential module function
      finalizer during garbage collection.
      
      * test/data/emacs-module/mod-test.c (signal_error): New helper
      function.
      (memory_full): Use it.
      (finalizer): New example function finalizer.
      (Fmod_test_make_function_with_finalizer)
      (Fmod_test_function_finalizer_calls): New test module functions.
      (emacs_module_init): Define them.
      
      * test/src/emacs-module-tests.el (module/function-finalizer): New unit
      test.
      
      * doc/lispref/internals.texi (Module Functions): Document new
      functionality.
      (Module Misc): Move description of 'emacs_finalizer' type to 'Module
      Functions' node, and add a reference to it.
      
      * etc/NEWS: Mention new functionality.
      48ffef5e
    • Eli Zaretskii's avatar
      Fix the MS-Windows build broken by "Let the OS clear large new objects" · 2b6d702e
      Eli Zaretskii authored
      * src/w32heap.c (sys_calloc): New function, implements calloc
      in terms of our private implementations of malloc.
      
      * nt/inc/ms-w32.h (calloc): Redirect to sys_calloc.
      2b6d702e
    • Glenn Morris's avatar
      Merge from origin/emacs-27 · fa7148fd
      Glenn Morris authored
      06364316 (origin/emacs-27) * lisp/net/tramp.el (tramp-file-local-na...
      d3884f50 Adapt commentary in Tramp persistency file
      2d82f5a4 Change Tramp version to 2.4.3.27.1
      09b65707 ; * src/dispnew.c (adjust_glyph_matrix): Fix last change.
      37f9182b Fix redisplay when mode-line-format changes mode-line's he...
      1420906b * src/fileio.c (Fwrite_region): Improve the doc string.
      01dfcb7c Fix removal of frame decorations on Windows (Bug#38705)
      fa7148fd
    • Glenn Morris's avatar
      ; Merge from origin/emacs-27 · 2ab5bc32
      Glenn Morris authored
      The following commit was skipped:
      
      33815424 Fix compilation with GTK versions older than 3
      2ab5bc32
    • Glenn Morris's avatar
      Merge from origin/emacs-27 · 6654ace8
      Glenn Morris authored
      071483b6 Fix reverting customizations
      43203d50 * lisp/loadup.el: Set max-specpdl-size to 1800 when loadin...
      fab3674b Revert "Raise default max-specpdl-size value"
      42f66aa5 ; Fix NEWS.24
      bb9402e6 Raise default max-specpdl-size value
      6654ace8
    • Glenn Morris's avatar
      ; Merge from origin/emacs-27 · ef40d523
      Glenn Morris authored
      The following commit was skipped:
      
      4011b179 (emacs-27) ; Auto-commit of loaddefs files.
      ef40d523
    • Glenn Morris's avatar
      Merge from origin/emacs-27 · 00ddb494
      Glenn Morris authored
      138e9051 Update distribution documentation
      00ddb494
    • Mattias Engdegård's avatar
    • Michael Albinus's avatar
    • Michael Albinus's avatar
      Adapt commentary in Tramp persistency file · d3884f50
      Michael Albinus authored
      * lisp/net/tramp-cache.el (tramp-dump-connection-properties):
      Adapt commentary in `tramp-persistency-file-name'.
      d3884f50
    • Michael Albinus's avatar
      Change Tramp version to 2.4.3.27.1 · 2d82f5a4
      Michael Albinus authored
      * doc/misc/trampver.texi:
      * lisp/net/trampver.el: Change version to "2.4.3.27.1".
      (customize-package-emacs-version-alist): Add Tramp version
      integrated in Emacs 27.1.
      2d82f5a4
    • Eli Zaretskii's avatar
    • Eli Zaretskii's avatar
      Fix redisplay when mode-line-format changes mode-line's height · 37f9182b
      Eli Zaretskii authored
      * lisp/frame.el (top-level): Add mode-line-format,
      tab-line-format, and header-line-format to the list of variables
      that should trigger an immediate redisplay of the buffer's
      window.  This fixes redisplay of windows when the mode line
      changes its height.
      
      * src/xdisp.c (window_box_height): Use the window's
      mode_line_height, tab_line_height, and header_line_height fields
      in preference to CURRENT_MODE_LINE_HEIGHT,
      CURRENT_TAB_LINE_HEIGHT, and CURRENT_HEADER_LINE_HEIGHT,
      respectively.  This fixes display of vertical scroll bar when the
      height of the window's mode line changes.
      * src/dispnew.c (adjust_glyph_matrix): When resizing a window's
      matrix, reset the mode_line_p flag of the previous mode-line row,
      so that the window_box_height, CURRENT_MODE_LINE_HEIGHT, and their
      ilk won't use stale info.  (Bug#38828)
      37f9182b
    • Paul Eggert's avatar
      Let the OS clear large new objects · dd0e4d4e
      Paul Eggert authored
      Prefer calloc to malloc+memset when allocating large zeroed objects.
      This avoids page thrashing when (make-vector 1000000000 nil)
      allocates a large nil vector, as Emacs need not touch the
      vector’s pages.  This wins on platforms like GNU/Linux where
      calloc can fiddle with page tables to create a block of memory
      that is lazily zeroed.
      * src/alloc.c (lisp_malloc, lmalloc, allocate_vectorlike):
      New arg CLEARIT to tell callee whether to use malloc or calloc.
      All callers changed.
      (allocate_clear_vector, allocate_nil_vector): New functions.
      * src/alloc.c (xzalloc, make_vector):
      * src/lisp.h (make_nil_vector):
      Prefer calloc to malloc + memset(...,0,...).
      dd0e4d4e
  2. 02 Jan, 2020 2 commits
  3. 01 Jan, 2020 18 commits
    • Eli Zaretskii's avatar
      Fix compilation with GTK versions older than 3 · 33815424
      Eli Zaretskii authored
      * src/xfns.c (x_get_net_workarea): Change a recently moved #ifndef
      so that GTK builds which need this function will compile it.
      Reported by John <jpff@codemist.co.uk>.
      
      (cherry picked from commit d36adb54)
      33815424
    • Eli Zaretskii's avatar
      Fix compilation with GTK versions older than 3 · d36adb54
      Eli Zaretskii authored
      * src/xfns.c (x_get_net_workarea): Change a recently moved #ifndef
      so that GTK builds which need this function will compile it.
      Reported by John <jpff@codemist.co.uk>.
      d36adb54
    • Eli Zaretskii's avatar
      Fix reverting customizations · 071483b6
      Eli Zaretskii authored
      * lisp/custom.el (custom-push-theme): Don't use setcar to modify
      the recorded value of PROP; instead, cons a new property list by
      deleting the old value and adding the new one.  (Bug#38812)
      071483b6
    • Mattias Engdegård's avatar
    • Mattias Engdegård's avatar
      Revert "Raise default max-specpdl-size value" · fab3674b
      Mattias Engdegård authored
      This reverts commit bb9402e6.
      fab3674b
    • Eli Zaretskii's avatar
      ; Fix NEWS.24 · 42f66aa5
      Eli Zaretskii authored
      * etc/NEWS.24: Minor retroactive wording changes and additions to
      fix the version shown by Help commands.  (Bug#38844)
      42f66aa5
    • Mattias Engdegård's avatar
      Raise default max-specpdl-size value · bb9402e6
      Mattias Engdegård authored
      Occasionally, loading cl-generic.el from source requires
      max_specpdl_size > 1600 when bootstrapping, and thus fails.
      In any case we are very close to the limit.
      
      * src/eval.c (init_eval_once): Raise max_specpdl_size to 1800.
      * doc/lispref/variables.texi (Local Variables): Update docs.
      bb9402e6
    • Glenn Morris's avatar
      ; Auto-commit of loaddefs files. · dd139e17
      Glenn Morris authored
      dd139e17
    • Glenn Morris's avatar
      ; Auto-commit of loaddefs files. · 4011b179
      Glenn Morris authored
      4011b179
    • Phillip Lord's avatar
      Update distribution documentation · 138e9051
      Phillip Lord authored
      * admin/nt/README-ftp-server: Remove as obsolete
      * admin/nt/dist-build/README-windows-binaries: Add information
        about installer
      138e9051
    • Paul Eggert's avatar
      Assume C99-style ‘long long’ · 12d004d6
      Paul Eggert authored
      Now that Gnulib assumes ‘long long’, it is a good time to clean
      out old cruft porting to pre-C99 compilers that lack it.
      * src/data.c (ULL_WIDTH, ULL_MAX): Remove.
      All uses replaced by ULLONG_WIDTH, ULLONG_MAX.
      (bits_word_to_host_endian): Assume ‘unsigned long long’.
      By the way, the old code had a performance typo: it used
      HAVE_UNSIGNED_LONG_LONG where it should have used
      HAVE_UNSIGNED_LONG_LONG_INT.
      * src/sysdep.c (ULLONG_MAX): Remove, as lib/limits.h does this now.
      (time_from_jiffies) [GNU_LINUX]: Assume ‘long long’.
      12d004d6
    • Paul Eggert's avatar
      Remove files no longer needed from Gnulib · 87772ffe
      Paul Eggert authored
      * m4/count-leading-zeros.m4, m4/count-one-bits.m4:
      * m4/count-trailing-zeros.m4, m4/longlong.m4:
      Remove.
      87772ffe
    • Paul Eggert's avatar
      * etc/NEWS: Update copyright year. · b19592ad
      Paul Eggert authored
      b19592ad
    • Paul Eggert's avatar
      Update from gnulib · 64d1b9fd
      Paul Eggert authored
      This incorporates:
      2019-12-23 mktime, nstrftime: tweak division performance
      2019-12-22 count-leading-zeros: assume 'long long'
      2019-12-22 count-one-bits: assume 'long long'
      2019-12-22 count-trailing-zeros: assume 'long long'
      2019-12-12 inttypes-incomplete: assume 'long long'
      2019-12-22 malloca: assume 'long long'
      2019-12-22 stdint: assume 'long long'
      2019-12-22 strtoll, strtoimax, strtoumax: assume 'long long'
      2019-12-22 prefer lib_SOURCES to unconditional AC_LIBOBJ
      2019-12-19 nstrftime: avoid a shadowing warning
      2019-12-18 improve port of AC_C_RESTRICT to Oracle C++
      2019-12-12 stdalign: port to xlclang 16.01
      2019-12-11 stddef, unistd: fix compilation error in C++ mode on MSVC
      2019-12-08 fix compilation errors in C++ mode on Haiku
      2019-12-08 fix compilation errors in 32-bit C++ mode on HP-UX 11/ia64
      2019-12-08 fix compilation error in C++ mode on OpenBSD
      * build-aux/config.guess, doc/misc/texinfo.tex:
      * lib/count-leading-zeros.h, lib/count-one-bits.h:
      * lib/count-trailing-zeros.h, lib/i...
      64d1b9fd
    • Paul Eggert's avatar
      Merge from origin/emacs-27 · c6fb86b4
      Paul Eggert authored
      186152ba Pacify gcc -Wunused-function on Ubuntu 18.04.3
      4cd143ad Fix copyright years by hand
      365e01cc Update copyright year to 2020
      cd2c1561 ; * etc/NEWS: Make the description of XDG fallback more ac...
      
      # Conflicts:
      #	etc/NEWS
      #	etc/refcards/ru-refcard.tex
      c6fb86b4
    • Paul Eggert's avatar
      Pacify gcc -Wunused-function on Ubuntu 18.04.3 · 186152ba
      Paul Eggert authored
      This improves on 2019-12-25T20:01:07Z!eggert@cs.ucla.edu,
      by fixing a GCC warning on Ubuntu 18.04.3
      “‘x_get_net_workarea’ defined but not used”.
      * src/xfns.c (x_get_net_workarea) [!USE_GTK]: Do not define.
      186152ba
    • Paul Eggert's avatar
      Fix copyright years by hand · 4cd143ad
      Paul Eggert authored
      These are dates that admin/update-copyright did not update.
      4cd143ad
    • Paul Eggert's avatar
      Update copyright year to 2020 · 365e01cc
      Paul Eggert authored
      Run "TZ=UTC0 admin/update-copyright $(git ls-files)".
      365e01cc
  4. 31 Dec, 2019 6 commits