1. 13 Sep, 2017 12 commits
    • Paul Eggert's avatar
      Prefer HTTPS to FTP and HTTP in documentation · bc511a64
      Paul Eggert authored
      Most of this change is to boilerplate commentary such as license URLs.
      This change was prompted by ftp://ftp.gnu.org's going-away party,
      planned for November.  Change these FTP URLs to https://ftp.gnu.org
      instead.  Make similar changes for URLs to other organizations moving
      away from FTP.  Also, change HTTP to HTTPS for URLs to gnu.org and
      fsf.org when this works, as this will further help defend against
      man-in-the-middle attacks (for this part I omitted the MS-DOS and
      MS-Windows sources and the test tarballs to keep the workload down).
      HTTPS is not fully working to lists.gnu.org so I left those URLs alone
      for now.
      bc511a64
    • Paul Eggert's avatar
      Prefer HTTPS to HTTP for gnu.org · 5da53a01
      Paul Eggert authored
      This patch just changes code files; a followup companion patch
      (much larger) will affect the commentary.  This part is
      separated out to make it easier to review.
      * .dir-locals.el (change-log-mode):
      * lisp/org/org-info.el (org-info-other-documents)
      (org-info-map-html-url):
      * lisp/org/ox-html.el (org-html-creator-string):
      * lisp/startup.el (fancy-startup-text, fancy-about-text)
      (fancy-splash-head):
      * test/lisp/ffap-tests.el (ffap-other-window--bug-25352):
      * test/lisp/thingatpt-tests.el (thing-at-point-test-data):
      Use HTTPS instead of HTTP.
      5da53a01
    • Simen Heggestøyl's avatar
      Add tests for color.el · e7d6c622
      Simen Heggestøyl authored
      * lisp/color.el (color-name-to-rgb, color-complement): Clarify in
      docstrings that RGB triplets should use four digits per component.
      (color-rgb-to-hsl): Break line to avoid "Hidden behind deeper element"
      warning.
      
      * test/lisp/color-tests.el: New file.
      e7d6c622
    • Lars Ingebrigtsen's avatar
      Make gnutls-verify-error work again with url-retrieve-synchronously · 63398071
      Lars Ingebrigtsen authored
      * lisp/url/url-gw.el (url-open-stream): Only use :nowait if
      we're doing async connections (bug#26835).
      
      * lisp/url/url-parse.el (url): Add an asynchronous slot.
      
      * lisp/url/url.el (url-asynchronous): New variable.
      (url-retrieve-internal): Store the value.
      (url-retrieve-synchronously): Bind the variable.
      63398071
    • Michael Albinus's avatar
      * lisp/net/trampver.el (customize-package-emacs-version-alist): · 51648115
      Michael Albinus authored
      Add Tramp version integrated in Emacs 25.3.
      51648115
    • Mark Oteiza's avatar
      Add clarification to if-let* docstring · bdb71dea
      Mark Oteiza authored
      Also make its behaviour consistent with and-let* in that empty bindings
      results in success, not failure.
      * lisp/emacs-lisp/subr-x.el: Edit docstring, change else to then.
      bdb71dea
    • Lars Ingebrigtsen's avatar
      Make fully qualified domain names more fully qualified · 6519df8f
      Lars Ingebrigtsen authored
      * lisp/gnus/message.el (message-make-fqdn): Don't try to use a
      system-name without any periods as a fully qualified domain name.
      6519df8f
    • Mark Oteiza's avatar
      Remove "baroque" use of prefix argument from gensym · 912826a8
      Mark Oteiza authored
      'cl-gensym' was simply moved here, but let us take an opportunity to
      shed some historical baggage.
      * lisp/subr.el (gensym): Remove special treatment of PREFIX as a
      number.  Use "g" as prefix to differentiate from cl-gensym defaults.
      * doc/lispref/symbols.texi (Creating Symbols): Update accordingly.
      * lisp/emacs-lisp/cl-macs.el (cl--gensym-counter, cl-gensym): Restore.
      912826a8
    • Mark Oteiza's avatar
      ; Fix previous commit · 9a8bbb9d
      Mark Oteiza authored
      Removing extraneous code, thanks to Michael Heerdegen.
      * lisp/emacs-lisp/subr-x.el (internal--listify): Remove latter
      condition which always evaluates to t.
      (internal--build-binding-value-form): Remove dead code.
      9a8bbb9d
    • Mark Oteiza's avatar
      Add other D series white points and some simple conversions · d532caae
      Mark Oteiza authored
      * lisp/color.el (color-d75-xyz, color-d55-xyz, color-d50-xyz): New
      constants.
      (color-xyz-to-xyy, color-xyy-to-xyz, color-lab-to-lch):
      (color-lch-to-lab): New functions.
      d532caae
    • Mark Oteiza's avatar
      Permit non-integral color gradients · 8d433d9b
      Mark Oteiza authored
      * lisp/color.el (color-gradient): Float the step-number.
      8d433d9b
    • Katsumi Yamaoka's avatar
      Protect against malformed MIME messages that cause inf-loop (bugfix) · 61b8f9c4
      Katsumi Yamaoka authored
      * lisp/gnus/gnus-art.el (gnus-article-mime-handles):
      Protect against malformed MIME messages that cause inf-loop.
      61b8f9c4
  2. 12 Sep, 2017 12 commits
    • Dmitry Gutov's avatar
      Call vc-resynch-buffer in vc-git-resolve-when-done · 4bef92e9
      Dmitry Gutov authored
      * lisp/vc/vc-git.el (vc-git-resolve-when-done):
      Call vc-resynch-buffer on the current file (bug#28121).
      Move its autoload to before this function.
      4bef92e9
    • Eric Abrahamsen's avatar
      Allow write-contents-functions to short-circuit buffer save · 9b980e26
      Eric Abrahamsen authored
      Bug#28412
      
      * lisp/files.el (basic-save-buffer): Re-arrange function so that
        write-contents-functions are run earlier. If they return non-nil,
        consider the buffer saved without requiring the buffer to be
        visiting a file.
        (save-some-buffers): This function should consider any buffer with a
        buffer-local value for write-contents-functions eligible for
        saving.
      * test/lisp/files-tests.el (files-test-no-file-write-contents): New
        test.
      * doc/lispref/files.texi (Saving Buffers): Mention in docs.
      * etc/NEWS: And in NEWS.
      9b980e26
    • Mark Oteiza's avatar
      Update uses of if-let and when-let · 370d0e7a
      Mark Oteiza authored
      * lisp/dom.el (dom-previous-sibling):
      * lisp/emacs-lisp/package.el (package--with-work-buffer):
      (package--sort-deps-in-alist, package--sort-by-dependence):
      (package-install-from-archive, package-install):
      (package-menu-execute, package-menu--populate-new-package-list):
      * lisp/filenotify.el (file-notify--rm-descriptor):
      (file-notify--event-watched-file, file-notify--event-file-name):
      (file-notify--event-file1-name, file-notify-rm-watch):
      (file-notify-valid-p):
      * lisp/gnus/message.el (message-toggle-image-thumbnails):
      * lisp/gnus/nnimap.el (nnimap-request-move-article):
      * lisp/ibuf-ext.el (ibuffer-repair-saved-filters):
      * lisp/mpc.el (mpc-format):
      * lisp/net/eww.el (eww-tag-meta, eww-process-text-input):
      (eww-save-history):
      * lisp/net/shr.el (shr-tag-base, shr-tag-object, shr-make-table-1):
      * lisp/progmodes/prog-mode.el (prettify-symbols--post-command-hook):
      * lisp/svg.el (svg-remove):
      * lisp/textmodes/css-mode.el (css--named-color):
      (css--colon-inside-funcall):
      * lisp/textmodes/sgml-mode.el (html-current-buffer-classes):
      (html-current-buffer-ids): Use if-let* and when-let* instead.
      370d0e7a
    • Mark Oteiza's avatar
      Implement and-let* · 4612b2a2
      Mark Oteiza authored
      This also includes changes to if-let and when-let.  The single tuple
      special case is ambiguous, and binding a symbol to nil is not as
      useful as binding it to its value outside the lexical scope of the
      binding.  (Bug#28254)
      * etc/NEWS: Mention.
      * lisp/emacs-lisp/subr-x.el (internal--listify):
      (internal--build-binding-value-form): Extend to account for
      solitary symbols and (EXPR) items in binding varlist.
      (if-let*, when-let*): Nix single tuple case and incumbent
      bind-symbol-to-nil behavior.
      (and-let*): New macro.
      (if-let, when-let): Mark obsolete.  Redefine in terms of if-let*, so
      they implicitly gain the new features without breaking existing code.
      * test/lisp/emacs-lisp/subr-x-tests.el: Adjust tests for: lack of
      single-tuple special case, lack of binding solitary symbols to nil,
      and the introduction of uninterned symbols for (EXPR) bindings.  Add
      SRFI-2 test suite adapted to Elisp.
      4612b2a2
    • Paul Eggert's avatar
      Merge Emacs 25.3 fixes · b3fd6831
      Paul Eggert authored
      The security patches released for Emacs 25.3 were less drastic
      than what we had immediately put into master.  Adjust master to
      match 25.3 (Bug#28350).
      * lisp/textmodes/enriched.el (enriched-translations):
      Re-enable FUNCTION and display translations that are safe.
      (enriched-handle-display-prop): Bring back.
      (enriched-decode-display-prop): Bring back, but disable
      the unsafe part.
      b3fd6831
    • Alan Mackenzie's avatar
      Don't match C++ template delims starting within a token. FIxes bug #28418. · f4859757
      Alan Mackenzie authored
      * lisp/progmodes/cc-engine.el (c-restore-<>-properties): After failing an
      attempted match from the start of a token (in particular, "<<"), move to the
      next token rather than the nex character before searching for the next "<".
      f4859757
    • Mark Oteiza's avatar
      Move gensym to core Elisp · 35c893dd
      Mark Oteiza authored
      * doc/lispref/symbols.texi (Creating Symbols): Mention gensym right
      after make-symbol.
      * etc/NEWS: Mention.
      * lisp/emacs-lisp/cl-macs.el (cl--gensym-counter): Alias to
      gensym-counter.
      (cl-gensym): Alias to gensym.
      * lisp/emacs-lisp/cl.el: Remove gensym from list of aliases.
      * lisp/emacs-lisp/edebug.el (edebug-make-enter-wrapper):
      * lisp/emacs-lisp/ert-x.el (ert-with-message-capture):
      (ert--expand-should-1, ert--expand-should):
      (ert--should-error-handle-error):
      * lisp/emacs-lisp/generator.el (cps--gensym):
      * lisp/emacs-lisp/gv.el (setf):
      * lisp/emacs-lisp/inline.el (inline--do-letlisteval):
      * lisp/emacs-lisp/pcase.el (pcase--make-docstring, pcase-dolist):
      (pcase--funcall, pcase--u1): Use gensym.
      * lisp/subr.el (gensym-counter): New variable.
      (gensym): New function, assimilated from cl-lib.
      35c893dd
    • Mark Oteiza's avatar
      Fix cl-gentemp · 2ae46b4c
      Mark Oteiza authored
      * lisp/emacs-lisp/cl-macs.el (cl--gentemp-counter): New variable.
      (cl-gentemp): Use it.  Change prefix to "T".
      2ae46b4c
    • Sam Steingold's avatar
      fcf5d894
    • Mark Oteiza's avatar
      Add cl-print method for hash tables · 370e04fb
      Mark Oteiza authored
      * lisp/emacs-lisp/cl-print.el (cl-print-object): New method.
      370e04fb
    • Mark Oteiza's avatar
      Add docstrings to cl-print entry points · 8130186c
      Mark Oteiza authored
      * lisp/emacs-lisp/cl-print.el (cl-print-compiled): Fix docstring.
      (cl-prin1, cl-prin1-to-string): Add docstrings.
      8130186c
    • Mark Oteiza's avatar
      ; Fix previous commit · f6474b48
      Mark Oteiza authored
      The printer otherwise includes the 0x prefix.
      * lisp/emacs-lisp/cl-print.el: Add 0x to format.
      f6474b48
  3. 11 Sep, 2017 10 commits
    • Glenn Morris's avatar
      Improve reproducibility of generated leim-list.el · 23252d4c
      Glenn Morris authored
      * lisp/international/quail.el (quail-update-leim-list-file):
      Sort the quail directory listing, for more stable output.
      23252d4c
    • Philipp Stephani's avatar
      123d52f6
    • Mark Oteiza's avatar
      Include sxhash of object with printed bytecode · a6615555
      Mark Oteiza authored
      This printing, while succint, is rather opaque.  At least give an
      immediate clue of whether different byte code printouts are for the
      same or different byte code objects.
      * lisp/emacs-lisp/cl-print.el (cl-print-object): Add object sxhash to
      printed token "#<bytecode>".
      a6615555
    • Michael Albinus's avatar
      Further optimization in Tramp's file name decomposition · 70045452
      Michael Albinus authored
      * lisp/net/tramp.el (tramp-syntax): Recompute all file name
      components.  Call `custom-set-variables' after loading.
      (tramp-build-prefix-format, tramp-build-prefix-regexp)
      (tramp-build-method-regexp)
      (tramp-build-postfix-method-format)
      (tramp-build-postfix-method-regexp)
      (tramp-build-prefix-ipv6-format)
      (tramp-build-prefix-ipv6-regexp)
      (tramp-build-postfix-ipv6-format)
      (tramp-build-postfix-ipv6-regexp)
      (tramp-build-postfix-host-format)
      (tramp-build-postfix-host-regexp)
      (tramp-build-file-name-regexp)
      (tramp-build-completion-file-name-regexp): New defuns.
      (tramp-prefix-format, tramp-prefix-regexp)
      (tramp-method-regexp, tramp-postfix-method-format)
      (tramp-postfix-method-regexp, tramp-prefix-ipv6-format)
      (tramp-prefix-ipv6-regexp, tramp-postfix-ipv6-format)
      (tramp-postfix-ipv6-regexp, tramp-postfix-host-format)
      (tramp-postfix-host-regexp)
      (tramp-remote-file-name-spec-regexp)
      (tramp-file-name-structure, tramp-file-name-regexp)
      (tramp-completion-file-name-regexp): Convert defuns into defvars.
      (tramp-prefix-regexp-alist)
      (tramp-postfix-method-regexp-alist)
      (tramp-prefix-ipv6-regexp-alist)
      (tramp-postfix-ipv6-regexp-alist)
      (tramp-postfix-host-regexp-alist)
      (tramp-remote-file-name-spec-regexp-alist): Remove.
      (tramp-build-remote-file-name-spec-regexp)
      (tramp-build-file-name-structure): Simplify.
      (tramp-completion-file-name-regexp-alist): New defconst.
      (tramp-tramp-file-p, tramp-dissect-file-name)
      (tramp-make-tramp-file-name)
      (tramp-completion-make-tramp-file-name)
      (tramp-rfn-eshadow-update-overlay-regexp)
      (tramp-register-file-name-handlers)
      (tramp-completion-handle-file-name-all-completions)
      (tramp-completion-dissect-file-name, tramp-clear-passwd):
      * lisp/net/tramp-ftp.el (tramp-ftp-file-name-handler):
      * lisp/net/tramp-sh.el (tramp-sh-handle-vc-registered)
      (tramp-compute-multi-hops): Use variables but functions for
      file name components.
      
      * test/lisp/net/tramp-tests.el (tramp-test24-file-name-completion):
      Use variables but functions for file name components.
      70045452
    • Paul Eggert's avatar
      Adjust thumbs to new rename-file behavior · 2aa02882
      Paul Eggert authored
      * etc/NEWS: Mention this.
      * lisp/thumbs.el (thumbs-rename-images): Treat the destination
      as special only if it is a directory name.  When there is
      a marked list, turn the destination into a directory name
      if it is not already.
      2aa02882
    • Paul Eggert's avatar
      Adjust ob-tangle to new copy-file behavior · 74b8615f
      Paul Eggert authored
      * lisp/org/ob-tangle.el (org-babel-tangle-publish):
      Port to new copy-file behavior.
      74b8615f
    • Paul Eggert's avatar
      Make gnus-copy-file act like copy-file etc. · 739593d6
      Paul Eggert authored
      * etc/NEWS: Mention this.
      * lisp/gnus/gnus-util.el (gnus-copy-file): Treat the destination
      as special only if it is a directory name.
      739593d6
    • Paul Eggert's avatar
      Make write-file act like copy-file etc. · 61946d99
      Paul Eggert authored
      Change write-file to be consistent with the new behavior
      of copy-file, etc.
      * etc/NEWS: Mention this.
      * lisp/files.el (write-file): Treat the destination as special
      only if it is a directory name.
      61946d99
    • Paul Eggert's avatar
      Make copy-directory act like copy-file etc. · e2279486
      Paul Eggert authored
      Do the special dance with the destination only if it is a
      directory name, for consistency with copy-file etc. (Bug#27986).
      * doc/emacs/files.texi (Copying and Naming):
      * doc/lispref/files.texi (Create/Delete Dirs):
      * etc/NEWS: Document this.
      * lisp/files.el (copy-directory): Treat NEWNAME as special
      only if it is a directory name.
      e2279486
    • Paul Eggert's avatar
      Fix some make-directory bugs · cf9891e1
      Paul Eggert authored
      * lisp/files.el (files--ensure-directory): New function.
      (make-directory): Use it to avoid bugs when (make-directory FOO t)
      is invoked on a non-directory, or on a directory hierarchy that
      is being built by some other process while Emacs is running.
      * test/lisp/files-tests.el (files-tests--make-directory): New test.
      cf9891e1
  4. 10 Sep, 2017 3 commits
    • Paul Eggert's avatar
      Spelling fixes · cdef84fb
      Paul Eggert authored
      * lisp/progmodes/cc-langs.el:
      (c-ambiguous-overloadable-or-identifier-prefixes): Rename from
      c-ambiguous-overloadable-or-identifier-prefices.  Caller changed.
      cdef84fb
    • Mark Oteiza's avatar
      ; Add to last commit · 4973788c
      Mark Oteiza authored
      * lisp/xdg.el (xdg-desktop-entry-regexp): Add a commented capture group
      for future reference.
      4973788c
    • Mark Oteiza's avatar
      Avoid looking at localized strings · e7165389
      Mark Oteiza authored
      * lisp/xdg.el (xdg-desktop-read-group): Add condition to catch
      localized strings.
      * test/lisp/xdg-tests.el (xdg-desktop-parsing): Add test to ensure
      parsing l10n strings doesn't error but is essentially a no-op.
      e7165389
  5. 09 Sep, 2017 3 commits
    • Lars Ingebrigtsen's avatar
      Remove unsafe enriched mode translations · 19584f13
      Lars Ingebrigtsen authored
      * lisp/gnus/mm-view.el (mm-inline-text):
      Do not worry about enriched or richtext type.
      * lisp/textmodes/enriched.el (enriched-translations):
      Remove translations for FUNCTION, display (Bug#28350).
      (enriched-handle-display-prop, enriched-decode-display-prop): Remove.
      19584f13
    • Eli Zaretskii's avatar
      Fix font-lock in Compilation mode · 715f0835
      Eli Zaretskii authored
      * lisp/progmodes/compile.el (compilation-face): Restore function
      lost during recent changes.  (Bug#28349)
      715f0835
    • Mark Oteiza's avatar
      Add function to read all entries in a group · 4131f978
      Mark Oteiza authored
      Use that to extend xdg-desktop-read-file.  Also fix a bug where all
      entries in all groups were read and returned by xdg-desktop-read-file.
      * lisp/xdg.el (xdg-desktop-read-group): New function.
      (xdg-desktop-read-file): Use it.
      * test/data/xdg/malformed.desktop: New file.
      * test/data/xdg/test.desktop: Add another section.
      * test/lisp/xdg-tests.el (xdg-desktop-parsing): Test presence of a key
      in another group.  Test reading a prescribed group.  Test detecting a
      malformed key=value.
      4131f978