comparison src/tooltalk.c @ 4981:4aebb0131297

Cleanups/renaming of EXTERNAL_TO_C_STRING and friends -------------------- ChangeLog entries follow: -------------------- modules/ChangeLog addition: 2010-02-05 Ben Wing <ben@xemacs.org> * postgresql/postgresql.c: * postgresql/postgresql.c (CHECK_LIVE_CONNECTION): * postgresql/postgresql.c (Fpq_connectdb): * postgresql/postgresql.c (Fpq_connect_start): * postgresql/postgresql.c (Fpq_lo_import): * postgresql/postgresql.c (Fpq_lo_export): * ldap/eldap.c (Fldap_open): * ldap/eldap.c (Fldap_search_basic): * ldap/eldap.c (Fldap_add): * ldap/eldap.c (Fldap_modify): * ldap/eldap.c (Fldap_delete): * canna/canna_api.c (Fcanna_initialize): * canna/canna_api.c (Fcanna_store_yomi): * canna/canna_api.c (Fcanna_parse): * canna/canna_api.c (Fcanna_henkan_begin): EXTERNAL_TO_C_STRING returns its argument instead of storing it in a parameter, and is renamed to EXTERNAL_TO_ITEXT. Similar things happen to related macros. See entry in src/ChangeLog. More Mule-izing of postgresql.c. Extract out common code between `pq-connectdb' and `pq-connect-start'. Fix places that signal an error string using a formatted string to instead follow the standard and have a fixed reason followed by the particular error message stored as one of the frobs. src/ChangeLog addition: 2010-02-05 Ben Wing <ben@xemacs.org> * console-msw.c (write_string_to_mswindows_debugging_output): * console-msw.c (Fmswindows_message_box): * console-x.c (x_perhaps_init_unseen_key_defaults): * console.c: * database.c (dbm_get): * database.c (dbm_put): * database.c (dbm_remove): * database.c (berkdb_get): * database.c (berkdb_put): * database.c (berkdb_remove): * database.c (Fopen_database): * device-gtk.c (gtk_init_device): * device-msw.c (msprinter_init_device_internal): * device-msw.c (msprinter_default_printer): * device-msw.c (msprinter_init_device): * device-msw.c (sync_printer_with_devmode): * device-msw.c (Fmsprinter_select_settings): * device-x.c (sanity_check_geometry_resource): * device-x.c (Dynarr_add_validified_lisp_string): * device-x.c (x_init_device): * device-x.c (Fx_put_resource): * device-x.c (Fx_valid_keysym_name_p): * device-x.c (Fx_set_font_path): * dialog-msw.c (push_lisp_string_as_unicode): * dialog-msw.c (handle_directory_dialog_box): * dialog-msw.c (handle_file_dialog_box): * dialog-x.c (dbox_descriptor_to_widget_value): * editfns.c (Fformat_time_string): * editfns.c (Fencode_time): * editfns.c (Fset_time_zone_rule): * emacs.c (make_argc_argv): * emacs.c (Fdump_emacs): * emodules.c (emodules_load): * eval.c: * eval.c (maybe_signal_error_1): * event-msw.c (Fdde_alloc_advise_item): * event-msw.c (mswindows_dde_callback): * event-msw.c (mswindows_wnd_proc): * fileio.c (report_error_with_errno): * fileio.c (Fsysnetunam): * fileio.c (Fdo_auto_save): * font-mgr.c (extract_fcapi_string): * font-mgr.c (Ffc_config_app_font_add_file): * font-mgr.c (Ffc_config_app_font_add_dir): * font-mgr.c (Ffc_config_filename): * frame-gtk.c (gtk_set_frame_text_value): * frame-gtk.c (gtk_create_widgets): * frame-msw.c (mswindows_init_frame_1): * frame-msw.c (mswindows_set_title_from_ibyte): * frame-msw.c (msprinter_init_frame_3): * frame-x.c (x_set_frame_text_value): * frame-x.c (x_set_frame_properties): * frame-x.c (start_drag_internal_1): * frame-x.c (x_cde_transfer_callback): * frame-x.c (x_create_widgets): * glyphs-eimage.c (my_jpeg_output_message): * glyphs-eimage.c (jpeg_instantiate): * glyphs-eimage.c (gif_instantiate): * glyphs-eimage.c (png_instantiate): * glyphs-eimage.c (tiff_instantiate): * glyphs-gtk.c (xbm_instantiate_1): * glyphs-gtk.c (gtk_xbm_instantiate): * glyphs-gtk.c (gtk_xpm_instantiate): * glyphs-gtk.c (gtk_xface_instantiate): * glyphs-gtk.c (cursor_font_instantiate): * glyphs-gtk.c (gtk_redisplay_widget): * glyphs-gtk.c (gtk_widget_instantiate_1): * glyphs-gtk.c (gtk_add_tab_item): * glyphs-msw.c (mswindows_xpm_instantiate): * glyphs-msw.c (bmp_instantiate): * glyphs-msw.c (mswindows_resource_instantiate): * glyphs-msw.c (xbm_instantiate_1): * glyphs-msw.c (mswindows_xbm_instantiate): * glyphs-msw.c (mswindows_xface_instantiate): * glyphs-msw.c (mswindows_redisplay_widget): * glyphs-msw.c (mswindows_widget_instantiate): * glyphs-msw.c (add_tree_item): * glyphs-msw.c (add_tab_item): * glyphs-msw.c (mswindows_combo_box_instantiate): * glyphs-msw.c (mswindows_widget_query_string_geometry): * glyphs-x.c (x_locate_pixmap_file): * glyphs-x.c (xbm_instantiate_1): * glyphs-x.c (x_xbm_instantiate): * glyphs-x.c (extract_xpm_color_names): * glyphs-x.c (x_xpm_instantiate): * glyphs-x.c (x_xface_instantiate): * glyphs-x.c (autodetect_instantiate): * glyphs-x.c (safe_XLoadFont): * glyphs-x.c (cursor_font_instantiate): * glyphs-x.c (x_redisplay_widget): * glyphs-x.c (Fchange_subwindow_property): * glyphs-x.c (x_widget_instantiate): * glyphs-x.c (x_tab_control_redisplay): * glyphs.c (pixmap_to_lisp_data): * gui-x.c (menu_separator_style_and_to_external): * gui-x.c (add_accel_and_to_external): * gui-x.c (button_item_to_widget_value): * hpplay.c (player_error_internal): * hpplay.c (play_sound_file): * hpplay.c (play_sound_data): * intl.c (Fset_current_locale): * lisp.h: * menubar-gtk.c (gtk_xemacs_set_accel_keys): * menubar-msw.c (populate_menu_add_item): * menubar-msw.c (populate_or_checksum_helper): * menubar-x.c (menu_item_descriptor_to_widget_value_1): * nt.c (init_user_info): * nt.c (get_long_basename): * nt.c (nt_get_resource): * nt.c (init_mswindows_environment): * nt.c (get_cached_volume_information): * nt.c (mswindows_readdir): * nt.c (read_unc_volume): * nt.c (mswindows_stat): * nt.c (mswindows_getdcwd): * nt.c (mswindows_executable_type): * nt.c (Fmswindows_short_file_name): * ntplay.c (nt_play_sound_file): * objects-gtk.c: * objects-gtk.c (gtk_valid_color_name_p): * objects-gtk.c (gtk_initialize_font_instance): * objects-gtk.c (gtk_font_list): * objects-msw.c (font_enum_callback_2): * objects-msw.c (parse_font_spec): * objects-x.c (x_parse_nearest_color): * objects-x.c (x_valid_color_name_p): * objects-x.c (x_initialize_font_instance): * objects-x.c (x_font_instance_truename): * objects-x.c (x_font_list): * objects-xlike-inc.c (XFUN): * objects-xlike-inc.c (xft_find_charset_font): * process-nt.c (mswindows_report_winsock_error): * process-nt.c (nt_create_process): * process-nt.c (get_internet_address): * process-nt.c (nt_open_network_stream): * process-unix.c: * process-unix.c (allocate_pty): * process-unix.c (get_internet_address): * process-unix.c (unix_canonicalize_host_name): * process-unix.c (unix_open_network_stream): * realpath.c: * select-common.h (lisp_data_to_selection_data): * select-gtk.c (symbol_to_gtk_atom): * select-gtk.c (atom_to_symbol): * select-msw.c (symbol_to_ms_cf): * select-msw.c (mswindows_register_selection_data_type): * select-x.c (symbol_to_x_atom): * select-x.c (x_atom_to_symbol): * select-x.c (hack_motif_clipboard_selection): * select-x.c (Fx_store_cutbuffer_internal): * sound.c (Fplay_sound_file): * sound.c (Fplay_sound): * sound.h (sound_perror): * sysdep.c: * sysdep.c (qxe_allocating_getcwd): * sysdep.c (qxe_execve): * sysdep.c (copy_in_passwd): * sysdep.c (qxe_getpwnam): * sysdep.c (qxe_ctime): * sysdll.c (dll_open): * sysdll.c (dll_function): * sysdll.c (dll_variable): * sysdll.c (search_linked_libs): * sysdll.c (dll_error): * sysfile.h: * sysfile.h (PATHNAME_CONVERT_OUT_TSTR): * sysfile.h (PATHNAME_CONVERT_OUT_UTF_8): * sysfile.h (PATHNAME_CONVERT_OUT): * sysfile.h (LISP_PATHNAME_CONVERT_OUT): * syswindows.h (ITEXT_TO_TSTR): * syswindows.h (LOCAL_FILE_FORMAT_TO_TSTR): * syswindows.h (TSTR_TO_LOCAL_FILE_FORMAT): * syswindows.h (LOCAL_FILE_FORMAT_TO_INTERNAL_MSWIN): * syswindows.h (LISP_LOCAL_FILE_FORMAT_MAYBE_URL_TO_TSTR): * text.h: * text.h (eicpy_ext_len): * text.h (enum new_dfc_src_type): * text.h (EXTERNAL_TO_ITEXT): * text.h (GET_STRERROR): * tooltalk.c (check_status): * tooltalk.c (Fadd_tooltalk_message_arg): * tooltalk.c (Fadd_tooltalk_pattern_attribute): * tooltalk.c (Fadd_tooltalk_pattern_arg): * win32.c (tstr_to_local_file_format): * win32.c (mswindows_lisp_error_1): * win32.c (mswindows_report_process_error): * win32.c (Fmswindows_shell_execute): * win32.c (mswindows_read_link_1): Changes involving external/internal format conversion, mostly code cleanup and renaming. 1. Eliminate the previous macros like LISP_STRING_TO_EXTERNAL that stored its result in a parameter. The new version of LISP_STRING_TO_EXTERNAL returns its result through the return value, same as the previous NEW_LISP_STRING_TO_EXTERNAL. Use the new-style macros throughout the code. 2. Rename C_STRING_TO_EXTERNAL and friends to ITEXT_TO_EXTERNAL, in keeping with overall naming rationalization involving Itext and related types. Macros involved in previous two: EXTERNAL_TO_C_STRING -> EXTERNAL_TO_ITEXT EXTERNAL_TO_C_STRING_MALLOC -> EXTERNAL_TO_ITEXT_MALLOC SIZED_EXTERNAL_TO_C_STRING -> SIZED_EXTERNAL_TO_ITEXT SIZED_EXTERNAL_TO_C_STRING_MALLOC -> SIZED_EXTERNAL_TO_ITEXT_MALLOC C_STRING_TO_EXTERNAL -> ITEXT_TO_EXTERNAL C_STRING_TO_EXTERNAL_MALLOC -> ITEXT_TO_EXTERNAL_MALLOC LISP_STRING_TO_EXTERNAL LISP_STRING_TO_EXTERNAL_MALLOC LISP_STRING_TO_TSTR C_STRING_TO_TSTR -> ITEXT_TO_TSTR TSTR_TO_C_STRING -> TSTR_TO_ITEXT The following four still return their values through parameters, since they have more than one value to return: C_STRING_TO_SIZED_EXTERNAL -> ITEXT_TO_SIZED_EXTERNAL LISP_STRING_TO_SIZED_EXTERNAL C_STRING_TO_SIZED_EXTERNAL_MALLOC -> ITEXT_TO_SIZED_EXTERNAL_MALLOC LISP_STRING_TO_SIZED_EXTERNAL_MALLOC Sometimes additional casts had to be inserted, since the old macros played strange games and completely defeated the type system of the store params. 3. Rewrite many places where direct calls to TO_EXTERNAL_FORMAT occurred with calls to one of the convenience macros listed above, or to make_extstring(). 4. Eliminate SIZED_C_STRING macros (they were hardly used, anyway) and use a direct call to TO_EXTERNAL_FORMAT or TO_INTERNAL_FORMAT. 4. Use LISP_PATHNAME_CONVERT_OUT in many places instead of something like LISP_STRING_TO_EXTERNAL(..., Qfile_name). 5. Eliminate some temporary variables that are no longer necessary now that we return a value rather than storing it into a variable. 6. Some Mule-izing in database.c. 7. Error functions: -- A bit of code cleanup in maybe_signal_error_1. -- Eliminate report_file_type_error; it's just an alias for signal_error_2 with params in a different order. -- Fix some places in the hostname-handling code that directly inserted externally-retrieved error strings into the supposed ASCII "reason" param instead of doing the right thing and sticking text descriptive of what was going on in "reason" and putting the external message in a frob. 8. Use Ascbyte instead of CIbyte in process-unix.c and maybe one or two other places. 9. Some code cleanup in copy_in_passwd() in sysdep.c. 10. Fix a real bug due to accidental variable shadowing in tstr_to_local_file_format() in win32.c.
author Ben Wing <ben@xemacs.org>
date Fri, 05 Feb 2010 11:02:24 -0600
parents 304aebb79cd3
children ae48681c47fa
comparison
equal deleted inserted replaced
4972:c448f4c38d65 4981:4aebb0131297
310 { 310 {
311 if (tt_is_err (st)) 311 if (tt_is_err (st))
312 { 312 {
313 CIbyte *err; 313 CIbyte *err;
314 314
315 EXTERNAL_TO_C_STRING (tt_status_message (st), err, Qtooltalk_encoding); 315 err = EXTERNAL_TO_ITEXT (tt_status_message (st), Qtooltalk_encoding);
316 signal_error (Qtooltalk_error, err, Qunbound); 316 signal_error (Qtooltalk_error, err, Qunbound);
317 } 317 }
318 } 318 }
319 319
320 DEFUN ("receive-tooltalk-message", Freceive_tooltalk_message, 0, 2, 0, /* 320 DEFUN ("receive-tooltalk-message", Freceive_tooltalk_message, 0, 2, 0, /*
771 else if (EQ (attribute, Qtt_arg_bval)) 771 else if (EQ (attribute, Qtt_arg_bval))
772 { 772 {
773 Extbyte *value_ext; 773 Extbyte *value_ext;
774 Bytecount value_ext_len; 774 Bytecount value_ext_len;
775 CHECK_STRING (value); 775 CHECK_STRING (value);
776 TO_EXTERNAL_FORMAT (LISP_STRING, value, 776 LISP_STRING_TO_SIZED_EXTERNAL (value, value_ext, value_ext_len,
777 ALLOCA, (value_ext, value_ext_len), 777 Qtooltalk_encoding);
778 Qtooltalk_encoding);
779 tt_message_arg_bval_set (m, n, (unsigned char *) value_ext, value_ext_len); 778 tt_message_arg_bval_set (m, n, (unsigned char *) value_ext, value_ext_len);
780 } 779 }
781 else if (EQ (attribute, Qtt_arg_ival)) 780 else if (EQ (attribute, Qtt_arg_ival))
782 { 781 {
783 CHECK_INT (value); 782 CHECK_INT (value);
785 } 784 }
786 else if (EQ (attribute, Qtt_arg_val)) 785 else if (EQ (attribute, Qtt_arg_val))
787 { 786 {
788 const char *value_ext; 787 const char *value_ext;
789 CHECK_STRING (value); 788 CHECK_STRING (value);
790 LISP_STRING_TO_EXTERNAL (value, value_ext, Qtooltalk_encoding); 789 value_ext = LISP_STRING_TO_EXTERNAL (value, Qtooltalk_encoding);
791 tt_message_arg_val_set (m, n, value_ext); 790 tt_message_arg_val_set (m, n, value_ext);
792 } 791 }
793 else if (EQ (attribute, Qtt_status)) 792 else if (EQ (attribute, Qtt_status))
794 { 793 {
795 CHECK_INT (value); 794 CHECK_INT (value);
810 809
811 if (fun_str) 810 if (fun_str)
812 { 811 {
813 const char *value_ext; 812 const char *value_ext;
814 CHECK_STRING (value); 813 CHECK_STRING (value);
815 LISP_STRING_TO_EXTERNAL (value, value_ext, Qtooltalk_encoding); 814 value_ext = LISP_STRING_TO_EXTERNAL (value, Qtooltalk_encoding);
816 (*fun_str) (m, value_ext); 815 (*fun_str) (m, value_ext);
817 } 816 }
818 817
819 return Qnil; 818 return Qnil;
820 } 819 }
926 if (!VALID_TOOLTALK_MESSAGEP (m)) 925 if (!VALID_TOOLTALK_MESSAGEP (m))
927 return Qnil; 926 return Qnil;
928 { 927 {
929 const char *vtype_ext; 928 const char *vtype_ext;
930 929
931 LISP_STRING_TO_EXTERNAL (vtype, vtype_ext, Qtooltalk_encoding); 930 vtype_ext = LISP_STRING_TO_EXTERNAL (vtype, Qtooltalk_encoding);
932 if (NILP (value)) 931 if (NILP (value))
933 tt_message_arg_add (m, n, vtype_ext, NULL); 932 tt_message_arg_add (m, n, vtype_ext, NULL);
934 else if (STRINGP (value)) 933 else if (STRINGP (value))
935 { 934 {
936 const char *value_ext; 935 const char *value_ext;
937 LISP_STRING_TO_EXTERNAL (value, value_ext, Qtooltalk_encoding); 936 value_ext = LISP_STRING_TO_EXTERNAL (value, Qtooltalk_encoding);
938 tt_message_arg_add (m, n, vtype_ext, value_ext); 937 tt_message_arg_add (m, n, vtype_ext, value_ext);
939 } 938 }
940 else if (INTP (value)) 939 else if (INTP (value))
941 tt_message_iarg_add (m, n, vtype_ext, XINT (value)); 940 tt_message_iarg_add (m, n, vtype_ext, XINT (value));
942 } 941 }
1037 } 1036 }
1038 else if (EQ (attribute, Qtt_file)) 1037 else if (EQ (attribute, Qtt_file))
1039 { 1038 {
1040 const char *value_ext; 1039 const char *value_ext;
1041 CHECK_STRING (value); 1040 CHECK_STRING (value);
1042 LISP_STRING_TO_EXTERNAL (value, value_ext, Qtooltalk_encoding); 1041 value_ext = LISP_STRING_TO_EXTERNAL (value, Qtooltalk_encoding);
1043 tt_pattern_file_add (p, value_ext); 1042 tt_pattern_file_add (p, value_ext);
1044 } 1043 }
1045 else if (EQ (attribute, Qtt_object)) 1044 else if (EQ (attribute, Qtt_object))
1046 { 1045 {
1047 const char *value_ext; 1046 const char *value_ext;
1048 CHECK_STRING (value); 1047 CHECK_STRING (value);
1049 LISP_STRING_TO_EXTERNAL (value, value_ext, Qtooltalk_encoding); 1048 value_ext = LISP_STRING_TO_EXTERNAL (value, Qtooltalk_encoding);
1050 tt_pattern_object_add (p, value_ext); 1049 tt_pattern_object_add (p, value_ext);
1051 } 1050 }
1052 else if (EQ (attribute, Qtt_op)) 1051 else if (EQ (attribute, Qtt_op))
1053 { 1052 {
1054 const char *value_ext; 1053 const char *value_ext;
1055 CHECK_STRING (value); 1054 CHECK_STRING (value);
1056 LISP_STRING_TO_EXTERNAL (value, value_ext, Qtooltalk_encoding); 1055 value_ext = LISP_STRING_TO_EXTERNAL (value, Qtooltalk_encoding);
1057 tt_pattern_op_add (p, value_ext); 1056 tt_pattern_op_add (p, value_ext);
1058 } 1057 }
1059 else if (EQ (attribute, Qtt_otype)) 1058 else if (EQ (attribute, Qtt_otype))
1060 { 1059 {
1061 const char *value_ext; 1060 const char *value_ext;
1062 CHECK_STRING (value); 1061 CHECK_STRING (value);
1063 LISP_STRING_TO_EXTERNAL (value, value_ext, Qtooltalk_encoding); 1062 value_ext = LISP_STRING_TO_EXTERNAL (value, Qtooltalk_encoding);
1064 tt_pattern_otype_add (p, value_ext); 1063 tt_pattern_otype_add (p, value_ext);
1065 } 1064 }
1066 else if (EQ (attribute, Qtt_scope)) 1065 else if (EQ (attribute, Qtt_scope))
1067 { 1066 {
1068 CHECK_TOOLTALK_CONSTANT (value); 1067 CHECK_TOOLTALK_CONSTANT (value);
1070 } 1069 }
1071 else if (EQ (attribute, Qtt_sender)) 1070 else if (EQ (attribute, Qtt_sender))
1072 { 1071 {
1073 const char *value_ext; 1072 const char *value_ext;
1074 CHECK_STRING (value); 1073 CHECK_STRING (value);
1075 LISP_STRING_TO_EXTERNAL (value, value_ext, Qtooltalk_encoding); 1074 value_ext = LISP_STRING_TO_EXTERNAL (value, Qtooltalk_encoding);
1076 tt_pattern_sender_add (p, value_ext); 1075 tt_pattern_sender_add (p, value_ext);
1077 } 1076 }
1078 else if (EQ (attribute, Qtt_sender_ptype)) 1077 else if (EQ (attribute, Qtt_sender_ptype))
1079 { 1078 {
1080 const char *value_ext; 1079 const char *value_ext;
1081 CHECK_STRING (value); 1080 CHECK_STRING (value);
1082 LISP_STRING_TO_EXTERNAL (value, value_ext, Qtooltalk_encoding); 1081 value_ext = LISP_STRING_TO_EXTERNAL (value, Qtooltalk_encoding);
1083 tt_pattern_sender_ptype_add (p, value_ext); 1082 tt_pattern_sender_ptype_add (p, value_ext);
1084 } 1083 }
1085 else if (EQ (attribute, Qtt_session)) 1084 else if (EQ (attribute, Qtt_session))
1086 { 1085 {
1087 const char *value_ext; 1086 const char *value_ext;
1088 CHECK_STRING (value); 1087 CHECK_STRING (value);
1089 LISP_STRING_TO_EXTERNAL (value, value_ext, Qtooltalk_encoding); 1088 value_ext = LISP_STRING_TO_EXTERNAL (value, Qtooltalk_encoding);
1090 tt_pattern_session_add (p, value_ext); 1089 tt_pattern_session_add (p, value_ext);
1091 } 1090 }
1092 else if (EQ (attribute, Qtt_state)) 1091 else if (EQ (attribute, Qtt_state))
1093 { 1092 {
1094 CHECK_TOOLTALK_CONSTANT (value); 1093 CHECK_TOOLTALK_CONSTANT (value);
1125 return Qnil; 1124 return Qnil;
1126 1125
1127 { 1126 {
1128 const char *vtype_ext; 1127 const char *vtype_ext;
1129 1128
1130 LISP_STRING_TO_EXTERNAL (vtype, vtype_ext, Qtooltalk_encoding); 1129 vtype_ext = LISP_STRING_TO_EXTERNAL (vtype, Qtooltalk_encoding);
1131 if (NILP (value)) 1130 if (NILP (value))
1132 tt_pattern_arg_add (p, n, vtype_ext, NULL); 1131 tt_pattern_arg_add (p, n, vtype_ext, NULL);
1133 else if (STRINGP (value)) 1132 else if (STRINGP (value))
1134 { 1133 {
1135 const char *value_ext; 1134 const char *value_ext;
1136 LISP_STRING_TO_EXTERNAL (value, value_ext, Qtooltalk_encoding); 1135 value_ext = LISP_STRING_TO_EXTERNAL (value, Qtooltalk_encoding);
1137 tt_pattern_arg_add (p, n, vtype_ext, value_ext); 1136 tt_pattern_arg_add (p, n, vtype_ext, value_ext);
1138 } 1137 }
1139 else if (INTP (value)) 1138 else if (INTP (value))
1140 tt_pattern_iarg_add (p, n, vtype_ext, XINT (value)); 1139 tt_pattern_iarg_add (p, n, vtype_ext, XINT (value));
1141 } 1140 }