]> code.delx.au - gnu-emacs/blobdiff - src/buffer.c
(message): Use message2, not message1.
[gnu-emacs] / src / buffer.c
index 78f862b00d1c48bd532ef1e228e8eed752a534bd..6b03e6d3e0ca30901c5812d7204df9d239a0731b 100644 (file)
@@ -544,7 +544,7 @@ No argument or nil as argument means use current buffer as BUFFER.")
 }
 \f
 DEFUN ("rename-buffer", Frename_buffer, Srename_buffer, 1, 2,
-       "BRename buffer (to new name): \nP",
+       "sRename buffer (to new name): \nP",
   "Change current buffer's name to NEWNAME (a string).\n\
 If second arg UNIQUE is nil or omitted, it is an error if a\n\
 buffer named NEWNAME already exists.\n\
@@ -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))
     {