emacs-diffs
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

[Emacs-diffs] master 885c512: Fix a bug in 'generate-new-buffer-name'


From: Eli Zaretskii
Subject: [Emacs-diffs] master 885c512: Fix a bug in 'generate-new-buffer-name'
Date: Sat, 5 Aug 2017 05:53:59 -0400 (EDT)

branch: master
commit 885c512603f946dfb7a45c181e94b8677be2678d
Author: Eli Zaretskii <address@hidden>
Commit: Eli Zaretskii <address@hidden>

    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.
---
 src/buffer.c             | 3 ++-
 test/src/buffer-tests.el | 5 +++++
 2 files changed, 7 insertions(+), 1 deletion(-)

diff --git a/src/buffer.c b/src/buffer.c
index 649ddbe..0d0f43e 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 793dddd..8740674 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



reply via email to

[Prev in Thread] Current Thread [Next in Thread]