view etc/Emacs.ad @ 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 ea7a6c12df45
children 388762703a21
line wrap: on
line source

! This is the app-defaults file for XEmacs.
!
! This used to be identical to sample.Xresources, but the resources
! below have been rewritten to be as general as possible to avoid
! overriding user resources.  Other than the form rewriting, both
! files should be kept in sync. 
! 
! The resources below are loaded into the XEmacs executable at compile-time:
! changes to .../etc/Emacs.ad made after XEmacs has been built will have no
! effect.
! 
! However, you may copy .../etc/Emacs.ad to /usr/share/X11/app-defaults/Emacs
! (or whatever the standard app-defaults directory is at your site) to cause
! it to be consulted at run-time.  (Do this only for site-wide customizations:
! personal customizations should be put into ~/.Xresources instead.)
! Note that the file must be named Emacs, not XEmacs.
! 
! See the NEWS file (C-h n) or XEmacs manual (C-h i) for a description of
! the various resources and the syntax for setting them.


! Colors and backgrounds.
! ======================
! The contrasts of these colors will cause them to map to the appropriate
! one of "black" or "white" on monochrome systems.
! 
! The valid color names on your system can be found by looking in the file
! `rgb.txt', usually found in /usr/lib/X11/ or /usr/openwin/lib/X11/.

! Set the modeline colors.
!Emacs.modeline*attributeForeground:	Black
!Emacs.modeline*attributeBackground:	Gray75

! Set the color of the text cursor.
!Emacs.text-cursor*attributeBackground:	Red3

! If you want to set the color of the mouse pointer, do this:
! Emacs.pointer*attributeForeground:	Black
! If you want to set the background of the mouse pointer, do this:
! Emacs.pointer*attributeBackground:	White
! Note that by default, the pointer foreground and background are the same
! as the default face.

! Set the menubar colors.  This overrides the default foreground and
! background colors specified above.
*menubar*Foreground:			Gray30
*menubar*Background:			Gray80
! This is for buttons in the menubar.  
! Yellow would be better, but that would map to white on monochrome.
*menubar*buttonForeground:		Blue
*XlwMenu*highlightForeground:		Red
*XlwMenu*titleForeground:		Maroon
*XlwMenu*selectColor:			ForestGreen
*XmToggleButton*selectColor:		ForestGreen

! Specify the colors of popup menus.
*popup*Foreground:			Black
*popup*Background:			Gray80

! Specify the colors of the various sub-widgets of the dialog boxes.
*dialog*Foreground:			Black
! #A5C0C1 is a shade of blue
*dialog*Background:			#A5C0C1
! The following three are for Motif dialog boxes ...
*dialog*XmTextField*Background:		WhiteSmoke
*dialog*XmText*Background:		WhiteSmoke
*dialog*XmList*Background:		WhiteSmoke
! While this one is for Athena dialog boxes.
*dialog*Command*Background:		WhiteSmoke

! Xlw Scrollbar colors
*XlwScrollBar*Foreground:		Gray30
*XlwScrollBar*Background:		Gray80
*XmScrollBar*Foreground:		Gray30
*XmScrollBar*Background:		Gray80

!
! The Lucid Scrollbar supports two added resources, SliderStyle is either
! "plain" (default) or "dimple".  Dimple puts a small dimple in the middle
! of the slider that depresses when the slider is clicked on.  ArrowPosition is
! either "opposite" (default) or "same".  Opposite puts the arrows at opposite
! of the scrollbar, same puts both arrows at the same end, like the Amiga.
!
! Emacs*XlwScrollBar.SliderStyle:    dimple
! Emacs*XlwScrollBar.ArrowPosition:  opposite


!
! If you want to turn off a toolbar, set its height or width to 0.
! The correct size value is not really arbitrary.  We only control it
! this way in order to avoid excess frame resizing when turning the
! toolbars on and off.
!
! To change the heights and widths of the toolbars:
!
! Emacs.topToolBarHeight:		37
! Emacs.bottomToolBarHeight:		0
! Emacs.leftToolBarWidth:		0
! Emacs.rightToolBarWidth:		0

!*topToolBarShadowColor:			Gray90
!*bottomToolBarShadowColor:		Gray40
!*backgroundToolBarColor:		Gray80
*toolBarShadowThickness:		2


! If you want to turn off vertical scrollbars, or change the default
! pixel width of the vertical scrollbars, do it like this (0 width
! means no vertical scrollbars):
! 
! Emacs.scrollBarWidth: 0
! 
! To change it for a particular frame, do this:
! 
! Emacs*FRAME-NAME.scrollBarWidth: 0


! If you want to turn off horizontal scrollbars, or change the default
! pixel height of the horizontal scrollbars, do it like this (0 height
! means no horizontal scrollbars):
! 
! Emacs.scrollBarHeight: 0
! 
! To change it for a particular frame, do this:
! 
! Emacs*FRAME-NAME.scrollBarHeight: 0


! To dynamically change the labels used for menubar buttons...
! 
! Emacs*XlwMenu.resourceLabels: True
! Emacs*XlwMenu.newFrame.labelString: Open Another Window

! To have the Motif scrollbars on the left instead of the right, do this:
! 
! Emacs*scrollBarPlacement: BOTTOM_LEFT
!
! To have the Athena scrollbars on the right, use `BOTTOM_RIGHT' instead

