comparison src/fileio.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 7822019c5d98
children 304aebb79cd3
comparison
equal deleted inserted replaced
4951:de60897044f4 4952:19a72041c5ed
141 /* DATA can be anything acceptable to signal_error (). 141 /* DATA can be anything acceptable to signal_error ().
142 */ 142 */
143 143
144 DOESNT_RETURN 144 DOESNT_RETURN
145 report_file_type_error (Lisp_Object errtype, Lisp_Object oserrmess, 145 report_file_type_error (Lisp_Object errtype, Lisp_Object oserrmess,
146 const CIbyte *string, Lisp_Object data) 146 const Ascbyte *reason, Lisp_Object data)
147 { 147 {
148 struct gcpro gcpro1; 148 struct gcpro gcpro1;
149 Lisp_Object errdata = build_error_data (NULL, data); 149 Lisp_Object errdata = build_error_data (NULL, data);
150 150
151 GCPRO1 (errdata); 151 GCPRO1 (errdata);
152 errdata = Fcons (build_msg_string (string), 152 errdata = Fcons (build_msg_string (reason),
153 Fcons (oserrmess, errdata)); 153 Fcons (oserrmess, errdata));
154 signal_error_1 (errtype, errdata); 154 signal_error_1 (errtype, errdata);
155 /* UNGCPRO; not reached */ 155 /* UNGCPRO; not reached */
156 } 156 }
157 157
158 DOESNT_RETURN 158 DOESNT_RETURN
159 report_error_with_errno (Lisp_Object errtype, 159 report_error_with_errno (Lisp_Object errtype,
160 const CIbyte *string, Lisp_Object data) 160 const Ascbyte *reason, Lisp_Object data)
161 { 161 {
162 report_file_type_error (errtype, lisp_strerror (errno), string, data); 162 report_file_type_error (errtype, lisp_strerror (errno), reason, data);
163 } 163 }
164 164
165 /* signal a file error when errno contains a meaningful value. */ 165 /* signal a file error when errno contains a meaningful value. */
166 166
167 DOESNT_RETURN 167 DOESNT_RETURN
168 report_file_error (const CIbyte *string, Lisp_Object data) 168 report_file_error (const Ascbyte *reason, Lisp_Object data)
169 { 169 {
170 report_error_with_errno (Qfile_error, string, data); 170 report_error_with_errno (Qfile_error, reason, data);
171 } 171 }
172 172
173 173
174 /* Just like strerror(3), except return a lisp string instead of char *. 174 /* Just like strerror(3), except return a lisp string instead of char *.
175 The string needs to be converted since it may be localized. 175 The string needs to be converted since it may be localized.
785 785
786 /* Use the buffer's default-directory if DEFAULT_DIRECTORY is omitted. */ 786 /* Use the buffer's default-directory if DEFAULT_DIRECTORY is omitted. */
787 if (NILP (default_directory)) 787 if (NILP (default_directory))
788 default_directory = current_buffer->directory; 788 default_directory = current_buffer->directory;
789 if (! STRINGP (default_directory)) 789 if (! STRINGP (default_directory))
790 default_directory = build_string (DEFAULT_DIRECTORY_FALLBACK); 790 default_directory = build_ascstring (DEFAULT_DIRECTORY_FALLBACK);
791 791
792 if (!NILP (default_directory)) 792 if (!NILP (default_directory))
793 { 793 {
794 handler = Ffind_file_name_handler (default_directory, Qexpand_file_name); 794 handler = Ffind_file_name_handler (default_directory, Qexpand_file_name);
795 if (!NILP (handler)) 795 if (!NILP (handler))
1759 to alter the file. 1759 to alter the file.
1760 *STATPTR is used to store the stat information if the file exists. 1760 *STATPTR is used to store the stat information if the file exists.
1761 If the file does not exist, STATPTR->st_mode is set to 0. */ 1761 If the file does not exist, STATPTR->st_mode is set to 0. */
1762 1762
1763 static void 1763 static void
1764 barf_or_query_if_file_exists (Lisp_Object absname, const CIbyte *querystring, 1764 barf_or_query_if_file_exists (Lisp_Object absname, const Ascbyte *querystring,
1765 int interactive, struct stat *statptr) 1765 int interactive, struct stat *statptr)
1766 { 1766 {
1767 /* This function can call Lisp. GC checked 2000-07-28 ben */ 1767 /* This function can call Lisp. GC checked 2000-07-28 ben */
1768 struct stat statbuf; 1768 struct stat statbuf;
1769 1769
1778 Lisp_Object prompt; 1778 Lisp_Object prompt;
1779 struct gcpro gcpro1; 1779 struct gcpro gcpro1;
1780 1780
1781 prompt = 1781 prompt =
1782 emacs_sprintf_string 1782 emacs_sprintf_string
1783 (CGETTEXT ("File %s already exists; %s anyway? "), 1783 (GETTEXT ("File %s already exists; %s anyway? "),
1784 XSTRING_DATA (absname), CGETTEXT (querystring)); 1784 XSTRING_DATA (absname), GETTEXT (querystring));
1785 1785
1786 GCPRO1 (prompt); 1786 GCPRO1 (prompt);
1787 tem = call1 (Qyes_or_no_p, prompt); 1787 tem = call1 (Qyes_or_no_p, prompt);
1788 UNGCPRO; 1788 UNGCPRO;
1789 } 1789 }
2101 args[0] = newname; 2101 args[0] = newname;
2102 args[1] = Qnil; args[2] = Qnil; 2102 args[1] = Qnil; args[2] = Qnil;
2103 NGCPRO1 (*args); 2103 NGCPRO1 (*args);
2104 ngcpro1.nvars = 3; 2104 ngcpro1.nvars = 3;
2105 if (string_byte (newname, XSTRING_LENGTH (newname) - 1) != '/') 2105 if (string_byte (newname, XSTRING_LENGTH (newname) - 1) != '/')
2106 args[i++] = build_string ("/"); 2106 args[i++] = build_ascstring ("/");
2107 args[i++] = Ffile_name_nondirectory (filename); 2107 args[i++] = Ffile_name_nondirectory (filename);
2108 newname = Fconcat (i, args); 2108 newname = Fconcat (i, args);
2109 NUNGCPRO; 2109 NUNGCPRO;
2110 } 2110 }
2111 2111
4475 4475
4476 void 4476 void
4477 vars_of_fileio (void) 4477 vars_of_fileio (void)
4478 { 4478 {
4479 QSin_expand_file_name = 4479 QSin_expand_file_name =
4480 build_msg_string ("(in expand-file-name)"); 4480 build_defer_string ("(in expand-file-name)");
4481 staticpro (&QSin_expand_file_name); 4481 staticpro (&QSin_expand_file_name);
4482 4482
4483 DEFVAR_LISP ("auto-save-file-format", &Vauto_save_file_format /* 4483 DEFVAR_LISP ("auto-save-file-format", &Vauto_save_file_format /*
4484 *Format in which to write auto-save files. 4484 *Format in which to write auto-save files.
4485 Should be a list of symbols naming formats that are defined in `format-alist'. 4485 Should be a list of symbols naming formats that are defined in `format-alist'.
4561 DEFVAR_LISP ("auto-save-list-file-prefix", &Vauto_save_list_file_prefix /* 4561 DEFVAR_LISP ("auto-save-list-file-prefix", &Vauto_save_list_file_prefix /*
4562 Prefix for generating auto-save-list-file-name. 4562 Prefix for generating auto-save-list-file-name.
4563 Emacs's pid and the system name will be appended to 4563 Emacs's pid and the system name will be appended to
4564 this prefix to create a unique file name. 4564 this prefix to create a unique file name.
4565 */ ); 4565 */ );
4566 Vauto_save_list_file_prefix = build_string ("~/.saves-"); 4566 Vauto_save_list_file_prefix = build_ascstring ("~/.saves-");
4567 4567
4568 DEFVAR_BOOL ("inhibit-auto-save-session", &inhibit_auto_save_session /* 4568 DEFVAR_BOOL ("inhibit-auto-save-session", &inhibit_auto_save_session /*
4569 When non-nil, inhibit auto save list file creation. 4569 When non-nil, inhibit auto save list file creation.
4570 */ ); 4570 */ );
4571 inhibit_auto_save_session = 0; 4571 inhibit_auto_save_session = 0;