#include "buffer.h"
#include "chartab.h"
+#include "casetab.h"
#include "commands.h"
#include "elhash.h"
#include "extents.h"
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;
}
#include "bufslots.h"
#undef MARKED_SLOT
-#if 0
-#define STRING256_P(obj) \
- (STRINGP (obj) && XSTRING_CHAR_LENGTH (obj) == 256)
- /* If the standard case table has been altered and invalidated,
- fix up its insides first. */
- if (!(STRING256_P(Vascii_upcase_table) &&
- STRING256_P(Vascii_canon_table) &&
- STRING256_P(Vascii_eqv_table)))
- {
- Fset_standard_case_table (Vascii_downcase_table);
- }
- b->downcase_table = Vascii_downcase_table;
- b->upcase_table = Vascii_upcase_table;
- b->case_canon_table = Vascii_canon_table;
- b->case_eqv_table = Vascii_eqv_table;
-#ifdef MULE
- b->mirror_downcase_table = Vmirror_ascii_downcase_table;
- b->mirror_upcase_table = Vmirror_ascii_upcase_table;
- b->mirror_case_canon_table = Vmirror_ascii_canon_table;
- b->mirror_case_eqv_table = Vmirror_ascii_eqv_table;
-#endif
-#endif
}
\f
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?)
- */
- Freplace_buffer_in_windows (buf, Qnil, Qnil);
+ /* 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;
font_lock_buffer_was_killed (b);
implies that the future text is not really related to the past text. */
b->saved_size = Qzero;
- zmacs_region_stays = 0;
return Qnil;
}
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));
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));
See also the variable `find-file-use-truenames'.
*/ );
+#if defined(CYGWIN) || defined(WIN32_NATIVE)
+ find_file_compare_truenames = 1;
+#else
find_file_compare_truenames = 0;
+#endif
DEFVAR_BOOL ("find-file-use-truenames", &find_file_use_truenames /*
If this is true, then a buffer's visited file-name will always be
defs->mode_name = QSFundamental;
defs->abbrev_table = Qnil; /* real default setup by Lisp code */
- defs->downcase_table = Vascii_downcase_table;
- defs->upcase_table = Vascii_upcase_table;
- defs->case_canon_table = Vascii_canon_table;
- defs->case_eqv_table = Vascii_eqv_table;
+ defs->case_table = Vstandard_case_table;
#ifdef MULE
- defs->mirror_downcase_table = Vmirror_ascii_downcase_table;
- defs->mirror_upcase_table = Vmirror_ascii_upcase_table;
- defs->mirror_case_canon_table = Vmirror_ascii_canon_table;
- defs->mirror_case_eqv_table = Vmirror_ascii_eqv_table;
-
defs->category_table = Vstandard_category_table;
#endif /* MULE */
defs->syntax_table = Vstandard_syntax_table;
defs->auto_save_modified = 0;
defs->auto_save_failure_time = -1;
defs->invisibility_spec = Qt;
+ defs->buffer_local_face_property = 0;
defs->indirect_children = Qnil;
syms->indirect_children = Qnil;
buffer_local_flags.generated_modeline_string = always_local_no_default;
buffer_local_flags.keymap = resettable;
- buffer_local_flags.downcase_table = resettable;
- buffer_local_flags.upcase_table = resettable;
- buffer_local_flags.case_canon_table = resettable;
- buffer_local_flags.case_eqv_table = resettable;
+ buffer_local_flags.case_table = resettable;
buffer_local_flags.syntax_table = resettable;
#ifdef MULE
buffer_local_flags.category_table = resettable;
/* #### 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 */
}
}
syms = XBUFFER (Vbuffer_local_symbols);
buffer_defaults_saved_slots = &defs->BUFFER_SLOTS_FIRST_NAME;
buffer_local_symbols_saved_slots = &syms->BUFFER_SLOTS_FIRST_NAME;
- dumpstruct (&buffer_defaults_saved_slots, &buffer_slots_description);
- dumpstruct (&buffer_local_symbols_saved_slots, &buffer_slots_description);
+ dump_add_root_struct_ptr (&buffer_defaults_saved_slots, &buffer_slots_description);
+ dump_add_root_struct_ptr (&buffer_local_symbols_saved_slots, &buffer_slots_description);
DEFVAR_BUFFER_DEFAULTS ("default-modeline-format", modeline_format /*
Default value of `modeline-format' for buffers that don't override it.
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 /*