From: Eli Zaretskii Date: Sat, 5 Aug 2017 09:52:55 +0000 (+0300) Subject: Fix a bug in 'generate-new-buffer-name' X-Git-Tag: emacs-26.0.90~517^2~15 X-Git-Url: http://git.eshelyaron.com/gitweb/?a=commitdiff_plain;h=885c512603f946dfb7a45c181e94b8677be2678d;p=emacs.git Fix a bug in 'generate-new-buffer-name' * src/buffer.c (Fgenerate_new_buffer_name): Test IGNORE for being nil before calling string-equal, since the latter will compare "nil and 'nil' as equal. (Bug#27966) * test/src/buffer-tests.el (test-generate-new-buffer-name-bug27966): New test. --- diff --git a/src/buffer.c b/src/buffer.c index 649ddbe1839..0d0f43e937b 100644 --- a/src/buffer.c +++ b/src/buffer.c @@ -1077,7 +1077,8 @@ is first appended to NAME, to speed up finding a non-existent buffer. */) CHECK_STRING (name); - if (!NILP (Fstring_equal (name, ignore)) || NILP (Fget_buffer (name))) + if ((!NILP (ignore) && !NILP (Fstring_equal (name, ignore))) + || NILP (Fget_buffer (name))) return name; if (SREF (name, 0) != ' ') /* See bug#1229. */ diff --git a/test/src/buffer-tests.el b/test/src/buffer-tests.el index 793dddd8bd4..87406740a78 100644 --- a/test/src/buffer-tests.el +++ b/test/src/buffer-tests.el @@ -45,4 +45,9 @@ with parameters from the *Messages* buffer modification." (should (eq buf (current-buffer)))) (when msg-ov (delete-overlay msg-ov)))))) +(ert-deftest test-generate-new-buffer-name-bug27966 () + (should-not (string-equal "nil" + (progn (get-buffer-create "nil") + (generate-new-buffer-name "nil"))))) + ;;; buffer-tests.el ends here