*** empty log message ***
[bpt/emacs.git] / src / ChangeLog.22
index 1b5424d..0d45591 100644 (file)
@@ -1,3 +1,409 @@
+2004-03-09  Kenichi Handa  <handa@m17n.org>
+
+       * search.c (simple_search): Fix setting this_pos_byte in backward
+       search.
+
+       * coding.c (detect_coding_emacs_mule): Fix counting of encoded
+       byte sequence.
+       (detect_coding_ccl): Fix setting of the variable valids.
+
+2004-03-04  Kenichi Handa  <handa@m17n.org>
+
+       * xterm.c (x_list_fonts): Fix the detection of an auto-scaled font.
+
+       * coding.c (decode_coding_utf_16): Fix handling of surrogate pair.
+
+       * editfns.c (Ftranslate_region_internal): Renamed from
+       Ftranslate_region.  Accept a char-table in TABLE.
+       (syms_of_editfns): Defsubr Stranslate_region_internal.
+
+       * xfaces.c (set_lface_from_font_name): If a font is specified for
+       a frame, generate a fontset from the font.
+       (build_scalable_font_name): If the scalable font is requested for
+       a specific size, don't change that size.
+       (try_font_list): Try a scalable font also in the case that a
+       pattern string is specified,
+       
+
+2004-03-03  Kenichi Handa  <handa@m17n.org>
+
+       * xfaces.c (Fface_font): New optional arg CHARACTER.
+
+2004-02-17  Kenichi Handa  <handa@m17n.org>
+
+       * charset.h (CHARSET_OFFSET): New macro.
+
+2004-02-13  Kenichi Handa  <handa@m17n.org>
+
+       * xterm.c (x_get_font_repertory): Fix for non-Unicode-bmp charset.
+
+       * fontset.c (fontset_face): Handle the case that repertory is a
+       char-table.
+       (find_font_encoding): Return nil for unknown encoding.
+       (Fset_fontset_font): Ignore a font of unknown encoding.
+
+2004-02-09  Kenichi Handa  <handa@m17n.org>
+
+       * keymap.c (describe_vector): Handle default value of a char
+       table.
+
+       * fontset.c (fontset_face): Handle fallback fonts correctly.
+       (Ffontset_info): Return infomation about fallback fonts.
+
+2004-02-06  Kenichi Handa  <handa@m17n.org>
+
+       * fontset.c (FONTSET_DEFAULT): New macro.
+       (FONTSET_ADD): Handle the case that range is nil.
+       (fontset_add): Likewise.
+       (Fset_fontset_font): Change the 2nd arg name to TARGET, and handle
+       the case that it is nil.
+       (dump_fontset): Call FONTSET_DEFAULT, not FONTSET_FALLBACK.
+       (syms_of_fontset): Set char-table-extra-slots property of fontset
+       to 9.
+
+       * charset.h (CHAR_CHARSET_P): Fix for the case that the method is
+       subset or superset.
+
+2004-01-30  Kenichi Handa  <handa@m17n.org>
+
+       * emacs.c (main): Call init_charset after syms_of_XXX.
+
+       * charset.c (Vcharset_map_directory): Deleted.
+       (Vcharset_map_path): New variable
+       (load_charset_map_from_file): Use Vcharset_map_path instead.
+       (init_charset): Initialize Vcharset_map_path.
+       (syms_of_charset): Delete declaration of "charset-map-directory",
+       add declaration of "charset-map-path".
+
+2004-01-29  Kenichi Handa  <handa@m17n.org>
+
+       * fns.c (string_char_to_byte): Optimize for ASCII only string.
+       (string_byte_to_char): Likewise.
+
+       * fileio.c (Finsert_file_contents): Avoid detecting a code twice.
+
+       * coding.c (detect_coding_iso_2022): Fix handling of SS2 and SS3.
+       (detect_coding): Treat '\0' as normal ASCII byte..
+       (detect_coding_system): Likewise.
+
+2004-01-27  Kenichi Handa  <handa@m17n.org>
+
+       * coding.h (SJIS_TO_JIS2, JIS_TO_SJIS2): New macros.
+
+       * coding.c (QCmnemonic, QCdefalut_char)
+       (QCdecode_translation_table, QCencode_translation_table)
+       (QCpost_read_conversion, QCpre_write_conversion): New variables.
+       (get_translation_table): Return a list of translation tables if
+       necessary.
+       (decode_coding): Call get_translation_table with ENCODEP 0.
+       (char_encodable_p): If translation_table is non-nil, always call
+       translate_char.
+       (Fdefine_coding_system_internal): Accept list of translation
+       tables as :encode-translation-table and :decode-translation-table.
+       (Fcoding_system_put): New function.
+       (syms_of_coding): Declare new symbols.  Defsubr
+       Scoding_system_put.
+       (decode_coding_sjis): Handle 4th charset (typically JISX0212).
+       (encode_coding_sjis): Likewise.
+
+       * charset.c (map_charset_chars): Fix arg to map_charset_chars in
+       when the charset is superset type.
+
+       * character.c (translate_char): Accept list of translation tables.
+
+2004-01-25  Kenichi Handa  <handa@m17n.org>
+
+       * coding.h (enum coding_attr_index): New member
+       coding_attr_trans_tbl.
+       (CODING_ATTR_TRANS_TBL): New macro.
+
+       * coding.c (get_translation_table): New function.
+       (translate_chars): Fix the bug of skipping annotation data.
+       (decode_coding): Utilze get_translation_table.
+       (encode_coding): Likewise.
+       (char_encodable_p): Translate char if necessary.
+       (Funencodable_char_position): Likewise.
+       (Ffind_coding_systems_region_internal): Setup translation table
+       for encode in a coding system attribute vector in advance.
+       (Fcheck_coding_systems_region): Likewise.
+       (Fdefine_coding_system_internal): Allow a symbol as translation
+       table.  For shift-jis type coding system, allow 4th charset.
+
+2004-01-24  Kenichi Handa  <handa@m17n.org>
+
+       * coding.c (decode_coding_sjis): Check the first byte rigidly.
+
+       * xdisp.c (get_next_display_element): Pass -1 as POS to
+       FACE_FOR_CHAR if displaying a C-string.
+
+2004-01-23  Kenichi Handa  <handa@m17n.org>
+
+       * composite.c (get_composition_id): Handle xoff and yoff in a
+       composition rule.
+
+       * composite.h (COMPOSITION_DECODE_RULE): New arg xoff and yoff.
+       (struct composition): New member lbearing and rbearing.
+
+       * xdisp.c (move_it_to): Optimize for the case (op & MOVE_TO_Y).
+       (x_get_glyph_overhangs): Handle a composition glyph.
+       (x_produce_glyphs): Setup lbearing and rbreaing for a composition
+       glyph.
+
+       * xterm.c (x_compute_glyph_string_overhangs): Handle also a
+       composition glyph.
+
+2004-01-18  Kenichi Handa  <handa@m17n.org>
+
+       * print.c: Include charset.h.
+       (Vprint_charset_text_property): New variable.
+       (Qdefault): Extern it.
+       (PRINT_STRING_NON_CHARSET_FOUND)
+       (PRINT_STRING_UNSAFE_CHARSET_FOUND): New macros.
+       (print_check_string_result): New variable.
+       (print_check_string_charset_prop): New function.
+       (print_prune_charset_plist): New variable.
+       (print_prune_string_charset): New function.
+       (print_object): Call print_prune_string_charset if
+       Vprint_charset_text_property is not t.
+       (print_interval): Print nothing if itnerval->plist is nil.
+       (syms_of_print): Declare Vprint_charset_text_property as a lisp
+       variable.  Init and staticpro print_prune_charset_plist.
+
+2004-01-15  Kenichi Handa  <handa@m17n.org>
+
+       * fontset.c (new_fontset_from_font_name): Use the specified font
+       for all characters in the new fontset.
+
+       * macterm.c (x_set_mouse_face_gc): Call FACE_FOR_CHAR with POS and
+       OBJECT args.
+
+       * xdisp.c (x_produce_glyphs): Call FACE_FOR_CHAR with POS and
+       OBJECT args for composition too.
+
+       * w32term.c (x_set_mouse_face_gc): Call FACE_FOR_CHAR with POS and
+       OBJECT args.
+
+2004-01-13  Kenichi Handa  <handa@m17n.org>
+
+       * dispextern.h (FACE_FOR_CHAR): New args POS and OBJECT.
+
+       * fontset.c (reorder_font_vector): Adjusted for the change of
+       FONT_DEF format.
+       (fontset_face): New arg id.  Caller changed.
+       (face_for_char): New args pos and object.
+       (make_fontset_for_ascii_face): Adjusted for the change of FONT_DEF
+       format.n
+       (fs_query_fontset): Check NAME by Fassoc too.
+       (Fset_fontset_font): Allow non-XLFD font name.
+       (Ffontset_info): Adjusted for the change of FONT_DEF format.
+
+       * fontset.h (face_for_char): Prototype adjusted.
+
+       * xdisp.c (face_before_or_after_it_pos): Call FACE_FOR_CHAR with
+       POS and OBJECT args.
+       (get_next_display_element): Likewise.
+       (append_space): Likewise.
+       (extend_face_to_end_of_line): Likewise.
+       (get_char_face_and_encoding): Likewise.
+       (BUILD_COMPOSITE_GLYPH_STRING): Likewise.
+       (x_produce_glyphs): Likewise.
+
+       * xfaces.c (compute_char_face): Call FACE_FOR_CHAR with
+       POS and OBJECT args.
+
+       * xterm.c (x_set_mouse_face_gc): Call FACE_FOR_CHAR with
+       POS and OBJECT args.
+
+2004-01-03  Jason Rumney  <jasonr@gnu.org>
+
+       * w32select.c (Fw32_set_clipboard_data): Avoid potential realloc
+       of GlobalAlloc'ed memory.
+
+2003-12-29  Kenichi Handa  <handa@m17n.org>
+
+       * ccl.c (Fccl_execute_on_string): Fix the condition of loop.
+
+       * charset.h (charset_table_used): Delete extern.
+
+       * charset.c (charset_table_used): Make it static.
+       (map_charset_chars): Fix args to c_function with.
+
+       * chartab.c (map_sub_char_table_for_charset): Fix args to
+       c_function with.
+
+       * coding.h (enum coding_result_code): Delete
+       CODING_RESULT_INSUFFICIENT_CMP, add CODING_RESULT_INVALID_SRC.
+
+       * coding.c (Qinsufficient_source, Qinconsistent_eol)
+       (Qinvalid_source, Qinterrupted, Qinsufficient_memory): New
+       variables.
+       (Vlast_code_conversion_error): New variables.
+       (syms_of_coding): DEFSYM or DEFVAR_LISP them. 
+       (ONE_MORE_BYTE): Record error if any instead of signaling an
+       error.  If non-ASCII multibyte char is found, return the negative
+       value of the code.  All callers changed to check it.
+       (ONE_MORE_BYTE_NO_CHECK): Likewise.
+       (record_conversion_result): New function.  All codes setting
+       coding->result are changed to call this function.
+       (detect_coding_utf_8): Don't use the local variable incomplete.
+       (decode_coding_utf_8): Likewise.
+       (emacs_mule_char): Change the second arg to `const'.
+       (detect_coding_emacs_mule): Don't use the local variable
+       incomplete.
+       (detect_coding_sjis): Likewise.
+       (detect_coding_big5): Likewise.
+       (decode_coding): Fix of flushing out unprocessed data.
+       (make_conversion_work_buffer): Fix making of a work buffer.
+       (decode_coding_object): Return coding->dst_object;
+
+       * fontset.c (set_fontset_font): Fix args.
+
+       * lisp.h (CHARACTERBITS): Define as 22.
+
+       * process.c (send_process): Be sure to set coding->src_multibyte.
+
+       * xdisp.c (handle_auto_composed_prop): Fix setting of limit.
+
+2003-12-02  Kenichi Handa  <handa@m17n.org>
+
+       * xdisp.c (handle_auto_composed_prop): Give limit to
+       Fnext_single_char_property_change.
+
+2003-12-02  Kenichi Handa  <handa@m17n.org>
+
+       * coding.c (detect_coding): Fix previous change.
+       (detect_coding_system): Likewise.
+
+2003-12-02  Kenichi Handa  <handa@m17n.org>
+
+       * composite.c (syms_of_composite): Don't make the compostion hash
+       table week.
+
+       * fontset.c (Fset_fontset_font): Fix docstring.
+
+       * lisp.h (detect_coding_system): Adjust prototype.
+
+       * fileio.c (kill_workbuf_unwind): Delete this function.
+       (Finsert_file_contents): Adjust the call of detect_coding_system.
+       Get conversion_buffer by code_conversion_save.  Use the macor
+       CODING_MAY_REQUIRE_DECODING.  After decoding, update
+       coding_system.
+
+       * coding.h (make_conversion_work_buffer): Delete extern.
+       (code_conversion_save): Extern it.
+
+       * coding.c (enum iso_code_class_type): Delete ISO_carriage_return.
+       (CODING_GET_INFO): Delete argument eol_type.  Callers changed.
+       (decode_coding_utf_8): Don't do eol converion.
+       (detect_coding_utf_16): Check coding->src_chars, not
+       coding->src_bytes.  Add heuristics for those that have no
+       signature.
+       (decode_coding_emacs_mule): Don't do eol converion.
+       (decode_coding_iso_2022): Likewise.
+       (decode_coding_sjis): Likewise.
+       (decode_coding_big5): Likewise.
+       (decode_coding_charset): Likewise.
+       (adjust_coding_eol_type): Return a new coding system.
+       (detect_coding): Don't detect eol.  Fix for utf-16 detection.
+       (decode_eol): In case of CRLF->LF conversion, use del_range_2 on
+       each change.
+       (decode_coding): Pay attention to undo_list.  Do eol convesion for
+       all types of coding-systems (if necessary).
+       (Vcode_conversion_work_buf_list): Delete it.
+       (Vcode_conversion_reused_workbuf): Renamed from
+       Vcode_conversion_reused_work_buf.
+       (Vcode_conversion_workbuf_name): New variable.
+       (reused_workbuf_in_use): New variable.
+       (make_conversion_work_buffer): Delete the arg DEPTH.
+       (code_conversion_restore): Argument changed to cons.
+       (code_conversion_save): Delete the argument BUFFER.  Callers
+       changed.
+       (detect_coding_system): New argument src_chars.  Callers changed.
+       Fix for utf-16 detection.
+       (init_coding_once): Don't use ISO_carriage_return.
+       (syms_of_coding): Initialized Vcode_conversion_workbuf_name and
+       reused_workbuf_in_use.
+
+2003-11-24  Kenichi Handa  <handa@m17n.org>
+
+       * keymap.c (store_in_keymap): Pay attention to the case that idx
+       is a cons specifying a character range.
+
+       * coding.c (Fdefine_coding_system_internal): Fix previous change.
+
+2003-11-23  Kenichi Handa  <handa@m17n.org>
+
+       * xdisp.c (handle_auto_composed_prop): Fix the case of returning
+       HANDLED_RECOMPUTE_PROPS.
+
+       * coding.c (Fdefine_coding_system_internal): Fix checking of
+       ascii compatibility.
+
+2003-11-22  Kenichi Handa  <handa@m17n.org>
+
+       * charset.c (find_charsets_in_text): Delete unused locale
+       variable.
+       (Fset_charset_priority): Update Vemacs_mule_charset_list too.
+
+       * coding.c (encode_coding_emacs_mule): Emit bytes with MSB.
+       Resync charset_list to Vemacs_mule_charset_list.
+
+       * keymap.c (store_in_keymap): Pay attention to the case that idx
+       is a cons specifying a character range.
+
+2003-11-18  Kenichi Handa  <handa@m17n.org>
+
+       * composite.c (update_compositions): Bind inhibit-read-only, etc
+       to t before calling remove-list-of-text-properties.
+
+       * print.c (print_object): Always print ASCII chars as is.
+
+2003-11-17  Kenichi Handa  <handa@m17n.org>
+
+       * keymap.c (Fdefine_key): Fix handling of Lucid style event type
+       list.
+
+       * fns.c (Fmapconcat): Signal an error if SEQUENCE is a char table.
+       (Fmapcar): Likewise.
+       (Fmapc): Likewise.
+
+2003-11-15  Kenichi Handa  <handa@m17n.org>
+
+       * syntax.c (skip_chars): Be sure to alloca char_ranges when
+       necessary.
+
+2003-11-14  Kenichi Handa  <handa@m17n.org>
+
+       * xfaces.c (set_lface_from_font_name): Fix for the case that
+       FONTNAME is not fontset name.
+
+2003-11-13  Kenichi Handa  <handa@m17n.org>
+
+       * fns.c (base64_encode_1): Fix previous change.
+
+2003-11-08  Kenichi Handa  <handa@m17n.org>
+
+       * fontset.c (set_fontset_font): New function.
+       (Fset_fontset_font): If a font is specified for a charset, use
+       map_charset_chars to store the font spec in a fontset.
+
+2003-10-29  Kenichi Handa  <handa@m17n.org>
+
+       * fontset.c (fontset_face): Create a fallback fontset on demand
+       (make_fontset): Don't create a fallback fontset here.
+       (free_face_fontset): Free a fallback fontset (if any) too.
+       (n_auto_fontsets): Delete this variable.
+       (auto_fontset_alist): New variable.
+       (new_fontset_from_font_name): Check auto_fontset_alist.
+       (dump_fontset) [FONTSET_DEBUG]: Fully re-written.
+       (Ffontset_list_all) [FONTSET_DEBUG]: New function.
+       (syms_of_fontset): Initialize and staticpro auto_fontset_alist.
+       Defsubr Sfontset_list_all.
+
+2003-10-24  Kenichi Handa  <handa@m17n.org>
+
+       * xterm.c (x_list_fonts): Fix excluding of auto-scaled fonts.
+
 2003-10-23  Kenichi Handa  <handa@m17n.org>
 
        * fontset.c (Fnew_fontset): Check NAME more rigidly.