From: Noam Postavsky Date: Sat, 7 Nov 2015 18:04:00 +0000 (+0200) Subject: Add test for bug #21824 X-Git-Tag: emacs-25.0.90~888 X-Git-Url: http://git.eshelyaron.com/gitweb/?a=commitdiff_plain;h=76be8f28ebecaaa41551dad8e9f1eb43d646a715;p=emacs.git Add test for bug #21824 * test/automated/buffer-tests.el: New file. (overlay-modification-hooks-message-other-buf): New test. --- diff --git a/test/automated/buffer-tests.el b/test/automated/buffer-tests.el new file mode 100644 index 00000000000..bb3c92dd6de --- /dev/null +++ b/test/automated/buffer-tests.el @@ -0,0 +1,48 @@ +;;; buffer-tests.el --- tests for buffer.c functions -*- lexical-binding: t -*- + +;; Copyright (C) 2015 Free Software Foundation, Inc. + +;; This file is part of GNU Emacs. + +;; GNU Emacs is free software: you can redistribute it and/or modify +;; it under the terms of the GNU General Public License as published by +;; the Free Software Foundation, either version 3 of the License, or +;; (at your option) any later version. + +;; GNU Emacs is distributed in the hope that it will be useful, +;; but WITHOUT ANY WARRANTY; without even the implied warranty of +;; MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +;; GNU General Public License for more details. + +;; You should have received a copy of the GNU General Public License +;; along with GNU Emacs. If not, see . + +;;; Code: + +(require 'ert) + +(ert-deftest overlay-modification-hooks-message-other-buf () + "Test for bug#21824. +After a modification-hook has been run and there is an overlay in +the *Messages* buffer, the message coalescing [2 times] wrongly +runs the modification-hook of the overlay in the 1st buffer, but +with parameters from the *Messages* buffer modification." + (let ((buf nil) + (msg-ov nil)) + (with-temp-buffer + (insert "123") + (overlay-put (make-overlay 1 3) + 'modification-hooks + (list (lambda (&rest _) + (setq buf (current-buffer))))) + (goto-char 2) + (insert "x") + (unwind-protect + (progn + (setq msg-ov (make-overlay 1 1 (get-buffer-create "*Messages*"))) + (message "a message") + (message "a message") + (should (eq buf (current-buffer)))) + (when msg-ov (delete-overlay msg-ov)))))) + +;;; buffer-tests.el ends here