On 03/25/2018 04:33 AM, Eli Zaretskii wrote:
From: Michał Kondraciuk <k.michal@zoho.com>
Date: Sat, 24 Mar 2018 21:30:56 +0100
Newest Emacs (and 25.3) crashes for me. Unfortunately I can only
reproduce this using newest versions of Ivy and yasnippet packages.
Please post a reproduction recipe starting with "emacs -Q" and loading
the necessary packages.
Thanks.
1. emacs -Q
2. M-x package-initialize
3. Evaluate:
(add-to-list 'package-archives '("melpa" . "https://melpa.org/packages/"))
4. M-x package-refresh-contents
5. M-x package-install RET ivy RET
6
. M-x package-install RET yasnippet RET
7. M-x package-install RET yasnippet-snippets RET
8. Evaluate form below.
9. Wait 1-10 minutes.
(progn
(package-initialize)
(require 'yasnippet)
(require 'ivy)
(yas-reload-all)
(switch-to-buffer "
*scratch*")
(lisp-interaction-mode)
(yas-minor-mode-on)
(let ((templates (mapcar #'yas--template-key
(yas--all-templates
(yas--get-snippet-tables)))))
(defun update-fn ()
(with-current-buffer "
*scratch*"
(save-restriction
(narrow-to-region 3 3)
(insert " " (ivy-state-current ivy-last))
(yas-expand)
(mapc #'yas-abort-snippet (yas-active-snippets)))
(redisplay)))
(let ((buffer-undo-list t))
(while t
(erase-buffer)
(insert "aaaaaa")
(redisplay)
(sit-for 0.1)
(run-with-timer
0.01 nil (lambda ()
(dotimes (_ (% (random) 15))
(execute-kbd-macro "\C-n")
(sit-for 0.05)
(redisplay)
(when (zerop (% (random) 4))
(execute-kbd-macro "\C-p")
(sit-for 0.05)
(redisplay)))
(sit-for 0.1)
(redisplay)
(abort-recursive-edit)))
(catch 'exit
(condition-case err
(ivy-read "foo: " templates
:update-fn #'update-fn)
(quit)))))))