1. 10 Jul, 2018 2 commits
    • Basil L. Contovounesios's avatar
      Add predicate proper-list-p · 2fde6275
      Basil L. Contovounesios authored
      For discussion, see emacs-devel thread starting at
      * lisp/subr.el (proper-list-p): New function.
      Implementation suggested by Paul Eggert <eggert@cs.ucla.edu> in
      * doc/lispref/lists.texi (List Elements):
      * etc/NEWS: Document proper-list-p.
      * lisp/org/ob-core.el (org-babel-insert-result):
      * lisp/emacs-lisp/byte-opt.el (byte-optimize-if):
      * lisp/emacs-lisp/cl-macs.el (cl--make-usage-args): Use proper-list-p.
      * lisp/emacs-lisp/ert.el (ert--proper-list-p): Remove.
      Replaced by proper-list-p in lisp/subr.el.
      (ert--explain-equal-rec): Use proper-list-length.
      * lisp/format.el (format-proper-list-p): Remove.
      Replaced by proper-list-p in lisp/subr.el.
      (format-annotate-single-property-change): Use proper-list-p.
      * test/lisp/emacs-lisp/ert-tests.el (ert-test-proper-list-p):
      Move from here...
      * test/lisp/subr-tests.el (subr-tests--proper-list-length):
      ...to here, mutatis mutandis.
    • Noam Postavsky's avatar
      Respect field boundaries in indent-line-to (Bug#32014) · e4ad2d1a
      Noam Postavsky authored
      * lisp/indent.el (indent-line-to): Use the back-to-indentation point
      as the end-point of whitespace removal, rather than
      backward-to-indentation which doesn't respect field boundaries.
      * test/lisp/emacs-lisp/lisp-mode-tests.el
      (lisp-indent-with-read-only-field): Don't expect to fail.
  2. 09 Jul, 2018 3 commits
    • Noam Postavsky's avatar
      Stop using indent-line-to in lisp-indent-line (Bug#32014) · 8f7d35ca
      Noam Postavsky authored
      This is partial revert of "Remove ignored argument from
      lisp-indent-line", because `indent-line-to' doesn't respect field
      * lisp/emacs-lisp/lisp-mode.el (lisp-indent-line): Use delete-region
      and indent-to instead of `indent-line-to'.
      * test/lisp/emacs-lisp/lisp-mode-tests.el
      (lisp-indent-with-read-only-field): Expect to pass.
      Don't merge to master, we will fix indent-line-to there instead.
    • Noam Postavsky's avatar
      ; Test for Bug#32014 · db3f7797
      Noam Postavsky authored
      * test/lisp/emacs-lisp/lisp-mode-tests.el
      (lisp-indent-with-read-only-field): New test.
    • Michael Albinus's avatar
      Fix Bug#32090 · 917158f8
      Michael Albinus authored
      * lisp/files-x.el (connection-local-normalize-criteria): Do not
      use PROPERTIES anymore.
      (connection-local-get-profiles): Rewrite, in order to accept any
      property as optional.  (Bug#32090)
      Adapt ´connection-local-normalize-criteria' call.
      * test/lisp/files-x-tests.el
      (files-x-test-hack-connection-local-variables-apply): Extend tests.
  3. 08 Jul, 2018 2 commits
  4. 04 Jul, 2018 1 commit
    • Tom Tromey's avatar
      Fix Tcl indentation in a namespace · 38ea8e14
      Tom Tromey authored
      Fixes bug#32035
      * lisp/progmodes/tcl.el (tcl-proc-list): Add "namespace".
      * test/lisp/progmodes/tcl-tests.el (tcl-mode-namespace-indent): New
  5. 03 Jul, 2018 1 commit
    • João Távora's avatar
      Adjust previous jsonrpc change · 4ee502ca
      João Távora authored
      (nth 2) is probably a better alternative to caddr, and in Emacs 26.1
      we can pass 0 as :service to automatically find an available port.
      * lisp/jsonrpc.el (jsonrpc--call-deferred): Use cl-caddr.
      * test/lisp/jsonrpc-tests.el
      (jsonrpc--call-with-emacsrpc-fixture): Pass 0 as :service to when
      making the listen server.
  6. 02 Jul, 2018 1 commit
    • João Távora's avatar
      Make lisp/jsonrpc.el work with Emacs 25.1 · 332f4656
      João Távora authored
      * jsonrpc.el (Package-Requires): Require Emacs 25.1
      (jsonrpc-lambda): Use cl-gensym.
      (jsonrpc--call-deferred): Caddr doesn't exist in
      emacs 25.1.
      * jsonrpc-tests.el
      (jsonrpc--call-with-emacsrpc-fixture): New function.
      (jsonrpc--with-emacsrpc-fixture): Use it.
      (deferred-action-complex-tests): Adjust test for Emacs 25.1
  7. 01 Jul, 2018 1 commit
  8. 30 Jun, 2018 1 commit
    • João Távora's avatar
      Add lisp/jsonrpc.el · 8af26410
      João Távora authored
      * doc/lispref/text.texi (Text): Add JSONRPC.
      (JSONRPC): New node.
      * etc/NEWS (New Modes and Packages in Emacs 27.1): Mention jsonrpc.el
      * lisp/jsonrpc.el: New file.
      * test/lisp/jsonrpc-tests.el: New file.
  9. 29 Jun, 2018 1 commit
    • Michael Albinus's avatar
      Sync with Tramp 2.4.0 · 45390596
      Michael Albinus authored
      * doc/misc/trampver.texi:
      * lisp/net/trampver.el: Change version to "2.4.0".
      * lisp/net/tramp-gvfs.el (tramp-gvfs-handler-mounted-unmounted):
      Ignore unknown GVFS methods.
      * test/lisp/net/tramp-tests.el (tramp-test42-asynchronous-requests):
      Tag as :unstable.
  10. 27 Jun, 2018 1 commit
    • Michael Albinus's avatar
      Sync with Tramp 2.3.4. Do not merge with master · 1f503792
      Michael Albinus authored
      * doc/misc/trampver.texi:
      * lisp/net/trampver.el: Change version to "2.3.4".
      * lisp/net/tramp-smb.el (tramp-smb-handle-delete-directory):
      Check, that the directory has been removed indeed.
      * test/lisp/net/tramp-tests.el (tramp-test21-file-links): Adapt test.
      (tramp--test-emacs25-p): New defun.
      (tramp-test34-vc-registered): Use it.
  11. 25 Jun, 2018 2 commits
    • Jean-Christophe Helary's avatar
      Reformat package.el message strings for future l10n · 61f73703
      Jean-Christophe Helary authored
      * lisp/emacs-lisp/package.el (package-buffer-info)
      (package--download-one-archive, package-install-selected-packages)
      (package-autoremove, describe-package-1, package-menu-toggle-hiding)
      (package-menu-hide-package, package-menu--mark-upgrades-1)
      (package-menu--list-to-prompt, package-menu--prompt-transaction-p)
      (package-menu-execute, package-menu--find-and-notify-upgrades):
      Reformat message strings to remove need for plural computation.  Try
      to put full sentences in source string literals.
      * test/lisp/emacs-lisp/package-tests.el
      (package-test-describe-package): Update to match new message format.
    • Paul Eggert's avatar
      (format "%d" F) now truncates floating F · d0e2a341
      Paul Eggert authored
      Problem reported by Paul Pogonyshev (Bug#31938).
      * src/editfns.c: Include math.h, for trunc.
      (styled_format): For %d, truncate floating-point numbers and
      convert -0 to 0, going back to how Emacs 26 did things.
      * doc/lispref/strings.texi (Formatting Strings):
      Document behavior of %o, %d, %x, %X on floating-point numbers.
      * src/floatfns.c (trunc) [!HAVE_TRUNC]: Rename from emacs_trunc
      and make it an extern function, so that editfns.c can use it.
      All callers changed.
      * test/src/editfns-tests.el (format-%d-float): New test.
  12. 24 Jun, 2018 1 commit
    • Tom Tromey's avatar
      Fix two tcl-mode defun-related bugs · cd5bb4bf
      Tom Tromey authored
      Fixes bug#23565
      * lisp/progmodes/tcl.el (tcl-mode): Set beginning-of-defun-function
      and end-of-defun-function.
      (tcl-beginning-of-defun-function, tcl-end-of-defun-function): New
      * test/lisp/progmodes/tcl-tests.el: New file.
  13. 22 Jun, 2018 1 commit
    • Michael Albinus's avatar
      Improve backward compatibility of Tramp · e6476c91
      Michael Albinus authored
      * lisp/net/tramp-adb.el (tramp-adb-handle-exec-path):
      * lisp/net/tramp-sh.el (tramp-sh-handle-exec-path): Use ´file-remote-p'.
      (tramp-get-ls-command-with): Handle busybox specially.
      * test/lisp/net/tramp-tests.el (tramp-test34-exec-path): Check for
      `fboundp'.  Use `file-remote-p'.  Hide compiler warning for older
  14. 20 Jun, 2018 2 commits
    • Michael Albinus's avatar
      Implement command completion in remote shells. (Bug#31704) · 6f649e77
      Michael Albinus authored
      * doc/lispref/files.texi (Locating Files): Describe optional
      argument REMOTE of `executable-find'.
      (Magic File Names): Add `exec-path'.
      * doc/lispref/processes.texi (Subprocess Creation): Describe
      function `exec-path'.
      * doc/misc/tramp.texi (Remote programs): Explain refresh of search
      paths by `tramp-cleanup-this-connection'.
      * etc/NEWS: Mention 'exec-path' and 'executable-find'.
      * lisp/files.el (exec-path): New defun.
      (executable-find): Add optional argument REMOTE.
      * lisp/shell.el (shell-completion-vars): Set `comint-file-name-prefix'.
      (shell--command-completion-data): Use `(exec-path)'.  (Bug#31704)
      * lisp/net/ange-ftp.el (exec-path):
      * lisp/net/tramp.el (tramp-file-name-for-operation):
      * lisp/net/tramp-adb.el (tramp-adb-file-name-handler-alist):
      * lisp/net/tramp-archive.el (tramp-archive-file-name-handler-alist):
      * lisp/net/tramp-gvfs.el (tramp-gvfs-file-name-handler-alist):
      * lisp/net/tramp-sh.el (tramp-sh-file-name-handler-alist):
      * lisp/net/tramp-smb.el (tramp-smb-file-name-handler-alist)
      <exec-path>: Add handler.
      * lisp/net/tramp-adb.el (tramp-adb-handle-exec-path): New defun.
      (tramp-adb-maybe-open-connection): Do not set "remote-path"
      connection property.
      * lisp/net/tramp-compat.el (tramp-compat-exec-path): New defun.
      * lisp/net/tramp-sh.el (tramp-sh-handle-exec-path): New defun.
      * lisp/net/tramp.el (tramp-eshell-directory-change): Use it.
      * test/lisp/net/tramp-archive-tests.el
      (tramp-archive-test43-delay-load): Rename.
      * test/lisp/net/tramp-tests.el (tramp-test34-exec-path): New test.
      (tramp-test39-special-characters-with-ls, tramp-test40-utf8)
      (tramp-test40-utf8-with-stat, tramp-test40-utf8-with-perl)
      (tramp-test40-utf8-with-ls, tramp-test41-file-system-info)
      (tramp-test42-asynchronous-requests, tramp-test43-auto-load)
      (tramp-test43-delay-load, tramp-test43-recursive-load)
      (tramp-test43-remote-load-path, tramp-test44-unload): Rename.
    • Noam Postavsky's avatar
      Fix #'fun handling inside `labels' (Bug#31792) · e292c097
      Noam Postavsky authored
      * lisp/emacs-lisp/cl.el (labels): Apply the equivalent of the
      cl-labels change from 2015-01-16 "* lisp/emacs-lisp/cl-macs.el: Fix
      last change".
      * test/lisp/emacs-lisp/cl-tests.el (labels-function-quoting): New
      * lisp/emacs-lisp/cl-macs.el (cl-flet, cl-labels): Improve docstring,
      link to relevant manual page.
      * doc/misc/cl.texi (Function Bindings): Don't imply that function
      cells of symbols are modified by cl-flet.  Don't claim that cl-flet or
      cl-labels affect references of the form (quote FUNC).
  15. 19 Jun, 2018 2 commits
  16. 17 Jun, 2018 2 commits
  17. 16 Jun, 2018 4 commits
    • Noam Postavsky's avatar
      Don't forget to analyze args of lambda lifted functions (Bug#30872) · 6021e1db
      Noam Postavsky authored
      * lisp/emacs-lisp/cconv.el (cconv--convert-funcbody): New function.
      (cconv--convert-function): Extracted from here.
      (cconv-convert): Also use it here, in the lambda lifted case, so that
      mutated args are properly accounted for.
      * test/lisp/emacs-lisp/cconv-tests.el: New test.
    • Noam Postavsky's avatar
      Fix off by one error in python-mode assertion (Bug#30964) · 05345bab
      Noam Postavsky authored
      * lisp/progmodes/python.el (python-nav-end-of-statement): Don't assert
      that string-start is strictly greater than last-string-end, because
      the string end is a position outside of the string and may therefore
      be the same as the following string's start.
      * test/lisp/progmodes/python-tests.el (python-nav-end-of-statement-2):
      New test.
    • Paul Eggert's avatar
      Fix byte compilation of (eq foo 'default) · e1284341
      Paul Eggert authored
      Backport from master.
      Do not use the symbol ‘default’ as a special marker.
      Instead, use a value that cannot appear in the program,
      improving on a patch proposed by Robert Cochran (Bug#31718#14).
      * lisp/emacs-lisp/bytecomp.el (byte-compile--default-val):
      New constant.
      (byte-compile-cond-jump-table): Use it instead of 'default.
      * test/lisp/emacs-lisp/bytecomp-tests.el:
      (byte-opt-testsuite-arith-data): Add a test for the bug.
    • Paul Eggert's avatar
      Fix byte compilation of (eq foo 'default) · 9af399fd
      Paul Eggert authored
      Do not use the symbol ‘default’ as a special marker.
      Instead, use a value that cannot appear in the program,
      improving on a patch proposed by Robert Cochran (Bug#31718#14).
      * lisp/emacs-lisp/bytecomp.el (byte-compile--default-val):
      New constant.
      (byte-compile-cond-jump-table): Use it instead of 'default.
      * test/lisp/emacs-lisp/bytecomp-tests.el:
      (byte-opt-testsuite-arith-data): Add a test for the bug.
  18. 15 Jun, 2018 1 commit
  19. 14 Jun, 2018 3 commits
    • João Távora's avatar
      Also allow custom false and null when serializing to JSON · 51adab5d
      João Távora authored
      * doc/lispref/text.texi (Parsing JSON): Describe new arguments of
      json-serialize and json-insert.
      * src/json.c (enum json_object_type, struct json_configuration):
      Move up in file before first usage.
      (lisp_to_json_toplevel, lisp_to_json_toplevel_1, lisp_to_json):
      Accept a struct json_configuration*.
      (Fjson_serialize, Fjson_insert): Accept multiple args.
      (json_parse_args): Accept new boolean configure_object_type.
      * test/src/json-tests.el
      (json-serialize, json-insert): Update forward decls.
      (json-parse-with-custom-null-and-false-objects): Add assertions for
    • João Távora's avatar
      Support custom null and false objects when parsing JSON · 9348039e
      João Távora authored
      * doc/lispref/text.texi (Parsing JSON): Describe new :null-object
      and :false-object kwargs to json-parse-string and
      * src/json.c
      (struct json_configuration): New type.
      (json_to_lisp): Accept a struct json_configuration* param.
      (json_parse_args): Rename from json_parse_object_type.
      (Fjson_parse_string): Rework docstring.
      (Fjson_parse_string, Fjson_parse_buffer): Update call to
      (syms_of_json): Two new syms, QCnull_object and QCfalse_object.
      * test/src/json-tests.el
      (json-parse-with-custom-null-and-false-objects): New test.
    • Damien Cassou's avatar
      Fix pretty-printing empty objects as null · 8cb9beb3
      Damien Cassou authored
      * lisp/json.el (json-pretty-print): Force distinction between empty
        objects and null.
      (json-encode-list): Remove responsibility to print "null" as this
      value is not a list.
      (json-encode): Give higher precedence to lists so that an empty list
      is printed as an empty object, not as "null".
      * test/lisp/json-tests.el (test-json-encode): Add many tests to check
        the behavior of pretty-printing.
  20. 12 Jun, 2018 3 commits
    • Noam Postavsky's avatar
      Give warning if losing value to defvaralias (Bug#5950) · c912db08
      Noam Postavsky authored
      * src/eval.c (Fdefvaralias): Call `display-warning' if the alias
      target has a non-eq value to the variable being aliased.
      * test/src/eval-tests.el (defvaralias-overwrite-warning): New test.
    • Noam Postavsky's avatar
      ; Reduce quoting for SELECTOR in 'make -C test' (Bug#31744) · 5bdc3447
      Noam Postavsky authored
          make -C test SELECTOR='\"foo\"'
          make -C test SELECTOR='(quote (tag :some-tag))'
          make -C test SELECTOR='"foo"'
          make -C test SELECTOR='(tag :some-tag)'
      * test/Makefile.in: Use single quotes around the command line call to
      ert, this means the user doesn't have to backslash escape double
      quotes when writing lisp strings for the selector.  Also wrap the
      SELECTOR value in (quote ...) so the user won't have to type it
      in (and not get tempted to use the '... reader syntax form which would
      now fail to work due to using single quotes around the whole shell
      * test/README: Update instructions accordingly.
    • Noam Postavsky's avatar
      ; test/Makefile.in: Add TEST_INTERACTIVE option (Bug#31744). · b6b793bd
      Noam Postavsky authored
      * test/README: Note the new option.
  21. 10 Jun, 2018 1 commit
  22. 09 Jun, 2018 1 commit
    • Eli Zaretskii's avatar
      Update Unicode data files to version 11.0.0 of Unicode · 36bbdfc0
      Eli Zaretskii authored
      * admin/unidata/UnicodeData.txt:
      * admin/unidata/SpecialCasing.txt:
      * admin/unidata/NormalizationTest.txt:
      * admin/unidata/copyright.html:
      * admin/unidata/BidiMirroring.txt:
      * admin/unidata/BidiBrackets.txt: Import from Unicode 11.0.
      * admin/notes/unicode: Update the URL for OTF script tags.
      * lisp/international/mule-cmds.el (ucs-names): Update unused ranges.
      * lisp/international/fontset.el (script-representative-chars): Add
      hanifi-rohingya, old-sogdian, sogdian, dogra, gunjala-gondi,
      makasar, and medefaidrin.
      (otf-script-alist): Add old-hungarian.
      * lisp/international/characters.el (tbl): Add syntax entries for
      Supplemental Mathematical Operators, Miscellaneous Symbols and
      Arrows, and Supplemental Punctuation.
      Update the list of wide characters.
      * test/lisp/international/ucs-normalize-tests.el
      (ucs-normalize-tests--failing-lines-part2): Update to match
      * doc/lispref/nonascii.texi (Character Properties): Update the
      reference to the Unicode Standard.
      * doc/misc/efaq.texi (New in Emacs 26):
      * etc/NEWS: Mention compatibility with Unicode 11.0.
  23. 07 Jun, 2018 2 commits
    • Gemini Lasswell's avatar
      Make cl-print respect print-quoted (bug#31649) · c6ef3c83
      Gemini Lasswell authored
      * lisp/emacs-lisp/cl-print.el (cl-print-object) <cons>: Observe
      print-quoted when printing quote and its relatives.  Add printing of
      'function' as #'.
    • João Távora's avatar
      Accept plists when serializing and parsing JSON · 3509aaae
      João Távora authored
      * doc/lispref/text.texi (Parsing JSON): Mention plist support.
      * src/json.c (lisp_to_json_toplevel_1): Serialize plists to json.
      (Fjson_serialize): Mention plists in docstring.
      (enum json_object_type): Add json_object_plist.
      (json_to_lisp): Parse JSON into plists.
      (json_parse_object_type): Consider plists.
      (Fjson_parse_string): Mention plists in docstring.
      (syms_of_json): New Qplist sym_of_json.
      (lisp_to_json): Update comment.
      * test/src/json-tests.el (json-serialize/object)
      (json-parse-string/object): New plist tests.
  24. 05 Jun, 2018 1 commit