1. 05 Apr, 2017 5 commits
  2. 04 Apr, 2017 12 commits
    • Glenn Morris's avatar
      Advertise https for homepage of gnu.org packages · f981c611
      Glenn Morris authored
      * lisp/emacs-lisp/package.el (describe-package-1):
      Use https, if supported, for the homepage of packages on gnu.org.
    • Glenn Morris's avatar
      Default to https for elpa.gnu.org if gnutls available · 048133d4
      Glenn Morris authored
      * lisp/emacs-lisp/package.el (package-archives):
      Default to https for elpa.gnu.org if gnutls is available.  Ref:
    • Paul Eggert's avatar
      Minor simplifications and doc for records · 82b9efc8
      Paul Eggert authored
      * doc/lispref/records.texi (Records): Mention size limit.
      * etc/NEWS: Mention records.
      * src/alloc.c (allocate_pseudovector, allocate_record):
      Prefer 'PSEUDOVECTOR_SIZE_MASK' to its definiens.
      (allocate_record): Check arg range here, not in callers, as this
      simplifies the code.  Use allocate_vectorlike instead of
      allocate_vector, to avoid duplicate runtime tests.
      (Fmake_record, record): Don't mention PSEUDOVECTOR_SIZE_BITS in
      the doc string, as it is not visible to the user.
      (Fmake_record, record, Fcopy_record):
      Prefer make_lisp_ptr to XSETVECTOR.
      (record): Broaden memcpy to copy the type, too.
    • Eli Zaretskii's avatar
      Fix recent changes in record data type · 12317ff4
      Eli Zaretskii authored
      * src/alloc.c (Fmake_record, Frecord, Fcopy_record): Avoid
      compiler warnings when 'ptrdiff_t' is narrower than 'long int'.
    • Philipp Stephani's avatar
      Make subprocess functions resolve the default directory · 604eb02f
      Philipp Stephani authored
      `call-process' doesn't respect file name handlers in
      `default-directory', so `file-name-non-special' has to resolve them
      for `process-file', `start-file-process', and
      `shell-command' (Bug#25949).
      * lisp/files.el (file-name-non-special): Also resolve default
      directory for 'process-file', 'start-file-process', and
      * test/lisp/files-tests.el
      (files-tests--file-name-non-special--subprocess): Add unit test.
    • Philipp Stephani's avatar
      Make ediff handle remote and quoted file names · f4b50dad
      Philipp Stephani authored
      Quoted file names need to be unquoted before passed to
      subprocesses (Bug#25950).
      * lisp/vc/ediff-diff.el (ediff-exec-process): Handle remote and quoted
      file names.
      * test/lisp/vc/ediff-diff-tests.el
      (ediff-diff-tests--ediff-exec-process--quoted-file): Add unit test.
    • Stefan Monnier's avatar
      Backward compatibility with pre-existing struct instances. · 2c68192c
      Stefan Monnier authored
      * lisp/emacs-lisp/cl-lib.el (cl--old-struct-type-of): New function.
      (cl-old-struct-compat-mode): New minor mode.
      * lisp/emacs-lisp/cl-macs.el (cl-defstruct): Pass `record' to
      cl-struct-define to signal use of record objects.
      * lisp/emacs-lisp/cl-preloaded.el (cl--struct-get-class,
      cl-struct-define): Enable legacy defstruct compatibility.
      * test/lisp/emacs-lisp/cl-lib-tests.el (cl-lib-old-struct,
      old-struct): New tests.
      * doc/lispref/elisp.texi, doc/lispref/records.texi: Document
    • Lars Brinkhoff's avatar
      Make the URL library use records. · b6738682
      Lars Brinkhoff authored
      * lisp/url/url.el, lisp/url/url-cache.el, lisp/url/url-dav.el,
      lisp/url/url-expand.el, lisp/url/url-file.el, lisp/url/url-imap.el,
      lisp/url/url-ldap.el: Use `url-p' instead of `vectorp'.
      * lisp/url/url-http.el (url-http): Check for type `url' instead of
    • Stefan Monnier's avatar
      Make EIEIO use records. · 8e6f204f
      Stefan Monnier authored
      * lisp/emacs-lisp/eieio-compat.el
      (eieio--generic-static-object-generalizer): Adjust to new tags.
      * lisp/emacs-lisp/eieio-core.el: Use records, and place the class object
      directly as tag.
      (eieio--object-class): Adjust to new tag representation.
      (eieio-object-p): Rewrite, and adapt to new `type-of' behavior.
      (eieio-defclass-internal): Use `make-record'.
      (eieio--generic-generalizer): Adjust generalizer code accordingly.
      * lisp/emacs-lisp/eieio.el (make-instance, clone): Use copy-record.
      * lisp/emacs-lisp/pcase.el (pcase-mutually-exclusive-predicates):
      Add `recordp'.
      * doc/lispref/records.texi, doc/misc/eieio.texi: Update for records.
    • Lars Brinkhoff's avatar
      Make cl-defstruct use records. · 05654828
      Lars Brinkhoff authored
      * lisp/emacs-lisp/cl-extra.el (cl--describe-class)
      (cl--describe-class-slots): Use the new `type-of'.
      * lisp/emacs-lisp/cl-generic.el (cl--generic-struct-tag): Use type-of.
      (cl--generic-struct-specializers): Adjust to new tag.
      * lisp/emacs-lisp/cl-macs.el (cl-defstruct): When type is nil, use records.
      Use the type symbol as the tag.  Use copy-record to copy structs.
      (cl--defstruct-predicate): New function.
      (cl--pcase-mutually-exclusive-p): Use it.
      (cl-struct-sequence-type): Can now return `record'.
      * lisp/emacs-lisp/cl-preloaded.el (cl--make-slot-desc): Adjust ad-hoc
      code to new format.
      (cl--struct-register-child): Work with records.
      (cl-struct-define): Don't touch the tag's symbol-value and
      symbol-function slots when we use the type as tag.
      * lisp/emacs-lisp/cl-print.el (cl-print-object): Adjust to new tag.
      * test/lisp/emacs-lisp/cl-lib-tests.el (cl-lib-defstruct-record):
      New test.
      * doc/lispref/records.texi, doc/misc/cl.texi: Update for records.
    • Lars Brinkhoff's avatar
      Add record objects with user-defined types. · a2c33430
      Lars Brinkhoff authored
      * src/alloc.c (allocate_record): New function.
      (Fmake_record, Frecord, Fcopy_record): New functions.
      (syms_of_alloc): defsubr them.
      (purecopy): Work with records.
      * src/data.c (Ftype_of): Return slot 0 for record objects, or type
      name if record's type holds class.
      (Frecordp): New function.
      (syms_of_data): defsubr it.  Define `Qrecordp'.
      (Faref, Faset): Work with records.
      * src/fns.c (Flength): Work with records.
      * src/lisp.h (prec_type): Add PVEC_RECORD.
      * src/lread.c (read1): Add syntax for records.
      * src/print.c (PRINT_CIRCLE_CANDIDATE_P): Add RECORDP.
      (print_object): Add syntax for records.
      * test/lisp/emacs-lisp/cl-print-tests.el (cl-print-tests-2):
      New test.
      * test/src/alloc-tests.el (record-1, record-2, record-3):
      New tests.
      * doc/lispref/elisp.texi, doc/lispref/objects.texi,
      doc/lispref/records.texi: Add documentation for records.
    • Tino Calancha's avatar
      Fix a test in python-test.el · 19b92cdf
      Tino Calancha authored
      Fix a test that breaks the test suite when it is run within a
      virtual environment.
      See following link for details:
      * test/lisp/progmodes/python-tests.el
      (python-shell-calculate-process-environment-7): Bind
      python-shell-virtualenv-root to VIRTUAL_ENV when this var is set; otherwise
      bind it to '/env'.
  3. 03 Apr, 2017 3 commits
    • Noam Postavsky's avatar
      Throw a `search-failed' derived error in Info search · 3887c545
      Noam Postavsky authored
      The original fix for Bug#6106 switched from signalling `search-failed'
      to `user-error'.  However, this breaks incremental searching over
      multiple nodes because the isearch code doesn't expect a `user-error'.
      * src/search.c (syms_of_search): New error, `user-search-failed',
      with `user-error' and `search-failed' as parents.
      * doc/lispref/errors.texi (Standard Errors): Document it.
      * etc/NEWS: Announce it.
      * lisp/info.el (Info-search): Use it instead of `user-error' so that
      isearch will handle failed searches correctly.
    • Michael Albinus's avatar
      Add Tramp test · 49197e6e
      Michael Albinus authored
      * doc/misc/tramp.texi (Remote processes): Fix typo.
      * lisp/shell.el (shell): Fix typo.
      * lisp/net/tramp.el (tramp-set-connection-local-variables): Simplify.
      * test/lisp/net/tramp-tests.el (tramp-test30-explicit-shell-file-name):
      New test.
      (tramp--test-special-characters, tramp--test-utf8): Adapt docstring.
      (tramp-test34-special-characters-with-ls, tramp-test35-utf8)
      (tramp-test35-utf8-with-stat, tramp-test35-utf8-with-perl)
      (tramp-test37-recursive-load, tramp-test38-unload): Rename.
    • Stefan Monnier's avatar
      * lisp/ses.el: Silence byte-compiler warnings. · 44ee91d8
      Stefan Monnier authored
      (ses-jump, ses-recalculate-cell, ses-define-local-printer): Silence
      byte-compiler warnings.
  4. 02 Apr, 2017 6 commits
  5. 01 Apr, 2017 8 commits
    • Evgeni Kolev's avatar
      Propertize only perl prototype chars `][$%&*;+@\' as punctuation · a184a7ed
      Evgeni Kolev authored
      This prevents variables in signatures such as `sub add ($a, $b)' from
      being treated as punctuation.
      * lisp/progmodes/perl-mode.el (perl-syntax-propertize-function):
      Strictly match only prototype characters as punctuation.  (Bug#26037)
      Copyright-paperwork-exempt: yes
    • Tom Tromey's avatar
      fix two js-mode syntax propertization bugs · f4ecb65f
      Tom Tromey authored
      * lisp/progmodes/js.el (js--syntax-propertize-regexp-regexp): Add
      zero-or-one to regular expression.
      (js-syntax-propertize-regexp): Update.  Propertize body of regexp
      literal up to END.
      * test/lisp/progmodes/js-tests.el (js-mode-propertize-bug-1)
      (js-mode-propertize-bug-2): New tests.
    • Paul Eggert's avatar
      Simplify test dependency generation · ac2ca82e
      Paul Eggert authored
      Generate default dependencies by using GNU extensions to ‘make’
      rather than via a hacky auxiliary program and script.
      * .gitignore: Remove test/make-test-deps.mk.
      * test/Makefile.in (ELFILES, LOGFILES, TESTS):
      Use :=, not =, to avoid multiple redundant invocations of ‘find’.
      (test_template): Infer dependency directly instead of via
      (check-doit): Prepend ‘@’ to avoid excessively long ‘make’ output.
      (clean): No need to clean make-test-deps.mk.
      (make-test-deps.mk): Remove rule.
      * test/make-test-deps.emacs-lisp: Remove.
    • Paul Eggert's avatar
      ; Spelling fixes · 1a55cc60
      Paul Eggert authored
    • Stefan Monnier's avatar
      * test/lisp/emacs-lisp/cl-lib-tests.el: Improve symbol-macrolet tests · acce29d6
      Stefan Monnier authored
      (cl-lib-symbol-macrolet): Fix last test so it doesn't break the whole
      test suite.
      (cl-lib-symbol-macrolet-2): New test.
    • Tino Calancha's avatar
      Use only posix options in a ediff-ptch test · 9cf6a408
      Tino Calancha authored
      * test/lisp/vc/ediff-ptch-tests.el (ediff-ptch-test-bug26084):
      Use just "-b" patch option.  Don't assume a particular suffix for
      the backup files.
    • Jarno Malmari's avatar
      Initial implementation of HTTP Digest qop for url · 5b264d88
      Jarno Malmari authored
      This also refactors digest authentication functions in url-auth.el.
      * lisp/url/url-auth.el (url-digest-auth, url-digest-auth-create-key):
      (url-digest-auth-build-response, url-digest-auth-directory-id-assoc):
      (url-digest-auth-name-value-string, url-digest-auth-source-creds):
      (url-digest-cached-key, url-digest-cache-key, url-digest-find-creds):
      (url-digest-find-new-key, url-digest-prompt-creds): Add new functions
      to simplify code and aid in unit testing.
      (url-digest-auth-build-response): Hook up new functionality, or fall
      back to previous.
      (url-digest-auth-make-cnonce, url-digest-auth-nonce-count):
      (url-digest-auth-name-value-string): Add new helper functions.
      * test/lisp/url/url-auth-tests.el (url-auth-test-colonjoin):
      (url-auth-test-digest-ha1, url-auth-test-digest-ha2):
      (url-auth-test-digest-request-digest): Add a few tests as now more
      features are testable via intermediate functions.
      (url-auth-test-challenges, url-auth-test-digest-request-digest): Test
      the new implementation.  Parts of these were accidentally already
      merged in the past.
    • Tino Calancha's avatar
      Tweak ediff-ptch test in previous commit a bit more · 226cafd2
      Tino Calancha authored
      * test/lisp/vc/ediff-ptch-tests.el (ediff-ptch-test-bug26084):
      Apply patches without requiring a shell.  Add some comments.
  6. 31 Mar, 2017 6 commits
    • Glenn Morris's avatar
      Tweak an ediff-ptch test · d23287a9
      Glenn Morris authored
      * test/lisp/vc/ediff-ptch-tests.el (ediff-ptch-test-bug26084):
      Add skip conditions.  Avoid going through shell where not needed.
    • Michael Albinus's avatar
      * lisp/net/tramp-smb.el (tramp-smb-errors): · 21918f4e
      Michael Albinus authored
    • Stefan Monnier's avatar
    • Tino Calancha's avatar
      dired-mark-suffix: New command · 1da9a207
      Tino Calancha authored
      Now dired-mark-extension prepends '.' to extension when not present.
      Add command dired-mark-suffix to preserve the previous
      behaviour (Bug#25942).
      * lisp/dired-x.el (dired-mark-suffix): New command;
      mark files ending in a given suffix.
      (dired--mark-suffix-interactive-spec): New defun.
      (dired-mark-extension, dired-mark-suffix): Use it.
      * doc/misc/dired-x.texi (Advanced Mark Commands): Update manual.
      * test/lisp/dired-x-tests.el: New test suite; add test for these features.
      ; * etc/NEWS (Incompatible Lisp Changes in Emacs 26.1):
      ; Mention these changes.
    • Paul Eggert's avatar
      Use find -delete if available · 3a11b3e3
      Paul Eggert authored
      This shortens the ‘make’ output and should avoid some
      repetitive scanning of directories during a build.
      * configure.ac (FIND_DELETE): New var.
      * lisp/Makefile.in (compile-always, bootstrap-clean):
      * test/Makefile.in (clean, bootstrap-clean): Use it.
      * test/Makefile.in (ELCFILES, LOGSAVEFILES): Remove; no longer needed.
    • Mark Oteiza's avatar
      Remove gnus-boundp · e22d740c
      Mark Oteiza authored
      * lisp/gnus/gnus-start.el (gnus-display-time-event-handler): Use
      * lisp/gnus/gnus-util (gnus-boundp): Remove.