1. 20 Jan, 2020 2 commits
  2. 19 Jan, 2020 3 commits
    • Tino Calancha's avatar
      ; Fix a test (Bug#39067) · 3543b9fa
      Tino Calancha authored
      * test/lisp/simple-tests.el (with-shell-command-dont-erase-buffer):
      Use flag -Q to prevent from loading site-lisp files.
    • Michael Albinus's avatar
      Sync with Tramp 2.5.0-pre · 0ad895df
      Michael Albinus authored
      * doc/misc/tramp.texi:  Protext Tramp x.y and Emacs x.y by @w{}.
      (GVFS-based methods): Move "GNOME Online Accounts" index.
      (Customizing Methods, Android shell setup, File name completion)
      (Frequently Asked Questions): Fix typos.
      * doc/misc/trampver.texi: Change version to "2.5.0-pre".
      * lisp/net/trampver.el: Change version to "2.5.0-pre".
      (inhibit-message): Don't declare.
      * lisp/net/tramp.el: Bump version to 2.5.0-pre.  Require Emacs 25.1.
      (tramp-debug-message): Simplify.
      (tramp-message): Don't use `tramp-message-show-message'.
      (tramp-with-demoted-errors, with-parsed-tramp-file-name)
      (with-tramp-file-property, with-tramp-connection-property):
      Adapt `declare' form.
      (with-tramp-progress-reporter): Suppress progress reporter when
      (tramp-completion-mode, tramp-completion-mode-p): Remove.
      * lisp/net/tramp-compat.el (tramp-compat-process-running-p)
      (format-message): Remove compatibility code.
      (tramp-compat-tramp-file-name-slots): Remove.
      * lisp/net/tramp.el (tramp-debug-message, tramp-message)
      (tramp-backtrace, tramp-error, tramp-error-with-buffer)
      (tramp-user-error, tramp-with-demoted-errors)
      * lisp/net/tramp-compat.el (tramp-compat-funcall)
      * lisp/net/tramp-gvfs.el (tramp-dbus-function):
      Add `tramp-suppress-trace' property.
      * lisp/net/tramp.el (tramp-get-method-parameter)
      (tramp-dissect-file-name, tramp-error, tramp-error-with-buffer)
      (tramp-user-error, with-parsed-tramp-file-name)
      (with-tramp-progress-reporter, tramp-file-name-handler)
      (tramp-completion-file-name-handler, tramp-autoload-file-name-handler)
      (tramp-register-file-name-handlers, tramp-connectable-p)
      (tramp-handle-file-modes, tramp-handle-file-regular-p)
      (tramp-handle-file-truename, tramp-handle-insert-directory)
      (tramp-handle-load, tramp-set-file-uid-gid):
      * lisp/net/tramp-adb.el (tramp-adb-file-name-handler)
      (tramp-adb-handle-file-truename, tramp-adb-handle-copy-file)
      * lisp/net/tramp-archive.el (with-parsed-tramp-archive-file-name):
      * lisp/net/tramp-cache.el (tramp-get-file-property, tramp-cache-print):
      * lisp/net/tramp-compat.el (tramp-compat-process-running-p)
      * lisp/net/tramp-gvfs.el (tramp-gvfs-file-name-handler)
      * lisp/net/tramp-rclone.el (tramp-rclone-file-name-handler)
      * lisp/net/tramp-sh.el (tramp-sh-handle-file-truename)
      (tramp-sh-handle-copy-directory, tramp-do-copy-or-rename-file)
      (tramp-sh-handle-insert-directory, tramp-sh-file-name-handler)
      * lisp/net/tramp-smb.el (tramp-smb-file-name-handler)
      (tramp-smb-handle-copy-file, tramp-smb-handle-copy-directory)
      (tramp-smb-handle-copy-file, tramp-smb-handle-insert-directory)
      (tramp-smb-handle-rename-file, tramp-smb-maybe-open-connection):
      * lisp/net/tramp-sudoedit.el (tramp-sudoedit-file-name-handler)
      Use `if-let', `when-let', `directory-name-p', `inhibit-message',
      `non-essential and `cl-struct-slot-info'.  Don't use `seconds-to-time'.
      * test/lisp/net/tramp-archive-tests.el (tramp-message-show-message):
      Don't set.
      * test/lisp/net/tramp-tests.el (inhibit-message): Don't declare.
      (tramp-message-show-message): Don't set.
      (tramp-test06-directory-file-name): Use `non-essential'.
      (tramp-test10-write-region): Use `inhibit-message'.
      (tramp-test36-vc-registered): No special handling for old Emacsen.
      (tramp--test-emacs25-p): Remove.
      (tramp-test45-unload): Special case of `tramp-completion-mode'.
    • Tino Calancha's avatar
      Fix shell-command-dont-erase-buffer feature · 2eb0b783
      Tino Calancha authored
      * lisp/simple.el (shell-command-dont-erase-buffer):
      The default, nil, is backward compatible, i.e. it erases the buffer
      only if the output buffer is not the current one; the new value 'erase
      always erases the output buffer.
      Update docstring.
      Add optional arg output-to-current-buffer.
      Rename it so that it's not internal.  All callers updated.
      (shell-command-set-point-after-cmd): Rename it so that it's not internal.
      All callers updated.
      Adjust it to cover a side case.
      (shell-command): Adjust logic to match the specification (Bug#39067).
      Enable the feature when the output buffer is the current one.
      (shell-command-on-region): Little tweak to follow
      `shell-command-dont-erase-buffer' specification.
      * test/lisp/simple-tests.el (with-shell-command-dont-erase-buffer):
      Add helper macro.
      (simple-tests-shell-command-dont-erase-buffer): Add tests.
      * doc/emacs/misc.texi (Single Shell): Update manual.
      * etc/NEWS (Single shell commands): Announce the change.
  3. 18 Jan, 2020 1 commit
    • Pieter van Oostrum's avatar
      Fix infloop in shell.el · 4217bc22
      Pieter van Oostrum authored
      * test/lisp/shell-tests.el (shell-tests-completion-before-semi):
      Amend the shell.el tests to catch errors such as bug#39057.
      * lisp/shell.el (shell--parse-pcomplete-arguments): Skip the
      semi-colon as well.  This avoids inflooping when a semi-colon is
      typed by the user.  (Bug#39057)
      Copyright-paperwork-exempt: yes
  4. 16 Jan, 2020 2 commits
    • Simon Josefsson's avatar
      Add SASL SCRAM-SHA-256 support. · f7ff3ddc
      Simon Josefsson authored
      * lisp/net/sasl.el (sasl-mechanisms): Add SCRAM-SHA-256.
      (sasl-mechanism-alist): Ditto.
      * lisp/net/sasl-scram-sha256.el: New file.
      * tests/lisp/net/sasl-scram-rfc-tests.el (sasl-scram-sha-256-test):
      New function.
    • Glenn Morris's avatar
      f90: handle F2008 module function · 3b0d1a50
      Glenn Morris authored
      * lisp/progmodes/f90.el (f90-font-lock-keywords-1)
      Handle F2008 "module function" and subroutine.  (Bug#38415)
      * test/lisp/progmodes/f90-tests.el (f90-test-bug38415): New test.
  5. 14 Jan, 2020 1 commit
    • Michael Albinus's avatar
      Refactor Tramp async process code · 06caa3b7
      Michael Albinus authored
      * lisp/net/tramp-adb.el (tramp-adb-handle-make-process):
      * lisp/net/tramp-sh.el (tramp-sh-handle-make-process):
      Update stderr buffer when process has finished.  Do not call
      * test/lisp/net/tramp-tests.el (tramp-test31-interrupt-process):
      Tag it :unstable.  Change `accept-process-output' arguments.
      (tramp--test-async-shell-command): New defun.
      (tramp--test-shell-command-to-string-asynchronously): Use it.
      (tramp-test32-shell-command): Refactor code.
  6. 07 Jan, 2020 2 commits
    • Paul Eggert's avatar
      Fix sxhash-equal on bytecodes, markers, etc. · 724af767
      Paul Eggert authored
      Problem reported by Pip Cet (Bug#38912#14).
      * doc/lispref/objects.texi (Equality Predicates):
      Document better when ‘equal’ looks inside objects.
      * doc/lispref/windows.texi (Window Configurations):
      Don’t say that ‘equal’ looks inside window configurations.
      * etc/NEWS: Mention the change.
      * src/fns.c (internal_equal):
      Do not look inside window configurations.
      (sxhash_obj): Hash markers, byte-code function objects,
      char-tables, and font objects consistently with Fequal.
      * src/window.c (compare_window_configurations):
      Now static.  Remove last argument.  Caller changed.
      * test/lisp/ffap-tests.el (ffap-other-window--bug-25352):
      Use compare-window-configurations, not ‘equal’.
      * test/src/fns-tests.el (test-sxhash-equal): New test.
    • Michael Albinus's avatar
      Implement stderr in tramp-adb-handle-make-process · dd85664d
      Michael Albinus authored
      * lisp/net/tramp-adb.el (tramp-adb-handle-make-process):
      Implement `stderr'.
      * lisp/net/tramp-sh.el (tramp-sh-handle-make-process):
      Flush connection properties in time.
      * test/lisp/net/tramp-tests.el (tramp-test30-make-process)
      (tramp-test32-shell-command): Test asynchronous stderr for tramp-adb.
  7. 06 Jan, 2020 1 commit
    • Michael Albinus's avatar
      ; Adapt tramp-tests.el · 4f2b4150
      Michael Albinus authored
      * test/lisp/net/tramp-tests.el (tramp-test30-make-process):
      (tramp-test32-shell-command): Extend for asynchronous stderr.
  8. 05 Jan, 2020 1 commit
    • Philipp Stephani's avatar
      Also print function data when printing module functions. · fc92c2d8
      Philipp Stephani authored
      This is especially useful in cases where modules only use a single
      entry point and use the data to dispatch to the actual function.  Such
      a design is common for languages such as Go and C++.
      * src/emacs-module.c (module_function_data): New function.
      * src/print.c (print_vectorlike): Use it to print module function data
      if not NULL.
      (print_object): Adapt size of buffer.
      * test/data/emacs-module/mod-test.c (emacs_module_init): Pass some
      non-NULL data to ‘mod-test-sum’.
      (Fmod_test_sum): Check that correct data is passed through.
      * test/src/emacs-module-tests.el (mod-test-sum-test)
      (module-function-object): Adapt unit tests.
  9. 04 Jan, 2020 1 commit
  10. 03 Jan, 2020 1 commit
    • 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_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
      (memory_full): Use it.
      (finalizer): New example function 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
      * doc/lispref/internals.texi (Module Functions): Document new
      (Module Misc): Move description of 'emacs_finalizer' type to 'Module
      Functions' node, and add a reference to it.
      * etc/NEWS: Mention new functionality.
  11. 01 Jan, 2020 2 commits
  12. 30 Dec, 2019 4 commits
    • Mattias Engdegård's avatar
    • Mattias Engdegård's avatar
      Make minibuffer-tests work in out-of-tree builds (bug#38816) · 957cdca6
      Mattias Engdegård authored
      * test/lisp/minibuffer-tests.el (completion-table-test-quoting):
      Set default-directory.
    • Mattias Engdegård's avatar
      Make comint-tests more robust (bug#38813) · 20653167
      Mattias Engdegård authored
      * test/lisp/comint-tests.el (comint-test-no-password-function)
      Call accept-process-output as many times as needed, with a slightly
      more generous timeout (100 ms), after sending the Password: prompt to
      the process, since there must be time for some back-and-forth
      communication.  Also clear the process-query-on-exit flag, since it
      doesn't go well with noninteractive tests.
    • Michael Albinus's avatar
      Sync with Tramp 2.4.3 · 248c5e10
      Michael Albinus authored
      * doc/misc/trampver.texi:
      * lisp/net/trampver.el: Change version to "2.4.3".
      * lisp/net/tramp.el: Bump version.
      (tramp-handle-shell-command): The temp file for error-buffer is remote.
      * test/lisp/net/tramp-tests.el (tramp-test30-make-process):
      Simplify buffer generation.
      (tramp-test32-shell-command): Extend test.
      (cherry picked from commit d6922db4)
  13. 29 Dec, 2019 2 commits
    • Michael Albinus's avatar
      Sync with Tramp 2.4.3 · d6922db4
      Michael Albinus authored
      * doc/misc/trampver.texi:
      * lisp/net/trampver.el: Change version to "2.4.3".
      * lisp/net/tramp.el: Bump version.
      (tramp-handle-shell-command): The temp file for error-buffer is remote.
      * test/lisp/net/tramp-tests.el (tramp-test30-make-process):
      Simplify buffer generation.
      (tramp-test32-shell-command): Extend test.
    • Dmitry Gutov's avatar
      Rename xref-collect-references and xref-collect-matches · 65af18d8
      Dmitry Gutov authored
      * lisp/progmodes/xref.el (xref-references-in-directory): Rename
      from xref-collect-references.  Update the sole caller.
      (xref-matches-in-directory): Rename from xref-collect-matches.
      Update all callers (all of them are in the /tests/ dir).
      * test/lisp/progmodes/xref-tests.el (xref-tests-data-dir):
      Don't use the EMACS_TEST_DIRECTORY env var. It doesn't work when
      running interactively.
  14. 26 Dec, 2019 1 commit
    • Mattias Engdegård's avatar
      Calc: add missing dynamic variable declarations · cd559841
      Mattias Engdegård authored
      * lisp/calc/calc-alg.el (math-simplify-only, calc-simplify-mode)
      (math-expand-formulas, calc-poly-div-remainder)
      (math-living-dangerously, math-simplifying, calc-angle-mode)
      (calc-prefer-frac, math-poly-base-variable):
      Declare dynamic variables.
      * test/lisp/calc/calc-tests.el (calc-poly-div):
      Add test for at least one bug caused by missing declarations.
  15. 25 Dec, 2019 1 commit
    • Philipp Stephani's avatar
      Support .dylib suffix for modules on macOS (Bug#36226). · 28268e47
      Philipp Stephani authored
      On macOS, shared libraries typically have the suffix .dylib.  This
      commit switches the module suffix to .dylib on Darwin to account for
      that.  To also support the .so suffix, introduce the concept of a
      secondary module suffix.
      * configure.ac: Switch MODULES_SUFFIX to .dylib for Darwin, introduce
      * src/lread.c (Fload, syms_of_lread): Also use
      * test/src/emacs-module-tests.el (module-darwin-secondary-suffix): New
      unit test.
  16. 23 Dec, 2019 2 commits
    • Stephen Gildea's avatar
      Further expand coverage of unit tests for time-stamp · 17c19817
      Stephen Gildea authored
      * test/lisp/time-stamp-tests.el (time-stamp-custom-format-tabs-expand,
      time-stamp-custom-end, time-stamp-helper-string-defaults): New tests.
      (time-stamp-custom-count): Test 0 case.
      (time-stamp-format-non-date-conversions): Test different system values.
      Development of these new tests was guided by the "testcover" library.
    • Michael R. Mauger's avatar
      Added `comint-password-function' hook · 3df7d06d
      Michael R. Mauger authored
      * etc/NEWS:
      * lisp/comint.el (comint-password-function): New variable.
        (comint-send-invisible): Use it.
      * test/lisp/comint-tests.el (comint-test-no-password-function,
        comint-test-password-function-with-nil): Test new variable.
  17. 22 Dec, 2019 1 commit
    • Michael Albinus's avatar
      Extend tramp-tests.el for other host name syntax and file name syntax · 75338944
      Michael Albinus authored
      * test/lisp/net/tramp-tests.el (inhibit-message)
      (connection-local-profile-alist, async-shell-command-width): Declare.
      (tramp-test02-file-name-dissect): Set syntax to `default'.
      (tramp-test06-directory-file-name, tramp-test44-auto-load):
      Skip unless syntax is `default'.
      (tramp-test06-directory-file-name, tramp-test10-write-region)
      (tramp-test26-file-name-completion): Handle IPv6 host names.
      (tramp-test21-file-links): Support all syntaxes.
      (tramp-test30-make-process, tramp-test45-unload):
      Suppress compiler warnings.
      (tramp-test37-make-auto-save-file-name): Skip for `separate' syntax.
  18. 20 Dec, 2019 1 commit
    • Stefan Monnier's avatar
      * lisp/international/mule-cmds.el: Fix bug#38642 · 0f7e3430
      Stefan Monnier authored
      (universal-coding-system-argument): Adjust the code to the way
      `universal-argument` works nowadays.  Handle `prefix-arg` a bit more
      like `command_loop` does.
      * test/lisp/international/mule-tests.el
      (mule-cmds--test-universal-coding-system-argument): New test.
  19. 13 Dec, 2019 1 commit
    • Mattias Engdegård's avatar
      Allow characters and single-char strings in rx charsets · 82b4e48c
      Mattias Engdegård authored
      The `not' and `intersection' forms, and `or' inside these forms,
      now accept characters and single-character strings as arguments.
      Previously, they had to be wrapped in `any' forms.
      This does not add expressive power but is a convenience and is easily
      * doc/lispref/searching.texi (Rx Constructs): Amend the documentation.
      * etc/NEWS: Announce the change.
      * lisp/emacs-lisp/rx.el (rx--charset-p, rx--translate-not)
      (rx--charset-intervals, rx): Accept characters and 1-char strings in
      more places.
      * test/lisp/emacs-lisp/rx-tests.el (rx-not, rx-charset-or)
      (rx-def-in-charset-or, rx-intersection): Test the change.
  20. 12 Dec, 2019 1 commit
    • Mattias Engdegård's avatar
      Use `or' instead of `union' for charset union in rx · f16766a0
      Mattias Engdegård authored
      Design change suggested by Stefan Monnier.
      * doc/lispref/searching.texi (Rx Constructs):
      * etc/NEWS: Document.
      * lisp/emacs-lisp/rx.el (rx--translate-or): Detect charset arguments.
      (rx--charset-p): New.
      (rx--translate-not, rx--charset-intervals, rx--translate-union):
      Change from `union' to `or'.
      (rx--translate-form, rx--builtin-forms, rx): Remove `union'.
      * test/lisp/emacs-lisp/rx-tests.el (rx-union, rx-def-in-union)
      (rx-intersection): Rename tests and change `union' to `or' and `|'.
  21. 11 Dec, 2019 1 commit
  22. 10 Dec, 2019 5 commits
    • Mattias Engdegård's avatar
      Add `union' and `intersection' to rx (bug#37849) · ea93326c
      Mattias Engdegård authored
      These character set operations, together with `not' for set
      complement, improve the compositionality of rx, and reduce duplication
      in complicated cases.  Named character classes are not permitted in
      set operations.
      * lisp/emacs-lisp/rx.el (rx--translate-any): Split into multiple
      (rx--foldl, rx--parse-any, rx--generate-alt, rx--intervals-to-alt)
      (rx--complement-intervals, rx--intersect-intervals)
      (rx--union-intervals, rx--charset-intervals, rx--charset-union)
      (rx--charset-all, rx--charset-intersection, rx--translate-union)
      (rx--translate-intersection): New.
      (rx--translate-not, rx--translate-form, rx--builtin-forms, rx):
      Add `union' and `intersection'.
      * test/lisp/emacs-lisp/rx-tests.el (rx-union ,rx-def-in-union)
      (rx-intersection, rx-def-in-intersection): New tests.
      * doc/lispref/searching.texi (Rx Constructs):
      * etc/NEWS:
      Document `union' and `intersection'.
    • Alan Third's avatar
      Fix dabbrev-completion (bug#17899) · 33a37360
      Alan Third authored
      * lisp/dabbrev.el (dabbrev--check-all-buffers): Add new variable.
      (dabbrev-completion): Lexical scoping means we can't use let to
      override global variables, so use setq.
      (dabbrev--reset-global-variables): Reset new variable.
      (dabbrev--make-friend-buffer-list): Use new variable.
      * test/lisp/dabbrev-tests.el (dabbrev-completion-test):
      (dabbrev-completion-test-with-argument): New tests.
    • Paul Eggert's avatar
      Spelling fixes · d1a791f8
      Paul Eggert authored
    • Dmitry Gutov's avatar
      Rename faces used in faces-tests.el · ac1b6e97
      Dmitry Gutov authored
      * test/data/themes/faces-test-light-theme.el:
      * test/data/themes/faces-test-dark-theme.el: Update accordingly.
      * test/lisp/faces-tests.el (faces--test-extend-with-themes):
      Don't use the diff-mode faces.  Rename the definitions.
    • Dmitry Gutov's avatar
      Make ':extend' inherited from default spec unless overridden · 58fb4c3e
      Dmitry Gutov authored
      * lisp/faces.el (face-spec-recalc): Handle the :extend attribute
      specially and always inherit it from the default spec unless
      overwritten in a theme (bug#37774).
      * test/lisp/faces-tests.el (faces--test-data-dir): New variable.
      (faces--test-extend-with-themes): Use test themes instead of ones
      from etc/themes.  Update expected values.
      * test/data/themes/faces-test-dark-theme.el: New file.
      * test/data/themes/faces-test-light-theme.el: New file.
      * doc/lispref/display.texi (Face Attributes):
      Update the description of ':extend'.
      * etc/NEWS: Update the entry for ':extend'.
      * etc/themes/adwaita-theme.el:
      * etc/themes/deeper-blue-theme.el:
      * etc/themes/dichromacy-theme.el:
      * etc/themes/leuven-theme.el:
      * etc/themes/light-blue-theme.el:
      * etc/themes/manoj-dark-theme.el:
      * etc/themes/misterioso-theme.el:
      * etc/themes/tango-dark-theme.el:
      * etc/themes/tango-theme.el:
      * etc/themes/tsdh-dark-theme.el:
      * etc/themes/tsdh-light-theme.el:
      * etc/themes/wheatgrass-theme.el:
      * etc/themes/wombat-theme.el: Remove the now-redundant ':extend'
      attribute in all the themes.
  23. 09 Dec, 2019 1 commit
    • Eli Zaretskii's avatar
      Add more tests for face :extend attribute · aed9584a
      Eli Zaretskii authored
      * test/lisp/faces-tests.el (faces--test-extend-with-themes):
      New set of tests for verifying the :extend attribute across
      theme loading and unloading, and also via face inheritance.
  24. 07 Dec, 2019 1 commit
  25. 06 Dec, 2019 1 commit
    • Paul Eggert's avatar
      Test format-time-string padding · 48f68885
      Paul Eggert authored
      Adapted from tests written by Stephen Gildea.
      * test/src/timefns-tests.el:
      New tests.