Mercurial > hg > xemacs-beta
comparison src/unicode.c @ 4952:19a72041c5ed
Mule-izing, various fixes related to char * arguments
-------------------- ChangeLog entries follow: --------------------
modules/ChangeLog addition:
2010-01-26 Ben Wing <ben@xemacs.org>
* postgresql/postgresql.c:
* postgresql/postgresql.c (CHECK_LIVE_CONNECTION):
* postgresql/postgresql.c (print_pgresult):
* postgresql/postgresql.c (Fpq_conn_defaults):
* postgresql/postgresql.c (Fpq_connectdb):
* postgresql/postgresql.c (Fpq_connect_start):
* postgresql/postgresql.c (Fpq_result_status):
* postgresql/postgresql.c (Fpq_res_status):
Mule-ize large parts of it.
2010-01-26 Ben Wing <ben@xemacs.org>
* ldap/eldap.c (print_ldap):
* ldap/eldap.c (allocate_ldap):
Use write_ascstring().
src/ChangeLog addition:
2010-01-26 Ben Wing <ben@xemacs.org>
* alloc.c:
* alloc.c (build_ascstring):
* alloc.c (build_msg_cistring):
* alloc.c (staticpro_1):
* alloc.c (staticpro_name):
* alloc.c (staticpro_nodump_1):
* alloc.c (staticpro_nodump_name):
* alloc.c (unstaticpro_nodump_1):
* alloc.c (mcpro_1):
* alloc.c (mcpro_name):
* alloc.c (object_memory_usage_stats):
* alloc.c (common_init_alloc_early):
* alloc.c (init_alloc_once_early):
* buffer.c (print_buffer):
* buffer.c (vars_of_buffer):
* buffer.c (common_init_complex_vars_of_buffer):
* buffer.c (init_initial_directory):
* bytecode.c (invalid_byte_code):
* bytecode.c (print_compiled_function):
* bytecode.c (mark_compiled_function):
* chartab.c (print_table_entry):
* chartab.c (print_char_table):
* config.h.in:
* console-gtk.c:
* console-gtk.c (gtk_device_to_console_connection):
* console-gtk.c (gtk_semi_canonicalize_console_connection):
* console-gtk.c (gtk_canonicalize_console_connection):
* console-gtk.c (gtk_semi_canonicalize_device_connection):
* console-gtk.c (gtk_canonicalize_device_connection):
* console-stream.c (stream_init_frame_1):
* console-stream.c (vars_of_console_stream):
* console-stream.c (init_console_stream):
* console-x.c (x_semi_canonicalize_console_connection):
* console-x.c (x_semi_canonicalize_device_connection):
* console-x.c (x_canonicalize_device_connection):
* console-x.h:
* data.c (eq_with_ebola_notice):
* data.c (Fsubr_interactive):
* data.c (Fnumber_to_string):
* data.c (digit_to_number):
* device-gtk.c (gtk_init_device):
* device-msw.c (print_devmode):
* device-x.c (x_event_name):
* dialog-msw.c (handle_directory_dialog_box):
* dialog-msw.c (handle_file_dialog_box):
* dialog-msw.c (vars_of_dialog_mswindows):
* doc.c (weird_doc):
* doc.c (Fsnarf_documentation):
* doc.c (vars_of_doc):
* dumper.c (pdump):
* dynarr.c:
* dynarr.c (Dynarr_realloc):
* editfns.c (Fuser_real_login_name):
* editfns.c (get_home_directory):
* elhash.c (print_hash_table_data):
* elhash.c (print_hash_table):
* emacs.c (main_1):
* emacs.c (vars_of_emacs):
* emodules.c:
* emodules.c (_emodules_list):
* emodules.c (Fload_module):
* emodules.c (Funload_module):
* emodules.c (Flist_modules):
* emodules.c (find_make_module):
* emodules.c (attempt_module_delete):
* emodules.c (emodules_load):
* emodules.c (emodules_doc_subr):
* emodules.c (emodules_doc_sym):
* emodules.c (syms_of_module):
* emodules.c (vars_of_module):
* emodules.h:
* eval.c (print_subr):
* eval.c (signal_call_debugger):
* eval.c (build_error_data):
* eval.c (signal_error):
* eval.c (maybe_signal_error):
* eval.c (signal_continuable_error):
* eval.c (maybe_signal_continuable_error):
* eval.c (signal_error_2):
* eval.c (maybe_signal_error_2):
* eval.c (signal_continuable_error_2):
* eval.c (maybe_signal_continuable_error_2):
* eval.c (signal_ferror):
* eval.c (maybe_signal_ferror):
* eval.c (signal_continuable_ferror):
* eval.c (maybe_signal_continuable_ferror):
* eval.c (signal_ferror_with_frob):
* eval.c (maybe_signal_ferror_with_frob):
* eval.c (signal_continuable_ferror_with_frob):
* eval.c (maybe_signal_continuable_ferror_with_frob):
* eval.c (syntax_error):
* eval.c (syntax_error_2):
* eval.c (maybe_syntax_error):
* eval.c (sferror):
* eval.c (sferror_2):
* eval.c (maybe_sferror):
* eval.c (invalid_argument):
* eval.c (invalid_argument_2):
* eval.c (maybe_invalid_argument):
* eval.c (invalid_constant):
* eval.c (invalid_constant_2):
* eval.c (maybe_invalid_constant):
* eval.c (invalid_operation):
* eval.c (invalid_operation_2):
* eval.c (maybe_invalid_operation):
* eval.c (invalid_change):
* eval.c (invalid_change_2):
* eval.c (maybe_invalid_change):
* eval.c (invalid_state):
* eval.c (invalid_state_2):
* eval.c (maybe_invalid_state):
* eval.c (wtaerror):
* eval.c (stack_overflow):
* eval.c (out_of_memory):
* eval.c (print_multiple_value):
* eval.c (issue_call_trapping_problems_warning):
* eval.c (backtrace_specials):
* eval.c (backtrace_unevalled_args):
* eval.c (Fbacktrace):
* eval.c (warn_when_safe):
* event-Xt.c (modwarn):
* event-Xt.c (modbarf):
* event-Xt.c (check_modifier):
* event-Xt.c (store_modifier):
* event-Xt.c (emacs_Xt_format_magic_event):
* event-Xt.c (describe_event):
* event-gtk.c (dragndrop_data_received):
* event-gtk.c (store_modifier):
* event-gtk.c (gtk_reset_modifier_mapping):
* event-msw.c (dde_eval_string):
* event-msw.c (Fdde_alloc_advise_item):
* event-msw.c (mswindows_dde_callback):
* event-msw.c (FROB):
* event-msw.c (emacs_mswindows_format_magic_event):
* event-stream.c (external_debugging_print_event):
* event-stream.c (execute_help_form):
* event-stream.c (vars_of_event_stream):
* events.c (print_event_1):
* events.c (print_event):
* events.c (event_equal):
* extents.c (print_extent_1):
* extents.c (print_extent):
* extents.c (vars_of_extents):
* faces.c (print_face):
* faces.c (complex_vars_of_faces):
* file-coding.c:
* file-coding.c (print_coding_system):
* file-coding.c (print_coding_system_in_print_method):
* file-coding.c (default_query_method):
* file-coding.c (find_coding_system):
* file-coding.c (make_coding_system_1):
* file-coding.c (chain_print):
* file-coding.c (undecided_print):
* file-coding.c (gzip_print):
* file-coding.c (vars_of_file_coding):
* file-coding.c (complex_vars_of_file_coding):
* fileio.c:
* fileio.c (report_file_type_error):
* fileio.c (report_error_with_errno):
* fileio.c (report_file_error):
* fileio.c (barf_or_query_if_file_exists):
* fileio.c (vars_of_fileio):
* floatfns.c (matherr):
* fns.c (print_bit_vector):
* fns.c (Fmapconcat):
* fns.c (add_suffix_to_symbol):
* fns.c (add_prefix_to_symbol):
* frame-gtk.c:
* frame-gtk.c (Fgtk_window_id):
* frame-x.c (def):
* frame-x.c (x_cde_transfer_callback):
* frame.c:
* frame.c (Fmake_frame):
* gc.c (show_gc_cursor_and_message):
* gc.c (vars_of_gc):
* glyphs-eimage.c (png_instantiate):
* glyphs-eimage.c (tiff_instantiate):
* glyphs-gtk.c (gtk_print_image_instance):
* glyphs-msw.c (mswindows_print_image_instance):
* glyphs-x.c (x_print_image_instance):
* glyphs-x.c (update_widget_face):
* glyphs.c (make_string_from_file):
* glyphs.c (print_image_instance):
* glyphs.c (signal_image_error):
* glyphs.c (signal_image_error_2):
* glyphs.c (signal_double_image_error):
* glyphs.c (signal_double_image_error_2):
* glyphs.c (xbm_mask_file_munging):
* glyphs.c (pixmap_to_lisp_data):
* glyphs.h:
* gui.c (gui_item_display_flush_left):
* hpplay.c (player_error_internal):
* hpplay.c (myHandler):
* intl-win32.c:
* intl-win32.c (langcode_to_lang):
* intl-win32.c (sublangcode_to_lang):
* intl-win32.c (Fmswindows_get_locale_info):
* intl-win32.c (lcid_to_locale_mule_or_no):
* intl-win32.c (mswindows_multibyte_to_unicode_print):
* intl-win32.c (complex_vars_of_intl_win32):
* keymap.c:
* keymap.c (print_keymap):
* keymap.c (ensure_meta_prefix_char_keymapp):
* keymap.c (Fkey_description):
* keymap.c (Ftext_char_description):
* lisp.h:
* lisp.h (struct):
* lisp.h (DECLARE_INLINE_HEADER):
* lread.c (Fload_internal):
* lread.c (locate_file):
* lread.c (read_escape):
* lread.c (read_raw_string):
* lread.c (read1):
* lread.c (read_list):
* lread.c (read_compiled_function):
* lread.c (init_lread):
* lrecord.h:
* marker.c (print_marker):
* marker.c (marker_equal):
* menubar-msw.c (displayable_menu_item):
* menubar-x.c (command_builder_operate_menu_accelerator):
* menubar.c (vars_of_menubar):
* minibuf.c (reinit_complex_vars_of_minibuf):
* minibuf.c (complex_vars_of_minibuf):
* mule-charset.c (Fmake_charset):
* mule-charset.c (complex_vars_of_mule_charset):
* mule-coding.c (iso2022_print):
* mule-coding.c (fixed_width_query):
* number.c (bignum_print):
* number.c (ratio_print):
* number.c (bigfloat_print):
* number.c (bigfloat_finalize):
* objects-msw.c:
* objects-msw.c (mswindows_color_to_string):
* objects-msw.c (mswindows_color_list):
* objects-tty.c:
* objects-tty.c (tty_font_list):
* objects-tty.c (tty_find_charset_font):
* objects-xlike-inc.c (xft_find_charset_font):
* objects-xlike-inc.c (endif):
* print.c:
* print.c (write_istring):
* print.c (write_ascstring):
* print.c (Fterpri):
* print.c (Fprint):
* print.c (print_error_message):
* print.c (print_vector_internal):
* print.c (print_cons):
* print.c (print_string):
* print.c (printing_unreadable_object):
* print.c (print_internal):
* print.c (print_float):
* print.c (print_symbol):
* process-nt.c (mswindows_report_winsock_error):
* process-nt.c (nt_canonicalize_host_name):
* process-unix.c (unix_canonicalize_host_name):
* process.c (print_process):
* process.c (report_process_error):
* process.c (report_network_error):
* process.c (make_process_internal):
* process.c (Fstart_process_internal):
* process.c (status_message):
* process.c (putenv_internal):
* process.c (vars_of_process):
* process.h:
* profile.c (vars_of_profile):
* rangetab.c (print_range_table):
* realpath.c (vars_of_realpath):
* redisplay.c (vars_of_redisplay):
* search.c (wordify):
* search.c (Freplace_match):
* sheap.c (sheap_adjust_h):
* sound.c (report_sound_error):
* sound.c (Fplay_sound_file):
* specifier.c (print_specifier):
* symbols.c (Fsubr_name):
* symbols.c (do_symval_forwarding):
* symbols.c (set_default_buffer_slot_variable):
* symbols.c (set_default_console_slot_variable):
* symbols.c (store_symval_forwarding):
* symbols.c (default_value):
* symbols.c (defsymbol_massage_name_1):
* symbols.c (defsymbol_massage_name_nodump):
* symbols.c (defsymbol_massage_name):
* symbols.c (defsymbol_massage_multiword_predicate_nodump):
* symbols.c (defsymbol_massage_multiword_predicate):
* symbols.c (defsymbol_nodump):
* symbols.c (defsymbol):
* symbols.c (defkeyword):
* symbols.c (defkeyword_massage_name):
* symbols.c (check_module_subr):
* symbols.c (deferror_1):
* symbols.c (deferror):
* symbols.c (deferror_massage_name):
* symbols.c (deferror_massage_name_and_message):
* symbols.c (defvar_magic):
* symeval.h:
* symeval.h (DEFVAR_SYMVAL_FWD):
* sysdep.c:
* sysdep.c (init_system_name):
* sysdll.c:
* sysdll.c (MAYBE_PREPEND_UNDERSCORE):
* sysdll.c (dll_function):
* sysdll.c (dll_variable):
* sysdll.c (dll_error):
* sysdll.c (dll_open):
* sysdll.c (dll_close):
* sysdll.c (image_for_address):
* sysdll.c (my_find_image):
* sysdll.c (search_linked_libs):
* sysdll.h:
* sysfile.h:
* sysfile.h (DEFAULT_DIRECTORY_FALLBACK):
* syswindows.h:
* tests.c (DFC_CHECK_LENGTH):
* tests.c (DFC_CHECK_CONTENT):
* tests.c (Ftest_hash_tables):
* text.c (vars_of_text):
* text.h:
* tooltalk.c (tt_opnum_string):
* tooltalk.c (tt_message_arg_ival_string):
* tooltalk.c (Ftooltalk_default_procid):
* tooltalk.c (Ftooltalk_default_session):
* tooltalk.c (init_tooltalk):
* tooltalk.c (vars_of_tooltalk):
* ui-gtk.c (Fdll_load):
* ui-gtk.c (type_to_marshaller_type):
* ui-gtk.c (Fgtk_import_function_internal):
* ui-gtk.c (emacs_gtk_object_printer):
* ui-gtk.c (emacs_gtk_boxed_printer):
* unicode.c (unicode_to_ichar):
* unicode.c (unicode_print):
* unicode.c (unicode_query):
* unicode.c (vars_of_unicode):
* unicode.c (complex_vars_of_unicode):
* win32.c:
* win32.c (mswindows_report_process_error):
* window.c (print_window):
* xemacs.def.in.in:
BASIC IDEA: Further fixing up uses of char * and CIbyte *
to reflect their actual semantics; Mule-izing some code;
redoing of the not-yet-working code to handle message translation.
Clean up code to handle message-translation (not yet working).
Create separate versions of build_msg_string() for working with
Ibyte *, CIbyte *, and Ascbyte * arguments. Assert that Ascbyte *
arguments are pure-ASCII. Make build_msg_string() be the same
as build_msg_ascstring(). Create same three versions of GETTEXT()
and DEFER_GETTEXT(). Also create build_defer_string() and
variants for the equivalent of DEFER_GETTEXT() when building a
string. Remove old CGETTEXT(). Clean up code where GETTEXT(),
DEFER_GETTEXT(), build_msg_string(), etc. was being called and
introduce some new calls to build_msg_string(), etc. Remove
GETTEXT() from calls to weird_doc() -- we assume that the
message snarfer knows about weird_doc(). Remove uses of
DEFER_GETTEXT() from error messages in sysdep.c and instead use
special comments /* @@@begin-snarf@@@ */ and /* @@@end-snarf@@@ */
that the message snarfer presumably knows about.
Create build_ascstring() and use it in many instances in place
of build_string(). The purpose of having Ascbyte * variants is
to make the code more self-documenting in terms of what sort of
semantics is expected for char * strings. In fact in the process
of looking for uses of build_string(), much improperly Mule-ized
was discovered.
Mule-ize a lot of code as described in previous paragraph,
e.g. in sysdep.c.
Make the error functions take Ascbyte * strings and fix up a
couple of places where non-pure-ASCII strings were being passed in
(file-coding.c, mule-coding.c, unicode.c). (It's debatable whether
we really need to make the error functions work this way. It
helps catch places where code is written in a way that message
translation won't work, but we may well never implement message
translation.)
Make staticpro() and friends take Ascbyte * strings instead of
raw char * strings. Create a const_Ascbyte_ptr dynarr type
to describe what's held by staticpro_names[] and friends,
create pdump descriptions for const_Ascbyte_ptr dynarrs, and
use them in place of specially-crafted staticpro descriptions.
Mule-ize certain other functions (e.g. x_event_name) by correcting
raw use of char * to Ascbyte *, Rawbyte * or another such type,
and raw use of char[] buffers to another type (usually Ascbyte[]).
Change many uses of write_c_string() to write_msg_string(),
write_ascstring(), etc.
Mule-ize emodules.c, emodules.h, sysdll.h.
Fix some un-Mule-ized code in intl-win32.c.
A comment in event-Xt.c and the limitations of the message
snarfer (make-msgfile or whatever) is presumably incorrect --
it should be smart enough to handle function calls spread over
more than one line. Clean up code in event-Xt.c that was
written awkwardly for this reason.
In config.h.in, instead of NEED_ERROR_CHECK_TYPES_INLINES,
create a more general XEMACS_DEFS_NEEDS_INLINE_DECLS to
indicate when inlined functions need to be declared in
xemacs.defs.in.in, and make use of it in xemacs.defs.in.in.
We need to do this because postgresql.c now calls qxestrdup(),
which is an inline function.
Make nconc2() and other such functions MODULE_API and put
them in xemacs.defs.in.in since postgresql.c now uses them.
Clean up indentation in lread.c and a few other places.
In text.h, document ASSERT_ASCTEXT_ASCII() and
ASSERT_ASCTEXT_ASCII_LEN(), group together the stand-in
encodings and add some more for DLL symbols, function and
variable names, etc.
author | Ben Wing <ben@xemacs.org> |
---|---|
date | Tue, 26 Jan 2010 23:22:30 -0600 |
parents | b3ea9c582280 |
children | 304aebb79cd3 |
comparison
equal
deleted
inserted
replaced
4951:de60897044f4 | 4952:19a72041c5ed |
---|---|
1153 assert(100 > number_of_jit_charsets); | 1153 assert(100 > number_of_jit_charsets); |
1154 | 1154 |
1155 qxesprintf(setname, "jit-ucs-charset-%d", number_of_jit_charsets); | 1155 qxesprintf(setname, "jit-ucs-charset-%d", number_of_jit_charsets); |
1156 | 1156 |
1157 Vcurrent_jit_charset = Fmake_charset | 1157 Vcurrent_jit_charset = Fmake_charset |
1158 (intern((const CIbyte *)setname), Vcharset_descr, | 1158 (intern_int (setname), Vcharset_descr, |
1159 /* Set encode-as-utf-8 to t, to have this character set written | 1159 /* Set encode-as-utf-8 to t, to have this character set written |
1160 using UTF-8 escapes in escape-quoted and ctext. This | 1160 using UTF-8 escapes in escape-quoted and ctext. This |
1161 sidesteps the fact that our internal character -> Unicode | 1161 sidesteps the fact that our internal character -> Unicode |
1162 mapping is not stable from one invocation to the next. */ | 1162 mapping is not stable from one invocation to the next. */ |
1163 nconc2 (list2(Qencode_as_utf_8, Qt), | 1163 nconc2 (list2(Qencode_as_utf_8, Qt), |
2824 int UNUSED (escapeflag)) | 2824 int UNUSED (escapeflag)) |
2825 { | 2825 { |
2826 write_fmt_string_lisp (printcharfun, "(%s", 1, | 2826 write_fmt_string_lisp (printcharfun, "(%s", 1, |
2827 unicode_getprop (cs, Qunicode_type)); | 2827 unicode_getprop (cs, Qunicode_type)); |
2828 if (XCODING_SYSTEM_UNICODE_LITTLE_ENDIAN (cs)) | 2828 if (XCODING_SYSTEM_UNICODE_LITTLE_ENDIAN (cs)) |
2829 write_c_string (printcharfun, ", little-endian"); | 2829 write_ascstring (printcharfun, ", little-endian"); |
2830 if (XCODING_SYSTEM_UNICODE_NEED_BOM (cs)) | 2830 if (XCODING_SYSTEM_UNICODE_NEED_BOM (cs)) |
2831 write_c_string (printcharfun, ", need-bom"); | 2831 write_ascstring (printcharfun, ", need-bom"); |
2832 write_c_string (printcharfun, ")"); | 2832 write_ascstring (printcharfun, ")"); |
2833 } | 2833 } |
2834 | 2834 |
2835 #ifdef MULE | 2835 #ifdef MULE |
2836 DEFUN ("set-unicode-query-skip-chars-args", Fset_unicode_query_skip_chars_args, | 2836 DEFUN ("set-unicode-query-skip-chars-args", Fset_unicode_query_skip_chars_args, |
2837 3, 3, 0, /* | 2837 3, 3, 0, /* |
3046 assert (previous_failed_reason == query_coding_invalid_sequence | 3046 assert (previous_failed_reason == query_coding_invalid_sequence |
3047 || previous_failed_reason == query_coding_unencodable); | 3047 || previous_failed_reason == query_coding_unencodable); |
3048 | 3048 |
3049 if (flags & QUERY_METHOD_ERRORP) | 3049 if (flags & QUERY_METHOD_ERRORP) |
3050 { | 3050 { |
3051 DECLARE_EISTRING (error_details); | 3051 signal_error_2 |
3052 | 3052 (Qtext_conversion_error, |
3053 eicpy_ascii (error_details, "Cannot encode "); | 3053 "Cannot encode using coding system", |
3054 eicat_lstr (error_details, | 3054 make_string_from_buffer (buf, fail_range_start, |
3055 make_string_from_buffer (buf, fail_range_start, | 3055 pos - fail_range_start), |
3056 pos - | 3056 XCODING_SYSTEM_NAME (codesys)); |
3057 fail_range_start)); | |
3058 eicat_ascii (error_details, " using coding system"); | |
3059 | |
3060 signal_error (Qtext_conversion_error, | |
3061 (const CIbyte *)(eidata (error_details)), | |
3062 XCODING_SYSTEM_NAME (codesys)); | |
3063 } | 3057 } |
3064 | 3058 |
3065 if (NILP (result)) | 3059 if (NILP (result)) |
3066 { | 3060 { |
3067 result = Fmake_range_table (Qstart_closed_end_open); | 3061 result = Fmake_range_table (Qstart_closed_end_open); |
3217 Vnumber_of_jit_charsets = make_int (0); | 3211 Vnumber_of_jit_charsets = make_int (0); |
3218 staticpro (&Vlast_jit_charset_final); | 3212 staticpro (&Vlast_jit_charset_final); |
3219 Vlast_jit_charset_final = make_char (0x30); | 3213 Vlast_jit_charset_final = make_char (0x30); |
3220 staticpro (&Vcharset_descr); | 3214 staticpro (&Vcharset_descr); |
3221 Vcharset_descr | 3215 Vcharset_descr |
3222 = build_string ("Mule charset for otherwise unknown Unicode code points."); | 3216 = build_defer_string ("Mule charset for otherwise unknown Unicode code points."); |
3223 | 3217 |
3224 staticpro (&Vlanguage_unicode_precedence_list); | 3218 staticpro (&Vlanguage_unicode_precedence_list); |
3225 Vlanguage_unicode_precedence_list = Qnil; | 3219 Vlanguage_unicode_precedence_list = Qnil; |
3226 | 3220 |
3227 staticpro (&Vdefault_unicode_precedence_list); | 3221 staticpro (&Vdefault_unicode_precedence_list); |
3266 displaying charsets for which the `encode-as-utf-8' property is true, and | 3260 displaying charsets for which the `encode-as-utf-8' property is true, and |
3267 those used when no font matching the charset's registries property has been | 3261 those used when no font matching the charset's registries property has been |
3268 found (that is, they're probably Mule-specific charsets like Ethiopic or | 3262 found (that is, they're probably Mule-specific charsets like Ethiopic or |
3269 IPA.) | 3263 IPA.) |
3270 */ ); | 3264 */ ); |
3271 Qunicode_registries = vector1(build_string("iso10646-1")); | 3265 Qunicode_registries = vector1(build_ascstring("iso10646-1")); |
3272 | 3266 |
3273 /* Initialised in lisp/mule/general-late.el, by a call to | 3267 /* Initialised in lisp/mule/general-late.el, by a call to |
3274 #'set-unicode-query-skip-chars-args. Or at least they would be, but we | 3268 #'set-unicode-query-skip-chars-args. Or at least they would be, but we |
3275 can't do this at dump time right now, initialised range tables aren't | 3269 can't do this at dump time right now, initialised range tables aren't |
3276 dumped properly. */ | 3270 dumped properly. */ |
3296 { | 3290 { |
3297 /* We used to define this in unicode.el. But we need it early for | 3291 /* We used to define this in unicode.el. But we need it early for |
3298 Cygwin 1.7 -- used in LOCAL_FILE_FORMAT_TO_TSTR() et al. */ | 3292 Cygwin 1.7 -- used in LOCAL_FILE_FORMAT_TO_TSTR() et al. */ |
3299 Fmake_coding_system_internal | 3293 Fmake_coding_system_internal |
3300 (Qutf_8, Qunicode, | 3294 (Qutf_8, Qunicode, |
3301 build_msg_string ("UTF-8"), | 3295 build_defer_string ("UTF-8"), |
3302 nconc2 (list4 (Qdocumentation, | 3296 nconc2 (list4 (Qdocumentation, |
3303 build_msg_string ( | 3297 build_defer_string ( |
3304 "UTF-8 Unicode encoding -- ASCII-compatible 8-bit variable-width encoding\n" | 3298 "UTF-8 Unicode encoding -- ASCII-compatible 8-bit variable-width encoding\n" |
3305 "sharing the following principles with the Mule-internal encoding:\n" | 3299 "sharing the following principles with the Mule-internal encoding:\n" |
3306 "\n" | 3300 "\n" |
3307 " -- All ASCII characters (codepoints 0 through 127) are represented\n" | 3301 " -- All ASCII characters (codepoints 0 through 127) are represented\n" |
3308 " by themselves (i.e. using one byte, with the same value as the\n" | 3302 " by themselves (i.e. using one byte, with the same value as the\n" |
3320 " character are disjoint, so moving backwards is easy.\n" | 3314 " character are disjoint, so moving backwards is easy.\n" |
3321 "\n" | 3315 "\n" |
3322 " -- Given only the leading byte, you know how many following bytes\n" | 3316 " -- Given only the leading byte, you know how many following bytes\n" |
3323 " are present.\n" | 3317 " are present.\n" |
3324 ), | 3318 ), |
3325 Qmnemonic, build_string ("UTF8")), | 3319 Qmnemonic, build_ascstring ("UTF8")), |
3326 list2 (Qunicode_type, Qutf_8))); | 3320 list2 (Qunicode_type, Qutf_8))); |
3327 } | 3321 } |