X-Git-Url: http://git.chise.org/gitweb/?p=chise%2Fxemacs-chise.git.1;a=blobdiff_plain;f=src%2Fbuffer.c;h=bd44a47fc40487a6f72cf828d6b7de1921c62d4d;hp=43eaac9bdaa18d688e161f5150697a90dfa9c622;hb=79d2db7d65205bc85d471590726d0cf3af5598e0;hpb=3f6ecf401c01c83743af2c1e068f57e8d2e2e410 diff --git a/src/buffer.c b/src/buffer.c index 43eaac9..bd44a47 100644 --- a/src/buffer.c +++ b/src/buffer.c @@ -356,7 +356,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)) @@ -998,8 +998,8 @@ The ordering is for this frame; If second optional argument FRAME is provided, then the ordering is for that frame. If the second arg is t, then the global ordering is returned. -Note: In FSF Emacs, this function takes two arguments: BUFFER and -VISIBLE-OK. +Note: In FSF Emacs, this function takes the arguments in the order of +BUFFER, VISIBLE-OK and FRAME. */ (buffer, frame, visible_ok)) { @@ -1256,9 +1256,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; @@ -2504,7 +2506,9 @@ common_init_complex_vars_of_buffer (void) /* #### Warning: 1<<31 is the largest number currently allowable due to the XINT() handling of this value. With some - rearrangement you can get 3 more bits. */ + rearrangement you can get 3 more bits. + + #### 3 more? 34 bits???? -ben */ } } @@ -2674,12 +2678,6 @@ Automatically becomes buffer-local when set in any fashion. DEFVAR_BUFFER_LOCAL ("case-fold-search", case_fold_search /* *Non-nil if searches should ignore case. Automatically becomes buffer-local when set in any fashion. - -BUG: Under XEmacs/Mule, translations to or from non-ASCII characters - (this includes chars in the range 128 - 255) are ignored by - the string/buffer-searching routines. Thus, `case-fold-search' - will not correctly conflate a-umlaut and A-umlaut even if the - case tables call for this. */ ); DEFVAR_BUFFER_LOCAL ("fill-column", fill_column /*