Mercurial > hg > xemacs-beta
annotate src/bufslots.h @ 5247:02d875ebd1ea
Make Lisp reader errors more informative with over-long hex, octal characters
src/ChangeLog addition:
2010-08-21 Aidan Kehoe <kehoea@parhasard.net>
* lread.c (read_escape):
Make error messages better reflect the text that was encountered,
when overlong hex character escapes or non-Latin-1 octal character
escapes are encountered.
man/ChangeLog addition:
2010-08-21 Aidan Kehoe <kehoea@parhasard.net>
* lispref/objects.texi (Character Type):
Go into more detail here on the specific type of error provoked on
overlong hex character escapes and non-Latin-1 octal character
escapes; give details of why the latter may be encountered, and
what to do with such code.
| author | Aidan Kehoe <kehoea@parhasard.net> |
|---|---|
| date | Sat, 21 Aug 2010 19:02:44 +0100 |
| parents | 0b4d355771bd |
| children | 308d34e9f07d |
| rev | line source |
|---|---|
| 428 | 1 /* Definitions of marked slots in buffers |
| 2 Copyright (C) 1990, 1992, 1993 Free Software Foundation, Inc. | |
| 1204 | 3 Copyright (C) 2001, 2002 Ben Wing. |
| 428 | 4 |
| 5 This file is part of XEmacs. | |
| 6 | |
| 7 XEmacs is free software; you can redistribute it and/or modify it | |
| 8 under the terms of the GNU General Public License as published by the | |
| 9 Free Software Foundation; either version 2, or (at your option) any | |
| 10 later version. | |
| 11 | |
| 12 XEmacs is distributed in the hope that it will be useful, but WITHOUT | |
| 13 ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or | |
| 14 FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License | |
| 15 for more details. | |
| 16 | |
| 17 You should have received a copy of the GNU General Public License | |
| 18 along with XEmacs; see the file COPYING. If not, write to | |
| 19 the Free Software Foundation, Inc., 59 Temple Place - Suite 330, | |
| 20 Boston, MA 02111-1307, USA. */ | |
| 21 | |
| 22 /* Synched up with: Mule 2.0, FSF 19.30. Split out of buffer.h. */ | |
| 23 | |
| 24 /* Authorship: | |
| 25 | |
| 26 FSF: long ago (part of buffer.h). | |
| 27 JWZ: separated out from buffer.h, early in Lemacs. | |
| 28 XEmacs: a few other changes. | |
| 29 */ | |
| 30 | |
| 617 | 31 /* We define the Lisp_Objects in the buffer structure in a separate file |
| 32 because there are numerous places we want to iterate over them, such | |
| 33 as when defining them in the structure, initializing them, or marking | |
| 34 them. | |
| 35 | |
| 36 To use, define MARKED_SLOT before including this file. No need to | |
| 37 undefine; that happens automatically. */ | |
| 428 | 38 |
| 39 #ifndef BUFFER_SLOTS_FIRST_NAME | |
| 40 #define BUFFER_SLOTS_FIRST_NAME name | |
| 41 #endif | |
| 42 | |
| 43 /* The name of this buffer. */ | |
| 1204 | 44 MARKED_SLOT (name) |
| 428 | 45 |
| 46 /* The name of the file visited in this buffer, or nil. */ | |
| 1204 | 47 MARKED_SLOT (filename) |
| 428 | 48 |
| 49 /* Dir for expanding relative file names. */ | |
| 1204 | 50 MARKED_SLOT (directory) |
| 428 | 51 |
| 52 /* True iff this buffer has been backed up (if you write to the | |
| 53 visited file and it hasn't been backed up, then a backup will | |
| 54 be made). */ | |
| 55 /* #### This isn't really used by the C code, so could be deleted. */ | |
| 1204 | 56 MARKED_SLOT (backed_up) |
| 428 | 57 |
| 58 /* Length of file when last read or saved. | |
| 59 This is not in the struct buffer_text | |
| 60 because it's not used in indirect buffers at all. */ | |
| 1204 | 61 MARKED_SLOT (saved_size) |
| 428 | 62 |
| 63 /* File name used for auto-saving this buffer. | |
| 64 This is not in the struct buffer_text | |
| 65 because it's not used in indirect buffers at all. */ | |
| 1204 | 66 MARKED_SLOT (auto_save_file_name) |
| 428 | 67 |
| 68 /* Non-nil if buffer read-only. */ | |
| 1204 | 69 MARKED_SLOT (read_only) |
| 428 | 70 |
| 71 /* "The mark". This is a marker which may | |
| 72 point into this buffer or may point nowhere. */ | |
| 1204 | 73 MARKED_SLOT (mark) |
| 428 | 74 |
| 75 /* Alist of elements (SYMBOL . VALUE-IN-THIS-BUFFER) | |
| 76 for all per-buffer variables of this buffer. | |
| 77 Specifically, this lists those variables that have | |
| 78 a buffer-local value in this buffer: i.e. those | |
| 79 whose value does not shadow the default value. | |
| 80 (Remember that for any particular variable created | |
| 81 with `make-local-variable' or `make-variable-buffer-local', | |
| 82 it will have a per-buffer value in some buffers and a | |
| 83 default value in others.) | |
| 84 | |
| 85 Variables declared in C with DEFVAR_BUFFER_LOCAL() (i.e. | |
| 86 those stored in the struct buffer) are not listed here. */ | |
| 1204 | 87 MARKED_SLOT (local_var_alist) |
| 428 | 88 |
| 89 /* Symbol naming major mode (eg, lisp-mode). */ | |
| 1204 | 90 MARKED_SLOT (major_mode) |
| 428 | 91 |
| 92 /* Pretty name of major mode (eg, "Lisp"). */ | |
| 1204 | 93 MARKED_SLOT (mode_name) |
| 428 | 94 |
| 95 /* Modeline element that controls format of modeline. */ | |
| 1204 | 96 MARKED_SLOT (modeline_format) |
| 428 | 97 |
| 98 /* Keys that are bound local to this buffer. */ | |
| 1204 | 99 MARKED_SLOT (keymap) |
| 428 | 100 |
| 101 /* This buffer's local abbrev table. */ | |
| 1204 | 102 MARKED_SLOT (abbrev_table) |
| 428 | 103 /* This buffer's syntax table. */ |
| 1204 | 104 MARKED_SLOT (syntax_table) |
| 428 | 105 /* Massaged values from the syntax table, for faster lookup. */ |
| 1204 | 106 MARKED_SLOT (mirror_syntax_table) |
| 428 | 107 |
| 108 #ifdef MULE | |
| 109 /* This buffer's category table. */ | |
| 1204 | 110 MARKED_SLOT (category_table) |
| 428 | 111 #endif /* MULE */ |
| 112 /* This buffer's coding system. */ | |
| 1204 | 113 MARKED_SLOT (buffer_file_coding_system) |
| 428 | 114 /* Values of several buffer-local variables. |
| 115 | |
| 116 tab-width is buffer-local so that redisplay can find it | |
| 117 in buffers that are not current */ | |
| 1204 | 118 MARKED_SLOT (case_fold_search) |
| 119 MARKED_SLOT (tab_width) | |
| 120 MARKED_SLOT (fill_column) | |
| 121 MARKED_SLOT (left_margin) | |
| 428 | 122 |
| 123 /* Function to call when insert space past fill column. */ | |
| 1204 | 124 MARKED_SLOT (auto_fill_function) |
| 428 | 125 |
| 446 | 126 /* Case table for case-conversion in this buffer. */ |
| 1204 | 127 MARKED_SLOT (case_table) |
| 128 /* It contanis following char-tables: */ | |
| 446 | 129 /* Char-table maps each char into its lower-case version. */ |
| 428 | 130 /* Char-table mapping each char to its upper-case version. */ |
| 131 /* Char-table for conversion for case-folding search. */ | |
| 132 /* Char-table of equivalences for case-folding search. */ | |
| 133 | |
| 134 /* #### This ought to be a specifier: */ | |
| 135 /* Non-nil means do not display continuation lines. */ | |
| 1204 | 136 MARKED_SLOT (truncate_lines) |
| 428 | 137 /* #### This ought to be a specifier: */ |
| 138 /* #### Better yet, it ought to be junked. It really sucks. */ | |
| 139 /* Non-nil means display ctl chars with uparrow. */ | |
| 1204 | 140 MARKED_SLOT (ctl_arrow) |
| 428 | 141 /* #### This ought to be a specifier: */ |
| 142 /* #### Better yet, it ought to be junked. It really sucks. */ | |
| 143 /* Non-nil means do selective display; | |
| 144 see doc string in syms_of_buffer (buffer.c) for details. */ | |
| 1204 | 145 MARKED_SLOT (selective_display) |
| 428 | 146 /* #### This ought to be a specifier: */ |
| 147 /* #### Better yet, it ought to be junked. It really sucks. */ | |
| 148 /* Non-nil means show ... at end of line followed by invisible lines. */ | |
| 1204 | 149 MARKED_SLOT (selective_display_ellipses) |
| 428 | 150 /* Alist of (FUNCTION . STRING) for each minor mode enabled in buffer. */ |
| 1204 | 151 /* Unused: MARKED_SLOT (minor_modes) */ |
| 428 | 152 /* t if "self-insertion" should overwrite */ |
| 1204 | 153 MARKED_SLOT (overwrite_mode) |
| 428 | 154 /* non-nil means abbrev mode is on. Expand abbrevs automatically. */ |
| 1204 | 155 MARKED_SLOT (abbrev_mode) |
| 428 | 156 |
| 157 /* No display table here. It's a specifier. */ | |
| 158 #if 0 /* FSFmacs */ | |
| 159 /* t means the mark and region are currently active. */ | |
| 1204 | 160 MARKED_SLOT (mark_active) |
| 428 | 161 #endif |
| 162 | |
| 163 /* Changes in the buffer are recorded here for undo. | |
| 164 t means don't record anything. | |
| 165 This information belongs to the base buffer of an indirect buffer, | |
| 166 But we can't store it in the struct buffer_text | |
| 167 because local variables have to be right in the struct buffer. | |
| 168 So we copy it around in set_buffer_internal. */ | |
| 1204 | 169 MARKED_SLOT (undo_list) |
| 428 | 170 |
| 171 /* FSFmacs has overlay stuff here. We have extent info elsewhere in the | |
| 172 struct buffer. */ | |
| 173 | |
| 442 | 174 /* dedicated_frame in lisp */ |
| 428 | 175 |
| 176 /* Lisp of symbols naming the file format used for visited file. */ | |
| 1204 | 177 MARKED_SLOT (file_format) |
| 428 | 178 |
| 179 #ifdef REGION_CACHE_NEEDS_WORK | |
| 180 /* True if the newline position cache and width run cache are | |
| 181 enabled. See search.c and indent.c. */ | |
| 1204 | 182 MARKED_SLOT (cache_long_line_scans) |
| 428 | 183 |
| 184 /* If the width run cache is enabled, this table contains the | |
| 185 character widths width_run_cache (see above) assumes. When we | |
| 186 do a thorough redisplay, we compare this against the buffer's | |
| 187 current display table to see whether the display table has | |
| 188 affected the widths of any characters. If it has, we | |
| 189 invalidate the width run cache, and re-initialize width_table. */ | |
| 1204 | 190 MARKED_SLOT (width_table) |
| 428 | 191 #endif /* REGION_CACHE_NEEDS_WORK */ |
| 192 | |
| 193 /* A redundant copy of text.pt, in the form of a marker. Every time one | |
| 194 is updated, so is the other. | |
| 195 */ | |
| 1204 | 196 MARKED_SLOT (point_marker) |
| 428 | 197 |
| 198 /* FSFmacs has pt_marker, begv_marker, zv_marker here, used for | |
| 199 indirect buffers. We don't need them because we handle these | |
| 200 values directly instead of playing games with markers. */ | |
| 201 | |
| 202 /* This holds the point value before the last scroll operation. | |
| 203 Explicitly setting point sets this to nil. */ | |
| 1204 | 204 MARKED_SLOT (point_before_scroll) |
| 428 | 205 |
| 771 | 206 /* Truename of the visited file (via qxe_realpath()), |
| 428 | 207 or nil. */ |
| 1204 | 208 MARKED_SLOT (file_truename) |
| 428 | 209 |
| 210 /* Invisibility spec of this buffer. | |
| 211 t => any non-nil `invisible' property means invisible. | |
| 212 A list => `invisible' property means invisible | |
| 213 if it is memq in that list. */ | |
| 1204 | 214 MARKED_SLOT (invisibility_spec) |
| 428 | 215 |
| 216 /* The string generated by formatting the modeline in this buffer. */ | |
| 1204 | 217 MARKED_SLOT (generated_modeline_string) |
| 428 | 218 |
|
5214
0b4d355771bd
Import buffer-display-count, buffer-display-time; thank you, Jeff Sparkes.
Aidan Kehoe <kehoea@parhasard.net>
parents:
1204
diff
changeset
|
219 /* Incremented each time a buffer is displayed using set-window-buffer. */ |
|
0b4d355771bd
Import buffer-display-count, buffer-display-time; thank you, Jeff Sparkes.
Aidan Kehoe <kehoea@parhasard.net>
parents:
1204
diff
changeset
|
220 MARKED_SLOT (display_count) |
|
0b4d355771bd
Import buffer-display-count, buffer-display-time; thank you, Jeff Sparkes.
Aidan Kehoe <kehoea@parhasard.net>
parents:
1204
diff
changeset
|
221 |
|
0b4d355771bd
Import buffer-display-count, buffer-display-time; thank you, Jeff Sparkes.
Aidan Kehoe <kehoea@parhasard.net>
parents:
1204
diff
changeset
|
222 /* Last time this buffer was displayed using set-window-buffer. */ |
|
0b4d355771bd
Import buffer-display-count, buffer-display-time; thank you, Jeff Sparkes.
Aidan Kehoe <kehoea@parhasard.net>
parents:
1204
diff
changeset
|
223 MARKED_SLOT (display_time) |
|
0b4d355771bd
Import buffer-display-count, buffer-display-time; thank you, Jeff Sparkes.
Aidan Kehoe <kehoea@parhasard.net>
parents:
1204
diff
changeset
|
224 |
| 428 | 225 /* A hash table that maps from a "generic extent" (an extent in |
| 226 `modeline-format') into a buffer-specific extent. */ | |
| 1204 | 227 MARKED_SLOT (modeline_extent_table) |
| 428 | 228 |
| 229 #ifndef BUFFER_SLOTS_LAST_NAME | |
| 230 #define BUFFER_SLOTS_LAST_NAME modeline_extent_table | |
| 231 #endif | |
| 232 | |
| 617 | 233 #undef MARKED_SLOT |
