Mercurial > hg > xemacs-beta
view etc/unicode/mule-ucs/thai-tis620.txt @ 4967:0d4c9d0f6a8d
rewrite dynarr code
-------------------- ChangeLog entries follow: --------------------
src/ChangeLog addition:
2010-02-03 Ben Wing <ben@xemacs.org>
* device-x.c (x_get_resource_prefix):
* device-x.c (Fx_get_resource):
* device-x.c (Fx_get_resource_prefix):
* device-x.c (Fx_put_resource):
* dialog-msw.c:
* dialog-msw.c (handle_question_dialog_box):
* dired-msw.c (mswindows_sort_files):
* dired-msw.c (mswindows_get_files):
* extents.c (extent_fragment_sort_by_priority):
* extents.c (Fset_extent_parent):
* file-coding.c (coding_reader):
* file-coding.c (coding_writer):
* file-coding.c (gzip_convert):
* frame.c (generate_title_string):
* gutter.c (calculate_gutter_size_from_display_lines):
* indent.c (vmotion_1):
* lread.c (read_bit_vector):
* mule-coding.c (iso2022_decode):
* rangetab.c:
* rangetab.c (Fcopy_range_table):
* rangetab.c (Fget_range_table):
* rangetab.c (unified_range_table_copy_data):
* redisplay-msw.c (mswindows_output_string):
* redisplay-output.c (output_display_line):
* redisplay-output.c (redisplay_move_cursor):
* redisplay-output.c (redisplay_clear_bottom_of_window):
* redisplay-tty.c (tty_output_ichar_dynarr):
* redisplay-tty.c (set_foreground_to):
* redisplay-tty.c (set_background_to):
* redisplay-xlike-inc.c (XLIKE_output_string):
* redisplay.c (redisplay_window_text_width_string):
* redisplay.c (redisplay_text_width_string):
* redisplay.c (create_text_block):
* redisplay.c (SET_CURRENT_MODE_CHARS_PIXSIZE):
* redisplay.c (generate_fstring_runes):
* redisplay.c (regenerate_modeline):
* redisplay.c (ensure_modeline_generated):
* redisplay.c (real_current_modeline_height):
* redisplay.c (create_string_text_block):
* redisplay.c (regenerate_window):
* redisplay.c (REGEN_INC_FIND_START_END):
* redisplay.c (point_visible):
* redisplay.c (redisplay_window):
* redisplay.c (mark_glyph_block_dynarr):
* redisplay.c (line_start_cache_start):
* redisplay.c (start_with_line_at_pixpos):
* redisplay.c (update_line_start_cache):
* redisplay.c (glyph_to_pixel_translation):
* redisplay.c (pixel_to_glyph_translation):
* sysdep.c (qxe_readdir):
* text.c (dfc_convert_to_external_format):
* text.c (dfc_convert_to_internal_format):
* toolbar-common.c (common_output_toolbar_button):
* window.c (window_modeline_height):
* window.c (Fwindow_last_line_visible_height):
* window.c (window_displayed_height):
* window.c (window_scroll):
* window.c (get_current_pixel_pos):
Use Dynarr_begin() in place of Dynarr_atp (foo, 0).
* dynarr.c (Dynarr_realloc):
* dynarr.c (Dynarr_lisp_realloc):
* dynarr.c (Dynarr_resize):
* dynarr.c (Dynarr_insert_many):
* dynarr.c (Dynarr_delete_many):
* dynarr.c (Dynarr_memory_usage):
* dynarr.c (stack_like_malloc):
* dynarr.c (stack_like_free):
* lisp.h:
* lisp.h (DECLARE_DYNARR_LISP_IMP):
* lisp.h (XD_DYNARR_DESC):
* lisp.h (Dynarr_pop):
* gutter.c (output_gutter):
* redisplay-output.c (sync_rune_structs):
* redisplay-output.c (redisplay_output_window):
Redo the dynarr code, add greater checks.
Rename the `len', `largest' and `max' members to `len_',
`largest_' and `max_' to try and catch existing places that might
directly modify these values. Make new accessors Dynarr_largest()
and Dynarr_max() and make them and existing Dynarr_length() be
non-lvalues by adding '+ 0' to them; fix a couple of places in the
redisplay code that tried to modify the length directly by setting
Dynarr_length(). Use the accessors whenever possible even in the
dynarr code itself. The accessors also verify that 0 <= len <=
largest <= max. Rename settor function Dynarr_set_size() to
Dynarr_set_length() and use it more consistently; also create
lower-level Dynarr_set_length_1(). This latter function should be
the only function that directly modifies the `len_' member of a
Dynarr, and in the process makes sure that the `largest' value is
kept correct.
Consistently use ERROR_CHECK_STRUCTURES instead of
ERROR_CHECK_TYPES for error-checking code. Reintroduce the
temporarily disabled verification code on the positions of
Dynarr_at(), Dynarr_atp() and Dynarr_atp_past_end().
Also create Dynarr_resize_if() in place of a repeated
code fragment. Clean up all the functions that modify Dynarrs to
use the new macros and functions and verify the correctness of the
Dynarr both before and after the change.
Note that there are two kinds of verification -- one for accessing
and one for modifying. The difference is that the modify
verification additionally checks to make sure that the Dynarr
isn't locked. (This is used in redisplay to check for problems
with reentrancy.)
* lrecord.h: Move XD_DYNARR_DESC to lisp.h, grouping with the dynarr code.
author | Ben Wing <ben@xemacs.org> |
---|---|
date | Wed, 03 Feb 2010 20:51:18 -0600 |
parents | a29c4eef8f00 |
children |
line wrap: on
line source
0x21 0x0E01 # THAI CHARACTER KO KAI 0x22 0x0E02 # THAI CHARACTER KHO KHAI 0x23 0x0E03 # THAI CHARACTER KHO KHUAT 0x24 0x0E04 # THAI CHARACTER KHO KHWAI 0x25 0x0E05 # THAI CHARACTER KHO KHON 0x26 0x0E06 # THAI CHARACTER KHO RAKHANG 0x27 0x0E07 # THAI CHARACTER NGO NGU 0x28 0x0E08 # THAI CHARACTER CHO CHAN 0x29 0x0E09 # THAI CHARACTER CHO CHING 0x2a 0x0E0A # THAI CHARACTER CHO CHANG 0x2b 0x0E0B # THAI CHARACTER SO SO 0x2c 0x0E0C # THAI CHARACTER CHO CHOE 0x2d 0x0E0D # THAI CHARACTER YO YING 0x2e 0x0E0E # THAI CHARACTER DO CHADA 0x2f 0x0E0F # THAI CHARACTER TO PATAK 0x30 0x0E10 # THAI CHARACTER THO THAN 0x31 0x0E11 # THAI CHARACTER THO NANGMONTHO 0x32 0x0E12 # THAI CHARACTER THO PHUTHAO 0x33 0x0E13 # THAI CHARACTER NO NEN 0x34 0x0E14 # THAI CHARACTER DO DEK 0x35 0x0E15 # THAI CHARACTER TO TAO 0x36 0x0E16 # THAI CHARACTER THO THUNG 0x37 0x0E17 # THAI CHARACTER THO THAHAN 0x38 0x0E18 # THAI CHARACTER THO THONG 0x39 0x0E19 # THAI CHARACTER NO NU 0x3a 0x0E1A # THAI CHARACTER BO BAIMAI 0x3b 0x0E1B # THAI CHARACTER PO PLA 0x3c 0x0E1C # THAI CHARACTER PHO PHUNG 0x3d 0x0E1D # THAI CHARACTER FO FA 0x3e 0x0E1E # THAI CHARACTER PHO PHAN 0x3f 0x0E1F # THAI CHARACTER FO FAN 0x40 0x0E20 # THAI CHARACTER PHO SAMPHAO 0x41 0x0E21 # THAI CHARACTER MO MA 0x42 0x0E22 # THAI CHARACTER YO YAK 0x43 0x0E23 # THAI CHARACTER RO RUA 0x44 0x0E24 # THAI CHARACTER RU 0x45 0x0E25 # THAI CHARACTER LO LING 0x46 0x0E26 # THAI CHARACTER LU 0x47 0x0E27 # THAI CHARACTER WO WAEN 0x48 0x0E28 # THAI CHARACTER SO SALA 0x49 0x0E29 # THAI CHARACTER SO RUSI 0x4a 0x0E2A # THAI CHARACTER SO SUA 0x4b 0x0E2B # THAI CHARACTER HO HIP 0x4c 0x0E2C # THAI CHARACTER LO CHULA 0x4d 0x0E2D # THAI CHARACTER O ANG 0x4e 0x0E2E # THAI CHARACTER HO NOKHUK 0x4f 0x0E2F # THAI CHARACTER PAIYANNOI 0x50 0x0E30 # THAI CHARACTER SARA A 0x51 0x0E31 # THAI CHARACTER MAI HAN-AKAT 0x52 0x0E32 # THAI CHARACTER SARA AA 0x53 0x0E33 # THAI CHARACTER SARA AM 0x54 0x0E34 # THAI CHARACTER SARA I 0x55 0x0E35 # THAI CHARACTER SARA II 0x56 0x0E36 # THAI CHARACTER SARA UE 0x57 0x0E37 # THAI CHARACTER SARA UEE 0x58 0x0E38 # THAI CHARACTER SARA U 0x59 0x0E39 # THAI CHARACTER SARA UU 0x5a 0x0E3A # THAI CHARACTER PHINTHU 0x5f 0x0E3F # THAI CURRENCY SYMBOL BAHT 0x60 0x0E40 # THAI CHARACTER SARA E 0x61 0x0E41 # THAI CHARACTER SARA AE 0x62 0x0E42 # THAI CHARACTER SARA O 0x63 0x0E43 # THAI CHARACTER SARA AI MAIMUAN 0x64 0x0E44 # THAI CHARACTER SARA AI MAIMALAI 0x65 0x0E45 # THAI CHARACTER LAKKHANGYAO 0x66 0x0E46 # THAI CHARACTER MAIYAMOK 0x67 0x0E47 # THAI CHARACTER MAITAIKHU 0x68 0x0E48 # THAI CHARACTER MAI EK 0x69 0x0E49 # THAI CHARACTER MAI THO 0x6a 0x0E4A # THAI CHARACTER MAI TRI 0x6b 0x0E4B # THAI CHARACTER MAI CHATTAWA 0x6c 0x0E4C # THAI CHARACTER THANTHAKHAT 0x6d 0x0E4D # THAI CHARACTER NIKHAHIT 0x6e 0x0E4E # THAI CHARACTER YAMAKKAN 0x6f 0x0E4F # THAI CHARACTER FONGMAN 0x70 0x0E50 # THAI DIGIT ZERO 0x71 0x0E51 # THAI DIGIT ONE 0x72 0x0E52 # THAI DIGIT TWO 0x73 0x0E53 # THAI DIGIT THREE 0x74 0x0E54 # THAI DIGIT FOUR 0x75 0x0E55 # THAI DIGIT FIVE 0x76 0x0E56 # THAI DIGIT SIX 0x77 0x0E57 # THAI DIGIT SEVEN 0x78 0x0E58 # THAI DIGIT EIGHT 0x79 0x0E59 # THAI DIGIT NINE 0x7a 0x0E5A # THAI CHARACTER ANGKHANKHU 0x7b 0x0E5B # THAI CHARACTER KHOMUT