(Frename_buffer): When the current buffer is already named NAME, don't
authorRoland McGrath <roland@gnu.org>
Sat, 20 Nov 1993 01:41:51 +0000 (01:41 +0000)
committerRoland McGrath <roland@gnu.org>
Sat, 20 Nov 1993 01:41:51 +0000 (01:41 +0000)
short-circuit and just return unless UNIQUE is nil.  This makes passing
UNIQUE=t equivalent to (rename-buffer (generate-new-buffer-name NAME)).
This is useful way to rename the buffer automatically so you can create
another with the original name.

src/buffer.c

index d0e1f9a..6b03e6d 100644 (file)
@@ -560,7 +560,11 @@ This does not change the name of the visited file (if any).")
 
   CHECK_STRING (name, 0);
   tem = Fget_buffer (name);
-  if (XBUFFER (tem) == current_buffer)
+  /* Don't short-circuit if UNIQUE is t.  That is a useful way to rename
+     the buffer automatically so you can create another with the original name.
+     It makes UNIQUE equivalent to
+     (rename-buffer (generate-new-buffer-name NAME)).  */
+  if (NILP (unique) && XBUFFER (tem) == current_buffer)
     return current_buffer->name;
   if (!NILP (tem))
     {