aboutsummaryrefslogtreecommitdiffstats
path: root/src
diff options
context:
space:
mode:
authorStefan Monnier2010-12-06 11:37:26 -0500
committerStefan Monnier2010-12-06 11:37:26 -0500
commitbba3e50834d3957fe2b6f345075a6f38839de4bc (patch)
tree8fb0a1cd741c2e9329e9323db8db6366d37ab8f3 /src
parent7454326ab9058b94b956d8c2ac3d3f340281467d (diff)
downloademacs-bba3e50834d3957fe2b6f345075a6f38839de4bc.tar.gz
emacs-bba3e50834d3957fe2b6f345075a6f38839de4bc.zip
* src/lread.c (read1): Allow newstyle unquote outside of backquote.
Disallow old-style backquotes inside new-style backquotes. Don't count unquotes to figure out when we're "syntactically inside but semantically outside of a backquote" any more. Extend the restriction no-unescaped-commas-and-backquotes-in-symbols to all contexts.
Diffstat (limited to 'src')
-rw-r--r--src/ChangeLog604
-rw-r--r--src/lread.c98
2 files changed, 353 insertions, 349 deletions
diff --git a/src/ChangeLog b/src/ChangeLog
index 82614afb043..e05855a4abf 100644
--- a/src/ChangeLog
+++ b/src/ChangeLog
@@ -1,3 +1,12 @@
12010-12-06 Stefan Monnier <monnier@iro.umontreal.ca>
2
3 * lread.c (read1): Allow newstyle unquote outside of backquote.
4 Disallow old-style backquotes inside new-style backquotes.
5 Don't count unquotes to figure out when we're "syntactically inside
6 but semantically outside of a backquote" any more.
7 Extend the restriction no-unescaped-commas-and-backquotes-in-symbols
8 to all contexts.
9
12010-12-05 Chong Yidong <cyd@stupidchicken.com> 102010-12-05 Chong Yidong <cyd@stupidchicken.com>
2 11
3 * process.c: Remove checks for HAVE_SYS_IOCTL_H (Bug#7484). 12 * process.c: Remove checks for HAVE_SYS_IOCTL_H (Bug#7484).
@@ -45,11 +54,11 @@
45 54
46 * charset.c (emacs_mule_charset): Make it an array of charset ID; 55 * charset.c (emacs_mule_charset): Make it an array of charset ID;
47 i.e. integer. 56 i.e. integer.
48 (Fdefine_charset_internal): Adjusted for the above change. 57 (Fdefine_charset_internal): Adjust for the above change.
49 (init_charset_once): Likewise. 58 (init_charset_once): Likewise.
50 59
51 * charset.h (emacs_mule_charset): Adjust the prototype. Delete 60 * charset.h (emacs_mule_charset): Adjust the prototype.
52 duplicated extern. 61 Delete duplicated extern.
53 62
54 * coding.c (emacs_mule_char): Adjust for the change of 63 * coding.c (emacs_mule_char): Adjust for the change of
55 emacs_mule_charset. 64 emacs_mule_charset.
@@ -402,12 +411,12 @@
402 411
403 * xdisp.c (syms_of_xdisp) <glyphless-char-display>: Doc fix. 412 * xdisp.c (syms_of_xdisp) <glyphless-char-display>: Doc fix.
404 413
405 * dispextern.h (enum glyphless_display_method): Rename 414 * dispextern.h (enum glyphless_display_method):
406 GLYPHLESS_DISPLAY_HEXA_CODE to GLYPHLESS_DISPLAY_HEX_CODE. All 415 Rename GLYPHLESS_DISPLAY_HEXA_CODE to GLYPHLESS_DISPLAY_HEX_CODE.
407 users changed. 416 All users changed.
408 417
409 * term.c (append_glyphless_glyph, produce_glyphless_glyph): Fix 418 * term.c (append_glyphless_glyph, produce_glyphless_glyph):
410 comments. 419 Fix comments.
411 (produce_glyphless_glyph): Enclose "U+nnnn" and "empty box" 420 (produce_glyphless_glyph): Enclose "U+nnnn" and "empty box"
412 whitespace in "[]", to simulate a box. Don't use uninitialized 421 whitespace in "[]", to simulate a box. Don't use uninitialized
413 variable `width'. 422 variable `width'.
@@ -540,8 +549,8 @@
540 549
541 * xterm.c (x_update_window_begin, x_update_window_end) 550 * xterm.c (x_update_window_begin, x_update_window_end)
542 (x_update_end, XTframe_up_to_date, x_set_mouse_face_gc) 551 (x_update_end, XTframe_up_to_date, x_set_mouse_face_gc)
543 (handle_one_xevent, x_free_frame_resources, x_term_init): Replace 552 (handle_one_xevent, x_free_frame_resources, x_term_init):
544 Display_Info with Mouse_HLInfo everywhere where mouse_face_* 553 Replace Display_Info with Mouse_HLInfo everywhere where mouse_face_*
545 members were accessed for mouse highlight purposes. 554 members were accessed for mouse highlight purposes.
546 555
547 * w32term.c (x_update_window_begin, x_update_window_end) 556 * w32term.c (x_update_window_begin, x_update_window_end)
@@ -564,8 +573,8 @@
564 HAVE_WINDOW_SYSTEM conditional. 573 HAVE_WINDOW_SYSTEM conditional.
565 (x_y_to_hpos_vpos, frame_to_window_pixel_xy): Move out of the 574 (x_y_to_hpos_vpos, frame_to_window_pixel_xy): Move out of the
566 HAVE_WINDOW_SYSTEM block. 575 HAVE_WINDOW_SYSTEM block.
567 (try_window_id) [HAVE_GPM || MSDOS]: Call 576 (try_window_id) [HAVE_GPM || MSDOS]:
568 x_clear_window_mouse_face. 577 Call x_clear_window_mouse_face.
569 (draw_row_with_mouse_face): Implementation for HAVE_WINDOW_SYSTEM 578 (draw_row_with_mouse_face): Implementation for HAVE_WINDOW_SYSTEM
570 systems. Call tty_draw_row_with_mouse_face for TTY systems. 579 systems. Call tty_draw_row_with_mouse_face for TTY systems.
571 (show_mouse_face): Call draw_row_with_mouse_face, instead of 580 (show_mouse_face): Call draw_row_with_mouse_face, instead of
@@ -581,8 +590,8 @@
581 Clear mouse highlight if pointer is over glyphs whose OBJECT is an 590 Clear mouse highlight if pointer is over glyphs whose OBJECT is an
582 integer. 591 integer.
583 (mouse_face_from_buffer_pos): Add parentheses around && within ||. 592 (mouse_face_from_buffer_pos): Add parentheses around && within ||.
584 (x_consider_frame_title, tool_bar_lines_needed): Move 593 (x_consider_frame_title, tool_bar_lines_needed):
585 prototypes to HAVE_WINDOW_SYSTEM-only part. 594 Move prototypes to HAVE_WINDOW_SYSTEM-only part.
586 (get_window_cursor_type): Move inside a HAVE_WINDOW_SYSTEM-only 595 (get_window_cursor_type): Move inside a HAVE_WINDOW_SYSTEM-only
587 part. Remove "#ifdef HAVE_WINDOW_SYSTEM" from body of function. 596 part. Remove "#ifdef HAVE_WINDOW_SYSTEM" from body of function.
588 (null_glyph_slice): Move declaration into HAVE_WINDOW_SYSTEM-only 597 (null_glyph_slice): Move declaration into HAVE_WINDOW_SYSTEM-only
@@ -631,8 +640,8 @@
631 640
6322010-11-05 Eli Zaretskii <eliz@gnu.org> 6412010-11-05 Eli Zaretskii <eliz@gnu.org>
633 642
634 * term.c (append_glyphless_glyph, produce_glyphless_glyph): Remove 643 * term.c (append_glyphless_glyph, produce_glyphless_glyph):
635 unused variables. 644 Remove unused variables.
636 645
6372010-11-05 Adrian Robert <Adrian.B.Robert@gmail.com> 6462010-11-05 Adrian Robert <Adrian.B.Robert@gmail.com>
638 647
@@ -866,8 +875,8 @@
866 MOTIF (Bug#7263). 875 MOTIF (Bug#7263).
867 876
868 * xfns.c: Include Xm/TextF and Xm/List. 877 * xfns.c: Include Xm/TextF and Xm/List.
869 (file_dialog_cb, file_dialog_unmap_cb, clean_up_file_dialog): Make 878 (file_dialog_cb, file_dialog_unmap_cb, clean_up_file_dialog):
870 ANSI prototypes. 879 Make ANSI prototypes.
871 880
8722010-10-22 Glenn Morris <rgm@gnu.org> 8812010-10-22 Glenn Morris <rgm@gnu.org>
873 882
@@ -1148,8 +1157,8 @@
1148 anything on any platform. 1157 anything on any platform.
1149 1158
1150 Remove unused code. 1159 Remove unused code.
1151 * sysdep.c (select_alarm, sys_select, read_input_waiting): Remove 1160 * sysdep.c (select_alarm, sys_select, read_input_waiting):
1152 select emulation, all systems support select. 1161 Remove select emulation, all systems support select.
1153 (set_exclusive_use): Remove, the only user is in an #if 0 block. 1162 (set_exclusive_use): Remove, the only user is in an #if 0 block.
1154 * process.c (create_process): Remove #if 0 code. 1163 * process.c (create_process): Remove #if 0 code.
1155 1164
@@ -1214,7 +1223,7 @@
12142010-10-02 Lars Magne Ingebrigtsen <larsi@gnus.org> 12232010-10-02 Lars Magne Ingebrigtsen <larsi@gnus.org>
1215 1224
1216 * xml.c (Flibxml_parse_xml_region, Flibxml_parse_html_region) 1225 * xml.c (Flibxml_parse_xml_region, Flibxml_parse_html_region)
1217 (parse_region): Reworked to take regions instead of strings, and 1226 (parse_region): Rework to take regions instead of strings, and
1218 renamed to reflect that these are the libxml functions. 1227 renamed to reflect that these are the libxml functions.
1219 1228
12202010-10-01 Eli Zaretskii <eliz@gnu.org> 12292010-10-01 Eli Zaretskii <eliz@gnu.org>
@@ -1252,7 +1261,8 @@
1252 * msdos.c: 1261 * msdos.c:
1253 * charset.c: Do not include stdlib.h and string.h, config.h does it. 1262 * charset.c: Do not include stdlib.h and string.h, config.h does it.
1254 1263
1255 * callproc.c (SIGCHLD): Remove conditional definition, syssignal.h defines it. 1264 * callproc.c (SIGCHLD): Remove conditional definition, syssignal.h
1265 defines it.
1256 1266
1257 * process.c: Move #include <pty.h> earlier. 1267 * process.c: Move #include <pty.h> earlier.
1258 (SIGCHLD): Remove conditional definition, syssignal.h defines it. 1268 (SIGCHLD): Remove conditional definition, syssignal.h defines it.
@@ -1342,8 +1352,8 @@
1342 (find_last_unchanged_at_beg_row) 1352 (find_last_unchanged_at_beg_row)
1343 (find_first_unchanged_at_end_row, row_containing_pos) 1353 (find_first_unchanged_at_end_row, row_containing_pos)
1344 (trailing_whitespace_p, display_mode_element, decode_mode_spec) 1354 (trailing_whitespace_p, display_mode_element, decode_mode_spec)
1345 (display_count_lines, x_produce_glyphs, note_mouse_highlight): Use 1355 (display_count_lines, x_produce_glyphs, note_mouse_highlight):
1346 EMACS_INT for buffer and string positions. 1356 Use EMACS_INT for buffer and string positions.
1347 1357
1348 * dispextern.h (struct it) <string_nchars>: Declare EMACS_INT. 1358 * dispextern.h (struct it) <string_nchars>: Declare EMACS_INT.
1349 (row_containing_pos): Adjust prototype. 1359 (row_containing_pos): Adjust prototype.
@@ -1430,7 +1440,7 @@
1430 1440
1431 * dispextern.h (struct glyph): Change the member "slice" to union. 1441 * dispextern.h (struct glyph): Change the member "slice" to union.
1432 Remove u.cmp.from and u.cmp.to. Give more bits to u.cmp.id. 1442 Remove u.cmp.from and u.cmp.to. Give more bits to u.cmp.id.
1433 (GLYPH_SLICE_EQUAL_P): Adjusted for the above change. 1443 (GLYPH_SLICE_EQUAL_P): Adjust for the above change.
1434 1444
1435 * dispnew.c (buffer_posn_from_coords): Use glyph->slice.img 1445 * dispnew.c (buffer_posn_from_coords): Use glyph->slice.img
1436 instead of glyph->slice. 1446 instead of glyph->slice.
@@ -1626,8 +1636,8 @@
1626 positions. 1636 positions.
1627 1637
1628 * xdisp.c (redisplay_internal, try_window_id) 1638 * xdisp.c (redisplay_internal, try_window_id)
1629 (set_cursor_from_row, find_first_unchanged_at_end_row): Use 1639 (set_cursor_from_row, find_first_unchanged_at_end_row):
1630 EMACS_INT for buffer positions. 1640 Use EMACS_INT for buffer positions.
1631 1641
1632 * dispextern.h (set_cursor_from_row): Adjust prototype. 1642 * dispextern.h (set_cursor_from_row): Adjust prototype.
1633 1643
@@ -1637,8 +1647,8 @@
1637 positions. 1647 positions.
1638 1648
1639 * dispextern.h (mode_line_string, marginal_area_string) 1649 * dispextern.h (mode_line_string, marginal_area_string)
1640 (increment_matrix_positions, increment_row_positions): Adjust 1650 (increment_matrix_positions, increment_row_positions):
1641 prototypes. 1651 Adjust prototypes.
1642 1652
1643 * data.c (Faref, Faset): Use EMACS_INT for string length and 1653 * data.c (Faref, Faset): Use EMACS_INT for string length and
1644 positions. 1654 positions.
@@ -1651,8 +1661,8 @@
1651 1661
1652 * syntax.c (scan_words, update_syntax_table) 1662 * syntax.c (scan_words, update_syntax_table)
1653 (prev_char_comend_first, back_comment, skip_chars) 1663 (prev_char_comend_first, back_comment, skip_chars)
1654 (skip_syntaxes, Fforward_comment, Fbackward_prefix_chars): Use 1664 (skip_syntaxes, Fforward_comment, Fbackward_prefix_chars):
1655 EMACS_INT for buffer and string positions. 1665 Use EMACS_INT for buffer and string positions.
1656 1666
1657 * syntax.h (scan_words, update_syntax_table): Adjust prototypes. 1667 * syntax.h (scan_words, update_syntax_table): Adjust prototypes.
1658 1668
@@ -1700,8 +1710,8 @@
1700 (modify_overlay, Fmove_overlay, report_overlay_modification) 1710 (modify_overlay, Fmove_overlay, report_overlay_modification)
1701 (evaporate_overlays): Use EMACS_INT for buffer positions. 1711 (evaporate_overlays): Use EMACS_INT for buffer positions.
1702 1712
1703 * lisp.h (fix_start_end_in_overlays, overlay_touches_p): Adjust 1713 * lisp.h (fix_start_end_in_overlays, overlay_touches_p):
1704 prototypes. 1714 Adjust prototypes.
1705 1715
1706 * dispextern.h (struct bidi_saved_info): Use EMACS_INT for buffer 1716 * dispextern.h (struct bidi_saved_info): Use EMACS_INT for buffer
1707 positions. 1717 positions.
@@ -1792,13 +1802,13 @@
1792 * indent.c (compute_motion): Use EMACS_INT for arguments to 1802 * indent.c (compute_motion): Use EMACS_INT for arguments to
1793 region_cache_forward. 1803 region_cache_forward.
1794 1804
1795 * region-cache.c (struct boundary, struct region_cache): Use 1805 * region-cache.c (struct boundary, struct region_cache):
1796 EMACS_INT for positions. 1806 Use EMACS_INT for positions.
1797 (find_cache_boundary, move_cache_gap, insert_cache_boundary) 1807 (find_cache_boundary, move_cache_gap, insert_cache_boundary)
1798 (delete_cache_boundaries, set_cache_region) 1808 (delete_cache_boundaries, set_cache_region)
1799 (invalidate_region_cache, know_region_cache) 1809 (invalidate_region_cache, know_region_cache)
1800 (region_cache_forward, region_cache_backward, pp_cache): Use 1810 (region_cache_forward, region_cache_backward, pp_cache):
1801 EMACS_INT for buffer positions. 1811 Use EMACS_INT for buffer positions.
1802 1812
1803 * region-cache.h (know_region_cache, invalidate_region_cache) 1813 * region-cache.h (know_region_cache, invalidate_region_cache)
1804 (region_cache_forward, region_cache_backward): Adjust prototypes. 1814 (region_cache_forward, region_cache_backward): Adjust prototypes.
@@ -1819,8 +1829,8 @@
1819 (Fline_beginning_position, Fline_end_position, Fprevious_char) 1829 (Fline_beginning_position, Fline_end_position, Fprevious_char)
1820 (Fchar_after, Fchar_before, Finsert_char) 1830 (Fchar_after, Fchar_before, Finsert_char)
1821 (Finsert_buffer_substring, Fcompare_buffer_substrings) 1831 (Finsert_buffer_substring, Fcompare_buffer_substrings)
1822 (Fsubst_char_in_region, Fformat, Ftranspose_regions): Use 1832 (Fsubst_char_in_region, Fformat, Ftranspose_regions):
1823 EMACS_INT for buffer and string position variables. 1833 Use EMACS_INT for buffer and string position variables.
1824 (Finsert_char): Protect against too large insertions. 1834 (Finsert_char): Protect against too large insertions.
1825 1835
1826 * lisp.h (clip_to_bounds): Adjust prototype. 1836 * lisp.h (clip_to_bounds): Adjust prototype.
@@ -1857,8 +1867,8 @@
1857 1867
1858 * editfns.c (Fformat): Use EMACS_INT for string size variables. 1868 * editfns.c (Fformat): Use EMACS_INT for string size variables.
1859 1869
1860 * xdisp.c (store_mode_line_noprop, display_mode_element): Use 1870 * xdisp.c (store_mode_line_noprop, display_mode_element):
1861 EMACS_INT for string positions. 1871 Use EMACS_INT for string positions.
1862 1872
1863 * intervals.c (get_property_and_range): Use EMACS_INT for buffer 1873 * intervals.c (get_property_and_range): Use EMACS_INT for buffer
1864 position arguments. 1874 position arguments.
@@ -1868,13 +1878,13 @@
1868 * character.c (parse_str_as_multibyte, str_as_multibyte) 1878 * character.c (parse_str_as_multibyte, str_as_multibyte)
1869 (parse_str_to_multibyte, str_to_multibyte, str_as_unibyte) 1879 (parse_str_to_multibyte, str_to_multibyte, str_as_unibyte)
1870 (string_count_byte8, string_escape_byte8, c_string_width) 1880 (string_count_byte8, string_escape_byte8, c_string_width)
1871 (strwidth, lisp_string_width, multibyte_chars_in_text): Use 1881 (strwidth, lisp_string_width, multibyte_chars_in_text):
1872 EMACS_INT for string length variables and arguments. 1882 Use EMACS_INT for string length variables and arguments.
1873 1883
1874 * character.h (parse_str_as_multibyte, str_as_multibyte) 1884 * character.h (parse_str_as_multibyte, str_as_multibyte)
1875 (parse_str_to_multibyte, str_to_multibyte, str_as_unibyte) 1885 (parse_str_to_multibyte, str_to_multibyte, str_as_unibyte)
1876 (c_string_width, strwidth, lisp_string_width): Adjust 1886 (c_string_width, strwidth, lisp_string_width):
1877 prototypes. 1887 Adjust prototypes.
1878 1888
1879 * font.c (font_intern_prop): Use EMACS_INT for string length 1889 * font.c (font_intern_prop): Use EMACS_INT for string length
1880 variables. 1890 variables.
@@ -1894,8 +1904,8 @@
1894 (allocate_string_data, compact_small_strings, Fmake_string) 1904 (allocate_string_data, compact_small_strings, Fmake_string)
1895 (Fmake_bool_vector, make_string, make_unibyte_string) 1905 (Fmake_bool_vector, make_string, make_unibyte_string)
1896 (make_multibyte_string, make_string_from_bytes) 1906 (make_multibyte_string, make_string_from_bytes)
1897 (make_specified_string_string, Fmake_list, Fmake_vector): Use 1907 (make_specified_string_string, Fmake_list, Fmake_vector):
1898 EMACS_INT for string length variables and arguments. 1908 Use EMACS_INT for string length variables and arguments.
1899 (find_string_data_in_pure, make_pure_string, make_pure_c_string) 1909 (find_string_data_in_pure, make_pure_string, make_pure_c_string)
1900 (Fpurecopy): Use EMACS_INT for string size. 1910 (Fpurecopy): Use EMACS_INT for string size.
1901 (mark_vectorlike, mark_char_table, mark_object): Use EMACS_UINT 1911 (mark_vectorlike, mark_char_table, mark_object): Use EMACS_UINT
@@ -2160,8 +2170,8 @@
2160 2170
21612010-09-04 Eli Zaretskii <eliz@gnu.org> 21712010-09-04 Eli Zaretskii <eliz@gnu.org>
2162 2172
2163 * w32uniscribe.c (uniscribe_shape): Update commentary. Don't 2173 * w32uniscribe.c (uniscribe_shape): Update commentary.
2164 try to reorder grapheme clusters, since LGSTRING should always 2174 Don't try to reorder grapheme clusters, since LGSTRING should always
2165 hold them in the logical order. 2175 hold them in the logical order.
2166 (uniscribe_encode_char, uniscribe_shape): Force ScriptShape to 2176 (uniscribe_encode_char, uniscribe_shape): Force ScriptShape to
2167 return glyph codes in the logical order. 2177 return glyph codes in the logical order.
@@ -2360,16 +2370,16 @@
2360 Do not define EMACS_HAVE_TTY_PGRP. Only define 2370 Do not define EMACS_HAVE_TTY_PGRP. Only define
2361 EMACS_GET_TTY_PGRP for !DOS_NT. 2371 EMACS_GET_TTY_PGRP for !DOS_NT.
2362 * sysdep.c: Include sysselect.h unconditionally. Do not include 2372 * sysdep.c: Include sysselect.h unconditionally. Do not include
2363 sys/ioctl.h and termios.h, systty.h does it. Use 2373 sys/ioctl.h and termios.h, systty.h does it.
2364 HAVE_SYS_UTSNAME_H instead of USG as an include guard. 2374 Use HAVE_SYS_UTSNAME_H instead of USG as an include guard.
2365 (init_baud_rate): Remove HAVE_TERMIO code. 2375 (init_baud_rate): Remove HAVE_TERMIO code.
2366 (child_setup_tty): Remove HAVE_TERMIO code. 2376 (child_setup_tty): Remove HAVE_TERMIO code.
2367 (emacs_get_tty, emacs_set_tty): Remove HAVE_TERMIO, HAVE_TCHARS 2377 (emacs_get_tty, emacs_set_tty): Remove HAVE_TERMIO, HAVE_TCHARS
2368 and HAVE_LTCHARS code. Use !DOS_NT instead of HAVE_TCATTR. 2378 and HAVE_LTCHARS code. Use !DOS_NT instead of HAVE_TCATTR.
2369 (new_ltchars, new_tchars): Remove, unused. 2379 (new_ltchars, new_tchars): Remove, unused.
2370 (init_sys_modes): Remove HAVE_TERMIO, HAVE_TCHARS and HAVE_LTCHARS 2380 (init_sys_modes): Remove HAVE_TERMIO, HAVE_TCHARS and HAVE_LTCHARS
2371 code. Remove special casing for __mips__, it was a no-op. Remove 2381 code. Remove special casing for __mips__, it was a no-op.
2372 HAVE_TCATTR conditional, it is implied by HAVE_TERMIOS. 2382 Remove HAVE_TCATTR conditional, it is implied by HAVE_TERMIOS.
2373 (init_sys_modes): Remove HPUX special case. 2383 (init_sys_modes): Remove HPUX special case.
2374 * process.c: Include stdlib.h unconditionally. Do not include 2384 * process.c: Include stdlib.h unconditionally. Do not include
2375 fcntl.h, systty.h does it. Remove conditional code for 2385 fcntl.h, systty.h does it. Remove conditional code for
@@ -3093,8 +3103,8 @@
3093 (initial_argv, last_nonmenu_event, load_in_progress) 3103 (initial_argv, last_nonmenu_event, load_in_progress)
3094 (noninteractive_need_newline, scroll_margin): Add declarations. 3104 (noninteractive_need_newline, scroll_margin): Add declarations.
3095 3105
3096 * keyboard.h (xmalloc_widget_value, digest_single_submenu): Remove 3106 * keyboard.h (xmalloc_widget_value, digest_single_submenu):
3097 declarations, menu.h has them. 3107 Remove declarations, menu.h has them.
3098 (QCbutton, QCtoggle, QCradio, QClabel, extra_keyboard_modifiers) 3108 (QCbutton, QCtoggle, QCradio, QClabel, extra_keyboard_modifiers)
3099 (Vinput_method_function, Qinput_method_function) 3109 (Vinput_method_function, Qinput_method_function)
3100 (Qevent_symbol_element_mask, last_event_timestamp): 3110 (Qevent_symbol_element_mask, last_event_timestamp):
@@ -3401,8 +3411,8 @@
3401 3411
3402 * term.c (Qspace, QCalign_to, QCwidth): Remove declarations. 3412 * term.c (Qspace, QCalign_to, QCwidth): Remove declarations.
3403 (encode_terminal_code, produce_composite_glyph): Remove unused variables. 3413 (encode_terminal_code, produce_composite_glyph): Remove unused variables.
3404 (set_tty_color_mode, term_mouse_highlight, term_get_fkeys): Remove 3414 (set_tty_color_mode, term_mouse_highlight, term_get_fkeys):
3405 local extern declarations. 3415 Remove local extern declarations.
3406 3416
3407 * xmenu.c: Do not included lwlib.h, not needed. 3417 * xmenu.c: Do not included lwlib.h, not needed.
3408 3418
@@ -3767,8 +3777,8 @@
3767 (cvt_pixel_dtor, x_window_to_menu_bar, xt_action_hook) 3777 (cvt_pixel_dtor, x_window_to_menu_bar, xt_action_hook)
3768 (xaw_jump_callback, xaw_scroll_callback) 3778 (xaw_jump_callback, xaw_scroll_callback)
3769 (x_create_toolkit_scroll_bar, x_set_toolkit_scroll_bar_thumb) 3779 (x_create_toolkit_scroll_bar, x_set_toolkit_scroll_bar_thumb)
3770 (x_wm_set_size_hint, x_activate_timeout_atimer): Convert 3780 (x_wm_set_size_hint, x_activate_timeout_atimer):
3771 definitions to standard C. 3781 Convert definitions to standard C.
3772 * xmenu.c (menubar_id_to_frame, popup_get_selection) 3782 * xmenu.c (menubar_id_to_frame, popup_get_selection)
3773 (popup_activate_callback, popup_deactivate_callback) 3783 (popup_activate_callback, popup_deactivate_callback)
3774 (menu_highlight_callback, menubar_selection_callback) 3784 (menu_highlight_callback, menubar_selection_callback)
@@ -3881,7 +3891,7 @@
3881 (Ffont_put): Accept font-entity and font-object too. 3891 (Ffont_put): Accept font-entity and font-object too.
3882 (Ffont_get_glyhphs): Renamed from Fget_font_glyphs. Arguments and 3892 (Ffont_get_glyhphs): Renamed from Fget_font_glyphs. Arguments and
3883 return value changed. 3893 return value changed.
3884 (syms_of_font): Adjusted for the above change. 3894 (syms_of_font): Adjust for the above change.
3885 3895
38862010-07-11 Andreas Schwab <schwab@linux-m68k.org> 38962010-07-11 Andreas Schwab <schwab@linux-m68k.org>
3887 3897
@@ -3972,8 +3982,8 @@
3972 3982
3973 * frame.c (make_frame): Initialize menu_bar_lines and 3983 * frame.c (make_frame): Initialize menu_bar_lines and
3974 tool_bar_lines members. 3984 tool_bar_lines members.
3975 (make_initial_frame, make_terminal_frame): Initialize 3985 (make_initial_frame, make_terminal_frame):
3976 menu_bar_lines using value of menu-bar-mode. 3986 Initialize menu_bar_lines using value of menu-bar-mode.
3977 3987
3978 * msdos.c (IT_set_frame_parameters): Don't set menu-bar-lines. 3988 * msdos.c (IT_set_frame_parameters): Don't set menu-bar-lines.
3979 3989
@@ -4421,8 +4431,8 @@
4421 * xsmfns.c (SSDATA): New macro. 4431 * xsmfns.c (SSDATA): New macro.
4422 (smc_save_yourself_CB, x_session_initialize): Use SSDATA for strings 4432 (smc_save_yourself_CB, x_session_initialize): Use SSDATA for strings
4423 passed to strlen/strcpy/strcat. 4433 passed to strlen/strcpy/strcat.
4424 (create_client_leader_window): Surround with #ifndef USE_GTK. Cast 4434 (create_client_leader_window): Surround with #ifndef USE_GTK.
4425 7:th arg to XChangeProperty to (unsigned char *). 4435 Cast 7:th arg to XChangeProperty to (unsigned char *).
4426 4436
4427 * xsettings.c (something_changedCB, parse_settings) 4437 * xsettings.c (something_changedCB, parse_settings)
4428 (apply_xft_settings): Reformat prototype. 4438 (apply_xft_settings): Reformat prototype.
@@ -4580,8 +4590,8 @@
4580 4590
4581 * msdos.c (IT_set_frame_parameters): Fix setting of colors in 4591 * msdos.c (IT_set_frame_parameters): Fix setting of colors in
4582 frames other than the initial one. Fix reversal of colors when 4592 frames other than the initial one. Fix reversal of colors when
4583 `reverse' is specified in the frame parameters. Call 4593 `reverse' is specified in the frame parameters.
4584 update_face_from_frame_parameter instead of 4594 Call update_face_from_frame_parameter instead of
4585 internal-set-lisp-face-attribute. Initialize screen colors from 4595 internal-set-lisp-face-attribute. Initialize screen colors from
4586 initial_screen_colors[] when f->default_face_done_p is zero, 4596 initial_screen_colors[] when f->default_face_done_p is zero,
4587 instead of depending on being called with default-frame-alist as 4597 instead of depending on being called with default-frame-alist as
@@ -4766,8 +4776,8 @@
4766 4776
47672010-06-30 Chong Yidong <cyd@stupidchicken.com> 47772010-06-30 Chong Yidong <cyd@stupidchicken.com>
4768 4778
4769 * frame.c (get_future_frame_param, Fmake_terminal_frame): Don't 4779 * frame.c (get_future_frame_param, Fmake_terminal_frame):
4770 check default-frame-alist. 4780 Don't check default-frame-alist.
4771 4781
47722010-06-30 Andreas Schwab <schwab@linux-m68k.org> 47822010-06-30 Andreas Schwab <schwab@linux-m68k.org>
4773 4783
@@ -4859,8 +4869,8 @@
4859 (Bug#6526). 4869 (Bug#6526).
4860 4870
4861 * xterm.h (gtk_widget_get_window, gtk_widget_get_mapped) 4871 * xterm.h (gtk_widget_get_window, gtk_widget_get_mapped)
4862 (gtk_adjustment_get_page_size, gtk_adjustment_get_upper): New 4872 (gtk_adjustment_get_page_size, gtk_adjustment_get_upper):
4863 defines based on what configure finds. 4873 New defines based on what configure finds.
4864 4874
4865 * xterm.c (XTflash): Use gtk_widget_get_window. 4875 * xterm.c (XTflash): Use gtk_widget_get_window.
4866 (xg_scroll_callback): Use gtk_adjustment_get_upper and 4876 (xg_scroll_callback): Use gtk_adjustment_get_upper and
@@ -4874,8 +4884,8 @@
4874 * gtkutil.h: Replace HAVE_GTK_FILE_BOTH with 4884 * gtkutil.h: Replace HAVE_GTK_FILE_BOTH with
4875 HAVE_GTK_FILE_SELECTION_NEW. 4885 HAVE_GTK_FILE_SELECTION_NEW.
4876 4886
4877 * gtkutil.c (xg_display_open, xg_display_close): Remove 4887 * gtkutil.c (xg_display_open, xg_display_close):
4878 HAVE_GTK_MULTIDISPLAY, it is always defined. 4888 Remove HAVE_GTK_MULTIDISPLAY, it is always defined.
4879 (xg_display_open): Return type is void. 4889 (xg_display_open): Return type is void.
4880 (gtk_widget_set_has_window) 4890 (gtk_widget_set_has_window)
4881 (gtk_dialog_get_action_area, gtk_dialog_get_content_area) 4891 (gtk_dialog_get_action_area, gtk_dialog_get_content_area)
@@ -4884,8 +4894,8 @@
4884 (gtk_adjustment_get_step_increment): #define these if not found 4894 (gtk_adjustment_get_step_increment): #define these if not found
4885 by configure. 4895 by configure.
4886 (remove_submenu): New define based on Gtk+ version. 4896 (remove_submenu): New define based on Gtk+ version.
4887 (xg_set_cursor, xg_frame_resized, xg_event_is_for_scrollbar): Use 4897 (xg_set_cursor, xg_frame_resized, xg_event_is_for_scrollbar):
4888 gtk_widget_get_window. 4898 Use gtk_widget_get_window.
4889 (xg_frame_resized, xg_update_frame_menubar): Use gtk_widget_get_mapped. 4899 (xg_frame_resized, xg_update_frame_menubar): Use gtk_widget_get_mapped.
4890 (xg_create_frame_widgets): Use gtk_widget_set_has_window. 4900 (xg_create_frame_widgets): Use gtk_widget_set_has_window.
4891 (create_dialog): Use gtk_dialog_get_action_area and 4901 (create_dialog): Use gtk_dialog_get_action_area and
@@ -4893,10 +4903,10 @@
4893 (xg_uses_old_file_dialog, xg_get_file_name): Remove HAVE_GTK_FILE_BOTH 4903 (xg_uses_old_file_dialog, xg_get_file_name): Remove HAVE_GTK_FILE_BOTH
4894 and HAVE_GTK_FILE_CHOOSER_DIALOG_NEW. File chooser is always 4904 and HAVE_GTK_FILE_CHOOSER_DIALOG_NEW. File chooser is always
4895 available, so checking for HAVE_GTK_FILE_SELECTION_NEW is enough. 4905 available, so checking for HAVE_GTK_FILE_SELECTION_NEW is enough.
4896 (xg_update_menubar, xg_update_submenu, xg_show_toolbar_item): Use 4906 (xg_update_menubar, xg_update_submenu, xg_show_toolbar_item):
4897 g_object_ref and g_object_unref. 4907 Use g_object_ref and g_object_unref.
4898 (xg_update_menu_item, xg_tool_bar_menu_proxy): Use 4908 (xg_update_menu_item, xg_tool_bar_menu_proxy):
4899 gtk_widget_get_sensitive. 4909 Use gtk_widget_get_sensitive.
4900 (xg_update_submenu): Use remove_submenu. 4910 (xg_update_submenu): Use remove_submenu.
4901 (xg_update_scrollbar_pos): Don't use GtkFixedChild, use child 4911 (xg_update_scrollbar_pos): Don't use GtkFixedChild, use child
4902 properties instead to get old x and y position. 4912 properties instead to get old x and y position.
@@ -5429,8 +5439,8 @@
5429 Move static/dynamic dependency stuff to deps.mk/autodeps.mk. 5439 Move static/dynamic dependency stuff to deps.mk/autodeps.mk.
5430 * deps.mk, autodeps.mk: New files, extracted from Makefile.in. 5440 * deps.mk, autodeps.mk: New files, extracted from Makefile.in.
5431 5441
5432 * bidi.c (bidi_cache_shrink, bidi_cache_iterator_state): Fix 5442 * bidi.c (bidi_cache_shrink, bidi_cache_iterator_state):
5433 reallocation of the cache. (Bug#6210) 5443 Fix reallocation of the cache. (Bug#6210)
5434 5444
54352010-05-19 Glenn Morris <rgm@gnu.org> 54452010-05-19 Glenn Morris <rgm@gnu.org>
5436 5446
@@ -6137,8 +6147,8 @@
6137 Reduce CPP usage. 6147 Reduce CPP usage.
6138 * Makefile.in (LIB_X11_LIB): Remove, inline in the only user. 6148 * Makefile.in (LIB_X11_LIB): Remove, inline in the only user.
6139 (obj): Use autoconf for unexec instead of cpp. 6149 (obj): Use autoconf for unexec instead of cpp.
6140 (C_SWITCH_SYSTEM, C_SWITCH_MACHINE, C_SWITCH_X_SITE): Remove 6150 (C_SWITCH_SYSTEM, C_SWITCH_MACHINE, C_SWITCH_X_SITE):
6141 definitions and undefs. Inline definitions in the only user. 6151 Remove definitions and undefs. Inline definitions in the only user.
6142 (ALL_CFLAGS): Substitute C_SWITCH_X_SYSTEM using autoconf. 6152 (ALL_CFLAGS): Substitute C_SWITCH_X_SYSTEM using autoconf.
6143 6153
61442010-04-27 Glenn Morris <rgm@gnu.org> 61542010-04-27 Glenn Morris <rgm@gnu.org>
@@ -6249,8 +6259,8 @@
6249 the only user: s/unixware.h. 6259 the only user: s/unixware.h.
6250 * ecrt0.c: Remove #ifndef static. Inline CRT0_DUMMIES definition 6260 * ecrt0.c: Remove #ifndef static. Inline CRT0_DUMMIES definition
6251 from m/intel386.h. 6261 from m/intel386.h.
6252 * s/unixware.h (LOAD_AVE_TYPE, LOAD_AVE_CVT, FSCALE): Definitions 6262 * s/unixware.h (LOAD_AVE_TYPE, LOAD_AVE_CVT, FSCALE):
6253 moved here from m/intel386.h. 6263 Definitions moved here from m/intel386.h.
6254 6264
6255 * m/mips.h: Remove #if 0 code. 6265 * m/mips.h: Remove #if 0 code.
6256 6266
@@ -6332,14 +6342,14 @@
6332 HAVE_XFT. 6342 HAVE_XFT.
6333 (something_changedCB): store_font_changed_event is now 6343 (something_changedCB): store_font_changed_event is now
6334 store_config_changed_event. 6344 store_config_changed_event.
6335 (parse_settings): Rename from parse_xft_settings. Read 6345 (parse_settings): Rename from parse_xft_settings.
6336 non-xft xsettings outside #ifdef HAVE_XFT. 6346 Read non-xft xsettings outside #ifdef HAVE_XFT.
6337 (read_settings): Renamed from read_xft_settings. 6347 (read_settings): Renamed from read_xft_settings.
6338 (apply_xft_settings): Take current settings as parameter. Do not 6348 (apply_xft_settings): Take current settings as parameter. Do not
6339 call read_(xft)_settings. 6349 call read_(xft)_settings.
6340 (read_and_apply_settings): New function. 6350 (read_and_apply_settings): New function.
6341 (xft_settings_event): Do non-xft stuff out of HAVE_XFT. Call 6351 (xft_settings_event): Do non-xft stuff out of HAVE_XFT.
6342 read_and_apply_settings if there are settings to be read. 6352 Call read_and_apply_settings if there are settings to be read.
6343 (init_xsettings): Renamed from init_xfd_settings. 6353 (init_xsettings): Renamed from init_xfd_settings.
6344 Call read_and_apply_settings unconditionally. 6354 Call read_and_apply_settings unconditionally.
6345 (xsettings_initialize): Call init_xsettings. 6355 (xsettings_initialize): Call init_xsettings.
@@ -6467,19 +6477,19 @@
6467 6477
6468 * xdisp.c [HAVE_WINDOW_SYSTEM]: Add prototype for 6478 * xdisp.c [HAVE_WINDOW_SYSTEM]: Add prototype for
6469 append_stretch_glyph. 6479 append_stretch_glyph.
6470 (set_cursor_from_row) <cursor_x>: Remove unused variable. Fix 6480 (set_cursor_from_row) <cursor_x>: Remove unused variable.
6471 off-by-one error in computing x at end of text in the row. 6481 Fix off-by-one error in computing x at end of text in the row.
6472 (append_stretch_glyph): In reversed row, prepend the glyph rather 6482 (append_stretch_glyph): In reversed row, prepend the glyph rather
6473 than append it. Set resolved_level and bidi_type of the glyph. 6483 than append it. Set resolved_level and bidi_type of the glyph.
6474 (extend_face_to_end_of_line): If the row is reversed, prepend a 6484 (extend_face_to_end_of_line): If the row is reversed, prepend a
6475 stretch glyph whose width is such that the rightmost glyph will be 6485 stretch glyph whose width is such that the rightmost glyph will be
6476 drawn at the right margin of the window. Fix off-by-one error on 6486 drawn at the right margin of the window. Fix off-by-one error on
6477 TTY frames in testing whether a line needs face extension. Fix 6487 TTY frames in testing whether a line needs face extension.
6478 face extension at ZV. If this is the last glyph row, use 6488 Fix face extension at ZV. If this is the last glyph row, use
6479 DEFAULT_FACE_ID, to avoid painting the rest of the window with the 6489 DEFAULT_FACE_ID, to avoid painting the rest of the window with the
6480 region face. 6490 region face.
6481 (set_cursor_from_row, display_line): Use 6491 (set_cursor_from_row, display_line):
6482 MATRIX_ROW_CONTINUATION_LINE_P instead of testing value of 6492 Use MATRIX_ROW_CONTINUATION_LINE_P instead of testing value of
6483 row->continuation_lines_width. 6493 row->continuation_lines_width.
6484 (next_element_from_buffer): Don't call bidi_paragraph_init if we 6494 (next_element_from_buffer): Don't call bidi_paragraph_init if we
6485 are at ZV. Fixes a crash when reseated to ZV by 6495 are at ZV. Fixes a crash when reseated to ZV by
@@ -6845,8 +6855,8 @@
6845 6855
6846 * xmenu.c: include xsettings.h and xlwmenu.h if USE_LUCID. 6856 * xmenu.c: include xsettings.h and xlwmenu.h if USE_LUCID.
6847 (apply_systemfont_to_menu): New function. 6857 (apply_systemfont_to_menu): New function.
6848 (set_frame_menubar, create_and_show_popup_menu): Call 6858 (set_frame_menubar, create_and_show_popup_menu):
6849 apply_systemfont_to_menu. 6859 Call apply_systemfont_to_menu.
6850 6860
68512010-04-07 Jan Djärv <jan.h.d@swipnet.se> 68612010-04-07 Jan Djärv <jan.h.d@swipnet.se>
6852 6862
@@ -6874,8 +6884,8 @@
6874 6884
68752010-04-03 Eli Zaretskii <eliz@gnu.org> 68852010-04-03 Eli Zaretskii <eliz@gnu.org>
6876 6886
6877 * bidi.c (bidi_resolve_explicit, bidi_level_of_next_char): Check 6887 * bidi.c (bidi_resolve_explicit, bidi_level_of_next_char):
6878 bidi_it->bytepos against ZV_BYTE instead of bidi_it->ch against 6888 Check bidi_it->bytepos against ZV_BYTE instead of bidi_it->ch against
6879 BIDI_EOB. Fixes infloop with vertical cursor motion at ZV. 6889 BIDI_EOB. Fixes infloop with vertical cursor motion at ZV.
6880 6890
6881 * w32fns.c (x_create_tip_frame): Copy `parms' before we modify it 6891 * w32fns.c (x_create_tip_frame): Copy `parms' before we modify it
@@ -7098,8 +7108,8 @@
7098 (prepare_desired_row): Preserve the reversed_p flag. 7108 (prepare_desired_row): Preserve the reversed_p flag.
7099 (row_equal_p): Compare the reversed_p attributes as well. 7109 (row_equal_p): Compare the reversed_p attributes as well.
7100 7110
7101 * xdisp.c (init_iterator): Initialize it->bidi_p. Call 7111 * xdisp.c (init_iterator): Initialize it->bidi_p.
7102 bidi_init_it and set it->paragraph_embedding from the current 7112 Call bidi_init_it and set it->paragraph_embedding from the current
7103 buffer's value of bidi_paragraph_direction. 7113 buffer's value of bidi_paragraph_direction.
7104 (reseat_1): Initialize bidi_it.first_elt. 7114 (reseat_1): Initialize bidi_it.first_elt.
7105 (set_iterator_to_next, next_element_from_buffer): Use the value of 7115 (set_iterator_to_next, next_element_from_buffer): Use the value of
@@ -7110,8 +7120,8 @@
7110 (next_element_from_buffer): If bidi_it.first_elt is set, 7120 (next_element_from_buffer): If bidi_it.first_elt is set,
7111 initialize paragraph direction and find the first character to 7121 initialize paragraph direction and find the first character to
7112 display in the visual order. If reseated to a middle of a line, 7122 display in the visual order. If reseated to a middle of a line,
7113 prime the bidi iterator starting at the line's beginning. Handle 7123 prime the bidi iterator starting at the line's beginning.
7114 the situation where we overstepped stop_charpos due to 7124 Handle the situation where we overstepped stop_charpos due to
7115 non-linearity of the bidi iteration. Likewise for when we back up 7125 non-linearity of the bidi iteration. Likewise for when we back up
7116 beyond the previous stop_charpos. When moving across stop_charpos, 7126 beyond the previous stop_charpos. When moving across stop_charpos,
7117 record it in prev_stop. 7127 record it in prev_stop.
@@ -7132,8 +7142,8 @@
7132 now EMACS_INT; all callers changed. 7142 now EMACS_INT; all callers changed.
7133 (set_cursor_from_row): Rewritten to support bidirectional text and 7143 (set_cursor_from_row): Rewritten to support bidirectional text and
7134 reversed glyph rows. 7144 reversed glyph rows.
7135 (text_outside_line_unchanged_p, try_window_id): Disable 7145 (text_outside_line_unchanged_p, try_window_id):
7136 optimizations if we are reordering bidirectional text and the 7146 Disable optimizations if we are reordering bidirectional text and the
7137 paragraph direction can be affected by the change. 7147 paragraph direction can be affected by the change.
7138 (append_glyph, append_composite_glyph) 7148 (append_glyph, append_composite_glyph)
7139 (produce_image_glyph, append_stretch_glyph): Set the 7149 (produce_image_glyph, append_stretch_glyph): Set the
@@ -9286,8 +9296,8 @@
92862009-09-18 Adrian Robert <Adrian.B.Robert@gmail.com> 92962009-09-18 Adrian Robert <Adrian.B.Robert@gmail.com>
9287 9297
9288 * emacs.c (inhibit_x_resources): Update doc string for NS. 9298 * emacs.c (inhibit_x_resources): Update doc string for NS.
9289 (main) [HAVE_NS]: Don't process --no-init-file option. Remove 9299 (main) [HAVE_NS]: Don't process --no-init-file option.
9290 legacy code for -NXHost. Fix error printf in daemon case. 9300 Remove legacy code for -NXHost. Fix error printf in daemon case.
9291 9301
9292 * nsterm.h (ns_no_defaults): Remove. 9302 * nsterm.h (ns_no_defaults): Remove.
9293 9303
@@ -9296,8 +9306,8 @@
9296 (ns_use_qd_smoothing): Remove legacy variable. 9306 (ns_use_qd_smoothing): Remove legacy variable.
9297 (EmacsView-windowShouldZoom:): Set frame left_pos, top_pos and 9307 (EmacsView-windowShouldZoom:): Set frame left_pos, top_pos and
9298 don't update the NSWindow itself. 9308 don't update the NSWindow itself.
9299 (EmacsView-windowWillUseStandardFrame:defaultFrame:): Improve 9309 (EmacsView-windowWillUseStandardFrame:defaultFrame:):
9300 state detection and store user rect ourselves. (Bug #3581) 9310 Improve state detection and store user rect ourselves. (Bug #3581)
9301 9311
9302 * nsfont.m (nsfont_draw) [NS_IMPL_COCOA]: Don't use 9312 * nsfont.m (nsfont_draw) [NS_IMPL_COCOA]: Don't use
9303 ns_use_qd_smoothing. 9313 ns_use_qd_smoothing.
@@ -9600,8 +9610,8 @@
96002009-08-21 Adrian Robert <Adrian.B.Robert@gmail.com> 96102009-08-21 Adrian Robert <Adrian.B.Robert@gmail.com>
9601 9611
9602 * nsterm.m (ns_get_color): Update documentation properly for last 9612 * nsterm.m (ns_get_color): Update documentation properly for last
9603 change, and clean up loose ends in the code left by it. Fix 9613 change, and clean up loose ends in the code left by it.
9604 longstanding bug with 16-bit hex parsing, and add support for 9614 Fix longstanding bug with 16-bit hex parsing, and add support for
9605 yet another X11 format (rgb:r/g/b) for compatibility. 9615 yet another X11 format (rgb:r/g/b) for compatibility.
9606 * nsfns.m (EmacsDialogPanel-runDialogAt): Add declaration of 9616 * nsfns.m (EmacsDialogPanel-runDialogAt): Add declaration of
9607 timer_check() to avoid crash on Leopard/PPC. Bug #2154. 9617 timer_check() to avoid crash on Leopard/PPC. Bug #2154.
@@ -11496,8 +11506,8 @@
11496 (Fdefine_coding_system_internal): Likewise. 11506 (Fdefine_coding_system_internal): Likewise.
11497 (setup_coding_system): Likewise. Remove unneeded casts. 11507 (setup_coding_system): Likewise. Remove unneeded casts.
11498 (detect_coding_iso_2022): Compare Viso_2022_charset_list with 11508 (detect_coding_iso_2022): Compare Viso_2022_charset_list with
11499 CODING_ATTR_CHARSET_LIST, not CODING_ATTR_SAFE_CHARSETS. Remove 11509 CODING_ATTR_CHARSET_LIST, not CODING_ATTR_SAFE_CHARSETS.
11500 unneeded casts. 11510 Remove unneeded casts.
11501 11511
11502 * insdel.c (del_range_2): Don't modify gap contents when called 11512 * insdel.c (del_range_2): Don't modify gap contents when called
11503 from decode_coding_object. (Bug#1809) 11513 from decode_coding_object. (Bug#1809)
@@ -11510,8 +11520,8 @@
11510 11520
11511 * lisp.h: Define Qfont_spec, Qfont_entity, Qfont_object extern. 11521 * lisp.h: Define Qfont_spec, Qfont_entity, Qfont_object extern.
11512 11522
11513 * font.c (Qfont_spec, Qfont_entity, Qfont_object): Definitions 11523 * font.c (Qfont_spec, Qfont_entity, Qfont_object):
11514 moved to data.c. 11524 Definitions moved to data.c.
11515 11525
115162009-02-20 Adrian Robert <Adrian.B.Robert@gmail.com> 115262009-02-20 Adrian Robert <Adrian.B.Robert@gmail.com>
11517 11527
@@ -12527,8 +12537,8 @@
12527 here; it will be done in init_frame_faces. 12537 here; it will be done in init_frame_faces.
12528 12538
12529 * xterm.h (struct xim_inst_t): Definition moved from xterm.c. 12539 * xterm.h (struct xim_inst_t): Definition moved from xterm.c.
12530 (struct x_display_info): Remove unused member null_pixel. New 12540 (struct x_display_info): Remove unused member null_pixel.
12531 member xim_callback_data. 12541 New member xim_callback_data.
12532 12542
12533 * xterm.c (struct xim_inst_t): Definition moved to xterm.h. 12543 * xterm.c (struct xim_inst_t): Definition moved to xterm.h.
12534 (xim_initialize): Save pointer to callback function data. 12544 (xim_initialize): Save pointer to callback function data.
@@ -12553,8 +12563,8 @@
12553 12563
125542008-12-12 Jason Rumney <jasonr@gnu.org> 125642008-12-12 Jason Rumney <jasonr@gnu.org>
12555 12565
12556 * w32fns.c (x_display_info_for_name, Fx_open_connection): Set 12566 * w32fns.c (x_display_info_for_name, Fx_open_connection):
12557 Vwindow_system_version to the real w32 major version. 12567 Set Vwindow_system_version to the real w32 major version.
12558 12568
125592008-12-12 Dan Nicolaescu <dann@ics.uci.edu> 125692008-12-12 Dan Nicolaescu <dann@ics.uci.edu>
12560 12570
@@ -12804,7 +12814,7 @@
12804 (set_category_set): Extern it. 12814 (set_category_set): Extern it.
12805 12815
12806 * category.c (hash_get_category_set): New function. 12816 * category.c (hash_get_category_set): New function.
12807 (Fmodify_category_entry): Adjusted for the change of 12817 (Fmodify_category_entry): Adjust for the change of
12808 char_table_ref_and_range. Call hash_get_category_set to get a 12818 char_table_ref_and_range. Call hash_get_category_set to get a
12809 category set to store in the table. 12819 category set to store in the table.
12810 12820
@@ -12822,8 +12832,8 @@
12822 (SET_TEMP_CHARSET_WORK_ENCODER, GET_TEMP_CHARSET_WORK_ENCODER) 12832 (SET_TEMP_CHARSET_WORK_ENCODER, GET_TEMP_CHARSET_WORK_ENCODER)
12823 (SET_TEMP_CHARSET_WORK_DECODER, GET_TEMP_CHARSET_WORK_DECODER): 12833 (SET_TEMP_CHARSET_WORK_DECODER, GET_TEMP_CHARSET_WORK_DECODER):
12824 New macros. 12834 New macros.
12825 (load_charset_map): Meaning of control_flag changed. If 12835 (load_charset_map): Meaning of control_flag changed.
12826 inhibit_load_charset_map is nonzero, setup a table in 12836 If inhibit_load_charset_map is nonzero, setup a table in
12827 temp_charset_work. 12837 temp_charset_work.
12828 (load_charset): New argument control_flag. 12838 (load_charset): New argument control_flag.
12829 (map_charset_for_dump): New function. 12839 (map_charset_for_dump): New function.
@@ -12842,18 +12852,18 @@
12842 (syms_of_charset): Make `inhibit-load-charset-map' a Lisp 12852 (syms_of_charset): Make `inhibit-load-charset-map' a Lisp
12843 variable. 12853 variable.
12844 12854
12845 * chartab.c (sub_char_table_ref_and_range): Adjusted for the 12855 * chartab.c (sub_char_table_ref_and_range): Adjust for the
12846 change of char_table_ref_and_range. 12856 change of char_table_ref_and_range.
12847 (char_table_ref_and_range): Change the meaning of argument FROM 12857 (char_table_ref_and_range): Change the meaning of argument FROM
12848 and TO. Now the caller must provide initial values for *FROM 12858 and TO. Now the caller must provide initial values for *FROM
12849 and *TO. 12859 and *TO.
12850 12860
12851 * fontset.c (fontset_add): Adjusted for the change of 12861 * fontset.c (fontset_add): Adjust for the change of
12852 char_table_ref_and_range. 12862 char_table_ref_and_range.
12853 (fontset_get_font_group): Likewise. 12863 (fontset_get_font_group): Likewise.
12854 (Ffontset_info): Likewise. 12864 (Ffontset_info): Likewise.
12855 12865
12856 * keymap.c (describe_vector): Adjusted for the change of 12866 * keymap.c (describe_vector): Adjust for the change of
12857 char_table_ref_and_range. For char-table, put boundary between 12867 char_table_ref_and_range. For char-table, put boundary between
12858 non-ASCII and 8-bit characters. 12868 non-ASCII and 8-bit characters.
12859 12869
@@ -14667,8 +14677,8 @@
14667 14677
14668 * s/darwin.h: Add #define DARWIN_OS. Get rid of C_SWITCH_SYSTEM def. 14678 * s/darwin.h: Add #define DARWIN_OS. Get rid of C_SWITCH_SYSTEM def.
14669 Change LIBS_MACGUI to LIBS_NSGUI. Move temacs-conditionalized defs 14679 Change LIBS_MACGUI to LIBS_NSGUI. Move temacs-conditionalized defs
14670 closer to C_SWITCH_SYSTEM_TEMACS so usage is understood. Expand 14680 closer to C_SWITCH_SYSTEM_TEMACS so usage is understood.
14671 comment on NO_SOCK_SIGIO. 14681 Expand comment on NO_SOCK_SIGIO.
14672 14682
146732008-08-03 Chong Yidong <cyd@stupidchicken.com> 146832008-08-03 Chong Yidong <cyd@stupidchicken.com>
14674 14684
@@ -15660,8 +15670,8 @@
15660 15670
156612008-07-15 Chris Hall <chris@web.workinglinux.com> (tiny change) 156712008-07-15 Chris Hall <chris@web.workinglinux.com> (tiny change)
15662 15672
15663 * callproc.c (set_initial_environment): Initialize 15673 * callproc.c (set_initial_environment):
15664 Vprocess_environment under CANNOT_DUMP (fixes crash when 15674 Initialize Vprocess_environment under CANNOT_DUMP (fixes crash when
15665 batch-compiling for bootstrap). 15675 batch-compiling for bootstrap).
15666 15676
156672008-07-15 Chris Hall <chris@web.workinglinux.com> (tiny change) 156772008-07-15 Chris Hall <chris@web.workinglinux.com> (tiny change)
@@ -16077,8 +16087,8 @@
16077 16087
16078 * xftfont.c (struct xftfont_info): New member ft_size. Make the 16088 * xftfont.c (struct xftfont_info): New member ft_size. Make the
16079 member order compatible with struct ftfont_info. 16089 member order compatible with struct ftfont_info.
16080 (xftfont_open): Add FC_CHARSET to the pattern. Set 16090 (xftfont_open): Add FC_CHARSET to the pattern.
16081 xftfont_info->ft_size. Don't unlock the face. Check BDF 16091 Set xftfont_info->ft_size. Don't unlock the face. Check BDF
16082 properties if appropriate. 16092 properties if appropriate.
16083 (xftfont_close): Unlock the face. 16093 (xftfont_close): Unlock the face.
16084 (xftfont_anchor_point, xftfont_shape): Deleted. 16094 (xftfont_anchor_point, xftfont_shape): Deleted.
@@ -16504,8 +16514,8 @@
16504 truncate only if the window width is below that integer. 16514 truncate only if the window width is below that integer.
16505 (start_display, resize_mini_window, produce_stretch_glyph) 16515 (start_display, resize_mini_window, produce_stretch_glyph)
16506 (display_string, move_it_in_display_line_to): Use line_wrap. 16516 (display_string, move_it_in_display_line_to): Use line_wrap.
16507 (back_to_previous_visible_line_start, reseat_1): Reset 16517 (back_to_previous_visible_line_start, reseat_1):
16508 string_from_display_prop_p. 16518 Reset string_from_display_prop_p.
16509 (display_line): Extend default face to end of line when wrapping. 16519 (display_line): Extend default face to end of line when wrapping.
16510 16520
165112008-06-24 Kim F. Storm <storm@cua.dk> 165212008-06-24 Kim F. Storm <storm@cua.dk>
@@ -17873,8 +17883,8 @@
17873 (struct glyph_string): New member underline_position and 17883 (struct glyph_string): New member underline_position and
17874 underline_thickness. 17884 underline_thickness.
17875 (enum lface_attribute_index): Remove LFACE_AVGWIDTH_INDEX. 17885 (enum lface_attribute_index): Remove LFACE_AVGWIDTH_INDEX.
17876 (struct face): Change type of `font' to `struct font *'. Remove 17886 (struct face): Change type of `font' to `struct font *'.
17877 members `font_name', `font_info_id'. 17887 Remove members `font_name', `font_info_id'.
17878 (per_char_metric, encode_char): Delete externs. 17888 (per_char_metric, encode_char): Delete externs.
17879 (calc_pixel_width_or_height): Adjust the prototype. 17889 (calc_pixel_width_or_height): Adjust the prototype.
17880 17890
@@ -17902,8 +17912,8 @@
17902 (CHECK_FONT_GET_OBJECT): Likewise. 17912 (CHECK_FONT_GET_OBJECT): Likewise.
17903 (XFONT_SPEC, XFONT_ENTITY, XFONT_OBJECT, XSETFONT): New macros. 17913 (XFONT_SPEC, XFONT_ENTITY, XFONT_OBJECT, XSETFONT): New macros.
17904 (PT_PER_INCH, POINT_TO_PIXEL, PIXEL_TO_POINT): Moved from font.h. 17914 (PT_PER_INCH, POINT_TO_PIXEL, PIXEL_TO_POINT): Moved from font.h.
17905 (struct font_driver): New members case_sensitive anc check. Type 17915 (struct font_driver): New members case_sensitive anc check.
17906 of the member list and open changed. 17916 Type of the member list and open changed.
17907 (enable_font_backend, font_symbolic_weight, font_symbolic_slant) 17917 (enable_font_backend, font_symbolic_weight, font_symbolic_slant)
17908 (font_symbolic_width, font_find_object, font_get_spec) 17918 (font_symbolic_width, font_find_object, font_get_spec)
17909 (font_set_lface_from_name): Delete extern. 17919 (font_set_lface_from_name): Delete extern.
@@ -17923,7 +17933,7 @@
17923 (font_make_spec, font_make_entity, font_make_object) 17933 (font_make_spec, font_make_entity, font_make_object)
17924 (font_intern_prop): Renamed from intern_downcase. Don't downcase 17934 (font_intern_prop): Renamed from intern_downcase. Don't downcase
17925 the string. Callers changed. 17935 the string. Callers changed.
17926 (font_pixel_size): Adjusted for the format change of font-related 17936 (font_pixel_size): Adjust for the format change of font-related
17927 objects. 17937 objects.
17928 (prop_name_to_numeric, prop_numeric_to_name): Delete them. 17938 (prop_name_to_numeric, prop_numeric_to_name): Delete them.
17929 (font_style_to_value, font_style_symbolic): New function. 17939 (font_style_to_value, font_style_symbolic): New function.
@@ -17931,19 +17941,19 @@
17931 (font_registry_charsets): Use Fassoc_string instead of 17941 (font_registry_charsets): Use Fassoc_string instead of
17932 assq_no_quit. 17942 assq_no_quit.
17933 (font_prop_validate_symbol): Don't return null_string. 17943 (font_prop_validate_symbol): Don't return null_string.
17934 (font_prop_validate_style): Adjusted for the change of 17944 (font_prop_validate_style): Adjust for the change of
17935 style-related values in a font vector. 17945 style-related values in a font vector.
17936 (font_property_table): Delete entries for QClanguage and 17946 (font_property_table): Delete entries for QClanguage and
17937 QCantialias, add entries for QCavgwidth. 17947 QCantialias, add entries for QCavgwidth.
17938 (get_font_prop_index): Delete the 2nd argument FROM. 17948 (get_font_prop_index): Delete the 2nd argument FROM.
17939 (font_prop_validate): Arguments changed. 17949 (font_prop_validate): Arguments changed.
17940 (font_put_extra): Adjusted for the change of font-related objects. 17950 (font_put_extra): Adjust for the change of font-related objects.
17941 (font_expand_wildcards, font_parse_xlfd, font_unparse_xlfd) 17951 (font_expand_wildcards, font_parse_xlfd, font_unparse_xlfd)
17942 (font_parse_fcname, font_unparse_fcname) 17952 (font_parse_fcname, font_unparse_fcname)
17943 (font_prepare_composition): Likewise. 17953 (font_prepare_composition): Likewise.
17944 (font_parse_family_registry): Renamed from font_merge_old_spec. 17954 (font_parse_family_registry): Renamed from font_merge_old_spec.
17945 (otf_open): Delete the 1st arg entity. 17955 (otf_open): Delete the 1st arg entity.
17946 (font_otf_capability): Adjusted for the above change. 17956 (font_otf_capability): Adjust for the above change.
17947 (font_score): New arg alternate_families. Adjusted for the change 17957 (font_score): New arg alternate_families. Adjusted for the change
17948 of font-related objects. 17958 of font-related objects.
17949 (font_sort_entites): New arg best_only. 17959 (font_sort_entites): New arg best_only.
@@ -17952,27 +17962,27 @@
17952 (font_match_p): Check alternate families. 17962 (font_match_p): Check alternate families.
17953 (font_find_object): Delete it. 17963 (font_find_object): Delete it.
17954 (font_check_object): New function. 17964 (font_check_object): New function.
17955 (font_clear_cache): Adjusted for the change of font-related objects. 17965 (font_clear_cache): Adjust for the change of font-related objects.
17956 (font_delete_unmatched): New arg. 17966 (font_delete_unmatched): New arg.
17957 (font_list_entities): Call font_driver->list with a spec that 17967 (font_list_entities): Call font_driver->list with a spec that
17958 doesn't specify style-related properties. 17968 doesn't specify style-related properties.
17959 (font_matching_entity): Arguments changed. Caller changed. 17969 (font_matching_entity): Arguments changed. Caller changed.
17960 (font_open_entity): Adjusted for the change of font-related objects. 17970 (font_open_entity): Adjust for the change of font-related objects.
17961 (font_close_object, font_has_char, font_encode_char) 17971 (font_close_object, font_has_char, font_encode_char)
17962 (font_get_name, font_get_spec): Likewise. 17972 (font_get_name, font_get_spec): Likewise.
17963 (font_spec_from_name, font_clear_prop, font_update_lface): 17973 (font_spec_from_name, font_clear_prop, font_update_lface):
17964 New functions. 17974 New functions.
17965 (font_find_for_lface, font_open_for_lface, font_load_for_lface) 17975 (font_find_for_lface, font_open_for_lface, font_load_for_lface)
17966 (font_prepare_for_face, font_done_for_face, font_open_by_name) 17976 (font_prepare_for_face, font_done_for_face, font_open_by_name)
17967 (font_at): Adjusted for the change of font-related objects. 17977 (font_at): Adjust for the change of font-related objects.
17968 (font_range): New function. 17978 (font_range): New function.
17969 (Ffontp, Ffont_spec, Ffont_get, Ffont_put, Flist_fonts) 17979 (Ffontp, Ffont_spec, Ffont_get, Ffont_put, Flist_fonts)
17970 (Ffont_xlfd_name): Adjusted for the change of font-related objects. 17980 (Ffont_xlfd_name): Adjust for the change of font-related objects.
17971 (Fcopy_font_spec, Fmerge_font_spec): New function. 17981 (Fcopy_font_spec, Fmerge_font_spec): New function.
17972 (Ffont_family_list): Renamed from list-families. 17982 (Ffont_family_list): Renamed from list-families.
17973 (Finternal_set_font_style_table): Arguments changed. 17983 (Finternal_set_font_style_table): Arguments changed.
17974 (Ffont_fill_gstring, Ffont_shape_text, Fopen_font) 17984 (Ffont_fill_gstring, Ffont_shape_text, Fopen_font)
17975 (Ffont_drive_otf, Fquery_font, Ffont_match_p): Adjusted for the 17985 (Ffont_drive_otf, Fquery_font, Ffont_match_p): Adjust for the
17976 change of font-related objects. 17986 change of font-related objects.
17977 (syms_of_font): Delete "ifdef USE_FONT_BACKEND". DEFSYM new symbols. 17987 (syms_of_font): Delete "ifdef USE_FONT_BACKEND". DEFSYM new symbols.
17978 17988
@@ -17982,8 +17992,8 @@
17982 (enum FONT_SPEC_INDEX): Delete it. 17992 (enum FONT_SPEC_INDEX): Delete it.
17983 (font_info, list_fonts_func, load_font_func, query_font_func) 17993 (font_info, list_fonts_func, load_font_func, query_font_func)
17984 (set_frame_fontset_func, find_ccl_program_func) 17994 (set_frame_fontset_func, find_ccl_program_func)
17985 (get_font_repertory_func, new_fontset_from_font_name): Delete 17995 (get_font_repertory_func, new_fontset_from_font_name):
17986 externs. 17996 Delete externs.
17987 (fontset_from_font_name): Extern it. 17997 (fontset_from_font_name): Extern it.
17988 (FS_LOAD_FONT, FONT_INFO_ID, FONT_INFO_FROM_ID) 17998 (FS_LOAD_FONT, FONT_INFO_ID, FONT_INFO_FROM_ID)
17989 (FONT_INFO_FROM_FACE): Deleted. 17999 (FONT_INFO_FROM_FACE): Deleted.
@@ -18013,7 +18023,7 @@
18013 (face_for_char): Likewise. Call face_for_char with font_object. 18023 (face_for_char): Likewise. Call face_for_char with font_object.
18014 (fs_load_font): Delete. Delete #pragma surrounding it. 18024 (fs_load_font): Delete. Delete #pragma surrounding it.
18015 (fs_query_fontset): Use strcasecmp instead of strcmp. 18025 (fs_query_fontset): Use strcasecmp instead of strcmp.
18016 (generate_ascii_font_name): Adjusted for the format change of 18026 (generate_ascii_font_name): Adjust for the format change of
18017 font-spec. 18027 font-spec.
18018 (Fset_fontset_font): Likewise. Use new macros to set elements of 18028 (Fset_fontset_font): Likewise. Use new macros to set elements of
18019 font-def. 18029 font-def.
@@ -18024,7 +18034,7 @@
18024 a fontset is already created for the font. FIx updating of 18034 a fontset is already created for the font. FIx updating of
18025 Vfontset_alias_alist. 18035 Vfontset_alias_alist.
18026 (fontset_ascii_font): Deleted. 18036 (fontset_ascii_font): Deleted.
18027 (Ffont_info): Adjusted for the format change of font-spec. 18037 (Ffont_info): Adjust for the format change of font-spec.
18028 (Finternal_char_font): Likewise. 18038 (Finternal_char_font): Likewise.
18029 (Ffontset_info): Likewise. 18039 (Ffontset_info): Likewise.
18030 (syms_of_fontset): Don't check load_font_func. 18040 (syms_of_fontset): Don't check load_font_func.
@@ -18040,13 +18050,13 @@
18040 (x_set_font_backend): Use FRAME_FONT macro to check if a font is 18050 (x_set_font_backend): Use FRAME_FONT macro to check if a font is
18041 already set for the frame. 18051 already set for the frame.
18042 18052
18043 * ftfont.c (ftfont_pattern_entity): Argument FRAME removed. Make 18053 * ftfont.c (ftfont_pattern_entity): Argument FRAME removed.
18044 a font-entity by font_make_entity. Use font_intern_prop instead 18054 Make a font-entity by font_make_entity. Use font_intern_prop instead
18045 of intern_downcase. Use FONT_SET_STYLE to set a style-related 18055 of intern_downcase. Use FONT_SET_STYLE to set a style-related
18046 font property. If a font is scalable, set avgwidth property to 0. 18056 font property. If a font is scalable, set avgwidth property to 0.
18047 Set font-entity property by font_put_extra. 18057 Set font-entity property by font_put_extra.
18048 (ftfont_list_generic_family): Argument SPEC and REGISTRY removed. 18058 (ftfont_list_generic_family): Argument SPEC and REGISTRY removed.
18049 (ffont_driver): Adjusted for the change of struct font_driver. 18059 (ffont_driver): Adjust for the change of struct font_driver.
18050 (ftfont_spec_pattern): New function. 18060 (ftfont_spec_pattern): New function.
18051 (ftfont_list): Return a list, not vector. 18061 (ftfont_list): Return a list, not vector.
18052 (ftfont_match): Use ftfont_spec_pattern to get a pattern. 18062 (ftfont_match): Use ftfont_spec_pattern to get a pattern.
@@ -18057,7 +18067,7 @@
18057 font property. Don't update dpyinfo->smallest_font_height and 18067 font property. Don't update dpyinfo->smallest_font_height and
18058 dpyinfo->smallest_char_width. 18068 dpyinfo->smallest_char_width.
18059 (ftfont_close): Don't free `struct font'. 18069 (ftfont_close): Don't free `struct font'.
18060 (ftfont_has_char): Adjusted for the format change of font-entity. 18070 (ftfont_has_char): Adjust for the format change of font-entity.
18061 (ftfont_encode_char, ftfont_text_extents): Likewise. 18071 (ftfont_encode_char, ftfont_text_extents): Likewise.
18062 18072
18063 * ftxfont.c (ftxfont_list): Return a list, not vector. 18073 * ftxfont.c (ftxfont_list): Return a list, not vector.
@@ -18066,10 +18076,10 @@
18066 font property. Don't update dpyinfo->smallest_font_height and 18076 font property. Don't update dpyinfo->smallest_font_height and
18067 dpyinfo->smallest_char_width. 18077 dpyinfo->smallest_char_width.
18068 (ftxfont_close): Don't decrease FRAME_X_DISPLAY_INFO (f)->n_fonts. 18078 (ftxfont_close): Don't decrease FRAME_X_DISPLAY_INFO (f)->n_fonts.
18069 (ftxfont_draw): Adjusted for the change of struct font. 18079 (ftxfont_draw): Adjust for the change of struct font.
18070 18080
18071 * image.c (image_ascent): Don't include "charset.h". Include 18081 * image.c (image_ascent): Don't include "charset.h".
18072 "character.h" and "font.h". 18082 Include "character.h" and "font.h".
18073 18083
18074 * lisp.h (enum pvec_type): New member PREV_FONT. 18084 * lisp.h (enum pvec_type): New member PREV_FONT.
18075 (Fassoc_string): EXFUN it. 18085 (Fassoc_string): EXFUN it.
@@ -18087,19 +18097,19 @@
18087 'struct font *'. 18097 'struct font *'.
18088 (get_char_face_and_encoding): Assign the whole encoding task to 18098 (get_char_face_and_encoding): Assign the whole encoding task to
18089 the `encode-char' method of a font driver. 18099 the `encode-char' method of a font driver.
18090 (fill_composite_glyph_string): Adjusted for the change of `struct 18100 (fill_composite_glyph_string): Adjust for the change of `struct
18091 face' and `struct glyph_string'. 18101 face' and `struct glyph_string'.
18092 (fill_glyph_string): Likewise. 18102 (fill_glyph_string): Likewise.
18093 (get_per_char_metric): Arguments changed. 18103 (get_per_char_metric): Arguments changed.
18094 (x_get_glyph_overhangs): Adjusted for the change of `struct face' 18104 (x_get_glyph_overhangs): Adjust for the change of `struct face'
18095 and `struct glyph_string'. 18105 and `struct glyph_string'.
18096 (produce_stretch_glyph, calc_line_height_property) 18106 (produce_stretch_glyph, calc_line_height_property)
18097 (x_produce_glyphs): Likewise. 18107 (x_produce_glyphs): Likewise.
18098 18108
18099 * xfaces.c: Throughout the file, delete all USE_FONT_BACKEND 18109 * xfaces.c: Throughout the file, delete all USE_FONT_BACKEND
18100 conditionals. Don't check enable_font_backend. Delete all codes 18110 conditionals. Don't check enable_font_backend. Delete all codes
18101 used only when USE_FONT_BACKEND is not defined. Use 18111 used only when USE_FONT_BACKEND is not defined.
18102 FONT_XXX_NAME_NUMERIC instead of face_numeric_xxx. 18112 Use FONT_XXX_NAME_NUMERIC instead of face_numeric_xxx.
18103 (QCfoundry, QCadstyle, QCregistry, QCspacing, QCsize, QCavgwidth) 18113 (QCfoundry, QCadstyle, QCregistry, QCspacing, QCsize, QCavgwidth)
18104 (Qp): Extern them. 18114 (Qp): Extern them.
18105 (clear_font_table, load_face_font, xlfd_lookup_field_contents): 18115 (clear_font_table, load_face_font, xlfd_lookup_field_contents):
@@ -18172,7 +18182,7 @@
18172 (xfont_query_font): Deleted. 18182 (xfont_query_font): Deleted.
18173 (xfont_find_ccl_program): Renamed from x_find_ccl_program and 18183 (xfont_find_ccl_program): Renamed from x_find_ccl_program and
18174 moved from xterm.c. 18184 moved from xterm.c.
18175 (xfont_driver): Adjusted for the change of struct font_driver. 18185 (xfont_driver): Adjust for the change of struct font_driver.
18176 (compare_font_names): New function. 18186 (compare_font_names): New function.
18177 (xfont_list_pattern): Sort font names case insensitively. Make 18187 (xfont_list_pattern): Sort font names case insensitively. Make
18178 font_entity by calling font_make_entity. Avoid auto-scaled fonts. 18188 font_entity by calling font_make_entity. Avoid auto-scaled fonts.
@@ -18184,16 +18194,16 @@
18184 font property. Don't update dpyinfo->smallest_font_height and 18194 font property. Don't update dpyinfo->smallest_font_height and
18185 dpyinfo->smallest_char_width. 18195 dpyinfo->smallest_char_width.
18186 (xfont_close): Don't free struct font. 18196 (xfont_close): Don't free struct font.
18187 (xfont_prepare_face): Adjusted for the change of struct font. 18197 (xfont_prepare_face): Adjust for the change of struct font.
18188 (xfont_done_face): Deleted. 18198 (xfont_done_face): Deleted.
18189 (xfont_has_char): Adjusted for the change of struct font. 18199 (xfont_has_char): Adjust for the change of struct font.
18190 (xfont_encode_char, xfont_draw): Likewise. 18200 (xfont_encode_char, xfont_draw): Likewise.
18191 (xfont_check): New function. 18201 (xfont_check): New function.
18192 18202
18193 * xftfont.c (xftfont_list): Adjusted for the change of `list' 18203 * xftfont.c (xftfont_list): Adjust for the change of `list'
18194 callback function. 18204 callback function.
18195 (xftfont_match): Adjusted for the format change of font-entity. 18205 (xftfont_match): Adjust for the format change of font-entity.
18196 (xftfont_open): Adjusted for the format change of font-entity and 18206 (xftfont_open): Adjust for the format change of font-entity and
18197 font-object. Adjusted for the change of struct font. Return a 18207 font-object. Adjusted for the change of struct font. Return a
18198 font-object. Don't update dpyinfo->smallest_font_height and 18208 font-object. Don't update dpyinfo->smallest_font_height and
18199 dpyinfo->smallest_char_width. 18209 dpyinfo->smallest_char_width.
@@ -18217,7 +18227,7 @@
18217 used only when USE_FONT_BACKEND is not defined. Don't include ccl.h. 18227 used only when USE_FONT_BACKEND is not defined. Don't include ccl.h.
18218 (x_per_char_metric, x_encode_char): Deleted. 18228 (x_per_char_metric, x_encode_char): Deleted.
18219 (x_set_cursor_gc, x_set_mouse_face_gc): Don't set GCFont. 18229 (x_set_cursor_gc, x_set_mouse_face_gc): Don't set GCFont.
18220 (x_compute_glyph_string_overhangs): Adjusted for the change of 18230 (x_compute_glyph_string_overhangs): Adjust for the change of
18221 `struct face'. 18231 `struct face'.
18222 (x_draw_glyph_string_foreground) 18232 (x_draw_glyph_string_foreground)
18223 (x_draw_composite_glyph_string_foreground): Likewise. 18233 (x_draw_composite_glyph_string_foreground): Likewise.
@@ -18229,7 +18239,7 @@
18229 (x_font_min_bounds, x_compute_min_glyph_bounds, x_load_font) 18239 (x_font_min_bounds, x_compute_min_glyph_bounds, x_load_font)
18230 (x_query_font, x_get_font_repertory): Deleted. 18240 (x_query_font, x_get_font_repertory): Deleted.
18231 (x_find_ccl_program): Renamed and moved to xfont.c. 18241 (x_find_ccl_program): Renamed and moved to xfont.c.
18232 (x_redisplay_interface): Adjusted for the change of `struct 18242 (x_redisplay_interface): Adjust for the change of `struct
18233 redisplay_interface'. 18243 redisplay_interface'.
18234 18244
18235 * w32fns.c: Throughout the file, delete all USE_FONT_BACKEND 18245 * w32fns.c: Throughout the file, delete all USE_FONT_BACKEND
@@ -18264,19 +18274,19 @@
18264 Use FONT_SET_STYLE to set a style-related font property. If a 18274 Use FONT_SET_STYLE to set a style-related font property. If a
18265 font is scalable, set avgwidth property to 0. Set font-entity 18275 font is scalable, set avgwidth property to 0. Set font-entity
18266 property by font_put_extra. 18276 property by font_put_extra.
18267 (font_matches_spec): Adjusted for the format change of font-entity. 18277 (font_matches_spec): Adjust for the format change of font-entity.
18268 (w32_weight_table, w32_decode_weight): New variables. 18278 (w32_weight_table, w32_decode_weight): New variables.
18269 (w32_encode_weight): New function. 18279 (w32_encode_weight): New function.
18270 (fill_in_logfont): Adjusted for the format change of font-spec. 18280 (fill_in_logfont): Adjust for the format change of font-spec.
18271 (w32font_full_name): Use FONT_WEIGHT_SYMBOLIC to get a symbol 18281 (w32font_full_name): Use FONT_WEIGHT_SYMBOLIC to get a symbol
18272 weight value. 18282 weight value.
18273 (w32font_driver): Adjusted for the change of struct font_driver. 18283 (w32font_driver): Adjust for the change of struct font_driver.
18274 18284
18275 * w32term.h: Throughout the file, delete all USE_FONT_BACKEND 18285 * w32term.h: Throughout the file, delete all USE_FONT_BACKEND
18276 conditionals. Don't check enable_font_backend. Surround non-used 18286 conditionals. Don't check enable_font_backend. Surround non-used
18277 code by "#ifdef OLD_FONT" and "endif". 18287 code by "#ifdef OLD_FONT" and "endif".
18278 (FONT_WIDTH, FONT_HEIGHT, FONT_BASE, FONT_DESCENT) 18288 (FONT_WIDTH, FONT_HEIGHT, FONT_BASE, FONT_DESCENT)
18279 (FONT_AVG_WIDTH): Adjusted for the change of struct font. 18289 (FONT_AVG_WIDTH): Adjust for the change of struct font.
18280 18290
18281 * w32term.c: Throughout the file, delete all USE_FONT_BACKEND 18291 * w32term.c: Throughout the file, delete all USE_FONT_BACKEND
18282 conditionals. Don't check enable_font_backend. Delete all codes 18292 conditionals. Don't check enable_font_backend. Delete all codes
@@ -18286,9 +18296,9 @@
18286 * w32uniscribe.c: Delete USE_FONT_BACKEND conditional. 18296 * w32uniscribe.c: Delete USE_FONT_BACKEND conditional.
18287 (uniscribe_open): Return value changed to font-object. 18297 (uniscribe_open): Return value changed to font-object.
18288 Adjusted for the format change of font-object. 18298 Adjusted for the format change of font-object.
18289 (uniscribe_otf_capability): Adjusted for the change of struct font. 18299 (uniscribe_otf_capability): Adjust for the change of struct font.
18290 (add_opentype_font_name_to_list): Don't downcase names. 18300 (add_opentype_font_name_to_list): Don't downcase names.
18291 (uniscribe_font_driver): Adjusted for the change of struct 18301 (uniscribe_font_driver): Adjust for the change of struct
18292 font_driver. 18302 font_driver.
18293 18303
182942008-05-13 Chong Yidong <cyd@stupidchicken.com> 183042008-05-13 Chong Yidong <cyd@stupidchicken.com>
@@ -20439,8 +20449,8 @@
20439 20449
204402008-02-01 Kenichi Handa <handa@ni.aist.go.jp> 204502008-02-01 Kenichi Handa <handa@ni.aist.go.jp>
20441 20451
20442 * coding.c (decode_coding_object, encode_coding_object): Adjust 20452 * coding.c (decode_coding_object, encode_coding_object):
20443 marker positions after conversion. 20453 Adjust marker positions after conversion.
20444 20454
20445 * lisp.h (struct Lisp_Marker): New member need_adjustment. 20455 * lisp.h (struct Lisp_Marker): New member need_adjustment.
20446 20456
@@ -21009,8 +21019,8 @@
21009 21019
210102008-02-01 Jason Rumney <jasonr@gnu.org> 210202008-02-01 Jason Rumney <jasonr@gnu.org>
21011 21021
21012 * w32term.c (x_set_glyph_string_clipping): Use 21022 * w32term.c (x_set_glyph_string_clipping):
21013 get_glyph_string_clip_rects. 21023 Use get_glyph_string_clip_rects.
21014 (x_set_glyph_string_clipping_exactly, x_draw_glyph_string): 21024 (x_set_glyph_string_clipping_exactly, x_draw_glyph_string):
21015 Adjust for the change of struct glyph_string. 21025 Adjust for the change of struct glyph_string.
21016 21026
@@ -21021,8 +21031,8 @@
21021 * xftfont.c (xftfont_draw): Adjust for the change of struct 21031 * xftfont.c (xftfont_draw): Adjust for the change of struct
21022 glyph_string. 21032 glyph_string.
21023 21033
21024 * xterm.c (x_set_glyph_string_clipping): Use 21034 * xterm.c (x_set_glyph_string_clipping):
21025 get_glyph_string_clip_rects. 21035 Use get_glyph_string_clip_rects.
21026 (x_set_glyph_string_clipping_exactly, x_draw_glyph_string): 21036 (x_set_glyph_string_clipping_exactly, x_draw_glyph_string):
21027 Adjust for the change of struct glyph_string. 21037 Adjust for the change of struct glyph_string.
21028 21038
@@ -21199,8 +21209,8 @@
21199 constant. Save QCspacing value. Save list of scripts instead of 21209 constant. Save QCspacing value. Save list of scripts instead of
21200 binary subranges. 21210 binary subranges.
21201 (w32_generic_family, logfonts_match, font_matches_spec): New functions. 21211 (w32_generic_family, logfonts_match, font_matches_spec): New functions.
21202 (add_font_entity_to_list): Use font_callback_data struct. Filter 21212 (add_font_entity_to_list): Use font_callback_data struct.
21203 unwanted fonts. 21213 Filter unwanted fonts.
21204 (add_one_font_entity_to_list): Use font_callback_data struct. 21214 (add_one_font_entity_to_list): Use font_callback_data struct.
21205 (w32_registry): Default to iso10646_1. 21215 (w32_registry): Default to iso10646_1.
21206 (fill_in_logfont): Use dpi from extra slot. Don't bother with 21216 (fill_in_logfont): Use dpi from extra slot. Don't bother with
@@ -21421,8 +21431,8 @@
21421 21431
214222008-02-01 Kenichi Handa <handa@m17n.org> 214322008-02-01 Kenichi Handa <handa@m17n.org>
21423 21433
21424 * xterm.c (x_draw_composite_glyph_string_foreground): Fix 21434 * xterm.c (x_draw_composite_glyph_string_foreground):
21425 indexing into elements of s->cmp and s->char2b. 21435 Fix indexing into elements of s->cmp and s->char2b.
21426 21436
214272008-02-01 Juanma Barranquero <lekktu@gmail.com> 214372008-02-01 Juanma Barranquero <lekktu@gmail.com>
21428 21438
@@ -21660,8 +21670,8 @@
21660 21670
21661 * font.c (font_parse_fcname, font_parse_name): Don't change :name 21671 * font.c (font_parse_fcname, font_parse_name): Don't change :name
21662 property of FONT. 21672 property of FONT.
21663 (LGSTRING_HEADER_SIZE, LGSTRING_GLYPH_SIZE, check_gstring): Define 21673 (LGSTRING_HEADER_SIZE, LGSTRING_GLYPH_SIZE, check_gstring):
21664 them unconditionally. 21674 Define them unconditionally.
21665 (font_matching_entity): New function. 21675 (font_matching_entity): New function.
21666 (font_open_by_name): Try font_matching_entity if exact match is 21676 (font_open_by_name): Try font_matching_entity if exact match is
21667 not found. 21677 not found.
@@ -21706,8 +21716,8 @@
21706 (font_prepare_composition): Set cmp->glyph_len. 21716 (font_prepare_composition): Set cmp->glyph_len.
21707 (font_open_entity): Set font->scalable. 21717 (font_open_entity): Set font->scalable.
21708 (Ffont_get): Handle :otf property. 21718 (Ffont_get): Handle :otf property.
21709 (Ffont_otf_gsub, Ffont_otf_gpos, Ffont_otf_alternates): New 21719 (Ffont_otf_gsub, Ffont_otf_gpos, Ffont_otf_alternates):
21710 functions. 21720 New functions.
21711 (Fquery_font): Use font->font.full_name. 21721 (Fquery_font): Use font->font.full_name.
21712 (syms_of_font): Defsubr Sfont_otf_gsub, Sfont_otf_gpos, and 21722 (syms_of_font): Defsubr Sfont_otf_gsub, Sfont_otf_gpos, and
21713 Sfont_otf_alternates. 21723 Sfont_otf_alternates.
@@ -21776,8 +21786,8 @@
21776 (font_at): New function. 21786 (font_at): New function.
21777 (Ffont_get): If FONT is a font-object, get entity from it. 21787 (Ffont_get): If FONT is a font-object, get entity from it.
21778 (Ffont_make_gstring): Initialize elements of glyphs with nil. 21788 (Ffont_make_gstring): Initialize elements of glyphs with nil.
21779 (Ffont_fill_gstring): Use macro LGSTRING_XXX and LGLYPH_XXX. Fix 21789 (Ffont_fill_gstring): Use macro LGSTRING_XXX and LGLYPH_XXX.
21780 range check. 21790 Fix range check.
21781 (Ffont_at): New function. 21791 (Ffont_at): New function.
21782 (syms_of_font): Defsubr Sfont_at. 21792 (syms_of_font): Defsubr Sfont_at.
21783 21793
@@ -21808,7 +21818,7 @@
218082008-02-01 Kenichi Handa <handa@m17n.org> 218182008-02-01 Kenichi Handa <handa@m17n.org>
21809 21819
21810 * font.h (LGLYPH_XOFF, LGLYPH_YOFF, LGLYPH_WIDTH, LGLYPH_WADJUST) 21820 * font.h (LGLYPH_XOFF, LGLYPH_YOFF, LGLYPH_WIDTH, LGLYPH_WADJUST)
21811 (LGLYPH_SET_WIDTH): Adjusted for the change of LGLYPH format. 21821 (LGLYPH_SET_WIDTH): Adjust for the change of LGLYPH format.
21812 (LGLYPH_ADJUSTMENT, LGLYPH_SET_ADJUSTMENT): New macros. 21822 (LGLYPH_ADJUSTMENT, LGLYPH_SET_ADJUSTMENT): New macros.
21813 21823
21814 * font.c (font_merge_old_spec): Treat '*' in foundry as a wild card. 21824 * font.c (font_merge_old_spec): Treat '*' in foundry as a wild card.
@@ -21870,8 +21880,8 @@
21870 (font_prop_validate_extra): Delete. 21880 (font_prop_validate_extra): Delete.
21871 (font_prop_validate_spacing): New function. 21881 (font_prop_validate_spacing): New function.
21872 (font_property_table): Add elements for all known properties. 21882 (font_property_table): Add elements for all known properties.
21873 (get_font_prop_index): Rename from check_font_prop_name. New 21883 (get_font_prop_index): Rename from check_font_prop_name.
21874 argument FROM. Change caller. 21884 New argument FROM. Change caller.
21875 (font_prop_validate): Validate all known properties. 21885 (font_prop_validate): Validate all known properties.
21876 (font_put_extra): Delete argument force. Change caller. 21886 (font_put_extra): Delete argument force. Change caller.
21877 (font_expand_wildcards): Make it static. Fix the way of shrinking 21887 (font_expand_wildcards): Make it static. Fix the way of shrinking
@@ -21943,8 +21953,8 @@
21943 (font_open_for_lface, font_open_by_name): Fix handling of font size. 21953 (font_open_for_lface, font_open_by_name): Fix handling of font size.
21944 (Ffont_spec): Add QCname property that contains only unknown properties. 21954 (Ffont_spec): Add QCname property that contains only unknown properties.
21945 21955
21946 * ftfont.c (ftfont_list): Use assq_no_quit, not Fassq. Don't 21956 * ftfont.c (ftfont_list): Use assq_no_quit, not Fassq.
21947 include weight in listing pattern, instead check weight of each 21957 Don't include weight in listing pattern, instead check weight of each
21948 listed font. Don't include scalable in pattern. Pay attention to 21958 listed font. Don't include scalable in pattern. Pay attention to
21949 FONT_PIXEL_SIZE_QUANTUM. 21959 FONT_PIXEL_SIZE_QUANTUM.
21950 21960
@@ -21979,8 +21989,8 @@
21979 21989
21980 * font.c (XLFD_SMALLNUM_MASK): Delete this macro. 21990 * font.c (XLFD_SMALLNUM_MASK): Delete this macro.
21981 (XLFD_LARGENUM_MASK): Delete XLFD_ENCODING_MASK from it. 21991 (XLFD_LARGENUM_MASK): Delete XLFD_ENCODING_MASK from it.
21982 (font_expand_wildcards): Fix handling ENCODING field. Avoid 21992 (font_expand_wildcards): Fix handling ENCODING field.
21983 unnecessary checks for weight, slant, and swidth. 21993 Avoid unnecessary checks for weight, slant, and swidth.
21984 (font_parse_fcname): New function. 21994 (font_parse_fcname): New function.
21985 (font_unparse_fcname): New function. 21995 (font_unparse_fcname): New function.
21986 (font_parse_name): New function. 21996 (font_parse_name): New function.
@@ -22214,8 +22224,8 @@
22214 * xfns.c [USE_FONT_BACKEND]: Include "font.h". 22224 * xfns.c [USE_FONT_BACKEND]: Include "font.h".
22215 (x_default_font_parameter) [USE_FONT_BACKEND]: New function. 22225 (x_default_font_parameter) [USE_FONT_BACKEND]: New function.
22216 (Fx_create_frame) [USE_FONT_BACKEND]: If enable_font_backend is 22226 (Fx_create_frame) [USE_FONT_BACKEND]: If enable_font_backend is
22217 nonzero, register all available font drivers. Call 22227 nonzero, register all available font drivers.
22218 x_default_font_parameter for deciding a font. 22228 Call x_default_font_parameter for deciding a font.
22219 (x_create_tip_frame) [USE_FONT_BACKEND]: Likewise. 22229 (x_create_tip_frame) [USE_FONT_BACKEND]: Likewise.
22220 22230
22221 * xterm.c [USE_FONT_BACKEND]: Include "font.h". 22231 * xterm.c [USE_FONT_BACKEND]: Include "font.h".
@@ -22259,8 +22269,8 @@
22259 22269
222602008-02-01 Kenichi Handa <handa@m17n.org> 222702008-02-01 Kenichi Handa <handa@m17n.org>
22261 22271
22262 * coding.c (DECODE_EMACS_MULE_20_RELATIVE_COMPOSITION): Fix 22272 * coding.c (DECODE_EMACS_MULE_20_RELATIVE_COMPOSITION):
22263 condition to terminate the loop. 22273 Fix condition to terminate the loop.
22264 22274
222652008-02-01 Kenichi Handa <handa@m17n.org> 222752008-02-01 Kenichi Handa <handa@m17n.org>
22266 22276
@@ -22293,8 +22303,8 @@
22293 22303
222942008-02-01 Kenichi Handa <handa@m17n.org> 223042008-02-01 Kenichi Handa <handa@m17n.org>
22295 22305
22296 * xterm.c (x_set_glyph_string_clipping_exactly): Set 22306 * xterm.c (x_set_glyph_string_clipping_exactly):
22297 src->clip_head and src->clip_tail temporarily instead of src->hl. 22307 Set src->clip_head and src->clip_tail temporarily instead of src->hl.
22298 22308
22299 * ccl.c (CCL_WRITE_STRING): Handle a flag bit for multibyte 22309 * ccl.c (CCL_WRITE_STRING): Handle a flag bit for multibyte
22300 character sequence. 22310 character sequence.
@@ -22326,8 +22336,8 @@
22326 (BUILD_COMPOSITE_GLYPH_STRING): If C is TAB, set s->face to NULL. 22336 (BUILD_COMPOSITE_GLYPH_STRING): If C is TAB, set s->face to NULL.
22327 (x_produce_glyphs): If CH is TAB, set cmp->offsets properly. 22337 (x_produce_glyphs): If CH is TAB, set cmp->offsets properly.
22328 22338
22329 * xterm.c (x_draw_composite_glyph_string_foreground): Check 22339 * xterm.c (x_draw_composite_glyph_string_foreground):
22330 s->face is NULL or not. 22340 Check s->face is NULL or not.
22331 22341
223322008-02-01 Kenichi Handa <handa@m17n.org> 223422008-02-01 Kenichi Handa <handa@m17n.org>
22333 22343
@@ -22377,8 +22387,8 @@
22377 Qnil. Use JIS_TO_SJIS instead of ENCODE_SJIS. 22387 Qnil. Use JIS_TO_SJIS instead of ENCODE_SJIS.
22378 (decode_mac_font_name): Use decode_coding_c_string instead of 22388 (decode_mac_font_name): Use decode_coding_c_string instead of
22379 decode_coding. 22389 decode_coding.
22380 (x_load_font): Initialize fontp->fontset to -1. Set 22390 (x_load_font): Initialize fontp->fontset to -1.
22381 fontp->encoding_type. 22391 Set fontp->encoding_type.
22382 22392
223832008-02-01 Kenichi Handa <handa@m17n.org> 223932008-02-01 Kenichi Handa <handa@m17n.org>
22384 22394
@@ -22425,8 +22435,8 @@
22425 (emacs${EXEEXT}): Run $(RUN_TEMACS) unconditionally. 22435 (emacs${EXEEXT}): Run $(RUN_TEMACS) unconditionally.
22426 (UNIDATA): New variable. 22436 (UNIDATA): New variable.
22427 (${lispsource}international/charprop.el): Depends on ${UNIDATA}. 22437 (${lispsource}international/charprop.el): Depends on ${UNIDATA}.
22428 (bootstrap-emacs${EXEEXT}): Depends on charprop.el. Run 22438 (bootstrap-emacs${EXEEXT}): Depends on charprop.el.
22429 $(RUN_TEMACS) unconditionally. 22439 Run $(RUN_TEMACS) unconditionally.
22430 22440
224312008-02-01 Kenichi Handa <handa@m17n.org> 224412008-02-01 Kenichi Handa <handa@m17n.org>
22432 22442
@@ -22443,10 +22453,10 @@
22443 22453
22444 * w32select.c (validate_coding_system) 22454 * w32select.c (validate_coding_system)
22445 (setup_windows_coding_system): New functions. 22455 (setup_windows_coding_system): New functions.
22446 (convert_to_handle_as_coded, Fw32_get_clipboard_data): Use 22456 (convert_to_handle_as_coded, Fw32_get_clipboard_data):
22447 setup_windows_coding_system. 22457 Use setup_windows_coding_system.
22448 (setup_config, Fw32_get_clipboard_data): Use 22458 (setup_config, Fw32_get_clipboard_data):
22449 validate_coding_system. 22459 Use validate_coding_system.
22450 (Fx_selection_exists): Move call to setup_config to a place 22460 (Fx_selection_exists): Move call to setup_config to a place
22451 where signals are allowed. 22461 where signals are allowed.
22452 22462
@@ -22528,8 +22538,8 @@
22528 22538
22529 * fontset.c (fs_load_font): Use fast_string_match_ignore_case 22539 * fontset.c (fs_load_font): Use fast_string_match_ignore_case
22530 instead of fast_c_string_match_ignore_case. 22540 instead of fast_c_string_match_ignore_case.
22531 (find_font_encoding): Change argument to Lisp_Object. Use 22541 (find_font_encoding): Change argument to Lisp_Object.
22532 fast_string_match_ignore_case instead of 22542 Use fast_string_match_ignore_case instead of
22533 fast_c_string_match_ignore_case. Change caller. 22543 fast_c_string_match_ignore_case. Change caller.
22534 22544
225352008-02-01 Kenichi Handa <handa@m17n.org> 225452008-02-01 Kenichi Handa <handa@m17n.org>
@@ -22556,13 +22566,13 @@
22556 Qundecided. 22566 Qundecided.
22557 (Fterminal_coding_system): Return nil if terminal coding system is 22567 (Fterminal_coding_system): Return nil if terminal coding system is
22558 `undecided'. 22568 `undecided'.
22559 (syms_of_coding): Define coding-system `undecided' here. Setup 22569 (syms_of_coding): Define coding-system `undecided' here.
22560 terminal_coding as `undecided'. 22570 Setup terminal_coding as `undecided'.
22561 22571
225622008-02-01 Kenichi Handa <handa@m17n.org> 225722008-02-01 Kenichi Handa <handa@m17n.org>
22563 22573
22564 * xdisp.c (message_dolog, set_message_1): Call 22574 * xdisp.c (message_dolog, set_message_1):
22565 unibyte_char_to_multibyte with arg type int. 22575 Call unibyte_char_to_multibyte with arg type int.
22566 22576
22567 * lread.c (read1): Fix reading of a char-table. 22577 * lread.c (read1): Fix reading of a char-table.
22568 22578
@@ -22660,8 +22670,8 @@
22660 22670
226612008-02-01 Kenichi Handa <handa@m17n.org> 226712008-02-01 Kenichi Handa <handa@m17n.org>
22662 22672
22663 * coding.c (Ffind_coding_systems_region_internal): Include 22673 * coding.c (Ffind_coding_systems_region_internal):
22664 raw-text and no-conversion in the result. 22674 Include raw-text and no-conversion in the result.
22665 22675
226662008-02-01 Kenichi Handa <handa@m17n.org> 226762008-02-01 Kenichi Handa <handa@m17n.org>
22667 22677
@@ -22717,16 +22727,16 @@
22717 22727
22718 * fontset.c: Include "intervals.h". 22728 * fontset.c: Include "intervals.h".
22719 (fontset_face): Fix comparing of Lisp_Objects. 22729 (fontset_face): Fix comparing of Lisp_Objects.
22720 (free_face_fontset, new_fontset_from_font_name): Fix 22730 (free_face_fontset, new_fontset_from_font_name):
22721 Lisp_Object/int mixup. 22731 Fix Lisp_Object/int mixup.
22722 22732
22723 * editfns.c (Ftranslate_region_internal): Fix Lisp_Object/int mixup. 22733 * editfns.c (Ftranslate_region_internal): Fix Lisp_Object/int mixup.
22724 22734
22725 * coding.c: Add many prototypes for static functions. 22735 * coding.c: Add many prototypes for static functions.
22726 (get_translation_table): Allow max_lookup to be NULL. 22736 (get_translation_table): Allow max_lookup to be NULL.
22727 (decode_coding, Ffind_coding_systems_region_internal) 22737 (decode_coding, Ffind_coding_systems_region_internal)
22728 (Funencodable_char_position, Fcheck_coding_systems_region): Call 22738 (Funencodable_char_position, Fcheck_coding_systems_region):
22729 get_translation_table with max_lookup NULL. 22739 Call get_translation_table with max_lookup NULL.
22730 22740
227312008-02-01 Kenichi Handa <handa@m17n.org> 227412008-02-01 Kenichi Handa <handa@m17n.org>
22732 22742
@@ -22855,8 +22865,8 @@
22855 (Fdefine_coding_system_internal): Accept list of translation 22865 (Fdefine_coding_system_internal): Accept list of translation
22856 tables as :encode-translation-table and :decode-translation-table. 22866 tables as :encode-translation-table and :decode-translation-table.
22857 (Fcoding_system_put): New function. 22867 (Fcoding_system_put): New function.
22858 (syms_of_coding): Declare new symbols. Defsubr 22868 (syms_of_coding): Declare new symbols.
22859 Scoding_system_put. 22869 Defsubr Scoding_system_put.
22860 (decode_coding_sjis, encode_coding_sjis): Handle 4th charset, 22870 (decode_coding_sjis, encode_coding_sjis): Handle 4th charset,
22861 typically JISX0212. 22871 typically JISX0212.
22862 22872
@@ -22977,8 +22987,8 @@
22977 * chartab.c (map_sub_char_table_for_charset): Fix args to 22987 * chartab.c (map_sub_char_table_for_charset): Fix args to
22978 c_function with. 22988 c_function with.
22979 22989
22980 * coding.h (enum coding_result_code): Delete 22990 * coding.h (enum coding_result_code):
22981 CODING_RESULT_INSUFFICIENT_CMP, add CODING_RESULT_INVALID_SRC. 22991 Delete CODING_RESULT_INSUFFICIENT_CMP, add CODING_RESULT_INVALID_SRC.
22982 22992
22983 * coding.c (Qinsufficient_source, Qinconsistent_eol) 22993 * coding.c (Qinsufficient_source, Qinconsistent_eol)
22984 (Qinvalid_source, Qinterrupted, Qinsufficient_memory): New variables. 22994 (Qinvalid_source, Qinterrupted, Qinsufficient_memory): New variables.
@@ -23190,8 +23200,8 @@
23190 23200
23191 * w32console.c: Include character.h. Use terminal_encode_buffer 23201 * w32console.c: Include character.h. Use terminal_encode_buffer
23192 from term.c. 23202 from term.c.
23193 (write_glyphs): Use new version of encode_terminal_code. Use 23203 (write_glyphs): Use new version of encode_terminal_code.
23194 encode_coding_object in place of encode_coding. 23204 Use encode_coding_object in place of encode_coding.
23195 23205
23196 * w32bdf.c (w32_load_bdf_font): Clear font_info before filling. 23206 * w32bdf.c (w32_load_bdf_font): Clear font_info before filling.
23197 encoding becomes encoding_type. 23207 encoding becomes encoding_type.
@@ -23215,16 +23225,16 @@
23215 * charset.h (charset_unicode): Extern it. 23225 * charset.h (charset_unicode): Extern it.
23216 23226
23217 * charset.c (string_xstring_p): Check by (C >= 0x100). 23227 * charset.c (string_xstring_p): Check by (C >= 0x100).
23218 (find_charsets_in_text): Change format of the arc CHARSETS. New 23228 (find_charsets_in_text): Change format of the arc CHARSETS.
23219 arg MULTIBYTE. 23229 New arg MULTIBYTE.
23220 (Ffind_charset_region, Ffind_charset_string): Adjust for the 23230 (Ffind_charset_region, Ffind_charset_string): Adjust for the
23221 change of find_charsets_in_text. 23231 change of find_charsets_in_text.
23222 (Fsplit_char): Fix doc. Never return unknown. 23232 (Fsplit_char): Fix doc. Never return unknown.
23223 23233
23224 * chartab.c (char_table_translate): Use CHARACTERP, not INTEGERP. 23234 * chartab.c (char_table_translate): Use CHARACTERP, not INTEGERP.
23225 23235
23226 * coding.c (Fdefine_coding_system_alias): Update 23236 * coding.c (Fdefine_coding_system_alias):
23227 Vcoding_system_list. 23237 Update Vcoding_system_list.
23228 23238
23229 * fontset.c (load_font_get_repertory): Pay attention to the case 23239 * fontset.c (load_font_get_repertory): Pay attention to the case
23230 that ENCODING of a font is specified by a char-table. 23240 that ENCODING of a font is specified by a char-table.
@@ -23234,16 +23244,16 @@
23234 23244
232352008-02-01 Kenichi Handa <handa@m17n.org> 232452008-02-01 Kenichi Handa <handa@m17n.org>
23236 23246
23237 * term.c (encode_terminal_code): Don't handle glyph-table. Check 23247 * term.c (encode_terminal_code): Don't handle glyph-table.
23238 if a character is encodable by the terminal coding system. If 23248 Check if a character is encodable by the terminal coding system.
23239 not, produces proper number of `?'s. Update 23249 If not, produces proper number of `?'s. Update
23240 terminal_encode_buffer and terminal_encode_buf_size if necessary. 23250 terminal_encode_buffer and terminal_encode_buf_size if necessary.
23241 (produce_glyphs): Check by CHAR_BYTE8_P, not SINGLE_BYTE_CHAR_P. 23251 (produce_glyphs): Check by CHAR_BYTE8_P, not SINGLE_BYTE_CHAR_P.
23242 23252
232432008-02-01 Kenichi Handa <handa@m17n.org> 232532008-02-01 Kenichi Handa <handa@m17n.org>
23244 23254
23245 * term.c (terminal_encode_buffer, terminal_encode_buf_size): New 23255 * term.c (terminal_encode_buffer, terminal_encode_buf_size):
23246 variables. 23256 New variables.
23247 (encode_terminal_code): Change argument. Encode multiple 23257 (encode_terminal_code): Change argument. Encode multiple
23248 characters at once. Store the result of encoding in 23258 characters at once. Store the result of encoding in
23249 terminal_encode_buffer. 23259 terminal_encode_buffer.
@@ -23321,8 +23331,8 @@
23321 23331
23322 * casetab.c (set_case_table): Remove unused var. 23332 * casetab.c (set_case_table): Remove unused var.
23323 23333
23324 * window.c (Fdisplay_buffer, Fframe_selected_window): Remove 23334 * window.c (Fdisplay_buffer, Fframe_selected_window):
23325 unused vars. 23335 Remove unused vars.
23326 23336
233272008-02-01 Dave Love <fx@gnu.org> 233372008-02-01 Dave Love <fx@gnu.org>
23328 23338
@@ -23350,8 +23360,8 @@
23350 (update_compositions, Ffind_composition_internal): Make buffer 23360 (update_compositions, Ffind_composition_internal): Make buffer
23351 positions EMACS_INT. 23361 positions EMACS_INT.
23352 23362
23353 * composite.h (find_composition, update_compositions): Make 23363 * composite.h (find_composition, update_compositions):
23354 position args EMACS_INT. 23364 Make position args EMACS_INT.
23355 23365
23356 * keyboard.c (adjust_point_for_property): Make beg and end EMACS_INT. 23366 * keyboard.c (adjust_point_for_property): Make beg and end EMACS_INT.
23357 23367
@@ -23375,8 +23385,8 @@
23375 23385
233762008-02-01 Andreas Schwab <schwab@suse.de> 233862008-02-01 Andreas Schwab <schwab@suse.de>
23377 23387
23378 * chartab.c (map_char_table, map_char_table_for_charset): Protect 23388 * chartab.c (map_char_table, map_char_table_for_charset):
23379 `range' from GC. 23389 Protect `range' from GC.
23380 23390
233812008-02-01 Kenichi Handa <handa@m17n.org> 233912008-02-01 Kenichi Handa <handa@m17n.org>
23382 23392
@@ -23438,8 +23448,8 @@
23438 (re_match_2_internal): Don't check RE_TARGET_MULTIBYTE_P (bufp). 23448 (re_match_2_internal): Don't check RE_TARGET_MULTIBYTE_P (bufp).
23439 It is the same as RE_MULTIBYTE_P (bufp) now. 23449 It is the same as RE_MULTIBYTE_P (bufp) now.
23440 <exactn>: Translate via multibyte. 23450 <exactn>: Translate via multibyte.
23441 <anychar>: Fetch a character by RE_STRING_CHAR_AND_LENGTH. Don't 23451 <anychar>: Fetch a character by RE_STRING_CHAR_AND_LENGTH.
23442 translate it. 23452 Don't translate it.
23443 <charset, charset_not>: Fetch a character by 23453 <charset, charset_not>: Fetch a character by
23444 RE_STRING_CHAR_AND_LENGTH. Translate via multibyte. 23454 RE_STRING_CHAR_AND_LENGTH. Translate via multibyte.
23445 <duplicate>: Call bcmp_translate with the last arg `multibyte'. 23455 <duplicate>: Call bcmp_translate with the last arg `multibyte'.
@@ -23660,8 +23670,8 @@
23660 FONT_SPEC_INDEX. If font_spec is a string, extract the registry 23670 FONT_SPEC_INDEX. If font_spec is a string, extract the registry
23661 name by using split_font_name_into_vector. 23671 name by using split_font_name_into_vector.
23662 (Fnew_fontset): If no ASCII font is specified in FONTLIST, 23672 (Fnew_fontset): If no ASCII font is specified in FONTLIST,
23663 generate a proper font name from the fontset name. Update 23673 generate a proper font name from the fontset name.
23664 Vfontset_alias_alist. 23674 Update Vfontset_alias_alist.
23665 (n_auto_fontsets): New variable. 23675 (n_auto_fontsets): New variable.
23666 (new_fontset_from_font_name): New function. 23676 (new_fontset_from_font_name): New function.
23667 (Ffont_info): Store the information about fonts generated from the 23677 (Ffont_info): Store the information about fonts generated from the
@@ -23726,8 +23736,8 @@
23726 sequence is valid in this coding system. Change callers. 23736 sequence is valid in this coding system. Change callers.
23727 (MAX_ANNOTATION_LENGTH): New macro. 23737 (MAX_ANNOTATION_LENGTH): New macro.
23728 (ADD_ANNOTATION_DATA): New macro. 23738 (ADD_ANNOTATION_DATA): New macro.
23729 (ADD_COMPOSITION_DATA): Change argument. Change callers. Call 23739 (ADD_COMPOSITION_DATA): Change argument. Change callers.
23730 ADD_ANNOTATION_DATA. Change the format of annotation data. 23740 Call ADD_ANNOTATION_DATA. Change the format of annotation data.
23731 (ADD_CHARSET_DATA): New macro. 23741 (ADD_CHARSET_DATA): New macro.
23732 (emacs_mule_char): New argument ID. Change callers. 23742 (emacs_mule_char): New argument ID. Change callers.
23733 (decode_coding_emacs_mule, decode_coding_iso_2022) 23743 (decode_coding_emacs_mule, decode_coding_iso_2022)
@@ -23741,8 +23751,8 @@
23741 (produce_composition): Adjust for the new annotation data format. 23751 (produce_composition): Adjust for the new annotation data format.
23742 (produce_charset): New function. 23752 (produce_charset): New function.
23743 (produce_annotation): Handle charset annotation. 23753 (produce_annotation): Handle charset annotation.
23744 (handle_composition_annotation, handle_charset_annotation): New 23754 (handle_composition_annotation, handle_charset_annotation):
23745 functions. 23755 New functions.
23746 (consume_chars): Handle charset annotation. Utilize the above two 23756 (consume_chars): Handle charset annotation. Utilize the above two
23747 functions. 23757 functions.
23748 (encode_coding_object): If SRC_OBJECT and DST_OBJECT are the same 23758 (encode_coding_object): If SRC_OBJECT and DST_OBJECT are the same
@@ -23872,8 +23882,8 @@
23872 23882
23873 * coding.c (detect_coding_charset): If only ASCII bytes are found, 23883 * coding.c (detect_coding_charset): If only ASCII bytes are found,
23874 return 0. 23884 return 0.
23875 (Fdefine_coding_system_internal): Setup 23885 (Fdefine_coding_system_internal):
23876 CODING_ATTR_ASCII_COMPAT (attrs) correctly. 23886 Setup CODING_ATTR_ASCII_COMPAT (attrs) correctly.
23877 23887
238782008-02-01 Dave Love <fx@gnu.org> 238882008-02-01 Dave Love <fx@gnu.org>
23879 23889
@@ -23883,8 +23893,8 @@
23883 23893
238842008-02-01 Kenichi Handa <handa@m17n.org> 238942008-02-01 Kenichi Handa <handa@m17n.org>
23885 23895
23886 * coding.c (decode_coding): Fix args to translate_chars. Pay 23896 * coding.c (decode_coding): Fix args to translate_chars.
23887 attention to Vstandard_translation_table_for_decode. 23897 Pay attention to Vstandard_translation_table_for_decode.
23888 (encode_coding): Fix args to translate_chars. Pay attention to 23898 (encode_coding): Fix args to translate_chars. Pay attention to
23889 Vstandard_translation_table_for_encode. 23899 Vstandard_translation_table_for_encode.
23890 23900
@@ -23934,8 +23944,8 @@
23934 23944
23935 * character.h (CHAR_STRING, CHAR_STRING_ADVANCE): Call char_string 23945 * character.h (CHAR_STRING, CHAR_STRING_ADVANCE): Call char_string
23936 if C is greater than MAX_3_BYTE_CHAR. 23946 if C is greater than MAX_3_BYTE_CHAR.
23937 (STRING_CHAR, STRING_CHAR_AND_LENGTH, STRING_CHAR_ADVANCE): Call 23947 (STRING_CHAR, STRING_CHAR_AND_LENGTH, STRING_CHAR_ADVANCE):
23938 string_char instead of string_char_with_unification. 23948 Call string_char instead of string_char_with_unification.
23939 23949
239402008-02-01 Dave Love <fx@gnu.org> 239502008-02-01 Dave Love <fx@gnu.org>
23941 23951
@@ -23993,8 +24003,8 @@
23993 24003
23994 * keyboard.c (read_key_sequence): Fix type error. 24004 * keyboard.c (read_key_sequence): Fix type error.
23995 24005
23996 * buffer.c (Fset_buffer_multibyte, Fset_buffer_multibyte): Fix 24006 * buffer.c (Fset_buffer_multibyte, Fset_buffer_multibyte):
23997 type error. 24007 Fix type error.
23998 24008
23999 * fontset.c (fontset_add): Return Lisp_Object. 24009 * fontset.c (fontset_add): Return Lisp_Object.
24000 24010
@@ -24046,8 +24056,8 @@
24046 * regex.h (struct re_pattern_buffer): New member target_multibyte. 24056 * regex.h (struct re_pattern_buffer): New member target_multibyte.
24047 24057
24048 * regex.c (RE_TARGET_MULTIBYTE_P): New macro. 24058 * regex.c (RE_TARGET_MULTIBYTE_P): New macro.
24049 (GET_CHAR_BEFORE_2): Check target_multibyte, not multibyte. If 24059 (GET_CHAR_BEFORE_2): Check target_multibyte, not multibyte.
24050 that is zero, convert an eight-bit char to multibyte. 24060 If that is zero, convert an eight-bit char to multibyte.
24051 (MAKE_CHAR_MULTIBYTE, CHAR_LEADING_CODE): New dummy new macros for 24061 (MAKE_CHAR_MULTIBYTE, CHAR_LEADING_CODE): New dummy new macros for
24052 non-emacs case. 24062 non-emacs case.
24053 (PATFETCH): Convert an eight-bit char to multibyte. 24063 (PATFETCH): Convert an eight-bit char to multibyte.
@@ -24066,14 +24076,14 @@
24066 multibyte always 1. 24076 multibyte always 1.
24067 (re_search_2): In emacs, set the locale variable multibyte to 1, 24077 (re_search_2): In emacs, set the locale variable multibyte to 1,
24068 otherwise to 0. New local variable target_multibyte. Check it 24078 otherwise to 0. New local variable target_multibyte. Check it
24069 to decide the multibyteness of STR1 and STR2. If 24079 to decide the multibyteness of STR1 and STR2.
24070 target_multibyte is zero, convert unibyte chars to multibyte 24080 If target_multibyte is zero, convert unibyte chars to multibyte
24071 before translating and checking fastmap. 24081 before translating and checking fastmap.
24072 (TARGET_CHAR_AND_LENGTH): New macro. 24082 (TARGET_CHAR_AND_LENGTH): New macro.
24073 (re_match_2_internal): In emacs, set the locale variable multibyte 24083 (re_match_2_internal): In emacs, set the locale variable multibyte
24074 to 1, otherwise to 0. New local variable target_multibyte. Check 24084 to 1, otherwise to 0. New local variable target_multibyte.
24075 it to decide the multibyteness of STR1 and STR2. Use 24085 Check it to decide the multibyteness of STR1 and STR2.
24076 TARGET_CHAR_AND_LENGTH to fetch a character from D. 24086 Use TARGET_CHAR_AND_LENGTH to fetch a character from D.
24077 <charset, charset_not>: If multibyte is nonzero, check fastmap 24087 <charset, charset_not>: If multibyte is nonzero, check fastmap
24078 only for ASCII chars. Call bcmp_translate with 24088 only for ASCII chars. Call bcmp_translate with
24079 target_multibyte, not with multibyte. 24089 target_multibyte, not with multibyte.
@@ -24281,8 +24291,8 @@
24281 24291
24282 * lisp.h (Fset_buffer_multibyte): Adjust prototype. 24292 * lisp.h (Fset_buffer_multibyte): Adjust prototype.
24283 24293
24284 * xdisp.c (setup_echo_area_for_printing, set_message_1): Adjust 24294 * xdisp.c (setup_echo_area_for_printing, set_message_1):
24285 for the change of Fset_buffer_multibyte. 24295 Adjust for the change of Fset_buffer_multibyte.
24286 24296
24287 * fns.c (Fstring_to_multibyte): New function. 24297 * fns.c (Fstring_to_multibyte): New function.
24288 (syms_of_fns): Declare Fstring_to_multibyte as Lisp subroutine. 24298 (syms_of_fns): Declare Fstring_to_multibyte as Lisp subroutine.
@@ -24377,11 +24387,11 @@
24377 (find_font_encoding): New function. 24387 (find_font_encoding): New function.
24378 (list_fontsets): Use STRINGP, not ! NILP. 24388 (list_fontsets): Use STRINGP, not ! NILP.
24379 (accumulate_script_ranges): New function. 24389 (accumulate_script_ranges): New function.
24380 (Fset_fontset_font, Fnew_fontset, Ffontset_info): Completely 24390 (Fset_fontset_font, Fnew_fontset, Ffontset_info):
24381 re-written to handle new fontset structure. 24391 Completely re-written to handle new fontset structure.
24382 (Ffontset_font): Return a copy of element. 24392 (Ffontset_font): Return a copy of element.
24383 (syms_of_fontset): Define symbols Qprepend and Qappend. Fix 24393 (syms_of_fontset): Define symbols Qprepend and Qappend.
24384 docstring of font-encoding-alist. 24394 Fix docstring of font-encoding-alist.
24385 24395
24386 * lisp.h (CHAR_TABLE_REF): Remove unnecessary check (IDX >= 0). 24396 * lisp.h (CHAR_TABLE_REF): Remove unnecessary check (IDX >= 0).
24387 (Fset_fotset_font): Fix arguments to 5. 24397 (Fset_fotset_font): Fix arguments to 5.
@@ -24471,8 +24481,8 @@
24471 24481
244722008-02-01 Kenichi Handa <handa@m17n.org> 244822008-02-01 Kenichi Handa <handa@m17n.org>
24473 24483
24474 * xdisp.c (face_before_or_after_it_pos): Call 24484 * xdisp.c (face_before_or_after_it_pos):
24475 FETCH_MULTIBYTE_CHAR with byte postion, not char position. 24485 Call FETCH_MULTIBYTE_CHAR with byte postion, not char position.
24476 24486
244772008-02-01 Kenichi Handa <handa@m17n.org> 244872008-02-01 Kenichi Handa <handa@m17n.org>
24478 24488
@@ -24500,8 +24510,8 @@
24500 deunify instead of unify a charset. 24510 deunify instead of unify a charset.
24501 (string_xstring_p): Add `const' to local variables. 24511 (string_xstring_p): Add `const' to local variables.
24502 (find_charsets_in_text): Add `const' to arguments and local variables. 24512 (find_charsets_in_text): Add `const' to arguments and local variables.
24503 (encode_char): Adjust for the change of Funify_charset. Fix 24513 (encode_char): Adjust for the change of Funify_charset.
24504 detecting of invalid code. 24514 Fix detecting of invalid code.
24505 (Fset_charset_priority): Increment charset_ordered_list_tick. 24515 (Fset_charset_priority): Increment charset_ordered_list_tick.
24506 (Fmap_charset_chars): Fix handling of default value for FROM_CODE 24516 (Fmap_charset_chars): Fix handling of default value for FROM_CODE
24507 and TO_CODE. 24517 and TO_CODE.
@@ -24534,8 +24544,8 @@
24534 24544
245352008-02-01 Dave Love <fx@gnu.org> 245452008-02-01 Dave Love <fx@gnu.org>
24536 24546
24537 * casetab.c (init_casetab_once, init_casetab_once): Fix 24547 * casetab.c (init_casetab_once, init_casetab_once):
24538 CHAR_TABLE_SET call. 24548 Fix CHAR_TABLE_SET call.
24539 24549
24540 * category.c (Fmodify_category_entry): Fix CATEGORY_MEMBER call. 24550 * category.c (Fmodify_category_entry): Fix CATEGORY_MEMBER call.
24541 24551
@@ -24610,8 +24620,8 @@
246102008-02-01 Kenichi Handa <handa@m17n.org> 246202008-02-01 Kenichi Handa <handa@m17n.org>
24611 24621
24612 * category.c (Fmodify_category_entry): Don't modify the contents 24622 * category.c (Fmodify_category_entry): Don't modify the contents
24613 of category_set for characters out of the range. Avoid 24623 of category_set for characters out of the range.
24614 unnecessary modification. 24624 Avoid unnecessary modification.
24615 24625
24616 * character.h (MAYBE_UNIFY_CHAR): Adjust for the change of 24626 * character.h (MAYBE_UNIFY_CHAR): Adjust for the change of
24617 Vchar_unify_table. The default value of the table is now nil. 24627 Vchar_unify_table. The default value of the table is now nil.
@@ -24619,8 +24629,8 @@
24619 * character.c (syms_of_character): Setup Vchar_width_table for 24629 * character.c (syms_of_character): Setup Vchar_width_table for
24620 eight-bit-control and raw-byte chars. 24630 eight-bit-control and raw-byte chars.
24621 24631
24622 * charset.h (enum define_charset_arg_index): Delete 24632 * charset.h (enum define_charset_arg_index):
24623 charset_arg_parents and add charset_arg_subset and 24633 Delete charset_arg_parents and add charset_arg_subset and
24624 charset_arg_superset. 24634 charset_arg_superset.
24625 (enum charset_attr_index): Delete charset_parents and add 24635 (enum charset_attr_index): Delete charset_parents and add
24626 charset_subset and charset_superset. 24636 charset_subset and charset_superset.
@@ -24636,8 +24646,8 @@
24636 24646
24637 * charset.c (load_charset_map): Set the default value of encoder 24647 * charset.c (load_charset_map): Set the default value of encoder
24638 and deunifier char-tables to nil. 24648 and deunifier char-tables to nil.
24639 (map_charset_chars): Change argument. Change callers. Use 24649 (map_charset_chars): Change argument. Change callers.
24640 map_char_table_for_charset instead of map_char_table. 24650 Use map_char_table_for_charset instead of map_char_table.
24641 (Fmap_charset_chars): New optional args from_code and to_code. 24651 (Fmap_charset_chars): New optional args from_code and to_code.
24642 (Fdefine_charset_internal): Adjust for the change of 24652 (Fdefine_charset_internal): Adjust for the change of
24643 `define-charset' (:parents -> :subset or :superset). 24653 `define-charset' (:parents -> :subset or :superset).
@@ -24646,8 +24656,8 @@
24646 Fdefine_charset_internal. 24656 Fdefine_charset_internal.
24647 (Ffind_charset_string): Setup the vector `charsets' correctly. 24657 (Ffind_charset_string): Setup the vector `charsets' correctly.
24648 24658
24649 * chartab.c (sub_char_table_ref_and_range): New arg default. Fix 24659 * chartab.c (sub_char_table_ref_and_range): New arg default.
24650 the previous change. 24660 Fix the previous change.
24651 (char_table_ref_and_range): Adjust for the above change. 24661 (char_table_ref_and_range): Adjust for the above change.
24652 (map_sub_char_table_for_charset): New function. 24662 (map_sub_char_table_for_charset): New function.
24653 (map_char_table_for_charset): New function. 24663 (map_char_table_for_charset): New function.
@@ -24790,8 +24800,8 @@
247902008-02-01 Kenichi Handa <handa@m17n.org> 248002008-02-01 Kenichi Handa <handa@m17n.org>
24791 24801
24792 * coding.c (ONE_MORE_BYTE_NO_CHECK): Increment consumed_chars. 24802 * coding.c (ONE_MORE_BYTE_NO_CHECK): Increment consumed_chars.
24793 (emacs_mule_char): New arg src. Delete arg `composition'. Change 24803 (emacs_mule_char): New arg src. Delete arg `composition'.
24794 caller. Handle 2-byte and 3-byte charsets correctly. 24804 Change caller. Handle 2-byte and 3-byte charsets correctly.
24795 (DECODE_EMACS_MULE_COMPOSITION_RULE_20): Rename from 24805 (DECODE_EMACS_MULE_COMPOSITION_RULE_20): Rename from
24796 DECODE_EMACS_MULE_COMPOSITION_RULE. Change caller. 24806 DECODE_EMACS_MULE_COMPOSITION_RULE. Change caller.
24797 (DECODE_EMACS_MULE_COMPOSITION_RULE_21): New macro. 24807 (DECODE_EMACS_MULE_COMPOSITION_RULE_21): New macro.
@@ -24836,8 +24846,8 @@
24836 24846
24837 * character.h (string_escape_byte8): Declare. 24847 * character.h (string_escape_byte8): Declare.
24838 24848
24839 * charset.c (load_charset_map, load_charset_map_from_file): Remove 24849 * charset.c (load_charset_map, load_charset_map_from_file):
24840 unused vars. 24850 Remove unused vars.
24841 (Fdefine_charset_internal, Fsplit_char, syms_of_charset) 24851 (Fdefine_charset_internal, Fsplit_char, syms_of_charset)
24842 (Fmap_charset_chars): Doc fix. 24852 (Fmap_charset_chars): Doc fix.
24843 24853
@@ -24908,8 +24918,8 @@
24908 * coding.c (coding_set_source): Delete the local variable beg_byte. 24918 * coding.c (coding_set_source): Delete the local variable beg_byte.
24909 (encode_coding_charset, Fdefine_coding_system_internal): 24919 (encode_coding_charset, Fdefine_coding_system_internal):
24910 Delete the local variable charset. 24920 Delete the local variable charset.
24911 (Fdefine_coding_system_internal): Setup 24921 (Fdefine_coding_system_internal):
24912 attrs[coding_attr_charset_valids] correctly. 24922 Setup attrs[coding_attr_charset_valids] correctly.
24913 24923
24914 * charset.c (CODE_POINT_TO_INDEX): Utilize `code_space_mask' 24924 * charset.c (CODE_POINT_TO_INDEX): Utilize `code_space_mask'
24915 member to check if CODE is valid or not. 24925 member to check if CODE is valid or not.
@@ -24931,8 +24941,8 @@
24931 24941
249322008-02-01 Kenichi Handa <handa@m17n.org> 249422008-02-01 Kenichi Handa <handa@m17n.org>
24933 24943
24934 * coding.c (decode_coding_charset, encode_coding_charset): Handle 24944 * coding.c (decode_coding_charset, encode_coding_charset):
24935 multiple charsets correctly. 24945 Handle multiple charsets correctly.
24936 24946
249372008-02-01 Kenichi Handa <handa@m17n.org> 249472008-02-01 Kenichi Handa <handa@m17n.org>
24938 24948
diff --git a/src/lread.c b/src/lread.c
index bfe3755cc51..c7b8e70963f 100644
--- a/src/lread.c
+++ b/src/lread.c
@@ -2637,7 +2637,7 @@ read1 (register Lisp_Object readcharfun, int *pch, int first_in_list)
2637 old-style. For Emacs-25, we should completely remove this 2637 old-style. For Emacs-25, we should completely remove this
2638 first_in_list exception (old-style can still be obtained via 2638 first_in_list exception (old-style can still be obtained via
2639 "(\`" anyway). */ 2639 "(\`" anyway). */
2640 if (first_in_list && next_char == ' ') 2640 if (!new_backquote_flag && first_in_list && next_char == ' ')
2641 { 2641 {
2642 Vold_style_backquotes = Qt; 2642 Vold_style_backquotes = Qt;
2643 goto default_label; 2643 goto default_label;
@@ -2654,33 +2654,48 @@ read1 (register Lisp_Object readcharfun, int *pch, int first_in_list)
2654 } 2654 }
2655 } 2655 }
2656 case ',': 2656 case ',':
2657 if (new_backquote_flag) 2657 {
2658 { 2658 int next_char = READCHAR;
2659 Lisp_Object comma_type = Qnil; 2659 UNREAD (next_char);
2660 Lisp_Object value; 2660 /* Transition from old-style to new-style:
2661 int ch = READCHAR; 2661 It used to be impossible to have a new-style , other than within
2662 2662 a new-style `. This is sufficient when ` and , are used in the
2663 if (ch == '@') 2663 normal way, but ` and , can also appear in args to macros that
2664 comma_type = Qcomma_at; 2664 will not interpret them in the usual way, in which case , may be
2665 else if (ch == '.') 2665 used without any ` anywhere near.
2666 comma_type = Qcomma_dot; 2666 So we now use the same heuristic as for backquote: old-style
2667 else 2667 unquotes are only recognized when first on a list, and when
2668 { 2668 followed by a space.
2669 if (ch >= 0) UNREAD (ch); 2669 Because it's more difficult to peak 2 chars ahead, a new-style
2670 comma_type = Qcomma; 2670 ,@ can still not be used outside of a `, unless it's in the middle
2671 } 2671 of a list. */
2672 if (new_backquote_flag
2673 || !first_in_list
2674 || (next_char != ' ' && next_char != '@'))
2675 {
2676 Lisp_Object comma_type = Qnil;
2677 Lisp_Object value;
2678 int ch = READCHAR;
2672 2679
2673 new_backquote_flag--; 2680 if (ch == '@')
2674 value = read0 (readcharfun); 2681 comma_type = Qcomma_at;
2675 new_backquote_flag++; 2682 else if (ch == '.')
2676 return Fcons (comma_type, Fcons (value, Qnil)); 2683 comma_type = Qcomma_dot;
2677 } 2684 else
2678 else 2685 {
2679 { 2686 if (ch >= 0) UNREAD (ch);
2680 Vold_style_backquotes = Qt; 2687 comma_type = Qcomma;
2681 goto default_label; 2688 }
2682 }
2683 2689
2690 value = read0 (readcharfun);
2691 return Fcons (comma_type, Fcons (value, Qnil));
2692 }
2693 else
2694 {
2695 Vold_style_backquotes = Qt;
2696 goto default_label;
2697 }
2698 }
2684 case '?': 2699 case '?':
2685 { 2700 {
2686 int modifiers; 2701 int modifiers;
@@ -2707,26 +2722,9 @@ read1 (register Lisp_Object readcharfun, int *pch, int first_in_list)
2707 c |= modifiers; 2722 c |= modifiers;
2708 2723
2709 next_char = READCHAR; 2724 next_char = READCHAR;
2710 if (next_char == '.') 2725 ok = (next_char <= 040
2711 { 2726 || (next_char < 0200
2712 /* Only a dotted-pair dot is valid after a char constant. */ 2727 && (strchr ("\"';()[]#?`,.", next_char))));
2713 int next_next_char = READCHAR;
2714 UNREAD (next_next_char);
2715
2716 ok = (next_next_char <= 040
2717 || (next_next_char < 0200
2718 && (strchr ("\"';([#?", next_next_char)
2719 || (!first_in_list && next_next_char == '`')
2720 || (new_backquote_flag && next_next_char == ','))));
2721 }
2722 else
2723 {
2724 ok = (next_char <= 040
2725 || (next_char < 0200
2726 && (strchr ("\"';()[]#?", next_char)
2727 || (!first_in_list && next_char == '`')
2728 || (new_backquote_flag && next_char == ','))));
2729 }
2730 UNREAD (next_char); 2728 UNREAD (next_char);
2731 if (ok) 2729 if (ok)
2732 return make_number (c); 2730 return make_number (c);
@@ -2868,9 +2866,7 @@ read1 (register Lisp_Object readcharfun, int *pch, int first_in_list)
2868 2866
2869 if (next_char <= 040 2867 if (next_char <= 040
2870 || (next_char < 0200 2868 || (next_char < 0200
2871 && (strchr ("\"';([#?", next_char) 2869 && (strchr ("\"';([#?`,", next_char))))
2872 || (!first_in_list && next_char == '`')
2873 || (new_backquote_flag && next_char == ','))))
2874 { 2870 {
2875 *pch = c; 2871 *pch = c;
2876 return Qnil; 2872 return Qnil;
@@ -2895,9 +2891,7 @@ read1 (register Lisp_Object readcharfun, int *pch, int first_in_list)
2895 while (c > 040 2891 while (c > 040
2896 && c != 0x8a0 /* NBSP */ 2892 && c != 0x8a0 /* NBSP */
2897 && (c >= 0200 2893 && (c >= 0200
2898 || (!strchr ("\"';()[]#", c) 2894 || !(strchr ("\"';()[]#`,", c))))
2899 && !(!first_in_list && c == '`')
2900 && !(new_backquote_flag && c == ','))))
2901 { 2895 {
2902 if (end - p < MAX_MULTIBYTE_LENGTH) 2896 if (end - p < MAX_MULTIBYTE_LENGTH)
2903 { 2897 {