On 03/25/2018 04:33 AM, Eli Zaretskii wrote: >> From: Michał Kondraciuk >> 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))))))) ||||