1. 07 Aug, 2017 13 commits
    • Noam Postavsky's avatar
      ; Avoid test failures when running from compiled test files · 95a04fd2
      Noam Postavsky authored
      * test/lisp/dom-tests.el: Require `subr-x' during runtime as well.
      * test/lisp/emacs-lisp/cl-lib-tests.el (cl-lib-defstruct-record):
      * test/lisp/emacs-lisp/eieio-tests/eieio-tests.el
      (eieio-test-23-inheritance-check, eieio-test-25-slot-tests): Mark as
      expected to fail when byte-compiled.
    • Alexander Gramiak's avatar
      Catch argument and macroexpansion errors in ert · 054c198c
      Alexander Gramiak authored
      This kludge catches errors caused by evaluating arguments in ert's
      should, should-not, and should-error macros; it also catches
      macroexpansion errors inside of the above macros (Bug#24402).
      * lisp/emacs-lisp/ert.el: (ert--should-signal-hook): New function.
      (ert--expand-should-1): Catch macroexpansion errors.
      * test/lisp/emacs-lisp/ert-tests.el (ert-test-should-error-argument)
      (ert-test-should-error-macroexpansion): Tests for argument and
      expansion errors.
    • Reuben Thomas's avatar
      Revert "Add Enchant support to ispell.el (Bug#17742)" · e6fa0836
      Reuben Thomas authored
      This reverts commit 7136e672.
    • Reuben Thomas's avatar
    • Reuben Thomas's avatar
      Add support for arguments in ALTERNATE_EDITOR to emacsclient · 28f1fe97
      Reuben Thomas authored
      * lib-src/emacsclient.c (fail): Parse ALTERNATE_EDITOR, or
      corresponding command-line argument, into space-separated tokens.
      * etc/NEWS: Document.
      * test/lib-src/emacsclient-tests.el: Add a test.
    • Reuben Thomas's avatar
      Add Enchant support to ispell.el (Bug#17742) · 7136e672
      Reuben Thomas authored
      * lisp/textmodes/ispell.el (ispell-program-name): Add “enchant”.
      (ispell-really-enchant): Add variable.
      (ispell-check-version): If using Enchant, check it’s new enough (at
      least 1.6.1).  (Like the ispell check, this is absolute: cannot work
      (ispell-enchant-dictionary-alist): Add variable.
      (ispell-find-enchant-dictionaries): Add function, based on
      (ispell-set-spellchecker-params): Allow dictionary auto-detection for
      Enchant, and call ispell-find-enchant-dictionaries to find them.  Use
      old ispell name to locale mapping code for Enchant too.
      (ispell-send-replacement): Make it work with Enchant.
    • Reuben Thomas's avatar
      Allow async command output buffer to be shown only on output · 85512e75
      Reuben Thomas authored
      * lisp/simple.el (async-shell-command-display-buffer): Add
      (shell-command): Use the new defcustom to determine whether to show
      the buffer immediately, or add a process filter that shows it only
      when there is some output.
      * etc/NEWS: Document the new variable.
      * doc/emacs/misc.texi: Likewise.
      Thanks to Juri Linkov and Eli Zaretskii for advice and guidance.
    • Eli Zaretskii's avatar
      Fix infinite recursion under prettify-symbols-mode and linum-mode · 14ea76af
      Eli Zaretskii authored
      * src/xdisp.c (get_overlay_strings_1)
      (handle_single_display_spec, push_prefix_prop): Invalidate the
      composition information before starting to iterate on a string.
      Otherwise we might think in set_iterator_to_next that we are
      delivering characters from a composition, and do all kinds of
      nonsensical things, like over-step the string end.  (Bug#27761)
    • Stefan Monnier's avatar
    • Martin Rudalics's avatar
      Fix doc-string of `delete-other-windows' · b6b362c9
      Martin Rudalics authored
      * lisp/window.el (delete-other-windows): Fix doc-string.
    • Paul Eggert's avatar
      Fix a couple more make-temp-file races · 446e9254
      Paul Eggert authored
      * lisp/files.el (basic-save-buffer-2, move-file-to-trash):
      Use make-temp-name, not make-temp-file with retry.
      (basic-save-buffer-2): Use condition-case, instead of
      unwind-protect with a success flag.
    • Michael R. Mauger's avatar
    • Noam Postavsky's avatar
      Merge null and without-null regexp alists (Bug#27840, Bug#27873) · c2f1830d
      Noam Postavsky authored
      * lisp/progmodes/grep.el (grep-mode-font-lock-keywords): Allow for NUL
      characters following filename in grep context lines.
      (grep--regexp-alist-column, grep--regexp-alist-bin-matcher)
      (grep-with-null-regexp-alist, grep-fallback-regexp-alist): Remove.
      (grep-regexp-alist): Recombine their contents here.
      * lisp/cedet/semantic/symref/grep.el
      * lisp/progmodes/xref.el (xref-collect-matches): Use the variable
      `grep-regexp-alist' rather than the function.
  2. 06 Aug, 2017 10 commits
    • Paul Eggert's avatar
      Fix some crashes on self-modifying Elisp code · 93511e94
      Paul Eggert authored
      Prompted by a problem report by Alex in:
      * src/eval.c (For, Fprogn, Fsetq, FletX, eval_sub):
      Compute XCDR (x) near XCAR (x); although this doesn't fix any bugs,
      it is likely to run a bit faster with typical hardware caches.
      (Fif): Use Fcdr instead of XCDR, to avoid crashing on
      self-modifying S-expressions.
      (Fsetq, Flet, eval_sub): Count the number of arguments as we go
      instead of trusting an Flength prepass, to avoid problems when the
      code is self-modifying.
      (Fquote, Ffunction, Fdefvar, Fdefconst): Prefer !NILP to CONSP
      where either will do.  This is mostly to document the fact that
      the value must be a proper list.  It's also a tiny bit faster on
      typical machines nowadays.
      (Fdefconst, FletX): Prefer XCAR+XCDR to Fcar+Fcdr when either will do.
      (eval_sub): Check that the args are a list as opposed to some
      other object that has a length. This prevents e.g. (if . "string")
      from making Emacs dump core in some cases.
      * test/src/eval-tests.el (eval-tests--if-dot-string)
      (eval-tests--let-with-circular-defs, eval-tests--mutating-cond):
      New tests.
    • Eli Zaretskii's avatar
    • Mark Oteiza's avatar
      ; Fix previous commit · c2a8cffe
      Mark Oteiza authored
      The mailcap minibuffer completion used dynamic binding.  Locally set
      a dynamic variable.
      * lisp/dired-aux.el: Store list of files in
    • Tino Calancha's avatar
      Minor tweak in a dired test · b1b99edd
      Tino Calancha authored
      * test/lisp/dired-tests.el (dired-test-bug27968):
      Ensure the new header has different length than the original one.
    • Tino Calancha's avatar
      dired-delete-file: Do not TAB complete the user answer · e7aabd8b
      Tino Calancha authored
      This action might delete directories containing valuable information.
      Before previous commit, we prompted users with `yes-or-no-p'
      which doesn't TAB complete the user answer.  Let's play safe and
      keep requiring full answers.
      * emacs-master/lisp/dired.el (dired-delete-file): Use `read-string'
      instead of `completing-read' to read the user answers.
    • Tino Calancha's avatar
      dired-do-delete: Allow to delete dirs recursively without prompts · cbea38e5
      Tino Calancha authored
      * lisp/dired.el (dired-delete-file): Accept 2 additional answers:
      'all', to delete all directories recursively and no prompt anymore.
      'quit', to cancel directory deletions (Bug#27940).
      Show help message when user inputs 'help'.
      (dired-do-flagged-delete): Bind locally dired-recursive-deletes
      so that we can overwrite its global value.
      Wrapp the loop within a catch '--delete-cancel to catch when
      the user abort the directtry deletion.
      * doc/emacs/dired.texi (Dired Deletion): Update manual.
      * etc/NEWS (Changes in Specialized Modes and Packages in Emacs 26.1):
      Announce this change.
    • Paul Eggert's avatar
      Fix a couple of make-temp-file races · 785a4a1d
      Paul Eggert authored
      * lisp/emacs-lisp/autoload.el (autoload--save-buffer):
      * lisp/emacs-lisp/bytecomp.el (byte-compile-file):
      Use make-temp-file, not make-temp-name, to avoid an unlikely race
      that could lose data.  Remove the deletion hook as quickly as
      possible after the file is renamed; though a race still remains
      here, it is smaller than before.
    • Tino Calancha's avatar
      Dired w/ eshell-ls: Handle shell wildcards in file name · c0df64db
      Tino Calancha authored
      * lisp/eshell/em-ls.el (eshell-ls--insert-directory):
      Use eshell-extended-glob (Bug#27844).
      * test/lisp/dired-tests.el (dired-test-bug27844): Add test.
    • Tino Calancha's avatar
      dired-revert: save line numbers instead of positions · 7c3593f8
      Tino Calancha authored
      Positions might change if the length of one dired header line
      changes; this happen, for instance, if we add new files.
      Instead, line numbers are invariant under shrinks/enlargements
      of the file header.
      * lisp/dired.el (dired-save-positions): Save the line numbers at point.
      (dired-restore-positions): Use forward-line to restore the original
      position (Bug#27968).
      * test/lisp/dired-tests.el (dired-test-bug27968): Add test.
    • Tom Tromey's avatar
      Respect comment-auto-fill-only-comments · 9b463fa8
      Tom Tromey authored
      Respect comment-auto-fill-only-comments when auto-filling and a
      comment syntax is defined.
      * lisp/newcomment.el (comment-indent-new-line): Do not check
      * lisp/simple.el (internal-auto-fill): New defun.
      * src/cmds.c (internal_self_insert): Call Qinternal_auto_fill, not
      (syms_of_cmds): Define Qinternal_auto_fill.
  3. 05 Aug, 2017 13 commits
  4. 04 Aug, 2017 4 commits