1. 16 Sep, 2017 2 commits
    • Eli Zaretskii's avatar
      Fix order of sorted overlays returned by 'overlays-at' · 2d53f878
      Eli Zaretskii authored
      * src/buffer.c (Foverlays_at): If SORTED is non-nil, reverse the
      list of results, to have their order as per the documentation.
      * etc/NEWS: Mention the change in the behavior of overlays-at.
    • Eli Zaretskii's avatar
      Disable execution of unsafe Lisp by Enriched Text mode · a103dbe3
      Eli Zaretskii authored
      * src/xdisp.c (handle_display_spec): If the display property is
      wrapped in 'disable-eval' form, disable Lisp evaluation while
      processing this property.
      (handle_single_display_spec): Accept new argument ENABLE_EVAL_P.
      If that argument is false, don't evaluate Lisp while processing
      display properties.
      * lisp/textmodes/enriched.el
      (enriched-allow-eval-in-display-props): New defcustom.
      (enriched-decode-display-prop): If
      enriched-allow-eval-in-display-props is nil, wrap the display
      property with 'disable-eval' to disable Lisp evaluation when the
      display property is processed for display.  (Bug#28350)
      * lisp/gnus/mm-view.el (mm-inline-text): Re-enable processing of
      enriched text.
      * doc/lispref/display.texi (Display Property): Document the
      'disable-eval' wrapping of 'display' properties.
      * doc/emacs/text.texi (Enriched Properties): Document
      * etc/NEWS: Describe the security issues with Enriched Text mode
      and their solution.
  2. 14 Sep, 2017 1 commit
  3. 13 Sep, 2017 2 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.
    • Mark Oteiza's avatar
      Add lcms2 interface · 5d4c539b
      Mark Oteiza authored
      configure.ac: Add boilerplate for configuring and detecting liblcms2.
      etc/NEWS: Mention new configure option and color-distance change.
      src/Makefile.in: Add references to lcms.c and liblcms.
      src/emacs.c: Define lcms2 symbols.
      src/lcms.c: New file.
      src/lisp.h: Add declaration for lcms2.
      src/xfaces.c: Add optional METRIC argument.
  4. 12 Sep, 2017 3 commits
    • Eric Abrahamsen's avatar
      Allow write-contents-functions to short-circuit buffer save · 9b980e26
      Eric Abrahamsen authored
      * 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
      * test/lisp/files-tests.el (files-test-no-file-write-contents): New
      * doc/lispref/files.texi (Saving Buffers): Mention in docs.
      * etc/NEWS: And in NEWS.
    • 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.
    • 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
      (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):
      * 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.
  5. 11 Sep, 2017 4 commits
    • 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.
    • 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.
    • 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.
    • 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.
  6. 10 Sep, 2017 1 commit
    • Paul Eggert's avatar
      Fix race with rename-file etc. with dir NEWNAME · 01c885f2
      Paul Eggert authored
      This changes the behavior of rename-file etc. slightly.
      The old behavior mostly disagreed with the documentation, and had
      a race condition bug that could allow attackers to modify victims'
      write-protected directories (Bug#27986).
      * doc/lispref/files.texi (Changing Files): Document that in
      rename-file etc., NEWFILE is special if it is a directory name.
      * etc/NEWS: Document the change in behavior.
      * src/fileio.c (directory_like): Remove.  All uses removed.
      (expand_cp_target): Test only whether NEWNAME is a directory name,
      not whether it is currently a directory.  This avoids a race.
      (Fcopy_file, Frename_file, Fadd_name_to_file, Fmake_symbolic_link):
      Document behavior if NEWNAME is a directory name.
      (Frename_file): Simplify now that the destdir behavior occurs
      only when NEWNAME is a directory name.
      * test/lisp/net/tramp-tests.el (tramp-test11-copy-file)
      (tramp-test12-rename-file, tramp--test-check-files):
      Adjust tests to match new behavior.
  7. 08 Sep, 2017 2 commits
    • Alex Branham's avatar
      New variable 'dired-confirm-killing-deleted-buffers' · 5f31879e
      Alex Branham authored
      * lisp/dired-x.el (dired-clean-confirm-killing-deleted-buffers):
      New variable.
      * lisp/dired.el (dired-clean-up-after-deletion): Kill buffers
      visiting deleted files without confirming if
      dired-clean-confirm-killing-deleted-buffers is nil.  (Bug#28373)
      * etc/NEWS: Document the change.
      Copyright-paperwork-exempt: yes
    • Eli Zaretskii's avatar
      Document last change in dired.el · 37cde9c6
      Eli Zaretskii authored
      * etc/NEWS (Dired): Document the last change in dired.el.
  8. 05 Sep, 2017 1 commit
    • Michael Albinus's avatar
      Doc precisment about remote link targets · 8d251607
      Michael Albinus authored
      * doc/lispref/files.texi (Truenames): Explain handling of
      targets of `file-truename' and `make-symbolic-link', which
      look like a remote file name.
      * etc/NEWS: Precise examples for symlinks which look like
      remote file names.  MUSTBENEW of `write-region' is not
      propagated to file name handlers.
  9. 02 Sep, 2017 1 commit
    • Eli Zaretskii's avatar
      Rewrite Antinews for Emacs 26 · c89f3ff3
      Eli Zaretskii authored
      * doc/lispref/anti.texi (Antinews): Rewrite for Emacs 26.
      * doc/lispref/elisp.texi (Top): Update the top-level menu's
      Antinews entry.
      * doc/emacs/anti.texi (Antinews): Rewrite for Emacs 26.
      * doc/emacs/emacs.texi (Top): Update the top-level menu's Antinews
      * etc/NEWS: Rearrange some entries in a more reasonable order.
  10. 01 Sep, 2017 1 commit
  11. 31 Aug, 2017 1 commit
    • Mark Oteiza's avatar
      Make ucs-names a hash table (Bug#28302) · 96c2c098
      Mark Oteiza authored
      * etc/NEWS: Mention the type change.
      * lisp/descr-text.el (describe-char): Use gethash to access ucs-names.
      Hardcode BEL's name into the function instead of needlessly mapping
      over the hash table in the spirit of rassoc.
      * lisp/international/mule-cmds.el (ucs-names): Fix variable and
      function docstrings.  Initialize a hash table for ucs-names--the
      number of entries is 42845 here.  Switch to hash-table
      (mule--ucs-names-annotation): Use hash-table getter.
      (char-from-name): Upcase the string if ignore-case is truthy.
      * lisp/leim/quail/latin-ltx.el: Use maphash instead of dolist.
  12. 30 Aug, 2017 3 commits
    • Reuben Thomas's avatar
      Add support for arguments in emacsclient's ALTERNATE_EDITOR (Bug #25082) · 98f01a13
      Reuben Thomas authored
      * lib-src/emacsclient.c (fail): Parse ALTERNATE_EDITOR, or
      corresponding command-line argument, into quote- or space-separated
      tokens.  If a token starts with a quote, then it naturally is expected
      to end with a quote; escaping is not supported. This is enough to cope
      with the typical case of requiring the initial path to be quoted,
      common on Windows where it may contain spaces.
      * etc/NEWS: Document.
      * doc/emacs/misc.texi: Likewise.
      * doc/man/emacsclient.1: Tweak to remove the implication that only an
      editor can be specified (the manual already mentions a “command”).
      Fix a small error where “EDITOR” is referred to rather than
      * test/lib-src/emacsclient-tests.el: Add tests.
    • Eli Zaretskii's avatar
      ; * etc/NEWS: Some more minor copyedits. · 03759e8e
      Eli Zaretskii authored
    • Eli Zaretskii's avatar
      Sync NEWS with the documentation · b3400d82
      Eli Zaretskii authored
      * etc/NEWS: Mark entries according to documentation.
      * doc/lispref/functions.texi (Mapping Functions): Document 'mapcan'.
  13. 29 Aug, 2017 2 commits
    • Eli Zaretskii's avatar
      Document '--module-assertions' · 1454ad6f
      Eli Zaretskii authored
      * doc/emacs/cmdargs.texi (Initial Options): Document the
      '--module-assertions' command-line option.
      * doc/lispref/loading.texi (Dynamic Modules): Add a
      cross-reference to the description of '--module-assertions'.
      * etc/NEWS: Update the NEWS entry for --module-assertions.
    • Alan Third's avatar
      Add news entry about new macOS features · 67e565fa
      Alan Third authored
      * etc/NEWS: Add entry about ns-appearance, ns-transparent-titlebar and
  14. 28 Aug, 2017 1 commit
    • Mark Oteiza's avatar
      Font-lock FDO desktop files correctly · 043a8470
      Mark Oteiza authored
      Single and double quotes do not have a special meaning in
      desktop files.
      * etc/NEWS: Mention new mode.
      * lisp/files.el (auto-mode-alist): Split out an entry for handling
      the .desktop extension with conf-desktop-mode.
      * lisp/textmodes/conf-mode.el (conf-desktop-font-lock-keywords): New
      variable with rules for booleans and format specifiers.
      (conf-unix-mode): Remove desktop file entry example from docstring.
      (conf-desktop-mode): New derived major mode.
  15. 27 Aug, 2017 2 commits
    • Philipp Stephani's avatar
      Always use gtk_window_move in new versions · fe49aa17
      Philipp Stephani authored
      * src/gtkutil.c (my_log_handler): Don’t define in new versions of
      (xg_set_geometry): Always use gtk_window_move in new versions of GTK+.
      * src/xterm.c (syms_of_xterm): Document that x-gtk-use-window-move
      is ignored.
      * lisp/subr.el (x-gtk-use-window-move): Make obsolete.
    • Paul Eggert's avatar
      Do not munge contents of local symbolic links · e8001d4c
      Paul Eggert authored
      This lets Emacs deal with arbitrary local symlinks without
      mishandling their contents (Bug#28156).  For example,
      (progn (shell-command "ln -fs '~' 'x'") (rename-file "x" "/tmp/x"))
      now consistently creates a symbolic link from '/tmp/x' to '~'.
      Formerly, it did that only if the working directory was on the
      same filesystem as /tmp; otherwise, it expanded the '~' to
      the user's home directory.
      * lisp/dired.el (dired-get-filename): Use files--name-absolute-system-p
      instead of rolling our own code.
      * lisp/files.el (files--name-absolute-system-p): New function.
      (file-truename, file-chase-links): Use it to avoid mishandling
      symlink contents that begin with ~.
      (copy-directory, move-file-to-trash):
      Use concat rather than expand-file-name, to avoid mishandling
      symlink contents that begin with ~.
      * src/fileio.c (Fmake_symbolic_link): Do not expand leading "~" in the
      target unless interactive.  Strip leading "/:" if interactive.
      (emacs_readlinkat): Do not prepend "/:" to the link target if
      it starts with "/" and contains ":" before NUL.
      * test/src/fileio-tests.el (try-link): Rename from try-char,
      and accept a string instead of a char.  All uses changed.
      (fileio-tests--symlink-failure): Also test leading ~, and "/:",
      to test the new behavior.
  16. 25 Aug, 2017 1 commit
    • Paul Eggert's avatar
      Fix file-attributes race on GNU hosts · 2b7e0092
      Paul Eggert authored
      * doc/lispref/files.texi (File Attributes):
      Document file-attributes atomicity.
      * etc/NEWS: Document the fix.
      * src/dired.c (file_attributes): New args DIRNAME and FILENAME,
      for diagnostics.  All callers changed.  On platforms like
      GNU/Linux that support O_PATH, fix a race condition in
      file-attributes and similar functions, so that these functions do
      not return nonsense if a directory entry is replaced while getting
      its attributes.  On non-GNU platforms, do a better (though not
      perfect) job of detecting the race, and return nil if detected.
  17. 24 Aug, 2017 1 commit
    • Michael Albinus's avatar
      Minor improvements for tramp-interrupt-process, documentation · 0332a0ef
      Michael Albinus authored
      * doc/lispref/processes.texi (Signals to Processes):
      * etc/NEWS: Document interrupt-process-functions.
      * lisp/net/tramp.el (tramp-interrupt-process): Test also for
      * src/process.c (Vinterrupt_process_functions): Fix docstring.
      * test/lisp/net/tramp-tests.el (tramp-test28-interrupt-process):
      Extend test.
  18. 23 Aug, 2017 1 commit
    • Tom Tromey's avatar
      Add conf-toml-mode · ad3cd227
      Tom Tromey authored
      * etc/NEWS: Mention conf-toml-mode.
      * lisp/files.el (auto-mode-alist): Add entry for .toml.
      * lisp/textmodes/conf-mode.el (conf-toml-mode-syntax-table)
      (conf-toml-font-lock-keywords): New defvars.
      (conf-toml-mode): New mode.
  19. 20 Aug, 2017 2 commits
    • Reuben Thomas's avatar
      Document Enchant support · cf74c27b
      Reuben Thomas authored
      * doc/emacs/fixit.texi: Mention Enchant.
      * doc/misc/efaq.texi: Likewise.
      * etc/NEWS: Add an item on Enchant support.
    • Paul Eggert's avatar
      Don’t adjust CRLF in file names · 83f0d60e
      Paul Eggert authored
      * doc/misc/gnus.texi (Non-ASCII Group Names):
      * etc/NEWS:
      * test/lisp/net/tramp-tests.el (tramp--test-utf8):
      Use utf-8-unix, not utf-8, for default-file-name-coding-system, so
      that CRLF in file names is left alone.
      * lisp/international/mule-cmds.el (set-default-coding-systems):
      Do not alter CRLF in file name coding systems.
      (prefer-coding-system): Ignore differences in CRLF processing when
      checking whether we used the user-specified file name coding system.
      * test/src/fileio-tests.el: New file.
  20. 19 Aug, 2017 2 commits
  21. 15 Aug, 2017 1 commit
    • Simen Heggestøyl's avatar
      Fixes and tweaks for the new Less CSS mode · 85a9f42b
      Simen Heggestøyl authored
      * etc/NEWS: Add an entry for the new mode.
      * lisp/textmodes/less-css-mode.el (less-css): Tweak docstring.
      (less-css-lessc-command): Tweak docstring. Don't mark it as
      safe. Don't autoload.
      (less-css-compile-at-save, less-css-lessc-options)
      (less-css-output-directory): Tweak docstrings. Don't autoload.
      (less-css-output-file-name): Tweak docstring. Don't mark it as safe.
      (less-css-input-file-name): Tweak docstring. Don't autoload.
      (less-css-compile-maybe): Use `when' for one-armed `if'.
      (less-css--output-path): Tweak docstring.
      (less-css--maybe-shell-quote-command): Remove function.
      (less-css-compile): Don't autoload. Tweak docstring and message. Fix
      compiler warning. Use `string-join' instead of `mapconcat'.
      (less-css-font-lock-keywords): Use `font-lock-variable-name-face' for
      (less-css-mode-syntax-table, less-css-mode-map): New variables.
      (less-css-mode): Change status line mode name from "LESS" to
      "Less". Tweak docstring. Move syntax table definitions to
      (less-css-indent-line): Remove function.
  22. 12 Aug, 2017 2 commits
    • Michael Albinus's avatar
      Implement EXCL of write-region for Tramp · ec5cfaa4
      Michael Albinus authored
      * lisp/net/ange-ftp.el (ange-ftp-write-region):
      * 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):
      Implement MUSTBENEW.
      * lisp/net/tramp-gvfs.el (tramp-gvfs-do-copy-or-rename-file)
      * lisp/net/tramp-sh.el (tramp-sh-handle-make-symbolic-link)
      * lisp/net/tramp-smb.el (tramp-smb-handle-make-symbolic-link):
      Adapt error message for `file-already-exists'.
      * src/lisp.h:
      * src/eval.c (call8): New function.
      * src/fileio.c (write_region): Pass also lockname and
      mustbenew to the file name handler.
      * test/lisp/net/tramp-tests.el (tramp-test10-write-region):
      Add tests for MUSTBENEW.
    • Alexander Gramiak's avatar
      Add new face 'header-line-highlight' · 84288cf4
      Alexander Gramiak authored
      * lisp/faces.el: Define the face.
      * lisp/emacs-lisp/tabulated-list.el (tabulated-list-init-header):
      * lisp/info.el (Info-fontify-node): Use the new face.
      * doc/emacs/display.texi (Standard Faces):
      * etc/NEWS: Document the new face.  (Bug#28033)
  23. 08 Aug, 2017 1 commit
    • Tom Tromey's avatar
      Show number of errors in compilation-mode mode-line · 846870e5
      Tom Tromey authored
      * lisp/progmodes/compile.el (compilation-num-errors-found): Provide
      default value.
      (compilation-num-warnings-found, compilation-num-infos-found): New
      (compilation-mode-line-errors): New defconst.
      (compilation-face): Remove.
      (compilation-type, compilation--note-type): New functions.
      (compilation-parse-errors): Call compilation--note-type.
      (compilation-start): Include compilation-mode-line-errors in
      (compilation-setup): Initialize compilation-num-* variables to 0.
      (compilation-handle-exit): Include compilation-mode-line-errors in
      * doc/emacs/building.texi (Compilation): Document new feature.
  24. 07 Aug, 2017 2 commits