Mercurial > hg > xemacs-beta
view etc/unicode/mule-ucs/chinese-sisheng.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 0x0101 # LATIN SMALL LETTER A WITH MACRON 0x22 0x00E1 # LATIN SMALL LETTER A WITH ACUTE 0x23 0x01CE # LATIN SMALL LETTER A WITH CARON 0x24 0x00E0 # LATIN SMALL LETTER A WITH GRAVE 0x25 0x0113 # LATIN SMALL LETTER E WITH MACRON 0x26 0x00E9 # LATIN SMALL LETTER E WITH ACUTE 0x27 0x011B # LATIN SMALL LETTER E WITH CARON 0x28 0x00E8 # LATIN SMALL LETTER E WITH GRAVE 0x29 0x012B # LATIN SMALL LETTER I WITH MACRON 0x2a 0x00ED # LATIN SMALL LETTER I WITH ACUTE 0x2b 0x01D0 # LATIN SMALL LETTER I WITH CARON 0x2c 0x00EC # LATIN SMALL LETTER I WITH GRAVE 0x2d 0x014D # LATIN SMALL LETTER O WITH MACRON 0x2e 0x00F3 # LATIN SMALL LETTER O WITH ACUTE 0x2f 0x01D2 # LATIN SMALL LETTER O WITH CARON 0x30 0x00F2 # LATIN SMALL LETTER O WITH GRAVE 0x31 0x016B # LATIN SMALL LETTER U WITH MACRON 0x32 0x00FA # LATIN SMALL LETTER U WITH ACUTE 0x33 0x01D4 # LATIN SMALL LETTER U WITH CARON 0x34 0x00F9 # LATIN SMALL LETTER U WITH GRAVE 0x35 0x01D6 # LATIN SMALL LETTER U WITH DIAERESIS AND MACRON 0x36 0x01D8 # LATIN SMALL LETTER U WITH DIAERESIS AND ACUTE 0x37 0x01DA # LATIN SMALL LETTER U WITH DIAERESIS AND CARON 0x38 0x01DC # LATIN SMALL LETTER U WITH DIAERESIS AND GRAVE 0x39 0x00FC # LATIN SMALL LETTER U WITH DIAERESIS 0x3a 0x00EA # LATIN SMALL LETTER E WITH CIRCUMFLEX 0x3c 0x1E3F # LATIN SMALL LETTER M WITH ACUTE 0x3d 0x0144 # LATIN SMALL LETTER N WITH ACUTE 0x3e 0x0148 # LATIN SMALL LETTER N WITH CARON 0x3f 0x01F9 # LATIN SMALL LETTER N WITH GRAVE 0x41 0x02C9 # MODIFIER LETTER MACRON 0x42 0x02CA # MODIFIER LETTER ACUTE ACCENT 0x43 0x02C7 # CARON 0x44 0x02CB # MODIFIER LETTER GRAVE ACCENT 0x45 0x3105 # BOPOMOFO LETTER B 0x46 0x3106 # BOPOMOFO LETTER P 0x47 0x3107 # BOPOMOFO LETTER M 0x48 0x3108 # BOPOMOFO LETTER F 0x49 0x3109 # BOPOMOFO LETTER D 0x4a 0x310A # BOPOMOFO LETTER T 0x4b 0x310B # BOPOMOFO LETTER N 0x4c 0x310C # BOPOMOFO LETTER L 0x4d 0x310D # BOPOMOFO LETTER G 0x4e 0x310E # BOPOMOFO LETTER K 0x4f 0x310F # BOPOMOFO LETTER H 0x50 0x3110 # BOPOMOFO LETTER J 0x51 0x3111 # BOPOMOFO LETTER Q 0x52 0x3112 # BOPOMOFO LETTER X 0x53 0x3113 # BOPOMOFO LETTER ZH 0x54 0x3114 # BOPOMOFO LETTER CH 0x55 0x3115 # BOPOMOFO LETTER SH 0x56 0x3116 # BOPOMOFO LETTER R 0x57 0x3117 # BOPOMOFO LETTER Z 0x58 0x3118 # BOPOMOFO LETTER C 0x59 0x3119 # BOPOMOFO LETTER S 0x5a 0x311A # BOPOMOFO LETTER A 0x5b 0x311B # BOPOMOFO LETTER O 0x5c 0x311C # BOPOMOFO LETTER E 0x5d 0x311D # BOPOMOFO LETTER EH 0x5e 0x311E # BOPOMOFO LETTER AI 0x5f 0x311F # BOPOMOFO LETTER EI 0x60 0x3120 # BOPOMOFO LETTER AU 0x61 0x3121 # BOPOMOFO LETTER OU 0x62 0x3122 # BOPOMOFO LETTER AN 0x63 0x3123 # BOPOMOFO LETTER EN 0x64 0x3124 # BOPOMOFO LETTER ANG 0x65 0x3125 # BOPOMOFO LETTER ENG 0x66 0x3126 # BOPOMOFO LETTER ER 0x67 0x3127 # BOPOMOFO LETTER I 0x68 0x3128 # BOPOMOFO LETTER U 0x69 0x3129 # BOPOMOFO LETTER IU