comparison src/menubar-msw.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 19a72041c5ed
children ae48681c47fa
comparison
equal deleted inserted replaced
4972:c448f4c38d65 4981:4aebb0131297
239 /* Separator or unselectable text */ 239 /* Separator or unselectable text */
240 if (separator_string_p (XSTRING_DATA (item))) 240 if (separator_string_p (XSTRING_DATA (item)))
241 item_info.fType = MFT_SEPARATOR; 241 item_info.fType = MFT_SEPARATOR;
242 else 242 else
243 { 243 {
244 Extbyte *itemext;
245
246 item_info.fType = MFT_STRING; 244 item_info.fType = MFT_STRING;
247 item_info.fState = MFS_DISABLED; 245 item_info.fState = MFS_DISABLED;
248 LISP_STRING_TO_TSTR (item, itemext); 246 item_info.dwTypeData = (XELPTSTR) LISP_STRING_TO_TSTR (item);
249 item_info.dwTypeData = (XELPTSTR) itemext;
250 } 247 }
251 } 248 }
252 else if (CONSP (item)) 249 else if (CONSP (item))
253 { 250 {
254 /* Submenu */ 251 /* Submenu */
255 HMENU submenu; 252 HMENU submenu;
256 Lisp_Object gui_item = allocate_gui_item (); 253 Lisp_Object gui_item = allocate_gui_item ();
257 Lisp_Gui_Item *pgui_item = XGUI_ITEM (gui_item); 254 Lisp_Gui_Item *pgui_item = XGUI_ITEM (gui_item);
258 struct gcpro gcpro1, gcpro2, gcpro3; 255 struct gcpro gcpro1, gcpro2, gcpro3;
259 Ichar accel; 256 Ichar accel;
260 Extbyte *itemext;
261 257
262 GCPRO3 (gui_item, path, *accel_list); 258 GCPRO3 (gui_item, path, *accel_list);
263 259
264 menu_parse_submenu_keywords (item, gui_item); 260 menu_parse_submenu_keywords (item, gui_item);
265 261
279 displayed item won't have an arrow indicating that it is a 275 displayed item won't have an arrow indicating that it is a
280 popup. So we go ahead a little bit more and create a popup */ 276 popup. So we go ahead a little bit more and create a popup */
281 submenu = create_empty_popup_menu (); 277 submenu = create_empty_popup_menu ();
282 278
283 item_info.fMask |= MIIM_SUBMENU; 279 item_info.fMask |= MIIM_SUBMENU;
284 LISP_STRING_TO_TSTR (displayable_menu_item (gui_item, bar_p, &accel), 280 item_info.dwTypeData = (XELPTSTR)
285 itemext); 281 LISP_STRING_TO_TSTR (displayable_menu_item (gui_item, bar_p, &accel));
286 item_info.dwTypeData = (XELPTSTR) itemext;
287 item_info.hSubMenu = submenu; 282 item_info.hSubMenu = submenu;
288 283
289 if (accel && bar_p) 284 if (accel && bar_p)
290 *accel_list = Fcons (make_char (accel), *accel_list); 285 *accel_list = Fcons (make_char (accel), *accel_list);
291 286
313 Lisp_Object style, id; 308 Lisp_Object style, id;
314 Lisp_Object gui_item = gui_parse_item_keywords (item); 309 Lisp_Object gui_item = gui_parse_item_keywords (item);
315 Lisp_Gui_Item *pgui_item = XGUI_ITEM (gui_item); 310 Lisp_Gui_Item *pgui_item = XGUI_ITEM (gui_item);
316 struct gcpro gcpro1, gcpro2; 311 struct gcpro gcpro1, gcpro2;
317 Ichar accel; 312 Ichar accel;
318 Extbyte *itemext;
319 313
320 GCPRO2 (gui_item, *accel_list); 314 GCPRO2 (gui_item, *accel_list);
321 315
322 if (!gui_item_included_p (gui_item, Vmenubar_configuration)) 316 if (!gui_item_included_p (gui_item, Vmenubar_configuration))
323 { 317 {
346 pgui_item->suffix); 340 pgui_item->suffix);
347 Fputhash (id, pgui_item->callback, hash_tab); 341 Fputhash (id, pgui_item->callback, hash_tab);
348 342
349 item_info.wID = (UINT) XINT (id); 343 item_info.wID = (UINT) XINT (id);
350 item_info.fType |= MFT_STRING; 344 item_info.fType |= MFT_STRING;
351 LISP_STRING_TO_TSTR (displayable_menu_item (gui_item, bar_p, &accel), 345 item_info.dwTypeData = (XELPTSTR)
352 itemext); 346 LISP_STRING_TO_TSTR (displayable_menu_item (gui_item, bar_p, &accel));
353 item_info.dwTypeData = (XELPTSTR) itemext;
354 347
355 if (accel && bar_p) 348 if (accel && bar_p)
356 *accel_list = Fcons (make_char (accel), *accel_list); 349 *accel_list = Fcons (make_char (accel), *accel_list);
357 350
358 UNGCPRO; 351 UNGCPRO;
447 /* Add the header to the popup, if told so. The same as in X - an 440 /* Add the header to the popup, if told so. The same as in X - an
448 insensitive item, and a separator (Seems to me, there were 441 insensitive item, and a separator (Seems to me, there were
449 two separators in X... In Windows this looks ugly, anyways.) */ 442 two separators in X... In Windows this looks ugly, anyways.) */
450 if (!bar_p && !deep_p && popup_menu_titles && !NILP (pgui_item->name)) 443 if (!bar_p && !deep_p && popup_menu_titles && !NILP (pgui_item->name))
451 { 444 {
452 Extbyte *nameext;
453
454 LISP_STRING_TO_TSTR (displayable_menu_item (gui_item, bar_p, NULL),
455 nameext);
456 qxeInsertMenu (menu, 0, MF_BYPOSITION | MF_STRING | MF_DISABLED, 445 qxeInsertMenu (menu, 0, MF_BYPOSITION | MF_STRING | MF_DISABLED,
457 0, nameext); 446 0, LISP_STRING_TO_TSTR (displayable_menu_item
447 (gui_item, bar_p, NULL)));
458 qxeInsertMenu (menu, 1, MF_BYPOSITION | MF_SEPARATOR, 0, NULL); 448 qxeInsertMenu (menu, 1, MF_BYPOSITION | MF_SEPARATOR, 0, NULL);
459 SetMenuDefaultItem (menu, 0, MF_BYPOSITION); 449 SetMenuDefaultItem (menu, 0, MF_BYPOSITION);
460 } 450 }
461 } 451 }
462 452