Mercurial > hg > xemacs-beta
comparison src/faces.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 | 7ac51121843b |
children | 304aebb79cd3 |
comparison
equal
deleted
inserted
replaced
4951:de60897044f4 | 4952:19a72041c5ed |
---|---|
135 else | 135 else |
136 { | 136 { |
137 write_fmt_string_lisp (printcharfun, "#<face %S", 1, face->name); | 137 write_fmt_string_lisp (printcharfun, "#<face %S", 1, face->name); |
138 if (!NILP (face->doc_string)) | 138 if (!NILP (face->doc_string)) |
139 write_fmt_string_lisp (printcharfun, " %S", 1, face->doc_string); | 139 write_fmt_string_lisp (printcharfun, " %S", 1, face->doc_string); |
140 write_c_string (printcharfun, ">"); | 140 write_ascstring (printcharfun, ">"); |
141 } | 141 } |
142 } | 142 } |
143 | 143 |
144 /* Faces are equal if all of their display attributes are equal. We | 144 /* Faces are equal if all of their display attributes are equal. We |
145 don't compare names or doc-strings, because that would make equal | 145 don't compare names or doc-strings, because that would make equal |
2227 { | 2227 { |
2228 /* Create the default face now so we know what it is immediately. */ | 2228 /* Create the default face now so we know what it is immediately. */ |
2229 | 2229 |
2230 Vdefault_face = Qnil; /* so that Fmake_face() doesn't set up a bogus | 2230 Vdefault_face = Qnil; /* so that Fmake_face() doesn't set up a bogus |
2231 default value */ | 2231 default value */ |
2232 Vdefault_face = Fmake_face (Qdefault, build_msg_string ("default face"), | 2232 Vdefault_face = Fmake_face (Qdefault, build_defer_string ("default face"), |
2233 Qnil); | 2233 Qnil); |
2234 | 2234 |
2235 /* Provide some last-resort fallbacks to avoid utter fuckage if | 2235 /* Provide some last-resort fallbacks to avoid utter fuckage if |
2236 someone provides invalid values for the global specifications. */ | 2236 someone provides invalid values for the global specifications. */ |
2237 | 2237 |
2238 { | 2238 { |
2239 Lisp_Object fg_fb = Qnil, bg_fb = Qnil; | 2239 Lisp_Object fg_fb = Qnil, bg_fb = Qnil; |
2240 | 2240 |
2241 #ifdef HAVE_GTK | 2241 #ifdef HAVE_GTK |
2242 fg_fb = acons (list1 (Qgtk), build_string ("black"), fg_fb); | 2242 fg_fb = acons (list1 (Qgtk), build_ascstring ("black"), fg_fb); |
2243 bg_fb = acons (list1 (Qgtk), build_string ("white"), bg_fb); | 2243 bg_fb = acons (list1 (Qgtk), build_ascstring ("white"), bg_fb); |
2244 #endif | 2244 #endif |
2245 #ifdef HAVE_X_WINDOWS | 2245 #ifdef HAVE_X_WINDOWS |
2246 fg_fb = acons (list1 (Qx), build_string ("black"), fg_fb); | 2246 fg_fb = acons (list1 (Qx), build_ascstring ("black"), fg_fb); |
2247 bg_fb = acons (list1 (Qx), build_string ("gray80"), bg_fb); | 2247 bg_fb = acons (list1 (Qx), build_ascstring ("gray80"), bg_fb); |
2248 #endif | 2248 #endif |
2249 #ifdef HAVE_TTY | 2249 #ifdef HAVE_TTY |
2250 fg_fb = acons (list1 (Qtty), Fvector (0, 0), fg_fb); | 2250 fg_fb = acons (list1 (Qtty), Fvector (0, 0), fg_fb); |
2251 bg_fb = acons (list1 (Qtty), Fvector (0, 0), bg_fb); | 2251 bg_fb = acons (list1 (Qtty), Fvector (0, 0), bg_fb); |
2252 #endif | 2252 #endif |
2253 #ifdef HAVE_MS_WINDOWS | 2253 #ifdef HAVE_MS_WINDOWS |
2254 fg_fb = acons (list1 (Qmsprinter), build_string ("black"), fg_fb); | 2254 fg_fb = acons (list1 (Qmsprinter), build_ascstring ("black"), fg_fb); |
2255 bg_fb = acons (list1 (Qmsprinter), build_string ("white"), bg_fb); | 2255 bg_fb = acons (list1 (Qmsprinter), build_ascstring ("white"), bg_fb); |
2256 fg_fb = acons (list1 (Qmswindows), build_string ("black"), fg_fb); | 2256 fg_fb = acons (list1 (Qmswindows), build_ascstring ("black"), fg_fb); |
2257 bg_fb = acons (list1 (Qmswindows), build_string ("white"), bg_fb); | 2257 bg_fb = acons (list1 (Qmswindows), build_ascstring ("white"), bg_fb); |
2258 #endif | 2258 #endif |
2259 set_specifier_fallback (Fget (Vdefault_face, Qforeground, Qnil), fg_fb); | 2259 set_specifier_fallback (Fget (Vdefault_face, Qforeground, Qnil), fg_fb); |
2260 set_specifier_fallback (Fget (Vdefault_face, Qbackground, Qnil), bg_fb); | 2260 set_specifier_fallback (Fget (Vdefault_face, Qbackground, Qnil), bg_fb); |
2261 } | 2261 } |
2262 | 2262 |
2343 Fcons | 2343 Fcons |
2344 (Fcons | 2344 (Fcons |
2345 (list1 (device_symbol), | 2345 (list1 (device_symbol), |
2346 /* grrr. This really does need to be "*", not an XLFD. | 2346 /* grrr. This really does need to be "*", not an XLFD. |
2347 An unspecified XLFD won't pick up stuff like 10x20. */ | 2347 An unspecified XLFD won't pick up stuff like 10x20. */ |
2348 build_string ("*")), | 2348 build_ascstring ("*")), |
2349 inst_list); | 2349 inst_list); |
2350 #ifdef MULE | 2350 #ifdef MULE |
2351 | 2351 |
2352 /* For Han characters and Ethiopic, we want the misc-fixed font used to | 2352 /* For Han characters and Ethiopic, we want the misc-fixed font used to |
2353 be distinct from that for alphabetic scripts, because the font | 2353 be distinct from that for alphabetic scripts, because the font |
2357 have charset-specific fallbacks for the East Asian charsets.) */ | 2357 have charset-specific fallbacks for the East Asian charsets.) */ |
2358 inst_list = | 2358 inst_list = |
2359 Fcons | 2359 Fcons |
2360 (Fcons | 2360 (Fcons |
2361 (list4(device_symbol, Qtwo_dimensional, Qfinal, Qx_coverage_instantiator), | 2361 (list4(device_symbol, Qtwo_dimensional, Qfinal, Qx_coverage_instantiator), |
2362 build_string | 2362 build_ascstring |
2363 ("-misc-fixed-medium-r-normal--15-140-75-75-c-90-iso10646-1")), | 2363 ("-misc-fixed-medium-r-normal--15-140-75-75-c-90-iso10646-1")), |
2364 inst_list); | 2364 inst_list); |
2365 | 2365 |
2366 /* Use Markus Kuhn's version of misc-fixed as the font for the font for | 2366 /* Use Markus Kuhn's version of misc-fixed as the font for the font for |
2367 when a given charset's registries can't be found and redisplay for | 2367 when a given charset's registries can't be found and redisplay for |
2369 | 2369 |
2370 inst_list = | 2370 inst_list = |
2371 Fcons | 2371 Fcons |
2372 (Fcons | 2372 (Fcons |
2373 (list4(device_symbol, Qone_dimensional, Qfinal, Qx_coverage_instantiator), | 2373 (list4(device_symbol, Qone_dimensional, Qfinal, Qx_coverage_instantiator), |
2374 build_string | 2374 build_ascstring |
2375 ("-misc-fixed-medium-r-semicondensed--13-120-75-75-c-60-iso10646-1")), | 2375 ("-misc-fixed-medium-r-semicondensed--13-120-75-75-c-60-iso10646-1")), |
2376 inst_list); | 2376 inst_list); |
2377 | 2377 |
2378 for (fontptr = fonts + countof(fonts) - 1; fontptr >= fonts; fontptr--) | 2378 for (fontptr = fonts + countof(fonts) - 1; fontptr >= fonts; fontptr--) |
2379 inst_list = Fcons (Fcons (list3 (device_symbol, | 2379 inst_list = Fcons (Fcons (list3 (device_symbol, |
2389 | 2389 |
2390 inst_list = | 2390 inst_list = |
2391 Fcons | 2391 Fcons |
2392 (Fcons | 2392 (Fcons |
2393 (list4(device_symbol, Qencode_as_utf_8, Qinitial, Qx_coverage_instantiator), | 2393 (list4(device_symbol, Qencode_as_utf_8, Qinitial, Qx_coverage_instantiator), |
2394 build_string | 2394 build_ascstring |
2395 ("-misc-fixed-medium-r-semicondensed--13-120-75-75-c-60-iso10646-1")), | 2395 ("-misc-fixed-medium-r-semicondensed--13-120-75-75-c-60-iso10646-1")), |
2396 inst_list); | 2396 inst_list); |
2397 | 2397 |
2398 #endif /* MULE */ | 2398 #endif /* MULE */ |
2399 | 2399 |
2401 use bold and oblique first if medium and regular are available. */ | 2401 use bold and oblique first if medium and regular are available. */ |
2402 inst_list = | 2402 inst_list = |
2403 Fcons | 2403 Fcons |
2404 (Fcons | 2404 (Fcons |
2405 (list1 (device_symbol), | 2405 (list1 (device_symbol), |
2406 build_string ("-*-*-medium-r-*-*-*-120-*-*-c-*-*-*")), | 2406 build_ascstring ("-*-*-medium-r-*-*-*-120-*-*-c-*-*-*")), |
2407 inst_list); | 2407 inst_list); |
2408 | 2408 |
2409 /* With a Cygwin XFree86 install, this returns the best (clearest, | 2409 /* With a Cygwin XFree86 install, this returns the best (clearest, |
2410 most readable) font I can find when scaling of bitmap fonts is | 2410 most readable) font I can find when scaling of bitmap fonts is |
2411 turned on, as it is by default. (WHO IN THE NAME OF CHRIST THOUGHT | 2411 turned on, as it is by default. (WHO IN THE NAME OF CHRIST THOUGHT |
2414 | 2414 |
2415 inst_list = | 2415 inst_list = |
2416 Fcons | 2416 Fcons |
2417 (Fcons | 2417 (Fcons |
2418 (list1 (device_symbol), | 2418 (list1 (device_symbol), |
2419 build_string ("-*-lucidatypewriter-medium-r-*-*-*-120-*-*-*-*-*-*")), | 2419 build_ascstring ("-*-lucidatypewriter-medium-r-*-*-*-120-*-*-*-*-*-*")), |
2420 inst_list); | 2420 inst_list); |
2421 | 2421 |
2422 #endif /* !USE_XFT */ | 2422 #endif /* !USE_XFT */ |
2423 | 2423 |
2424 #endif /* HAVE_X_WINDOWS || HAVE_GTK */ | 2424 #endif /* HAVE_X_WINDOWS || HAVE_GTK */ |
2425 | 2425 |
2426 #ifdef HAVE_TTY | 2426 #ifdef HAVE_TTY |
2427 inst_list = Fcons (Fcons (list1 (Qtty), build_string ("normal")), | 2427 inst_list = Fcons (Fcons (list1 (Qtty), build_ascstring ("normal")), |
2428 inst_list); | 2428 inst_list); |
2429 #endif /* HAVE_TTY */ | 2429 #endif /* HAVE_TTY */ |
2430 | 2430 |
2431 #ifdef HAVE_MS_WINDOWS | 2431 #ifdef HAVE_MS_WINDOWS |
2432 { | 2432 { |
2441 for (mswfontptr = mswfonts + countof (mswfonts) - 1; | 2441 for (mswfontptr = mswfonts + countof (mswfonts) - 1; |
2442 mswfontptr >= mswfonts; mswfontptr--) | 2442 mswfontptr >= mswfonts; mswfontptr--) |
2443 { | 2443 { |
2444 /* display device */ | 2444 /* display device */ |
2445 inst_list = Fcons (Fcons (list1 (Qmswindows), | 2445 inst_list = Fcons (Fcons (list1 (Qmswindows), |
2446 build_string (*mswfontptr)), | 2446 build_ascstring (*mswfontptr)), |
2447 inst_list); | 2447 inst_list); |
2448 /* printer device */ | 2448 /* printer device */ |
2449 inst_list = Fcons (Fcons (list1 (Qmsprinter), | 2449 inst_list = Fcons (Fcons (list1 (Qmsprinter), |
2450 build_string (*mswfontptr)), | 2450 build_ascstring (*mswfontptr)), |
2451 inst_list); | 2451 inst_list); |
2452 } | 2452 } |
2453 /* Use Lucida Console rather than Courier New if it exists -- the | 2453 /* Use Lucida Console rather than Courier New if it exists -- the |
2454 line spacing is much less, so many more lines fit with the same | 2454 line spacing is much less, so many more lines fit with the same |
2455 size font. (And it's specifically designed for screens.) */ | 2455 size font. (And it's specifically designed for screens.) */ |
2456 inst_list = Fcons (Fcons (list1 (Qmswindows), | 2456 inst_list = Fcons (Fcons (list1 (Qmswindows), |
2457 build_string ("Lucida Console:Regular:10::")), | 2457 build_ascstring ("Lucida Console:Regular:10::")), |
2458 inst_list); | 2458 inst_list); |
2459 } | 2459 } |
2460 #endif /* HAVE_MS_WINDOWS */ | 2460 #endif /* HAVE_MS_WINDOWS */ |
2461 | 2461 |
2462 set_specifier_fallback (Fget (Vdefault_face, Qfont, Qnil), inst_list); | 2462 set_specifier_fallback (Fget (Vdefault_face, Qfont, Qnil), inst_list); |
2476 list1 (Fcons (Qnil, Qnil))); | 2476 list1 (Fcons (Qnil, Qnil))); |
2477 | 2477 |
2478 /* gui-element is the parent face of all gui elements such as | 2478 /* gui-element is the parent face of all gui elements such as |
2479 modeline, vertical divider and toolbar. */ | 2479 modeline, vertical divider and toolbar. */ |
2480 Vgui_element_face = Fmake_face (Qgui_element, | 2480 Vgui_element_face = Fmake_face (Qgui_element, |
2481 build_msg_string ("gui element face"), | 2481 build_defer_string ("gui element face"), |
2482 Qnil); | 2482 Qnil); |
2483 | 2483 |
2484 /* Provide some last-resort fallbacks for gui-element face which | 2484 /* Provide some last-resort fallbacks for gui-element face which |
2485 mustn't default to default. */ | 2485 mustn't default to default. */ |
2486 { | 2486 { |
2490 But it gets referred to later! */ | 2490 But it gets referred to later! */ |
2491 #ifdef HAVE_GTK | 2491 #ifdef HAVE_GTK |
2492 /* We need to put something in there, or error checking gets | 2492 /* We need to put something in there, or error checking gets |
2493 #%!@#ed up before the styles are set, which override the | 2493 #%!@#ed up before the styles are set, which override the |
2494 fallbacks. */ | 2494 fallbacks. */ |
2495 fg_fb = acons (list1 (Qgtk), build_string ("black"), fg_fb); | 2495 fg_fb = acons (list1 (Qgtk), build_ascstring ("black"), fg_fb); |
2496 bg_fb = acons (list1 (Qgtk), build_string ("Gray80"), bg_fb); | 2496 bg_fb = acons (list1 (Qgtk), build_ascstring ("Gray80"), bg_fb); |
2497 #endif | 2497 #endif |
2498 #ifdef HAVE_X_WINDOWS | 2498 #ifdef HAVE_X_WINDOWS |
2499 fg_fb = acons (list1 (Qx), build_string ("black"), fg_fb); | 2499 fg_fb = acons (list1 (Qx), build_ascstring ("black"), fg_fb); |
2500 bg_fb = acons (list1 (Qx), build_string ("Gray80"), bg_fb); | 2500 bg_fb = acons (list1 (Qx), build_ascstring ("Gray80"), bg_fb); |
2501 #endif | 2501 #endif |
2502 #ifdef HAVE_TTY | 2502 #ifdef HAVE_TTY |
2503 fg_fb = acons (list1 (Qtty), Fvector (0, 0), fg_fb); | 2503 fg_fb = acons (list1 (Qtty), Fvector (0, 0), fg_fb); |
2504 bg_fb = acons (list1 (Qtty), Fvector (0, 0), bg_fb); | 2504 bg_fb = acons (list1 (Qtty), Fvector (0, 0), bg_fb); |
2505 #endif | 2505 #endif |
2506 #ifdef HAVE_MS_WINDOWS | 2506 #ifdef HAVE_MS_WINDOWS |
2507 fg_fb = acons (list1 (Qmsprinter), build_string ("black"), fg_fb); | 2507 fg_fb = acons (list1 (Qmsprinter), build_ascstring ("black"), fg_fb); |
2508 bg_fb = acons (list1 (Qmsprinter), build_string ("white"), bg_fb); | 2508 bg_fb = acons (list1 (Qmsprinter), build_ascstring ("white"), bg_fb); |
2509 fg_fb = acons (list1 (Qmswindows), build_string ("black"), fg_fb); | 2509 fg_fb = acons (list1 (Qmswindows), build_ascstring ("black"), fg_fb); |
2510 bg_fb = acons (list1 (Qmswindows), build_string ("Gray75"), bg_fb); | 2510 bg_fb = acons (list1 (Qmswindows), build_ascstring ("Gray75"), bg_fb); |
2511 #endif | 2511 #endif |
2512 set_specifier_fallback (Fget (Vgui_element_face, Qforeground, Qnil), fg_fb); | 2512 set_specifier_fallback (Fget (Vgui_element_face, Qforeground, Qnil), fg_fb); |
2513 set_specifier_fallback (Fget (Vgui_element_face, Qbackground, Qnil), bg_fb); | 2513 set_specifier_fallback (Fget (Vgui_element_face, Qbackground, Qnil), bg_fb); |
2514 } | 2514 } |
2515 | 2515 |
2516 /* Now create the other faces that redisplay needs to refer to | 2516 /* Now create the other faces that redisplay needs to refer to |
2517 directly. We could create them in Lisp but it's simpler this | 2517 directly. We could create them in Lisp but it's simpler this |
2518 way since we need to get them anyway. */ | 2518 way since we need to get them anyway. */ |
2519 | 2519 |
2520 /* modeline is gui element. */ | 2520 /* modeline is gui element. */ |
2521 Vmodeline_face = Fmake_face (Qmodeline, build_msg_string ("modeline face"), | 2521 Vmodeline_face = Fmake_face (Qmodeline, build_defer_string ("modeline face"), |
2522 Qnil); | 2522 Qnil); |
2523 | 2523 |
2524 set_specifier_fallback (Fget (Vmodeline_face, Qforeground, Qunbound), | 2524 set_specifier_fallback (Fget (Vmodeline_face, Qforeground, Qunbound), |
2525 Fget (Vgui_element_face, Qforeground, Qunbound)); | 2525 Fget (Vgui_element_face, Qforeground, Qunbound)); |
2526 set_specifier_fallback (Fget (Vmodeline_face, Qbackground, Qunbound), | 2526 set_specifier_fallback (Fget (Vmodeline_face, Qbackground, Qunbound), |
2529 Fget (Vgui_element_face, Qbackground_pixmap, | 2529 Fget (Vgui_element_face, Qbackground_pixmap, |
2530 Qunbound)); | 2530 Qunbound)); |
2531 | 2531 |
2532 /* toolbar is another gui element */ | 2532 /* toolbar is another gui element */ |
2533 Vtoolbar_face = Fmake_face (Qtoolbar, | 2533 Vtoolbar_face = Fmake_face (Qtoolbar, |
2534 build_msg_string ("toolbar face"), | 2534 build_defer_string ("toolbar face"), |
2535 Qnil); | 2535 Qnil); |
2536 set_specifier_fallback (Fget (Vtoolbar_face, Qforeground, Qunbound), | 2536 set_specifier_fallback (Fget (Vtoolbar_face, Qforeground, Qunbound), |
2537 Fget (Vgui_element_face, Qforeground, Qunbound)); | 2537 Fget (Vgui_element_face, Qforeground, Qunbound)); |
2538 set_specifier_fallback (Fget (Vtoolbar_face, Qbackground, Qunbound), | 2538 set_specifier_fallback (Fget (Vtoolbar_face, Qbackground, Qunbound), |
2539 Fget (Vgui_element_face, Qbackground, Qunbound)); | 2539 Fget (Vgui_element_face, Qbackground, Qunbound)); |
2541 Fget (Vgui_element_face, Qbackground_pixmap, | 2541 Fget (Vgui_element_face, Qbackground_pixmap, |
2542 Qunbound)); | 2542 Qunbound)); |
2543 | 2543 |
2544 /* vertical divider is another gui element */ | 2544 /* vertical divider is another gui element */ |
2545 Vvertical_divider_face = Fmake_face (Qvertical_divider, | 2545 Vvertical_divider_face = Fmake_face (Qvertical_divider, |
2546 build_msg_string ("vertical divider face"), | 2546 build_defer_string ("vertical divider face"), |
2547 Qnil); | 2547 Qnil); |
2548 | 2548 |
2549 set_specifier_fallback (Fget (Vvertical_divider_face, Qforeground, Qunbound), | 2549 set_specifier_fallback (Fget (Vvertical_divider_face, Qforeground, Qunbound), |
2550 Fget (Vgui_element_face, Qforeground, Qunbound)); | 2550 Fget (Vgui_element_face, Qforeground, Qunbound)); |
2551 set_specifier_fallback (Fget (Vvertical_divider_face, Qbackground, Qunbound), | 2551 set_specifier_fallback (Fget (Vvertical_divider_face, Qbackground, Qunbound), |
2555 Fget (Vgui_element_face, Qbackground_pixmap, | 2555 Fget (Vgui_element_face, Qbackground_pixmap, |
2556 Qunbound)); | 2556 Qunbound)); |
2557 | 2557 |
2558 /* widget is another gui element */ | 2558 /* widget is another gui element */ |
2559 Vwidget_face = Fmake_face (Qwidget, | 2559 Vwidget_face = Fmake_face (Qwidget, |
2560 build_msg_string ("widget face"), | 2560 build_defer_string ("widget face"), |
2561 Qnil); | 2561 Qnil); |
2562 /* #### weird ... the gui-element face doesn't have its own font yet */ | 2562 /* #### weird ... the gui-element face doesn't have its own font yet */ |
2563 set_specifier_fallback (Fget (Vwidget_face, Qfont, Qunbound), | 2563 set_specifier_fallback (Fget (Vwidget_face, Qfont, Qunbound), |
2564 Fget (Vgui_element_face, Qfont, Qunbound)); | 2564 Fget (Vgui_element_face, Qfont, Qunbound)); |
2565 set_specifier_fallback (Fget (Vwidget_face, Qforeground, Qunbound), | 2565 set_specifier_fallback (Fget (Vwidget_face, Qforeground, Qunbound), |
2567 set_specifier_fallback (Fget (Vwidget_face, Qbackground, Qunbound), | 2567 set_specifier_fallback (Fget (Vwidget_face, Qbackground, Qunbound), |
2568 Fget (Vgui_element_face, Qbackground, Qunbound)); | 2568 Fget (Vgui_element_face, Qbackground, Qunbound)); |
2569 /* We don't want widgets to have a default background pixmap. */ | 2569 /* We don't want widgets to have a default background pixmap. */ |
2570 | 2570 |
2571 Vleft_margin_face = Fmake_face (Qleft_margin, | 2571 Vleft_margin_face = Fmake_face (Qleft_margin, |
2572 build_msg_string ("left margin face"), | 2572 build_defer_string ("left margin face"), |
2573 Qnil); | 2573 Qnil); |
2574 Vright_margin_face = Fmake_face (Qright_margin, | 2574 Vright_margin_face = Fmake_face (Qright_margin, |
2575 build_msg_string ("right margin face"), | 2575 build_defer_string ("right margin face"), |
2576 Qnil); | 2576 Qnil); |
2577 Vtext_cursor_face = Fmake_face (Qtext_cursor, | 2577 Vtext_cursor_face = Fmake_face (Qtext_cursor, |
2578 build_msg_string ("face for text cursor"), | 2578 build_defer_string ("face for text cursor"), |
2579 Qnil); | 2579 Qnil); |
2580 Vpointer_face = | 2580 Vpointer_face = |
2581 Fmake_face (Qpointer, | 2581 Fmake_face (Qpointer, |
2582 build_msg_string | 2582 build_defer_string |
2583 ("face for foreground/background colors of mouse pointer"), | 2583 ("face for foreground/background colors of mouse pointer"), |
2584 Qnil); | 2584 Qnil); |
2585 } | 2585 } |