view etc/charsets/IBM1026.map @ 107984:bef5d1738c0b

Make variable forwarding explicit rather the using special values. Basically, this makes the structure of buffer-local values and object forwarding explicit in the type of Lisp_Symbols rather than use special Lisp_Objects for that. This tends to lead to slightly more verbose code, but is more C-like, simpler, and makes it easier to make sure we handled all cases, among other things by letting the compiler help us check it. * lisp.h (enum Lisp_Misc_Type, union Lisp_Misc): Removing forwarding objects. (enum Lisp_Fwd_Type, enum symbol_redirect, union Lisp_Fwd): New types. (struct Lisp_Symbol): Make the various forms of variable-forwarding explicit rather than hiding them inside Lisp_Object "values". (XFWDTYPE): New macro. (XINTFWD, XBOOLFWD, XOBJFWD, XKBOARD_OBJFWD): Redefine. (XBUFFER_LOCAL_VALUE): Remove. (SYMBOL_VAL, SYMBOL_ALIAS, SYMBOL_BLV, SYMBOL_FWD, SET_SYMBOL_VAL) (SET_SYMBOL_ALIAS, SET_SYMBOL_BLV, SET_SYMBOL_FWD): New macros. (SYMBOL_VALUE, SET_SYMBOL_VALUE): Remove. (struct Lisp_Intfwd, struct Lisp_Boolfwd, struct Lisp_Objfwd) (struct Lisp_Buffer_Objfwd, struct Lisp_Kboard_Objfwd): Remove the Lisp_Misc_* header. (struct Lisp_Buffer_Local_Value): Redefine. (BLV_FOUND, SET_BLV_FOUND, BLV_VALUE, SET_BLV_VALUE): New macros. (struct Lisp_Misc_Any): Add filler to get the right size. (struct Lisp_Free): Use struct Lisp_Misc_Any rather than struct Lisp_Intfwd. (DEFVAR_LISP, DEFVAR_LISP_NOPRO, DEFVAR_BOOL, DEFVAR_INT) (DEFVAR_KBOARD): Allocate a forwarding object. * data.c (do_blv_forwarding, store_blv_forwarding): New macros. (let_shadows_global_binding_p): New function. (union Lisp_Val_Fwd): New type. (make_blv): New function. (swap_in_symval_forwarding, indirect_variable, do_symval_forwarding) (store_symval_forwarding, swap_in_global_binding, Fboundp) (swap_in_symval_forwarding, find_symbol_value, Fset) (let_shadows_buffer_binding_p, set_internal, default_value) (Fset_default, Fmake_variable_buffer_local, Fmake_local_variable) (Fkill_local_variable, Fmake_variable_frame_local) (Flocal_variable_p, Flocal_variable_if_set_p) (Fvariable_binding_locus): * xdisp.c (select_frame_for_redisplay): * lread.c (Fintern, Funintern, init_obarray, defvar_int) (defvar_bool, defvar_lisp_nopro, defvar_lisp, defvar_kboard): * frame.c (store_frame_param): * eval.c (Fdefvaralias, Fuser_variable_p, specbind, unbind_to): * bytecode.c (Fbyte_code) <varref, varset>: Adapt to the new symbol value structure. * buffer.c (PER_BUFFER_SYMBOL): Move from buffer.h. (clone_per_buffer_values): Only adjust markers into the current buffer. (reset_buffer_local_variables): PER_BUFFER_IDX is never -2. (Fbuffer_local_value, set_buffer_internal_1) (swap_out_buffer_local_variables): Adapt to the new symbol value structure. (DEFVAR_PER_BUFFER): Allocate a Lisp_Buffer_Objfwd object. (defvar_per_buffer): Take a new arg for the fwd object. (buffer_lisp_local_variables): Return a proper alist (different fix for bug#4138). * alloc.c (Fmake_symbol): Use SET_SYMBOL_VAL. (Fgarbage_collect): Don't handle buffer_defaults specially. (mark_object): Handle new symbol value structure rather than the old special Lisp_Misc_* objects. (gc_sweep) <symbols>: Free also the buffer-local-value objects. * term.c (set_tty_color_mode): * bidi.c (bidi_initialize): Don't access the ->value field directly. * buffer.h (PER_BUFFER_VAR_OFFSET): Don't bother with a buffer_local_flags. * print.c (print_object): Get rid of impossible forwarding objects.
author Stefan Monnier <monnier@iro.umontreal.ca>
date Mon, 19 Apr 2010 21:50:52 -0400
parents 8cc2b1e9767f
children
line wrap: on
line source

# Generated from IBM1026 in localedate/charmaps of glibc
0x00-0x03 0x0000
0x04 0x009C
0x05 0x0009
0x06 0x0086
0x07 0x007F
0x08 0x0097
0x09-0x0A 0x008D
0x0B-0x13 0x000B
0x14 0x009D
0x15 0x0085
0x16 0x0008
0x17 0x0087
0x18-0x19 0x0018
0x1A 0x0092
0x1B 0x008F
0x1C-0x1F 0x001C
0x20-0x24 0x0080
0x25 0x000A
0x26 0x0017
0x27 0x001B
0x28-0x2C 0x0088
0x2D-0x2F 0x0005
0x30-0x31 0x0090
0x32 0x0016
0x33-0x36 0x0093
0x37 0x0004
0x38-0x3B 0x0098
0x3C-0x3D 0x0014
0x3E 0x009E
0x3F 0x001A
0x40 0x0020
0x41 0x00A0
0x42 0x00E2
0x43 0x00E4
0x44-0x45 0x00E0
0x46 0x00E3
0x47 0x00E5
0x48 0x007B
0x49 0x00F1
0x4A 0x00C7
0x4B 0x002E
0x4C 0x003C
0x4D 0x0028
0x4E 0x002B
0x4F 0x0021
0x50 0x0026
0x51-0x53 0x00E9
0x54 0x00E8
0x55-0x57 0x00ED
0x58 0x00EC
0x59 0x00DF
0x5A 0x011E
0x5B 0x0130
0x5C 0x002A
0x5D 0x0029
0x5E 0x003B
0x5F 0x005E
0x60 0x002D
0x61 0x002F
0x62 0x00C2
0x63 0x00C4
0x64-0x65 0x00C0
0x66 0x00C3
0x67 0x00C5
0x68 0x005B
0x69 0x00D1
0x6A 0x015F
0x6B 0x002C
0x6C 0x0025
0x6D 0x005F
0x6E-0x6F 0x003E
0x70 0x00F8
0x71-0x73 0x00C9
0x74 0x00C8
0x75-0x77 0x00CD
0x78 0x00CC
0x79 0x0131
0x7A 0x003A
0x7B 0x00D6
0x7C 0x015E
0x7D 0x0027
0x7E 0x003D
0x7F 0x00DC
0x80 0x00D8
0x81-0x89 0x0061
0x8A 0x00AB
0x8B 0x00BB
0x8C 0x007D
0x8D 0x0060
0x8E 0x00A6
0x8F 0x00B1
0x90 0x00B0
0x91-0x99 0x006A
0x9A 0x00AA
0x9B 0x00BA
0x9C 0x00E6
0x9D 0x02DB
0x9E 0x00C6
0x9F 0x00A4
0xA0 0x00B5
0xA1 0x00F6
0xA2-0xA9 0x0073
0xAA 0x00A1
0xAB 0x00BF
0xAC 0x005D
0xAD 0x0024
0xAE 0x0040
0xAF 0x00AE
0xB0-0xB1 0x00A2
0xB2 0x00A5
0xB3 0x00B7
0xB4 0x00A9
0xB5 0x00A7
0xB6 0x00B6
0xB7-0xB9 0x00BC
0xBA 0x00AC
0xBB 0x007C
0xBC 0x2014
0xBD 0x00A8
0xBE 0x00B4
0xBF 0x00D7
0xC0 0x00E7
0xC1-0xC9 0x0041
0xCA 0x00AD
0xCB 0x00F4
0xCC 0x007E
0xCD-0xCE 0x00F2
0xCF 0x00F5
0xD0 0x011F
0xD1-0xD9 0x004A
0xDA 0x00B9
0xDB 0x00FB
0xDC 0x005C
0xDD-0xDE 0x00F9
0xDF 0x00FF
0xE0 0x00FC
0xE1 0x00F7
0xE2-0xE9 0x0053
0xEA 0x00B2
0xEB 0x00D4
0xEC 0x0023
0xED-0xEE 0x00D2
0xEF 0x00D5
0xF0-0xF9 0x0030
0xFA 0x00B3
0xFB 0x00DB
0xFC 0x0022
0xFD-0xFE 0x00D9
0xFF 0x009F