1. 07 Aug, 2017 11 commits
  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 6 commits