! To have Motif scrollbars act more like Xt scrollbars...
!
! Emacs*XmScrollBar.translations: #override \n\
!     <Btn1Down>:     PageDownOrRight(0)    \n\
!     <Btn3Down>:     PageUpOrLeft(0)

! Fonts.
! ======
! XEmacs requires the use of XLFD (X Logical Font Description) format font
! names, which look like
! 
! 	*-courier-medium-r-*-*-*-120-*-*-*-*-*-*
! 
! if you use any of the other, less strict font name formats, some of which
! look like
! 		lucidasanstypewriter-12
! and		fixed
! and		9x13
! 
! then XEmacs won't be able to guess the names of the bold and italic versions.
! All X fonts can be referred to via XLFD-style names, so you should use those
! forms.  See the man pages for X(1), xlsfonts(1), and xfontsel(1).


! The default font for the text area of XEmacs is chosen at run-time
! by lisp code which tries a number of different possibilities in order
! of preference.  If you wish to override it, use this:
! 
! Emacs.default.attributeFont:  -*-courier-medium-r-*-*-*-120-*-*-*-*-iso8859-*

! If you choose a font which does not have an italic version, you can specify
! some other font to use for it here:
! 
! Emacs.italic.attributeFont:  -*-courier-medium-o-*-*-*-120-*-*-*-*-iso8859-*
!
! If you choose a font which does not have a bold-italic version,
! you can specify some other font to use for it here:
! 
! Emacs.bold-italic.attributeFont:  -*-courier-bold-o-*-*-*-120-*-*-*-*-iso8859-*
! 
! And here is how you would set the background color of the `highlight' face,
! but only on the screen named `debugger':
! 
! Emacs*debugger.highlight.attributeBackground:		PaleTurquoise
! 
! See the NEWS file (C-h n) for a more complete description of the resource
! syntax of faces.


! Font of the modeline, menubar and pop-up menus.
! Note that the menubar resources do not use the `face' syntax, since they
! are X toolkit widgets and thus outside the domain of XEmacs proper.
! 
! When X Font Sets are enabled with ./configure --with-xfs (eg, for
! multilingual menubars and XIM), some .font resources (those specific to
! the Lucid widget set) are ignored in favor of .fontSet resources.  This
! example shows how to add fonts for Japanese menubars:
!
! *menubar*FontSet:	-*-helvetica-bold-r-*-*-*-120-*-*-*-*-iso8859-*, \
!			-*-*-*-*-*-*-*-120-*-jisx0208.1983-0
!
*menubar*Font:			-*-helvetica-bold-r-*-*-*-120-*-*-*-*-iso8859-*
*popup*Font:			-*-helvetica-bold-r-*-*-*-120-*-*-*-*-iso8859-*
*menubar*FontSet:		-*-helvetica-bold-r-*-*-*-120-*-*-*-*-iso8859-*, \
 			        -*-*-*-*-*-*-*-120-*-iso10646-1, \
 			        -*-*-*-*-*-*-*-120-*-jisx0208.1983-0, \
 			        -*-*-*-*-*-*-*-120-*-jisx0201.1976-0
*popup*FontSet:			-*-helvetica-bold-r-*-*-*-120-*-*-*-*-iso8859-*, \
   			        -*-*-*-*-*-*-*-120-*-iso10646-1, \
 			        -*-*-*-*-*-*-*-120-*-jisx0208.1983-0, \
 			        -*-*-*-*-*-*-*-120-*-jisx0201.1976-0

! Gui elements share this font
!
Emacs.gui-element.attributeFont:  -*-helvetica-medium-r-*-*-*-120-*-*-*-*-iso8859-*

! Font in the Motif dialog boxes.
! (Motif uses `fontList' while most other things use `font' - if you don't
! know why you probably don't want to.)
! 
*XmDialogShell*FontList:	-*-helvetica-bold-r-*-*-*-120-*-*-*-*-iso8859-*
*XmTextField*FontList:		-*-courier-medium-r-*-*-*-120-*-*-*-*-iso8859-*
*XmText*FontList:		-*-courier-medium-r-*-*-*-120-*-*-*-*-iso8859-*
*XmList*FontList:		-*-courier-medium-r-*-*-*-120-*-*-*-*-iso8859-*

