
1: 1999-12-31 Gerd Moellmann <gerd@gnu.org> 2: 3: * xfns.c: New image functions adapted to Emacs conventions. 4: (png_load, tiff_load, jpeg_load, gif_load): Always GCPRO local 5: variable `file'. 6: 7: 1999-12-31 William M. Perry <wmperry@aventail.com> 8: 9: * xfns.c (jpeg_format): Add the :data keyword 10: (jpeg_image_p): JPEG is valid with :file _or_ :data 11: (jpeg_memory_src): Define new JPEG image source to read from a 12: memory buffer. 13: (jpeg_load): Pay attention to the :data keyword if specified. 14: Instantiates a jpeg_memory_src instead of jpeg_stdio_src if found. 15: (png_format): Add the :data keyword 16: (png_image_p): PNG is valid with :file _or_ :data 17: (png_read_from_memory): New PNG read function to read from a 18: memory buffer. 19: (png_load): Pay attention to the :data keyword if specified. 20: Use png_set_read_fn() instead of png_init_io() if specified. 21: (tiff_format): Add the :data keyword for TIFF images. 22: (tiff_image_p): TIFF is valid with :file _or_ :data 23: (tiff_read_from_memory): Define new TIFF I/O functions to read 24: from a memory buffer. 25: (tiff_load): Pay attention to the :data keyword if specified. 26: Uses TIFFClientOpen() instead of TIFFOpen() if specified. 27: (gif_format): Add the :data keyword 28: (gif_image_p): GIF is valid with :file _or_ :data 29: (gif_read_from_memory): New GIF input function to read from a 30: memory buffer. 31: (gif_load): Pay attention to the :data keyword. Uses DGifOpen() 32: instead of DGifOpenFileName() if specified. 33: 34: 1999-12-31 Gerd Moellmann <gerd@gnu.org> 35: 36: * xdisp.c (next_element_from_buffer): Change assertion at the end 37: because it doesn't hold when there's an overlay string at the end 38: from which we deliver an image. 39: 40: 1999-12-30 Eli Zaretskii <eliz@is.elta.co.il> 41: 42: * msdos.c (IT_update_begin): Don't dereference members of struct 43: window for deleted windows. 44: 45: 1999-12-30 Gerd Moellmann <gerd@gnu.org> 46: 47: * abbrev.c (Fexpand_abbrev): If expanding an abbrev which has only 48: a hook, and the hook has a non-nil `no-self-insert' property, let 49: the return value of the hook specify whether an expansion took 50: place. If it returns nil, no expansion has been performed. 51: 52: * xterm.c (x_make_frame_visible): Wait for frame becoming visible 53: differently. 54: 55: 1999-12-30 Eli Zaretskii <eliz@is.elta.co.il> 56: 57: * msdos.c (IT_write_glyphs): Track last changes to struct glyph. 58: 59: 1999-12-29 Eli Zaretskii <eliz@is.elta.co.il> 60: 61: * dispnew.c (mode_line_string): Support MS-DOS frames. 62: 63: 1999-12-29 Gerd Moellmann <gerd@gnu.org> 64: 65: * eval.c (syms_of_eval): Initialize debugger_may_continue. 66: 67: 1999-12-29 Kenichi Handa <handa@etl.go.jp> 68: 69: * process.c (read_process_output): Fix the args CHARPOS and LENINS 70: to signal_after_change. 71: 72: 1999-12-28 Eli Zaretskii <eliz@is.elta.co.il> 73: 74: * msdos.c (dos_set_window_size) [__DJGPP__ > 1]: If the frame 75: dimensions changed, invalidate the mouse highlight info. 76: (disable_mouse_highlight, help_echo, previous_help_echo): New 77: variables. 78: (IT_set_mouse_pointer, show_mouse_face, clear_mouse_face) 79: (fast_find_position, IT_note_mode_line_highlight) 80: (IT_note_mouse_highlight): New functions. 81: (IT_update_begin): If the redisplay affects the window where the 82: mouse highlight is, clear the highlight. If the frame where the 83: highlight was displayed was killed, invalidate the highlight 84: info. 85: (IT_update_end): Reset the highlight flag. Reset the mouse 86: highlight-defer flag. 87: (IT_frame_up_to_date): New function, if mouse highlight was 88: deferred due to GC, do it now. 89: (internal_terminal_init): Initialize mouse-highlight related 90: members of the_only_x_display. Assign IT_frame_up_to_date to 91: frame_up_to_date_hook. 92: (dos_rawgetc): If the mouse moved, update mouse highlight. If 93: help_echo changed value, generate a HELP_EVENT event. 94: (syms_of_msdos): Staticpro help_echo and previous_help_echo. 95: 96: * msdos.h (struct display_info): New. 97: (struct x_output): Add the display_info member. 98: (FRAME_X_DISPLAY_INFO): New macro. 99: 100: 1999-12-28 Gerd Moellmann <gerd@gnu.org> 101: 102: * xdisp.c (try_window_id): Compute BEG_UNCHANGED and END_UNCHANGED 103: if MODIFF > 1. 104: (dump_glyph_row): Adapt to changes in struct glyph. 105: 106: * buffer.c (modify_overlay): Always compute unchanged info. 107: 108: 1999-12-27 Kenichi Handa <handa@etl.go.jp> 109: 110: * dispextern.h (FACE_FROM_ID): Cast the arg ID to `unsigned'. 111: 112: 1999-12-27 Kenichi Handa <handa@etl.go.jp> 113: 114: The following changes are to use more bits for face IDs. 115: 116: * lisp.h (GLYPH): Defined as `int', not `unsigned int'. Now the 117: lowest 8 bits are single byte character code, the bits above are 118: face ID. 119: (GLYPH_MASK_FACE, GLYPH_MASK_CHAR): Adjusted for the change 120: above. 121: (FAST_MAKE_GLYPH, FSST_GLYPH_FACE): Likewise. 122: (GLYPH_MASK_REV_DIR, GLYPH_MASK_PADDING): Macros deleted. 123: 124: * charset.h (CHAR_BYTES): Use ((1 << CHARACTERBITS) - 1) instead 125: of GLYPH_MASK_CHAR. 126: 127: * charset.c (char_bytes): Use ((1 << CHARACTERBITS) - 1) instead 128: of GLYPH_MASK_CHAR. 129: 130: * dispextern.h (struct glyph): Make face_id and padding_p the top 131: level members. Change members in union `u'. 132: (GLYPH_EQUAL_P): Check also members face_id and padding_p. 133: (GLYPH_CHAR_AND_FACE_EQUAL_P): New macro. 134: (SET_CHAR_GLYPH): Adjusted for the change of struct glyph. 135: (CHAR_GLYPH_PADDING_P): Likewise. 136: (GLYPH_FROM_CHAR_GLYPH): Likewise. Always return -1 for multibyte 137: characters. 138: 139: * dispnew.c (line_hash_code, direct_output_for_insert): Adjusted 140: for the change of struct glyph. 141: (line_draw_cost): Adjusted for the change of 142: GLYPH_FROM_CHAR_GLYPH. 143: (count_match): Use macro GLYPH_CHAR_AND_FACE_EQUAL_P. 144: 145: * term.c (encode_terminal_code): Adjusted for the change of struct 146: glyph and GLYPH_FROM_CHAR_GLYPH. 147: (write_glyphs, insert_glyphs, append_glyph): Adjusted for the 148: change of struct glyph. 149: 150: * xdisp.c: All codes adjusted for the change of struct glyph. 151: 152: * xterm.c: All codes adjusted for the change of struct glyph. 153: 154: 1999-12-27 Kenichi Handa <handa@etl.go.jp> 155: 156: * composite.h (struct composition): Change the order of declaring 157: members to reduce the byte size of the structure. 158: 159: 1999-12-25 Gerd Moellmann <gerd@gnu.org> 160: 161: * search.c (looking_at_1): Reset immediate_quit before modifying 162: global data. 163: 164: 1999-12-24 Kenichi Handa <handa@etl.go.jp> 165: 166: * process.c (read_process_output): Fix the arg FROM to 167: update_compositions. 168: 169: 1999-12-22 Richard M. Stallman <rms@gnu.org> 170: 171: * search.c (Freplace_match): For nonliteral replacement in buffer, 172: construct all the new text first, then insert all at once. 173: 174: 1999-12-22 Dave Love <fx@gnu.org> 175: 176: * xfns.c (Fx_show_tip): Gcpro `timeout' too. 177: 178: 1999-12-22 Gerd Moellmann <gerd@gnu.org> 179: 180: * xfns.c (Fx_create_frame): Move x_default_parameter calls that 181: lead to size changes to after the X window has been created. 182: 183: * xfaces.c (realize_x_face): Don't use uninitialized local 184: variable in xassert. 185: 186: 1999-12-22 Kenichi Handa <handa@etl.go.jp> 187: 188: * xfaces.c (face_color_supported_p): Check by tty_defined_color 189: only when the frame is not for a window system. 190: 191: 1999-12-22 Gerd Moellmann <gerd@gnu.org> 192: 193: * buffer.c (Fset_buffer_multibyte): Arrange for a thorough 194: redisplay after changing the multibyteness of a buffer. 195: 196: * xterm.c (XTread_socket): At the beginning of the loop, pass the 197: frame's X window to XFilterEvent instead of None because that's 198: the X window for which the IC was created. This makes dead 199: accents work when the pointer is not in Emacs' frame. 200: (XTread_socket) <KeyPress>: Don't call XFilterEvent here. 201: 202: 1999-12-20 Dave Love <fx@gnu.org> 203: 204: * xfns.c (Fx_show_tip): Add missing UNGCPRO. 205: 206: 1999-12-19 Gerd Moellmann <gerd@gnu.org> 207: 208: * eval.c (debugger_may_continue): New variable. 209: (syms_of_eval): Add a DEFVAR_BOOL for it. 210: (call_debugger): Bind it. 211: 212: 1999-12-19 Eli Zaretskii <eliz@is.elta.co.il> 213: 214: * msdos.c (IT_set_face): Don't swap face colors when highlight or 215: fp->tty_reverse_p is set, unless the computed colors are identical 216: to frame colors. Print both original and computed colors to 217: termscript file. 218: (IT_write_glyphs): Track the changes in handling of composite 219: characters. 220: (IT_set_frame_parameters): Don't set frame colors from 221: unspecified-fg and unspecified-bg pseudo-colors. 222: 223: 1999-12-17 Dave Love <fx@gnu.org> 224: 225: * data.c (Fkeywordp): New function. 226: (syms_of_data): Install it. 227: 228: 1999-12-16 Eli Zaretskii <eliz@is.elta.co.il> 229: 230: * xfaces.c (tty_defined_color): Fix last change. 231: 232: 1999-12-15 Gerd Moellmann <gerd@gnu.org> 233: 234: * xdisp.c (redisplay_window) <optional new window start>: Check 235: that window start is in [BEGV..ZV]. 236: 237: 1999-12-15 Eli Zaretskii <eliz@is.elta.co.il> 238: 239: * dispextern.h (FACE_TTY_DEFAULT_FG_COLOR) 240: (FACE_TTY_DEFAULT_BG_COLOR): New macros. 241: 242: * xfaces.c (Qunspecified_fg, Qunspecified_bg): New variables. 243: (syms_of_xfaces): Initialize and staticpro them. 244: (tty_defined_color): If the color name is unspecified-fg or 245: unspecified-bg, return FACE_TTY_DEFAULT_FG_COLOR and 246: FACE_TTY_DEFAULT_BG_COLOR, respectively, as the pixel value. 247: (tty_color_name): If the color pixel value is either 248: FACE_TTY_DEFAULT_FG_COLOR or FACE_TTY_DEFAULT_BG_COLOR, return 249: Qunspecified_fg or Qunspecified_bg, respectively. 250: (Finternal_set_lisp_face_attribute): Allow values Qunspecified_fg 251: and Qunspecified_bg for foreground and background colors. 252: (realize_default_face): If the foreground and background colors 253: are not specified, default to Qunspecified_fg and Qunspecified_bg. 254: (realize_tty_face): By default, set the face colors to 255: FACE_TTY_DEFAULT_FG_COLOR and FACE_TTY_DEFAULT_BG_COLOR. 256: [MSDOS]: Handle FACE_TTY_DEFAULT_FG_COLOR and 257: FACE_TTY_DEFAULT_BG_COLOR when face colors are not defined. 258: Reverse the colors if the default colors were reversed. 259: 260: * dispnew.c (init_display): Initialize the frame pixels of the 261: initial frame to FACE_TTY_DEFAULT_FG_COLOR and 262: FACE_TTY_DEFAULT_BG_COLOR. 263: 264: * term.c (turn_on_face): If the default fore- and background 265: colors are reversed, enter inverse video mode. Don't send color 266: escape sequences for unspecified foreground and background colors. 267: (turn_off_face): Handle unspecified-fg and unspecified-bg colors. 268: 269: * dosfns.c (unspecified_colors): New variable. 270: (msdos_stdcolor_idx): Handle unspecified-fg and unspecified-bg 271: color names, return FACE_TTY_DEFAULT_FG_COLOR and 272: FACE_TTY_DEFAULT_BG_COLOR, respectively. 273: (msdos_stdcolor_name): Handle FACE_TTY_DEFAULT_FG_COLOR and 274: FACE_TTY_DEFAULT_BG_COLOR, return Qunspecified_fg and 275: Qunspecified_bg, respectively. 276: 277: * msdos.c (IT_set_face): Support FACE_TTY_DEFAULT_FG_COLOR and 278: FACE_TTY_DEFAULT_BG_COLOR as pixel values. 279: 280: 1999-12-15 Kenichi Handa <handa@etl.go.jp> 281: 282: * coding.c (code_convert_region): Fix the secoding arg to 283: update_compositions. 284: 285: 1999-12-15 Kenichi Handa <handa@etl.go.jp> 286: 287: The following changes are for the new composition mechanism. We 288: have deleted `composition' charset and composite characters, 289: instead introduced a special text property `composition'. 290: 291: * Makefile.in (INTERVAL_SRC): Include composite.h. 292: (INTERVAL_OBJ): Include composite.o. 293: (SOME_MACHINE_OBJECTS): Include composite.o. 294: (casefiddle.o) (dispnew.o) (indent.o) (process.o) (search.o) 295: (syntax.o) (window.o) (xdisp.o) (xfaces.o) (xterm.o) (print.o): 296: Depend on composite.h. 297: (doc.o): Depend on charset.h. 298: (keyboard.o) (textprop.o) (intervals.o): Depend on INTERVAL_SRC. 299: (composite.o): New target. 300: 301: * alloc.c (Fmake_string): Adjusted for the change of CHAR_STRING. 302: 303: * callproc.c (Fcall_process): Call code_convert_string to encode 304: arguments. Use CODING_REQUIRE_DECODING to check if the process 305: output should be decoded. 306: 307: * casefiddle.c: Include composite.h. 308: (casify_object): Use MAX_MULTIBYTE_LENGTH to allocate memory for a 309: multibyte character. Adjusted for the change of CHAR_STRING. 310: (casify_region): Likewise. Call update_compositions. 311: 312: * category.h (CATEGORY_SET): Delete codes for a composite 313: character. 314: 315: * category.c (word_boundary_p): Delete codes for a composite 316: character. 317: (Fmake_category_table): New function. 318: (syms_of_category): Defsubr it. 319: 320: * ccl.c (CCL_WRITE_CHAR): Adjusted for the change of CHAR_STRING. 321: (ccl_driver): Delete codes for a composite character. 322: 323: * charset.h: In this entry, just `Modified' means that codes for a 324: composite character is deleted. 325: (LEADING_CODE_COMPOSITION) (CHARSET_COMPOSITION) 326: (charset_composition) (MIN_CHAR_COMPOSITION) 327: (MAX_CHAR_COMPOSITION) (GENERIC_COMPOSITION_CHAR) 328: (COMPOSITE_CHAR_P) (MAKE_COMPOSITE_CHAR) (COMPOSITE_CHAR_ID) 329: (PARSE_COMPOSITE_SEQ) (PARSE_CHARACTER_SEQ): Deleted. 330: (MAX_CHAR) (CHARSET_VALID_P) (CHARSET_DEFINED_P) (CHARSET_AT) 331: (FIRST_CHARSET_AT) (SAME_CHARSET_P) (MAKE_NON_ASCII_CHAR) 332: (PARSE_MULTIBYTE_SEQ) (SPLIT_NON_ASCII_CHAR) (CHAR_PRINTABLE_P): 333: Modified. 334: (SPLIT_STRING): Call split_string, not split_non_ascii_string. 335: (CHAR_STRING): Delete WORKBUF argument. Call char_string, not 336: non_ascii_char_to_string. 337: (STRING_CHAR): Call string_to_char, not string_to_non_ascii_char. 338: (STRING_CHAR_AND_LENGTH): Likewise. 339: (FETCH_CHAR_ADVANCE): New macro. 340: (MAX_COMPONENT_COUNT) (struct cmpchar_info): Deleted. 341: (MAX_MULTIBYTE_LENGTH): New macro. 342: (MAX_LENGTH_OF_MULTI_BYTE_FORM): Deleted. 343: (find_charset_in_str): Argument adjusted. 344: (CHAR_LEN): Modified. 345: 346: * charset.c: In this entry, just `Modified' means that codes for a 347: composite character is deleted. 348: (Qcomposition) (leading_code_composition) 349: (charset_composition) (min_composite_char) (cmpchar_table) 350: (cmpchar_table_size) (n_cmpchars): Deleted. 351: (SPLIT_COMPOSITE_SEQ): Deleted. 352: (SPLIT_MULTIBYTE_SEQ): Modified. 353: (char_to_string): Renamed from non_ascii_char_to_string. 354: Modified. 355: (string_to_char): Renamed from string_to_non_ascii_char. 356: (split_string): Renamed from split_non_ascii_string. 357: (char_printable_p) (Fsplit_char) 358: (Ffind_charset_region) (Ffind_charset_string) (char_valid_p) 359: (char_bytes) (Fchar_width) (strwidth): Modified. 360: (find_charset_in_str): Argument CMPCHARP deleted. Modified. 361: (Fstring): Adjusted for the change of CHAR_STRING. Modified. 362: (hash_string) (CMPCHAR_HASH_TABLE_SIZE) (cmpchar_hash_table) 363: (CMPCHAR_HASH_SIZE) (CMPCHAR_HASH_USED) (CMPCHAR_HASH_CMPCHAR_ID) 364: (str_cmpchar_id) (cmpchar_component) (Fcmpcharp) 365: (Fcmpchar_component) (Fcmpchar_cmp_rule) (Fcmpchar_cmp_rule_p) 366: (Fcmpchar_cmp_count): Deleted. 367: (Fcompose_string): Implemented by Emacs Lisp in composite.el. 368: (init_charset_once): Modified. 369: (syms_of_charset): Modified. 370: 371: * cmds.c (internal_self_insert): Adjusted for the change of 372: CHAR_STRING. 373: 374: * coding.h (emacs_code_class_type): Delete the member 375: EMACS_leading_code_composition. 376: (COMPOSING_NO) (COMPOSING_WITH_RULE_HEAD) (COMPOSING_NO_RULE_HEAD) 377: (COMPOSING_WITH_RULE_TAIL) (COMPOSING_NO_RULE_TAIL) 378: (COMPOSING_WITH_RULE_RULE) (COMPOSING_HEAD_P) 379: (COMPOSING_WITH_RULE_P): Macros deleted. 380: (COMPOSITION_DATA_SIZE) (COMPOSITION_DATA_MAX_BUNCH_LENGTH): New 381: macros. 382: (struct composition_data): New structure. 383: (CODING_FINISH_INSUFFICIENT_CMP): New macro. 384: (struct coding_system): New members composition_rule_follows, 385: cmp_data, cmp_data_start, cmp_data_index. 386: (coding_save_composition) (coding_free_composition_data) 387: (coding_adjust_composition_offset): Extern them. 388: 389: * coding.c: Include composite.h. 390: (DECODE_CHARACTER_ASCII): Don't handle composition here. 391: (DECODE_CHARACTER_DIMENSION1): Likewise. Don't check the validity 392: of multibyte code here. 393: (DECODE_CHARACTER_DIMENSION2): Likewise. 394: (detect_coding_emacs_mule): Change the case label from 395: EMACS_leading_code_composition to 0x80. 396: (detect_coding_iso2022): Handle new composition sequence. 397: (DECODE_ISO_CHARACTER): Likewise. 398: (check_composing_code): Deleted. 399: (coding_allocate_composition_data): New function. 400: (CODING_ADD_COMPOSITION_START) (CODING_ADD_COMPOSITION_END) 401: (CODING_ADD_COMPOSITION_COMPONENT) (DECODE_COMPOSITION_START) 402: (DECODE_COMPOSITION_END) (DECODE_COMPOSITION_RULE): New macros. 403: (decode_coding_iso2022): Handle new composition sequence. 404: (ENCODE_ISO_CHARACTER): Don't check composition here. 405: (ENCODE_COMPOSITION_RULE) (ENCODE_COMPOSITION_START): New macros. 406: (ENCODE_COMPOSITION_NO_RULE_START) 407: (ENCODE_COMPOSITION_WITH_RULE_START): Deleted. 408: (ENCODE_COMPOSITION_END): Handle new composition sequence. 409: (ENCODE_COMPOSITION_FAKE_START): New macro. 410: (encode_coding_iso2022): Handle new composition sequence. 411: (ENCODE_SJIS_BIG5_CHARACTER): Delete superfluous `;' at the tail. 412: (encode_coding_sjis_big5): Ignore composition. 413: (setup_coding_system): Initialize new members of struct 414: coding_system. Enable composition only when the coding system has 415: `composition' property t. 416: (coding_free_composition_data) (coding_adjust_composition_offset) 417: (coding_save_composition) (coding_restore_composition): New 418: functions. 419: (code_convert_region): Call coding_save_composition for encoding 420: and coding_allocate_composition_data for decoding. Don't skip 421: ASCII characters if we handle composition on encoding. Call 422: signal_after_change with Check_BORDER. 423: (code_convert_string): Call coding_save_composition for encoding 424: and coding_allocate_composition_data for decoding. Don't skip 425: ASCII characters if we handle composition on encoding. 426: (code_convert_string1): Set Vlast_coding_system_used after calling 427: code_convert_string. 428: (code_convert_string_norecord): Disable composition. 429: (Fset_terminal_coding_system_internal): Likewise. 430: (Fset_safe_terminal_coding_system_internal): Likewise. 431: (Fset_keyboard_coding_system_internal): Likewise. 432: (init_coding_once): Set emacs_code_class[0x80] to 433: EMACS_invalid_code. 434: 435: * composite.h: New file. 436: 437: * composite.c: New file. 438: 439: * data.c (Faref): Delete codes for a composite character.. 440: (Faset): Likewise. Adjusted for the change of CHAR_STRING. 441: 442: * dispextern.h (enum glyph_type): New member COMPOSITE_GLYPH. 443: (struct glyph): Add new sub-structure cmp to the union `u'. 444: (enum display_element_type): New member IT_COMPOSITION. 445: (enum prop_idx): New member COMPOSITION_PROP_IDX. 446: (struct it): New members cmp_id, cmp_len. 447: 448: * dispnew.c (direct_output_forward_char): Check point moving into 449: or out of a composition. If so, give up direct method. 450: 451: * doprnt.c (doprnt1): Adjusted for the change of CHAR_STRING. 452: 453: * editfns.c (Fchar_to_string): Adjusted for the change of 454: CHAR_STRING. 455: (general_insert_function): Likewise. 456: (Finsert_char): Likewise. 457: (Fsubst_char_in_region): Likewise. Call update_compositions. 458: (Ftranslate_region): Call update_compositions. 459: (Ftranspose_regions): Call update_compositions. 460: 461: * emacs.c (main): Call syms_of_composite. 462: 463: * fileio.c (Fsubstitute_in_file_name): Adjusted for the change of 464: CHAR_STRING. 465: (Finsert_file_contents): Set Vlast_coding_system_used before 466: calling signal_after_change. Call update_compositions if some 467: texts are inserted.. 468: (Fwrite_region): Adjusted for the change of a_write and e_write. 469: (a_write): Argument changed. Work based on character position, 470: not byte position. 471: (e_write): Argument changed. Handle new way of composition. 472: 473: * fns.c (Flength): The length of char-table is MAX_CHAR. 474: (concat): Adjusted for the change of CHAR_STRING. 475: (Ffillarray): Adjusted for the change of CHAR_STRING. 476: (Fset_char_table_default): Delete codes for a composite character. 477: (hash_put): Return hash index. 478: 479: * fontset.h (struct font_info): New member vertical_centering. 480: (Vvertical_centering_font_regexp): Extern it. 481: 482: * fontset.c (Vvertical_centering_font_regexp): New variable. 483: (syms_of_fontset): Declare it as a Lisp variable and initialize. 484: Set Vignore_relative_composition to nil. 485: (fs_load_font): Initialize `vertical_centering' of struct 486: font_info. 487: 488: * indent.c (check_composition): New function. 489: (MULTIBYTE_BYTES_WIDTH): Call STRING_CHAR_AND_LENGTH with 490: MAX_MULTIBYTE_LENGTH, not MAX_LENGTH_OF_MULTI_BYTE_FORM. 491: (current_column_1): Handle new way of composition. 492: (Fmove_to_column): Likewise. 493: (compute_motion): Likewise. 494: 495: * insdel.c (copy_text): Adjusted for the change of CHAR_STRING. 496: (insert_char): Likewise. 497: (insert): Call update_compositions. 498: (insert_and_inherit): Likewise. 499: (insert_before_markers): Likewise. 500: (insert_before_markers_and_inherit): Likewise. 501: (insert_from_string): Likewise. 502: (insert_from_string_before_markers): Likewise. 503: (insert_from_buffer): Likewise. 504: (replace_range): Likewise. 505: (count_combining_composition): Deleted. 506: (count_combining_before): Delete codes for a composite character. 507: (count_combining_after): Likewise. 508: (del_range_1): Call update_compositions. 509: (del_range_byte): Likewise. 510: (del_range_both): Likewise. 511: (Fcombine_after_change_execute): Likewise. 512: 513: * intervals.h: Include composite.h. 514: (get_property_and_range): Extern it. 515: (Vtext_property_default_nonsticky): Extern it. 516: 517: * intervals.c (adjust_intervals_for_insertion): To check stickines 518: of properties, pay attention to text-property-default-nonsticky. 519: (merge_properties_sticky): Likewise. 520: (get_property_and_range): New function. 521: 522: * keyboard.c (Vdisable_point_adjustment): New variable. 523: (Vglobal_disable_point_adjustment): New variable. 524: (syms_of_keyboard): Declare them as Lisp variables. 525: (command_loop_1): Check them and call adjust_point_for_property if 526: necessary. 527: (adjust_point_for_property): New function. 528: 529: * keymap.c (push_key_description): Adjusted for the change of 530: CHAR_STRING. 531: (Ftext_char_description): Likewise. 532: 533: * lisp.h (QCtest, QCweakness, Qequal): Extern them. 534: (hash_put): Adjusted for the change of the definition. 535: (signal_after_change): Likewise. 536: (check_point_in_composition): Extern it. 537: 538: * lread.c (readchar): Adjusted for the change of CHAR_STRING. 539: Delete a code that handles an invalid too-long multibyte sequence 540: because we are now sure that we never encounter with such a 541: sequence. 542: (read_multibyte): Use macro MAX_MULTIBYTE_LENGTH, not 543: MAX_LENGTH_OF_MULTI_BYTE_FORM. 544: (init_obarray): Likewise. 545: (read1): Likewise. Adjusted for the change of CHAR_STRING. 546: 547: * print.c (printchar): Adjusted for the change of CHAR_STRING. 548: 549: * process.c: Include composite.h. 550: (read_process_output): Call update_compositions. 551: 552: * regex.c (regex_compile): Adjusted for the change of CHAR_STRING. 553: 554: * search.c (search_buffer): Adjusted for the change of CHAR_STRING. 555: 556: * syntax.h (SYNTAX_ENTRY_INT): Delete codes for a composite 557: character. 558: 559: * term.c (encode_terminal_code): Delete codes for a composite 560: character. Adjusted for the change of CHAR_STRING. 561: (produce_glyphs): When called, it->what can be IT_COMPOSITION. 562: Delete codes for a composite character. 563: 564: * textprop.c (Vtext_property_default_nonsticky): New variable 565: (syms_of_textprop): Declare it as a Lisp variable. 566: 567: * window.c (Frecenter): Clear all caches of compositions. 568: 569: * xdisp.c (it_props): Add an entry for composition. 570: (face_before_or_after_it_pos): For composition, check face of a 571: character after the composition. 572: (handle_composition_prop): New function. 573: (get_next_display_element): Adjusted for the change of 574: CHAR_STRING. 575: (set_iterator_to_next): Handle the case that it->method == 576: next_element_from_composition. 577: (next_element_from_composition): New function. 578: (message_dolog): Adjusted for the change of CHAR_STRING. 579: (set_message_1): Likewise. 580: (check_point_in_composition): New function. 581: (reconsider_clip_changes): If point moved into or out of 582: composition, set b->clip_changed to 1 to force updating of the 583: screen. 584: (disp_char_vector): Delete codes for a composite character. 585: (decode_mode_spec_coding): Adjusted for the change of CHAR_STRING. 586: 587: * xfaces.c (choose_face_fontset_font): Delete codes for a 588: composite character. 589: (realize_x_face): Likewise. Change a place to set local variable 590: `f' to avoid a bug of GCC 2.8.1 on Solaris. 591: 592: * xfns.c: Include intervals.h. 593: (syms_of_xfns): Make `display' property nonsticky by default. 594: 595: * xselect.c (lisp_data_to_selection_data): Adjusted for the change 596: for find_charset_in_str. 597: 598: * xterm.h (struct x_output): Change member font_baseline to 599: baseline_offset. 600: 601: * xterm.c (x_append_glyph): Setup members of struct glyph properly 602: for composition. 603: (x_append_composite_glyph): New function. 604: (VCENTER_BASELINE_OFFSET): New macro. 605: (x_produce_glyphs): If it->what == IT_COMPOSITION, setup members 606: of struct it for the composition. Cache pixel offsets in the 607: struct composition. Delete codes for a composite character. 608: Handle Vignore_relative_composition in composition code. 609: (struct glyph_string): Delete member cmpcharp, add new member cmp. 610: (x_set_cursor_gc): Check s->cmp, not s->cmpcharp. 611: (x_compute_glyph_string_overhangs): Likewise. 612: (x_get_glyph_overhangs): Delete codes for a composite character. 613: (x_right_overwritten): Check s->cmp, not s->cmpcharp. 614: (x_draw_glyph_string_background): Likewise. Delete codes for 615: checking s->gidx for a composition. 616: (x_draw_glyph_string_foreground): Delete code for a composite 617: character. 618: (x_draw_composite_glyph_string_foreground): New function. 619: (x_draw_glyph_string_box): Check s->cmp, not s->cmpcharp. 620: (x_draw_glyph_string): Handle the case of COMPOSITE_GLYPH. 621: (struct work): Deleted. 622: (x_fill_composite_glyph_string): Argument changed. Mostly 623: rewritten for that. 624: (x_fill_glyph_string): Don't check CHARSET_COMPOSITION. 625: (BUILD_CHAR_GLYPH_STRINGS): Don't handle composition here. 626: (BUILD_COMPOSITE_GLYPH_STRING): New macro. 627: (BUILD_GLYPH_STRINGS): For composition, call 628: BUILD_COMPOSITE_GLYPH_STRING. 629: (x_new_font): Initialize f->output_data.x->baseline_offset, not 630: f->output_data.x->font_baseline. 631: 632: 1999-12-14 Gerd Moellmann <gerd@gnu.org> 633: 634: * xterm.c (show_mouse_face): Don't use updated_area, use 635: TEXT_AREA. 636: 637: 1999-12-12 Richard M. Stallman <rms@gnu.org> 638: 639: * minibuf.c (Fall_completions): Doc fix. 640: 641: 1999-12-12 Richard M. Stallman <rms@gnu.org> 642: 643: * macros.c (Fstart_kbd_macro): Handle case where last-kbd-macro 644: has been changed by the Lisp code. 645: 646: 1999-12-12 Gerd Moellmann <gerd@gnu.org> 647: 648: * xfns.c: Indentation fixes. 649: 650: 1999-12-10 Stefan Monnier <monnier@cs.yale.edu> 651: 652: * xterm.c (x_initialize): Only setup xaw3d_* if they've been declared. 653: 654: 1999-12-10 Gerd Moellmann <gerd@gnu.org> 655: 656: * frame.h (FRAME_FOREGROUND_PIXEL, FRAME_BACKGROUND_PIXEL) 657: [!MSDOS && !WINDOWSNT && !macintosh]: Moved here from xterm.h. 658: 659: * xterm.h (FRAME_FOREGROUND_PIXEL, FRAME_BACKGROUND_PIXEL): Moved 660: to frame.h. 661: 662: 1999-12-09 Stefan Monnier <monnier@cs.yale.edu> 663: 664: * keyboard.c (Qratio): New symbol. 665: (scroll_bar_parts): Add `Qratio' to it. 666: (syms_of_keyboard): Init `Qratio'. 667: * termhooks.h (scroll_bar_part): Add `scroll_bar_move_ratio'. 668: * xterm.c (#includes): Allow compilation with only Xaw. 669: (xaw3d_arrow_scroll, xaw3d_pick_top): New variables. 670: (xt_action_hook): Replace XAW3D by XAW. 671: (xaw3d_jump_callback): Renamed to xaw_jump_callback. 672: (xaw_jump_callback): Renamed from xaw3d_jump_callback. 673: Determine epsilon dynamically and don't try to be too clever. 674: (xaw3d_scroll_callback): Renamed to xaw_scroll_callback. 675: (xaw_scroll_callback): Renamed from xaw3d_scroll_callback. 676: Handle both Xaw3d with arrow-scrollbars and with Xaw-style 677: scrollbar (using `ratio'). 678: (x_create_toolkit_scroll_bar): Try to detect which style of Xaw3d 679: scrollbar we have so as to set it up more optimally and to fix 680: xaw3d_arrow_scroll and xaw3d_pick_top. 681: (x_set_toolkit_scroll_bar_thumb): Try to maintain 2 spare pixels at the 682: bottom of the Xaw3d scrollbar, to work around its tendency to refuse 683: shrinking the thumb. Also make sure that `XawScrollbarSetThumb' 684: is not ignored, using a major gross hack. 685: (x_initialize): Init default values for xaw3d_arrow_scroll and 686: xaw3d_pick_top. 687: 688: 1999-12-09 Dave Love <fx@gnu.org> 689: 690: * frame.h: (PIX_TYPE) [! HAVE_X_WINDOWS]: Define PIX_TYPE. 691: 692: 1999-12-08 Gerd Moellmann <gerd@gnu.org> 693: 694: * eval.c: Remove conditional compilation on `standalone'. 695: (call_debugger): When entering the debugger while redisplaying, 696: reset redisplaying_p, and go back to the top-level if the debugger 697: returns. 698: 699: 1999-12-07 Gerd Moellmann <gerd@gnu.org> 700: 701: * xfaces.c (x_set_menu_resources_from_menu_face): Make sure 702: basic faces are realized before trying to use face `menu'. 703: 704: * window.c (delete_window): Block input for the time window 705: matrices are being changed. 706: 707: 1999-12-07 Dave Love <fx@gnu.org> 708: 709: * lread.c (Fintern_soft): Fix newlines in doc string. 710: 711: 1999-12-07 Alexandre Oliva <oliva@dcc.unicamp.br> 712: 713: * unexelf.c: Include <syms.h>, not <sym.h> on IRIX. Removed 714: duplicate definition of ElfW. 715: (find_section): Copied from unexsgi.c. 716: (unexec): Use find_section. Adjust whitespace. Initialize 717: new_data2_offset based on old_data, not sbss (this fixes a bug on 718: IRIX6). Change #ifdef __mips to __sgi, since it's IRIX-specific. 719: Adjust test for presence of .mdebug section to the new return 720: value of find_section. 721: 722: 1999-12-07 Gerd Moellmann <gerd@gnu.org> 723: 724: * unexelf.c: Merge changes from 20.5. 725: (unexec): Handle .lit4 and .lit8 unconditionally. 726: 727: * m/iris4d.h (UNEXEC) [USG5_4]: Use unexelf.o instead of 728: unexsgi.o again. 729: 730: * m/iris5d.h (UNEXEC): Likewise. 731: 732: 1999-12-06 Stefan Monnier <monnier@cs.yale.edu> 733: 734: * editfns.c (Fdelete_and_extract_region): New function. 735: (syms_of_editfns): Register it. 736: * insdel.c (del_range): Update del_range_1 call. 737: (del_range_1, del_range_2): Add a ret_string argument to 738: request that the deleted text be returned. 739: (del_range_byte, del_range_both): Update