XEmacs 21.4.15
[chise/xemacs-chise.git.1] / src / buffer.c
index df789f2..bd44a47 100644 (file)
@@ -208,8 +208,8 @@ Lisp_Object Qfind_file_compare_truenames;
 Lisp_Object Qswitch_to_buffer;
 
 /* Two thresholds controlling how much undo information to keep.  */
 Lisp_Object Qswitch_to_buffer;
 
 /* Two thresholds controlling how much undo information to keep.  */
-int undo_threshold;
-int undo_high_threshold;
+Fixnum undo_threshold;
+Fixnum undo_high_threshold;
 
 int find_file_compare_truenames;
 int find_file_use_truenames;
 
 int find_file_compare_truenames;
 int find_file_use_truenames;
@@ -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)
 {
 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))
     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.
 
 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))
 {
 */
        (buffer, frame, visible_ok))
 {
@@ -1256,9 +1256,11 @@ with `delete-process'.
 
     delete_from_buffer_alist (buf);
 
 
     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;
     GCPRO1 (buf);
     Freplace_buffer_in_windows (buf, Qnil, Qall);
     UNGCPRO;
@@ -1624,7 +1626,6 @@ BUFFER defaults to the current buffer if omitted.
      implies that the future text is not really related to the past text.  */
   b->saved_size = Qzero;
 
      implies that the future text is not really related to the past text.  */
   b->saved_size = Qzero;
 
-  zmacs_region_stays = 0;
   return Qnil;
 }
 
   return Qnil;
 }
 
@@ -1918,7 +1919,7 @@ dfc_convert_to_external_format (dfc_conversion_type source_type,
 
       while (1)
         {
 
       while (1)
         {
-          ssize_t size_in_bytes;
+          Lstream_data_count size_in_bytes;
          char tempbuf[1024]; /* some random amount */
 
          size_in_bytes = Lstream_read (reader, tempbuf, sizeof (tempbuf));
          char tempbuf[1024]; /* some random amount */
 
          size_in_bytes = Lstream_read (reader, tempbuf, sizeof (tempbuf));
@@ -2056,7 +2057,7 @@ dfc_convert_to_internal_format (dfc_conversion_type source_type,
 
       while (1)
         {
 
       while (1)
         {
-          ssize_t size_in_bytes;
+          Lstream_data_count size_in_bytes;
          char tempbuf[1024]; /* some random amount */
 
          size_in_bytes = Lstream_read (reader, tempbuf, sizeof (tempbuf));
          char tempbuf[1024]; /* some random amount */
 
          size_in_bytes = Lstream_read (reader, tempbuf, sizeof (tempbuf));
@@ -2505,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
 
     /* #### 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 */
   }
 }
 
   }
 }
 
@@ -2675,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.
   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 /*
 */ );
 
   DEFVAR_BUFFER_LOCAL ("fill-column", fill_column /*