! Font in the Athena dialog boxes.
! I think 14-point looks nicer than 12-point.
! Some people use 12-point anyway because you get more text, but
! there's no purpose at all in doing this for dialog boxes.

*Dialog*Font:			-*-helvetica-bold-r-*-*-*-140-*-*-*-*-iso8859-*

! Dialog box translations.
! =======================

! This accelerator binds <return> in a dialog box to <activate> on button1
*dialog*button1.accelerators:#override\
<KeyPress>Return: ArmAndActivate()\n\
<KeyPress>KP_Enter: ArmAndActivate()\n\
Ctrl<KeyPress>m: ArmAndActivate()\n

! Translations to make the TextField widget behave more like XEmacs
*XmTextField*translations: #override\n\
	!<Key>osfBackSpace:	delete-previous-character()\n\
	!<Key>osfDelete:	delete-previous-character()\n\
	!Ctrl<Key>h: 		delete-previous-character()\n\
	!Ctrl<Key>d: 		delete-next-character()\n\
	!Meta<Key>osfDelete:	delete-previous-word()\n\
	!Meta<Key>osfBackSpace:	delete-previous-word()\n\
	!Meta<Key>d:		delete-next-word()\n\
	!Ctrl<Key>k:		delete-to-end-of-line()\n\
	!Ctrl<Key>g:		process-cancel()\n\
	!Ctrl<Key>b:		backward-character()\n\
	!<Key>osfLeft:		backward-character()\n\
	!Ctrl<Key>f:		forward-character()\n\
	!<Key>osfRight:		forward-character()\n\
	!Meta<Key>b:		backward-word()\n\
	!Meta<Key>osfLeft:	backward-word()\n\
	!Meta<Key>f:		forward-word()\n\
	!Meta<Key>osfRight:	forward-word()\n\
	!Ctrl<Key>e:		end-of-line()\n\
	!Ctrl<Key>a:		beginning-of-line()\n\
	!Ctrl<Key>w:		cut-clipboard()\n\
	!Meta<Key>w:		copy-clipboard()\n\
	<Btn2Up>:		copy-primary()\n

! With the XEmacs typeahead it's better to not have space be bound to
! ArmAndActivate() for buttons that appear in dialog boxes.  This is
! not 100% Motif compliant but the benefits far outweight the
! compliancy problem.  
*dialog*XmPushButton*translations:#override\n\
    <Btn1Down>:         Arm()\n\
    <Btn1Down>,<Btn1Up>: Activate()\
			Disarm()\n\
    <Btn1Down>(2+):     MultiArm()\n\
    <Btn1Up>(2+):       MultiActivate()\n\
    <Btn1Up>:           Activate()\
		        Disarm()\n\
    <Key>osfSelect:  	ArmAndActivate()\n\
    <Key>osfActivate:   ArmAndActivate()\n\
    <Key>osfHelp:	Help()\n\
    ~Shift ~Meta ~Alt <Key>Return:	ArmAndActivate()\n\
    <EnterWindow>:      Enter()\n\
    <LeaveWindow>:      Leave()\n

! Native Widget translations
! ======================= 
Emacs*Text*translations: #override\n\
	<Btn1Down>:	widget-focus-in() select-start()\n

! XIM input method style 
! ======================= 

! ximStyles is a (whitespace or comma-separated) list of XIMStyles in
! order of user's preference.  
! Choose a subset of the following styles or reorder to taste
*ximStyles: XIMPreeditPosition|XIMStatusArea\
            XIMPreeditPosition|XIMStatusNothing\
            XIMPreeditPosition|XIMStatusNone\
            XIMPreeditNothing|XIMStatusArea\
            XIMPreeditNothing|XIMStatusNothing\
            XIMPreeditNothing|XIMStatusNone\
            XIMPreeditNone|XIMStatusArea\
            XIMPreeditNone|XIMStatusNothing\
            XIMPreeditNone|XIMStatusNone

! XIM Preedit and Status foreground and background
*EmacsFrame.ximForeground: black
*EmacsFrame.ximBackground: white

! XIM fontset (defaults to system fontset default)
! *EmacsFrame.FontSet: -dt-interface user-medium-r-normal-s*-*-*-*-*-*-*-*-*