(GT-K02180): New character.
[chise/xemacs-chise.git-] / src / buffer.c
index aa86315..5790dc9 100644 (file)
@@ -358,7 +358,7 @@ get_buffer (Lisp_Object name, int error_if_deleted_or_does_not_exist)
 struct buffer *
 decode_buffer (Lisp_Object buffer, int allow_string)
 {
-  if (NILP (buffer))
+  if (NILP (buffer) || (!POINTER_TYPE_P( XTYPE(buffer))))
     return current_buffer;
 
   if (allow_string && STRINGP (buffer))
@@ -1258,9 +1258,11 @@ with `delete-process'.
 
     delete_from_buffer_alist (buf);
 
-    /* #### This is a problem if this buffer is in a dedicated window.
-       Need to undedicate any windows of this buffer first (and delete them?)
-       */
+    /* Undedicate any windows of this buffer, and make sure no windows
+       show it.  */
+
+    undedicate_windows (buf, Qt);
+    
     GCPRO1 (buf);
     Freplace_buffer_in_windows (buf, Qnil, Qall);
     UNGCPRO;