1. 23 Jan, 2018 1 commit
    • Tom Tromey's avatar
      Add new bytecodes for unwind-protect · 916094a8
      Tom Tromey authored
      * lisp/emacs-lisp/byte-opt.el (disassemble-offset): Handle
      * lisp/emacs-lisp/bytecomp.el (byte-pushunwindprotect)
      (byte-endunwindprotect): New bytecodes.
      (byte-goto-ops): Add byte-pushunwindprotect.
      (byte-compile-unwind-protect): Emit new bytecodes.
      (byte-compile-goto): Handle byte-pushunwindprotect.
      * lisp/emacs-lisp/cconv.el (cconv-convert): Don't special-case
      unwind-protect when byte-compile--use-old-handlers.
      (cconv-analyze-form): Likewise.
      * src/bytecode.c (Bpushunwindprotect, Bendunwindprotect): New bytecodes.
      (exec_byte_code): Implement new bytecodes.
      * test/src/bytecode-tests.el: New file.
  2. 22 Jan, 2018 3 commits
  3. 21 Jan, 2018 2 commits
    • Juri Linkov's avatar
      New function read-answer (bug#30073) · afba4ccb
      Juri Linkov authored
      * lisp/emacs-lisp/map-ynp.el (read-answer): New function.
      (read-answer-short): New defcustom.
      * lisp/dired.el (dired-delete-file): Use read-answer.
      (dired--yes-no-all-quit-help): Remove function.
      (dired-delete-help): Remove defconst.
      * lisp/subr.el (assoc-delete-all): New function.
    • Simen Heggestøyl's avatar
      Parse percent values in CSS alpha components · cff45e6f
      Simen Heggestøyl authored
      * lisp/textmodes/css-mode.el (css--rgb-color): Support parsing percent
      values in the alpha component.
      * test/lisp/textmodes/css-mode-tests.el
      (css-test-rgb-to-named-color-or-hex, css-test-rgb-parser): Update for
      the above changes.
  4. 20 Jan, 2018 2 commits
    • Michael Albinus's avatar
      Extend tramp-test02-file-name-dissect* tests · f0c1277a
      Michael Albinus authored
      * test/lisp/net/tramp-tests.el (tramp-test02-file-name-dissect)
      (tramp-test02-file-name-dissect-separate): Test also
      `tramp-default-method-alist', `tramp-default-user-alist' and
    • Michael Albinus's avatar
      Use file notification in autorevert also for recreated files · 530bb2dc
      Michael Albinus authored
      * lisp/autorevert.el (auto-revert-mode)
      (global-auto-revert-mode, auto-revert-notify-add-watch)
      (auto-revert-notify-handler, auto-revert-handler): Do not use
      buffer local `auto-revert-use-notify' anymore.
      * test/lisp/autorevert-tests.el
      (auto-revert-test02-auto-revert-deleted-file): Adapt test in
      order to check, that file notification is reenabled when possible.
  5. 19 Jan, 2018 3 commits
  6. 18 Jan, 2018 2 commits
  7. 17 Jan, 2018 1 commit
    • Glenn Morris's avatar
      Add some test skip conditions · 188a9d99
      Glenn Morris authored
      * test/lisp/vc/vc-bzr-tests.el (vc-bzr-test-bug9726)
      (vc-bzr-test-bug9781): Skip if bzr is faulty.
      * test/src/thread-tests.el: Skip if not compiled with threads.
  8. 11 Jan, 2018 1 commit
    • Eli Zaretskii's avatar
      Teach etags new interpreters for some languages · 7ba75b96
      Eli Zaretskii authored
      * lib-src/etags.c (Erlang_interpreters, Lua_interpreters)
      (Prolog_interpreters, Python_interpreters, Ruby_interpreters): New
      static variables.
      (lang_names): Use them to set interpreters for Erlang, Lua,
      Prolog, Python, and Ruby.
      (find_entries): Support "/usr/bin/env FOO" form of specifying an
      * test/manual/etags/perl-src/htlmify-cystic: Modify the has-bang
      line to test the "env FOO" interpreter spec.  (Bug#30075)
      * test/manual/etags/ETAGS.good_1:
      * test/manual/etags/ETAGS.good_2:
      * test/manual/etags/ETAGS.good_3:
      * test/manual/etags/ETAGS.good_4:
      * test/manual/etags/ETAGS.good_5:
      * test/manual/etags/ETAGS.good_6: Adapt to latest changes in test
  9. 10 Jan, 2018 3 commits
    • Philipp Stephani's avatar
      Inherit query-on-exit flag to stderr process (Bug#30031) · 9c2b1148
      Philipp Stephani authored
      * src/process.c (Fmake_process): Have the pipe process honor the
      parent's query-on-exit flag.
      * test/src/process-tests.el (make-process/noquery-stderr): New test.
    • Michael Albinus's avatar
      Fix Bug#30057 · 3efb1e7d
      Michael Albinus authored
      * test/lisp/filenotify-tests.el (file-notify--test-tmpdir): New defvar.
      (file-notify--test-cleanup, file-notify--test-make-temp-name)
      (file-notify-test01-add-watch, file-notify-test03-events)
      (file-notify-test10-sufficient-resources): Use it.  (Bug#30057)
    • Glenn Morris's avatar
      Tag some unstable tests, and skip by default (bug#24503) · a9b884c6
      Glenn Morris authored
      * Makefile.in (check-all): New phony target.
      Also skip unstable tests.
      (SELECTOR_ALL): New variable.
      (check-all): New phony target.
      * test/lisp/emacs-lisp/eieio-tests/eieio-test-methodinvoke.el
      * test/lisp/emacs-lisp/eieio-tests/eieio-tests.el
      Mark as unstable rather than skipping on hydra.nixos.org.
  10. 08 Jan, 2018 1 commit
    • Tino Calancha's avatar
      cl-loop: Add missing guard condition · a0365437
      Tino Calancha authored
      Consider the expansion of `cl-loop' with a `for' clause and more
      than one internal variables, X, Y, processed in parallel.
      Each step updates X and Y right after update the loop variable, K; if
      either X or Y depend on K, then some forms of the body are
      evaluated with the wrong K (Bug#29799).
      For instance, consider the following code:
      (cl-loop for k below 2
               for x = (progn (message "k = %d" k) 1)
               and y = 1)
      This code should show in *Messages*:
      k = 0
      k = 1
      Instead, the code shows:
      k = 0
      k = 1
      k = 2
      To prevent this we must ensure that the loop condition is still
      satisfied right after update the loop variable.
      In the macro expansion of the example above, right after:
      (setq k (+ k 1))
      evaluate the rest of the body forms iif the condition
      (< k 2)
      is still valid.
      * lisp/emacs-lisp/cl-macs.el (cl--loop-guard-cond): New variable.
      (cl--parse-loop-clause): Set it non-nil if the loop contains
      a for/as clause.
      (cl-loop): After update the loop variable, evaluate the remaining of
      the body forms just if the loop condition is still valid (Bug#29799).
      * test/lisp/emacs-lisp/cl-macs-tests.el (cl-macs-loop-for-as-equals-and):
      New test.
  11. 07 Jan, 2018 8 commits
    • Michael Albinus's avatar
      Make tramp-tests.el more robust on w32 · 95d0be0a
      Michael Albinus authored
      * test/lisp/net/tramp-tests.el (tramp-test21-file-links):
      Do not call `make-symbolic-link' on w32.
      (tramp-test36-find-backup-file-name): Call also
      `convert-standard-filename' due to w32.
      (tramp--test-windows-nt): New defun.
      (tramp-test42-auto-load, tramp-test42-delay-load)
      (tramp-test42-recursive-load, tramp-test42-remote-load-path):
      Quote command due to w32.
    • Philipp Stephani's avatar
      ; Adapt a unit test to a recent change · f352ea6e
      Philipp Stephani authored
      * test/lisp/emacs-lisp/bytecomp-tests.el
      (bytecomp-tests--old-style-backquotes): Fix expected error message.
    • Philipp Stephani's avatar
      Improve error message for old-style backquotes · 378be8df
      Philipp Stephani authored
      * src/lread.c (load_error_old_style_backquotes): Improve error message
      if no file is being loaded.
      * test/src/lread-tests.el (lread-tests--force-new-style-backquotes):
      Adapt test.
    • Philipp Stephani's avatar
      Add new variable to force new-style backquote interpretation. · ddb74b20
      Philipp Stephani authored
      * src/lread.c (syms_of_lread): Add new variable
      (read_internal_start): Use it.
      * test/src/lread-tests.el (lread-tests--force-new-style-backquotes):
      New test.
      * etc/NEWS: Document new variable.
    • Philipp Stephani's avatar
      Revert "Prevent name clashes between CL structures and builtin types" · 610dad11
      Philipp Stephani authored
      This reverts commit 151496a4.
      That commit breaks bootstrap builds due to a cyclic dependency.
    • Philipp Stephani's avatar
      Ignore escape characters for context-sensitive quotes (Bug#29812) · 6735df44
      Philipp Stephani authored
      * lisp/electric.el (electric-quote-post-self-insert-function): Skip
      over escape characters when determining whether a context-sensitive
      quote should be opening or closing.
      * test/lisp/electric-tests.el
      (electric-quote-replace-double-escaped-close): New unit tests.
    • Philipp Stephani's avatar
      Fix a small bug in electric quoting. · f07c325d
      Philipp Stephani authored
      Before this commit, if 'electric-quote-replace-double' is non-nil,
      typing " '" turned into " ‘" even if
      'electric-quote-context-sensitive' was nil.
      * lisp/electric.el (electric-quote-post-self-insert-function): Insert
      context-sensitive double quote only if the last character is actually
      a double quote character.
      * test/lisp/electric-tests.el
      (electric-quote-replace-double-no-context-single): New unit test.
    • Philipp Stephani's avatar
      Prevent name clashes between CL structures and builtin types · 151496a4
      Philipp Stephani authored
      * lisp/emacs-lisp/cl-preloaded.el (cl-struct-define): Don't allow
      structures with the same names as builtin types.
      (cl--struct-name-p): New helper function.
      * lisp/emacs-lisp/cl-macs.el (cl-defstruct): Don't allow structures
      with the same names as builtin types.
      * test/lisp/emacs-lisp/cl-macs-tests.el (cl-defstruct/builtin-type):
      * test/lisp/emacs-lisp/cl-preloaded-tests.el
      (cl-struct-define/builtin-type): New unit tests.
      * etc/NEWS: Document changed behavior.
  12. 05 Jan, 2018 1 commit
    • Michael Albinus's avatar
      Add new Tramp connection method "owncloud" · b74fdf44
      Michael Albinus authored
      * doc/misc/tramp.texi (all): Use @acronym{GNOME} thoroughly.
      (Using GNOME Online Accounts based methods): Rename from
      "Using Google Drive".  Add `owncloud'.
      (GVFS based methods): Add `owncloud'.
      * etc/NEWS: Add Tramp connection method "owncloud".
      * lisp/net/tramp-gvfs.el (tramp-gvfs-methods): Add "owncloud".
      Remove goa methods if not supported.
      (tramp-goa-methods, tramp-goa-service, tramp-goa-path)
      (tramp-goa-path-accounts, tramp-goa-interface-documents)
      (tramp-goa-interface-printers, tramp-goa-interface-files)
      (tramp-goa-interface-contacts, tramp-goa-interface-calendar)
      (tramp-goa-interface-account, tramp-goa-identity-regexp)
      (tramp-goa-interface-mail, tramp-goa-interface-chat)
      (tramp-goa-interface-photos, tramp-goa-path-manager)
      (tramp-gvfs-owncloud-default-prefix-regexp): New defconst.
      (tramp-goa-name): New defstruct.
      (tramp-gvfs-stringify-dbus-message): Handle all consp messages.
      (tramp-dbus-function, tramp-gvfs-get-remote-prefix)
      (tramp-get-goa-accounts): New defun.
      (with-tramp-dbus-call-method): Use it.
      (with-tramp-dbus-get-all-properties): New defmacro.
      (tramp-gvfs-connection-mounted-p, tramp-gvfs-mount-spec):
      Map between "owncloud" and "davs".
      (tramp-gvfs-maybe-open-connection): Set "vector" connection property.
      * test/lisp/net/tramp-tests.el (tramp-gvfs-handler-askquestion):
      Suppress run in tests.
      (tramp--test-owncloud-p): New defun.
      (tramp-test11-copy-file, tramp-test12-rename-file): Use it.
  13. 04 Jan, 2018 2 commits
    • Michael Albinus's avatar
      Improve backward compatibility in tramp-archive · 1cc7bc0f
      Michael Albinus authored
      * lisp/net/tramp-archive.el
      Use `tramp-compat-temporary-file-directory'.
      * test/lisp/net/tramp-archive-tests.el
      Wrap `temporary-file-directory' call with `with-no-warnings'.
    • Michael Albinus's avatar
      Write proper `write-region' message in Tramp backends · 13d38482
      Michael Albinus authored
      * lisp/net/tramp-adb.el (tramp-adb-handle-write-region):
      * lisp/net/tramp-gvfs.el (tramp-gvfs-handle-write-region):
      * lisp/net/tramp-sh.el (tramp-sh-handle-write-region):
      * lisp/net/tramp-smb.el (tramp-smb-handle-write-region):
      Write proper message.
      * lisp/net/tramp.el (tramp-message-show-message): Change default.
      * test/lisp/net/tramp-tests.el (ert-x): Require it.
      (tramp-test10-write-region): Extend test.
  14. 02 Jan, 2018 1 commit
  15. 01 Jan, 2018 3 commits
  16. 31 Dec, 2017 1 commit
  17. 30 Dec, 2017 1 commit
    • Philipp Stephani's avatar
      Improve error reporting when serializing non-Unicode strings to JSON · a5835dfe
      Philipp Stephani authored
      * src/coding.c (utf8_string_p): New helper function.
      (syms_of_coding) <utf-8-unix>: Move from json.c.
      * src/json.c (json_check_utf8): New helper function.
      (lisp_to_json_toplevel_1, lisp_to_json): Use it.  To save a bit of
      time, check for invalid UTF-8 strings only after encountering an
      error, since Jansson already rejects them.
      * test/src/json-tests.el (json-serialize/invalid-unicode): Adapt
      expected error symbol.
  18. 27 Dec, 2017 1 commit
  19. 24 Dec, 2017 3 commits
    • Philipp Stephani's avatar
      Add more Unicode test cases for JSON conversion · 3f63ae54
      Philipp Stephani authored
      * test/src/json-tests.el (json-parse-string/string)
      (json-serialize/string, json-serialize/invalid-unicode)
      (json-parse-string/invalid-unicode): Add more Unicode test cases.
    • Philipp Stephani's avatar
      Accept alists when serializing JSON · f552a957
      Philipp Stephani authored
      * src/json.c (lisp_to_json_toplevel_1): Also accept alists
      representing objects.
      * src/json.c (Fjson_serialize): Update docstring.
      * test/src/json-tests.el (json-serialize/object): Add unit tests for
      serializing alists.
      * doc/lispref/text.texi (Parsing JSON): Document that serialization
      functions accept alists.
    • Philipp Stephani's avatar
      JSON serialization: reject duplicate keys in hashtables · 34551927
      Philipp Stephani authored
      * src/json.c (lisp_to_json_toplevel_1): Reject duplicate keys in
      * test/src/json-tests.el (json-serialize/object-with-duplicate-keys):
      Add unit tests.