Mercurial > hg > xemacs-beta
comparison src/lisp.h @ 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 | 8b63e21b0436 |
children | 304aebb79cd3 |
comparison
equal
deleted
inserted
replaced
4951:de60897044f4 | 4952:19a72041c5ed |
---|---|
519 b) [Extbyte] pointer to text in some external format, which can be | 519 b) [Extbyte] pointer to text in some external format, which can be |
520 defined as all formats other than the internal one | 520 defined as all formats other than the internal one |
521 c) [Ascbyte] pure ASCII text | 521 c) [Ascbyte] pure ASCII text |
522 d) [Binbyte] binary data that is not meant to be interpreted as text | 522 d) [Binbyte] binary data that is not meant to be interpreted as text |
523 e) [Rawbyte] general data in memory, where we don't care about whether | 523 e) [Rawbyte] general data in memory, where we don't care about whether |
524 it's text or binary | 524 it's text or binary; often used when computing memory- |
525 based/byte-based offsets of pointers | |
525 f) [Boolbyte] a zero or a one | 526 f) [Boolbyte] a zero or a one |
526 g) [Bitbyte] a byte used for bit fields | 527 g) [Bitbyte] a byte used for bit fields |
527 h) [Chbyte] null-semantics `char *'; used when casting an argument to | 528 h) [Chbyte] null-semantics `char *'; used when casting an argument to |
528 an external API where the the other types may not be | 529 an external API where the the other types may not be |
529 appropriate | 530 appropriate |
2043 typedef struct | 2044 typedef struct |
2044 { | 2045 { |
2045 Dynarr_declare (unsigned long); | 2046 Dynarr_declare (unsigned long); |
2046 } unsigned_long_dynarr; | 2047 } unsigned_long_dynarr; |
2047 | 2048 |
2049 typedef const Ascbyte *const_Ascbyte_ptr; | |
2050 typedef struct | |
2051 { | |
2052 Dynarr_declare (const Ascbyte *); | |
2053 } const_Ascbyte_ptr_dynarr; | |
2054 | |
2055 extern const struct sized_memory_description const_Ascbyte_ptr_description; | |
2056 extern const struct sized_memory_description const_Ascbyte_ptr_dynarr_description; | |
2057 | |
2048 typedef struct | 2058 typedef struct |
2049 { | 2059 { |
2050 Dynarr_declare (int); | 2060 Dynarr_declare (int); |
2051 } int_dynarr; | 2061 } int_dynarr; |
2052 | 2062 |
3833 Fformat() should format the untranslated args[0] and return that, | 3843 Fformat() should format the untranslated args[0] and return that, |
3834 and also call Fgettext() on args[0] and, if that is different, | 3844 and also call Fgettext() on args[0] and, if that is different, |
3835 format it and store it in the `string-translatable' property of the | 3845 format it and store it in the `string-translatable' property of the |
3836 returned string. See Fgettext(). | 3846 returned string. See Fgettext(). |
3837 | 3847 |
3838 CGETTEXT() is the same as GETTEXT() but works with char * strings | 3848 The variations IGETTEXT, CIGETTEXT and ASCGETTEXT operate on |
3839 instead of Ibyte * strings. | 3849 Ibyte *, CIbyte *, and Ascbyte * strings, respectively. The |
3840 | 3850 ASCGETTEXT version has an assert check to verify that its string |
3841 build_msg_string() is a shorthand for build_string (GETTEXT (x)). | 3851 really is pure-ASCII. Plain GETTEXT is defined as ASCGETTEXT, and |
3842 build_msg_intstring() is a shorthand for build_intstring (GETTEXT (x)). | 3852 so works the same way. (There are no versions that work for Extbyte *. |
3853 Translate to internal format before working on it.) | |
3854 | |
3855 There are similar functions for building a Lisp string from a C | |
3856 string and translating in the process. They again come in three | |
3857 variants: build_msg_istring(), build_msg_cistring(), and | |
3858 build_msg_ascstring(). Again, build_msg_ascstring() asserts that | |
3859 its text is pure-ASCII, and build_msg_string() is the same as | |
3860 build_msg_ascstring(). | |
3843 */ | 3861 */ |
3844 | 3862 |
3845 #define GETTEXT(x) (x) | 3863 /* Return value NOT Ascbyte, because the result in general will have been |
3846 #define CGETTEXT(x) (x) | 3864 translated into a foreign language. */ |
3847 #define LISP_GETTEXT(x) (x) | 3865 DECLARE_INLINE_HEADER (const CIbyte *ASCGETTEXT (const Ascbyte *s)) |
3848 | 3866 { |
3849 /* DEFER_GETTEXT is used to identify strings which are translated when | 3867 ASSERT_ASCTEXT_ASCII (s); |
3850 they are referenced instead of when they are defined. | 3868 return s; |
3851 These include Qerror_messages and initialized arrays of strings. | 3869 } |
3870 | |
3871 DECLARE_INLINE_HEADER (const Ibyte *IGETTEXT (const Ibyte *s)) | |
3872 { | |
3873 return s; | |
3874 } | |
3875 | |
3876 DECLARE_INLINE_HEADER (const CIbyte *CIGETTEXT (const CIbyte *s)) | |
3877 { | |
3878 return s; | |
3879 } | |
3880 | |
3881 DECLARE_INLINE_HEADER (Lisp_Object LISP_GETTEXT (Lisp_Object s)) | |
3882 { | |
3883 return s; | |
3884 } | |
3885 | |
3886 #define GETTEXT ASCGETTEXT | |
3887 | |
3888 MODULE_API Lisp_Object build_msg_istring (const Ibyte *); | |
3889 MODULE_API Lisp_Object build_msg_cistring (const CIbyte *); | |
3890 MODULE_API Lisp_Object build_msg_ascstring (const Ascbyte *); | |
3891 #define build_msg_string build_msg_ascstring | |
3892 | |
3893 | |
3894 /* DEFER_GETTEXT() and variants are used to identify strings which are not | |
3895 meant to be translated immediately, but instead at some later time. | |
3896 This is used in strings that are stored somewhere at dump or | |
3897 initialization time, at a time when the current language environment is | |
3898 not set. It is the duty of the user of the string to call GETTEXT or | |
3899 some variant at the appropriate time. DEFER_GETTTEXT() serves only as a | |
3900 marker that the string is translatable, and will as a result be snarfed | |
3901 during message snarfing (see above). | |
3902 | |
3903 build_defer_string() and variants are the deferred equivalents of | |
3904 build_msg_string() and variants. Similarly to DEFER_GETTEXT(), they | |
3905 don't actually do any translation, but serve as place markers for | |
3906 message snarfing. However, they may do something more than just build | |
3907 a Lisp string -- in particular, they may store a string property | |
3908 indicating that the string is translatable (see discussion above about | |
3909 this property). | |
3852 */ | 3910 */ |
3853 #define DEFER_GETTEXT(x) (x) | 3911 |
3912 DECLARE_INLINE_HEADER (const Ascbyte *DEFER_ASCGETTEXT (const Ascbyte *s)) | |
3913 { | |
3914 ASSERT_ASCTEXT_ASCII (s); | |
3915 return s; | |
3916 } | |
3917 | |
3918 DECLARE_INLINE_HEADER (const Ibyte *DEFER_IGETTEXT (const Ibyte *s)) | |
3919 { | |
3920 return s; | |
3921 } | |
3922 | |
3923 DECLARE_INLINE_HEADER (const CIbyte *DEFER_CIGETTEXT (const CIbyte *s)) | |
3924 { | |
3925 return s; | |
3926 } | |
3927 | |
3928 #define DEFER_GETTEXT DEFER_ASCGETTEXT | |
3929 | |
3930 MODULE_API Lisp_Object build_defer_istring (const Ibyte *); | |
3931 MODULE_API Lisp_Object build_defer_cistring (const CIbyte *); | |
3932 MODULE_API Lisp_Object build_defer_ascstring (const Ascbyte *); | |
3933 | |
3934 #define build_defer_string build_defer_ascstring | |
3935 | |
3936 | |
3937 void write_msg_istring (Lisp_Object stream, const Ibyte *str); | |
3938 void write_msg_cistring (Lisp_Object stream, const CIbyte *str); | |
3939 void write_msg_ascstring (Lisp_Object stream, const Ascbyte *str); | |
3940 | |
3941 #define write_msg_string write_msg_ascstring | |
3854 | 3942 |
3855 | 3943 |
3856 /************************************************************************/ | 3944 /************************************************************************/ |
3857 /* Garbage collection / GC-protection */ | 3945 /* Garbage collection / GC-protection */ |
3858 /************************************************************************/ | 3946 /************************************************************************/ |
4140 extern Lisp_Object_ptr_dynarr *staticpros_nodump; | 4228 extern Lisp_Object_ptr_dynarr *staticpros_nodump; |
4141 #ifdef DEBUG_XEMACS | 4229 #ifdef DEBUG_XEMACS |
4142 | 4230 |
4143 /* Help debug crashes gc-marking a staticpro'ed object. */ | 4231 /* Help debug crashes gc-marking a staticpro'ed object. */ |
4144 | 4232 |
4145 MODULE_API void staticpro_1 (Lisp_Object *, Ascbyte *); | 4233 MODULE_API void staticpro_1 (Lisp_Object *, const Ascbyte *); |
4146 MODULE_API void staticpro_nodump_1 (Lisp_Object *, Ascbyte *); | 4234 MODULE_API void staticpro_nodump_1 (Lisp_Object *, const Ascbyte *); |
4147 /* g++ 4.3 complains about the conversion of const char to char. | 4235 #define staticpro(ptr) staticpro_1 (ptr, #ptr) |
4148 These end up in a dynarray, so we would need to define a whole new class | 4236 #define staticpro_nodump(ptr) staticpro_nodump_1 (ptr, #ptr) |
4149 of dynarray just to handle the const char stuff. | |
4150 ####Check to see how hard this might be. */ | |
4151 #define staticpro(ptr) staticpro_1 (ptr, (Ascbyte *) #ptr) | |
4152 #define staticpro_nodump(ptr) staticpro_nodump_1 (ptr, (Ascbyte *) #ptr) | |
4153 | 4237 |
4154 #ifdef HAVE_SHLIB | 4238 #ifdef HAVE_SHLIB |
4155 MODULE_API void unstaticpro_nodump_1 (Lisp_Object *, Ascbyte *); | 4239 MODULE_API void unstaticpro_nodump_1 (Lisp_Object *, const Ascbyte *); |
4156 #define unstaticpro_nodump(ptr) unstaticpro_nodump_1 (ptr, (Ascbyte *) #ptr) | 4240 #define unstaticpro_nodump(ptr) unstaticpro_nodump_1 (ptr, #ptr) |
4157 #endif | 4241 #endif |
4158 | 4242 |
4159 #else | 4243 #else |
4160 | 4244 |
4161 /* Call staticpro (&var) to protect static variable `var'. */ | 4245 /* Call staticpro (&var) to protect static variable `var'. */ |
4174 | 4258 |
4175 #ifdef NEW_GC | 4259 #ifdef NEW_GC |
4176 extern Lisp_Object_dynarr *mcpros; | 4260 extern Lisp_Object_dynarr *mcpros; |
4177 #ifdef DEBUG_XEMACS | 4261 #ifdef DEBUG_XEMACS |
4178 /* Help debug crashes gc-marking a mcpro'ed object. */ | 4262 /* Help debug crashes gc-marking a mcpro'ed object. */ |
4179 MODULE_API void mcpro_1 (Lisp_Object, char *); | 4263 MODULE_API void mcpro_1 (Lisp_Object, const Ascbyte *); |
4180 #define mcpro(ptr) mcpro_1 (ptr, #ptr) | 4264 #define mcpro(ptr) mcpro_1 (ptr, #ptr) |
4181 #else /* not DEBUG_XEMACS */ | 4265 #else /* not DEBUG_XEMACS */ |
4182 /* Call mcpro (&var) to protect mc variable `var'. */ | 4266 /* Call mcpro (&var) to protect mc variable `var'. */ |
4183 MODULE_API void mcpro (Lisp_Object); | 4267 MODULE_API void mcpro (Lisp_Object); |
4184 #endif /* not DEBUG_XEMACS */ | 4268 #endif /* not DEBUG_XEMACS */ |
4274 int c_readonly (Lisp_Object); | 4358 int c_readonly (Lisp_Object); |
4275 int lisp_readonly (Lisp_Object); | 4359 int lisp_readonly (Lisp_Object); |
4276 MODULE_API void copy_lisp_object (Lisp_Object dst, Lisp_Object src); | 4360 MODULE_API void copy_lisp_object (Lisp_Object dst, Lisp_Object src); |
4277 MODULE_API Lisp_Object build_intstring (const Ibyte *); | 4361 MODULE_API Lisp_Object build_intstring (const Ibyte *); |
4278 MODULE_API Lisp_Object build_string (const CIbyte *); | 4362 MODULE_API Lisp_Object build_string (const CIbyte *); |
4363 MODULE_API Lisp_Object build_ascstring (const Ascbyte *); | |
4279 MODULE_API Lisp_Object build_ext_string (const Extbyte *, Lisp_Object); | 4364 MODULE_API Lisp_Object build_ext_string (const Extbyte *, Lisp_Object); |
4280 MODULE_API Lisp_Object build_msg_intstring (const Ibyte *); | |
4281 MODULE_API Lisp_Object build_msg_string (const CIbyte *); | |
4282 MODULE_API Lisp_Object make_string (const Ibyte *, Bytecount); | 4365 MODULE_API Lisp_Object make_string (const Ibyte *, Bytecount); |
4283 MODULE_API Lisp_Object make_ext_string (const Extbyte *, EMACS_INT, Lisp_Object); | 4366 MODULE_API Lisp_Object make_ext_string (const Extbyte *, EMACS_INT, Lisp_Object); |
4284 void init_string_ascii_begin (Lisp_Object string); | 4367 void init_string_ascii_begin (Lisp_Object string); |
4285 Lisp_Object make_uninit_string (Bytecount); | 4368 Lisp_Object make_uninit_string (Bytecount); |
4286 MODULE_API Lisp_Object make_float (double); | 4369 MODULE_API Lisp_Object make_float (double); |
4386 | 4469 |
4387 /* Defined in bytecode.c */ | 4470 /* Defined in bytecode.c */ |
4388 EXFUN (Fbyte_code, 3); | 4471 EXFUN (Fbyte_code, 3); |
4389 | 4472 |
4390 DECLARE_DOESNT_RETURN (invalid_byte_code | 4473 DECLARE_DOESNT_RETURN (invalid_byte_code |
4391 (const CIbyte *reason, Lisp_Object frob)); | 4474 (const Ascbyte *reason, Lisp_Object frob)); |
4392 | 4475 |
4393 extern Lisp_Object Qbyte_code, Qinvalid_byte_code; | 4476 extern Lisp_Object Qbyte_code, Qinvalid_byte_code; |
4394 | 4477 |
4395 /* Defined in callint.c */ | 4478 /* Defined in callint.c */ |
4396 EXFUN (Fcall_interactively, 3); | 4479 EXFUN (Fcall_interactively, 3); |
4644 Lisp_Object maybe_signal_continuable_ferror (Lisp_Object, Lisp_Object, | 4727 Lisp_Object maybe_signal_continuable_ferror (Lisp_Object, Lisp_Object, |
4645 Error_Behavior, | 4728 Error_Behavior, |
4646 const CIbyte *, ...) | 4729 const CIbyte *, ...) |
4647 PRINTF_ARGS (4, 5); | 4730 PRINTF_ARGS (4, 5); |
4648 | 4731 |
4649 Lisp_Object build_error_data (const CIbyte *reason, Lisp_Object frob); | 4732 Lisp_Object build_error_data (const Ascbyte *reason, Lisp_Object frob); |
4650 DECLARE_DOESNT_RETURN (signal_error (Lisp_Object, const CIbyte *, | 4733 DECLARE_DOESNT_RETURN (signal_error (Lisp_Object, const Ascbyte *, |
4651 Lisp_Object)); | 4734 Lisp_Object)); |
4652 void maybe_signal_error (Lisp_Object, const CIbyte *, Lisp_Object, | 4735 void maybe_signal_error (Lisp_Object, const Ascbyte *, Lisp_Object, |
4653 Lisp_Object, Error_Behavior); | 4736 Lisp_Object, Error_Behavior); |
4654 Lisp_Object signal_continuable_error (Lisp_Object, const CIbyte *, | 4737 Lisp_Object signal_continuable_error (Lisp_Object, const Ascbyte *, |
4655 Lisp_Object); | 4738 Lisp_Object); |
4656 Lisp_Object maybe_signal_continuable_error (Lisp_Object, const CIbyte *, | 4739 Lisp_Object maybe_signal_continuable_error (Lisp_Object, const Ascbyte *, |
4657 Lisp_Object, | 4740 Lisp_Object, |
4658 Lisp_Object, Error_Behavior); | 4741 Lisp_Object, Error_Behavior); |
4659 DECLARE_DOESNT_RETURN (signal_ferror_with_frob (Lisp_Object, Lisp_Object, | 4742 DECLARE_DOESNT_RETURN (signal_ferror_with_frob (Lisp_Object, Lisp_Object, |
4660 const CIbyte *, ...)) | 4743 const Ascbyte *, ...)) |
4661 PRINTF_ARGS(3, 4); | 4744 PRINTF_ARGS(3, 4); |
4662 void maybe_signal_ferror_with_frob (Lisp_Object, Lisp_Object, Lisp_Object, | 4745 void maybe_signal_ferror_with_frob (Lisp_Object, Lisp_Object, Lisp_Object, |
4663 Error_Behavior, | 4746 Error_Behavior, |
4664 const CIbyte *, ...) PRINTF_ARGS (5, 6); | 4747 const Ascbyte *, ...) PRINTF_ARGS (5, 6); |
4665 Lisp_Object signal_continuable_ferror_with_frob (Lisp_Object, Lisp_Object, | 4748 Lisp_Object signal_continuable_ferror_with_frob (Lisp_Object, Lisp_Object, |
4666 const CIbyte *, | 4749 const Ascbyte *, |
4667 ...) PRINTF_ARGS (3, 4); | 4750 ...) PRINTF_ARGS (3, 4); |
4668 Lisp_Object maybe_signal_continuable_ferror_with_frob (Lisp_Object, | 4751 Lisp_Object maybe_signal_continuable_ferror_with_frob (Lisp_Object, |
4669 Lisp_Object, | 4752 Lisp_Object, |
4670 Lisp_Object, | 4753 Lisp_Object, |
4671 Error_Behavior, | 4754 Error_Behavior, |
4672 const CIbyte *, ...) | 4755 const Ascbyte *, ...) |
4673 PRINTF_ARGS (5, 6); | 4756 PRINTF_ARGS (5, 6); |
4674 DECLARE_DOESNT_RETURN (signal_error_2 (Lisp_Object, const CIbyte *, | 4757 DECLARE_DOESNT_RETURN (signal_error_2 (Lisp_Object, const Ascbyte *, |
4675 Lisp_Object, Lisp_Object)); | 4758 Lisp_Object, Lisp_Object)); |
4676 void maybe_signal_error_2 (Lisp_Object, const CIbyte *, Lisp_Object, | 4759 void maybe_signal_error_2 (Lisp_Object, const Ascbyte *, Lisp_Object, |
4677 Lisp_Object, Lisp_Object, Error_Behavior); | 4760 Lisp_Object, Lisp_Object, Error_Behavior); |
4678 Lisp_Object signal_continuable_error_2 (Lisp_Object, const CIbyte *, | 4761 Lisp_Object signal_continuable_error_2 (Lisp_Object, const Ascbyte *, |
4679 Lisp_Object, Lisp_Object); | 4762 Lisp_Object, Lisp_Object); |
4680 Lisp_Object maybe_signal_continuable_error_2 (Lisp_Object, const CIbyte *, | 4763 Lisp_Object maybe_signal_continuable_error_2 (Lisp_Object, const Ascbyte *, |
4681 Lisp_Object, Lisp_Object, | 4764 Lisp_Object, Lisp_Object, |
4682 Lisp_Object, | 4765 Lisp_Object, |
4683 Error_Behavior); | 4766 Error_Behavior); |
4684 | 4767 |
4685 | 4768 |
4688 (Lisp_Object)); | 4771 (Lisp_Object)); |
4689 MODULE_API DECLARE_DOESNT_RETURN (signal_circular_list_error (Lisp_Object)); | 4772 MODULE_API DECLARE_DOESNT_RETURN (signal_circular_list_error (Lisp_Object)); |
4690 MODULE_API DECLARE_DOESNT_RETURN (signal_circular_property_list_error | 4773 MODULE_API DECLARE_DOESNT_RETURN (signal_circular_property_list_error |
4691 (Lisp_Object)); | 4774 (Lisp_Object)); |
4692 | 4775 |
4693 DECLARE_DOESNT_RETURN (syntax_error (const CIbyte *reason, | 4776 DECLARE_DOESNT_RETURN (syntax_error (const Ascbyte *reason, |
4694 Lisp_Object frob)); | 4777 Lisp_Object frob)); |
4695 DECLARE_DOESNT_RETURN (syntax_error_2 (const CIbyte *reason, | 4778 DECLARE_DOESNT_RETURN (syntax_error_2 (const Ascbyte *reason, |
4696 Lisp_Object frob1, | 4779 Lisp_Object frob1, |
4697 Lisp_Object frob2)); | 4780 Lisp_Object frob2)); |
4698 void maybe_syntax_error (const CIbyte *, Lisp_Object, Lisp_Object, | 4781 void maybe_syntax_error (const Ascbyte *, Lisp_Object, Lisp_Object, |
4699 Error_Behavior); | 4782 Error_Behavior); |
4700 DECLARE_DOESNT_RETURN (sferror (const CIbyte *reason, Lisp_Object frob)); | 4783 DECLARE_DOESNT_RETURN (sferror (const Ascbyte *reason, Lisp_Object frob)); |
4701 DECLARE_DOESNT_RETURN (sferror_2 (const CIbyte *reason, Lisp_Object frob1, | 4784 DECLARE_DOESNT_RETURN (sferror_2 (const Ascbyte *reason, Lisp_Object frob1, |
4702 Lisp_Object frob2)); | 4785 Lisp_Object frob2)); |
4703 void maybe_sferror (const CIbyte *, Lisp_Object, Lisp_Object, | 4786 void maybe_sferror (const Ascbyte *, Lisp_Object, Lisp_Object, |
4704 Error_Behavior); | 4787 Error_Behavior); |
4705 MODULE_API DECLARE_DOESNT_RETURN (invalid_argument (const CIbyte *reason, | 4788 MODULE_API DECLARE_DOESNT_RETURN (invalid_argument (const Ascbyte *reason, |
4706 Lisp_Object frob)); | 4789 Lisp_Object frob)); |
4707 MODULE_API DECLARE_DOESNT_RETURN (invalid_argument_2 (const CIbyte *reason, | 4790 MODULE_API DECLARE_DOESNT_RETURN (invalid_argument_2 (const Ascbyte *reason, |
4708 Lisp_Object frob1, | 4791 Lisp_Object frob1, |
4709 Lisp_Object frob2)); | 4792 Lisp_Object frob2)); |
4710 void maybe_invalid_argument (const CIbyte *, Lisp_Object, Lisp_Object, | 4793 void maybe_invalid_argument (const Ascbyte *, Lisp_Object, Lisp_Object, |
4711 Error_Behavior); | 4794 Error_Behavior); |
4712 MODULE_API DECLARE_DOESNT_RETURN (invalid_operation (const CIbyte *reason, | 4795 MODULE_API DECLARE_DOESNT_RETURN (invalid_operation (const Ascbyte *reason, |
4713 Lisp_Object frob)); | 4796 Lisp_Object frob)); |
4714 MODULE_API DECLARE_DOESNT_RETURN (invalid_operation_2 (const CIbyte *reason, | 4797 MODULE_API DECLARE_DOESNT_RETURN (invalid_operation_2 (const Ascbyte *reason, |
4715 Lisp_Object frob1, | 4798 Lisp_Object frob1, |
4716 Lisp_Object frob2)); | 4799 Lisp_Object frob2)); |
4717 MODULE_API void maybe_invalid_operation (const CIbyte *, Lisp_Object, | 4800 MODULE_API void maybe_invalid_operation (const Ascbyte *, Lisp_Object, |
4718 Lisp_Object, Error_Behavior); | 4801 Lisp_Object, Error_Behavior); |
4719 DECLARE_DOESNT_RETURN (invalid_state (const CIbyte *reason, | 4802 DECLARE_DOESNT_RETURN (invalid_state (const Ascbyte *reason, |
4720 Lisp_Object frob)); | 4803 Lisp_Object frob)); |
4721 DECLARE_DOESNT_RETURN (invalid_state_2 (const CIbyte *reason, | 4804 DECLARE_DOESNT_RETURN (invalid_state_2 (const Ascbyte *reason, |
4722 Lisp_Object frob1, | 4805 Lisp_Object frob1, |
4723 Lisp_Object frob2)); | 4806 Lisp_Object frob2)); |
4724 void maybe_invalid_state (const CIbyte *, Lisp_Object, Lisp_Object, | 4807 void maybe_invalid_state (const Ascbyte *, Lisp_Object, Lisp_Object, |
4725 Error_Behavior); | 4808 Error_Behavior); |
4726 DECLARE_DOESNT_RETURN (invalid_change (const CIbyte *reason, | 4809 DECLARE_DOESNT_RETURN (invalid_change (const Ascbyte *reason, |
4727 Lisp_Object frob)); | 4810 Lisp_Object frob)); |
4728 DECLARE_DOESNT_RETURN (invalid_change_2 (const CIbyte *reason, | 4811 DECLARE_DOESNT_RETURN (invalid_change_2 (const Ascbyte *reason, |
4729 Lisp_Object frob1, | 4812 Lisp_Object frob1, |
4730 Lisp_Object frob2)); | 4813 Lisp_Object frob2)); |
4731 void maybe_invalid_change (const CIbyte *, Lisp_Object, Lisp_Object, | 4814 void maybe_invalid_change (const Ascbyte *, Lisp_Object, Lisp_Object, |
4732 Error_Behavior); | 4815 Error_Behavior); |
4733 MODULE_API DECLARE_DOESNT_RETURN (invalid_constant (const CIbyte *reason, | 4816 MODULE_API DECLARE_DOESNT_RETURN (invalid_constant (const Ascbyte *reason, |
4734 Lisp_Object frob)); | 4817 Lisp_Object frob)); |
4735 DECLARE_DOESNT_RETURN (invalid_constant_2 (const CIbyte *reason, | 4818 DECLARE_DOESNT_RETURN (invalid_constant_2 (const Ascbyte *reason, |
4736 Lisp_Object frob1, | 4819 Lisp_Object frob1, |
4737 Lisp_Object frob2)); | 4820 Lisp_Object frob2)); |
4738 void maybe_invalid_constant (const CIbyte *, Lisp_Object, Lisp_Object, | 4821 void maybe_invalid_constant (const Ascbyte *, Lisp_Object, Lisp_Object, |
4739 Error_Behavior); | 4822 Error_Behavior); |
4740 DECLARE_DOESNT_RETURN (wtaerror (const CIbyte *reason, Lisp_Object frob)); | 4823 DECLARE_DOESNT_RETURN (wtaerror (const Ascbyte *reason, Lisp_Object frob)); |
4741 MODULE_API DECLARE_DOESNT_RETURN (out_of_memory (const CIbyte *reason, | 4824 MODULE_API DECLARE_DOESNT_RETURN (out_of_memory (const Ascbyte *reason, |
4742 Lisp_Object frob)); | 4825 Lisp_Object frob)); |
4743 DECLARE_DOESNT_RETURN (stack_overflow (const CIbyte *reason, | 4826 DECLARE_DOESNT_RETURN (stack_overflow (const Ascbyte *reason, |
4744 Lisp_Object frob)); | 4827 Lisp_Object frob)); |
4745 | 4828 |
4746 Lisp_Object signal_void_function_error (Lisp_Object); | 4829 Lisp_Object signal_void_function_error (Lisp_Object); |
4747 Lisp_Object signal_invalid_function_error (Lisp_Object); | 4830 Lisp_Object signal_invalid_function_error (Lisp_Object); |
4748 Lisp_Object signal_wrong_number_of_arguments_error (Lisp_Object, int); | 4831 Lisp_Object signal_wrong_number_of_arguments_error (Lisp_Object, int); |
4912 int internal_bind_int (int *addr, int newval); | 4995 int internal_bind_int (int *addr, int newval); |
4913 int internal_bind_lisp_object (Lisp_Object *addr, Lisp_Object newval); | 4996 int internal_bind_lisp_object (Lisp_Object *addr, Lisp_Object newval); |
4914 void do_autoload (Lisp_Object, Lisp_Object); /* GCPROs both arguments */ | 4997 void do_autoload (Lisp_Object, Lisp_Object); /* GCPROs both arguments */ |
4915 Lisp_Object un_autoload (Lisp_Object); | 4998 Lisp_Object un_autoload (Lisp_Object); |
4916 void warn_when_safe_lispobj (Lisp_Object, Lisp_Object, Lisp_Object); | 4999 void warn_when_safe_lispobj (Lisp_Object, Lisp_Object, Lisp_Object); |
4917 MODULE_API void warn_when_safe (Lisp_Object, Lisp_Object, const CIbyte *, | 5000 MODULE_API void warn_when_safe (Lisp_Object, Lisp_Object, const Ascbyte *, |
4918 ...) PRINTF_ARGS (3, 4); | 5001 ...) PRINTF_ARGS (3, 4); |
4919 extern int backtrace_with_internal_sections; | 5002 extern int backtrace_with_internal_sections; |
4920 | 5003 |
4921 extern Lisp_Object Vdebug_on_error; | 5004 extern Lisp_Object Vdebug_on_error; |
4922 extern Lisp_Object Vstack_trace_on_error; | 5005 extern Lisp_Object Vstack_trace_on_error; |
5031 EXFUN (Fverify_visited_file_modtime, 1); | 5114 EXFUN (Fverify_visited_file_modtime, 1); |
5032 | 5115 |
5033 void record_auto_save (void); | 5116 void record_auto_save (void); |
5034 void force_auto_save_soon (void); | 5117 void force_auto_save_soon (void); |
5035 DECLARE_DOESNT_RETURN (report_error_with_errno (Lisp_Object errtype, | 5118 DECLARE_DOESNT_RETURN (report_error_with_errno (Lisp_Object errtype, |
5036 const CIbyte *string, | 5119 const Ascbyte *reason, |
5037 Lisp_Object data)); | 5120 Lisp_Object data)); |
5038 DECLARE_DOESNT_RETURN (report_file_type_error (Lisp_Object errtype, | 5121 DECLARE_DOESNT_RETURN (report_file_type_error (Lisp_Object errtype, |
5039 Lisp_Object oserrmess, | 5122 Lisp_Object oserrmess, |
5040 const CIbyte *string, | 5123 const Ascbyte *reason, |
5041 Lisp_Object data)); | 5124 Lisp_Object data)); |
5042 DECLARE_DOESNT_RETURN (report_file_error (const CIbyte *, Lisp_Object)); | 5125 DECLARE_DOESNT_RETURN (report_file_error (const Ascbyte *, Lisp_Object)); |
5043 Lisp_Object lisp_strerror (int); | 5126 Lisp_Object lisp_strerror (int); |
5044 Lisp_Object expand_and_dir_to_file (Lisp_Object, Lisp_Object); | 5127 Lisp_Object expand_and_dir_to_file (Lisp_Object, Lisp_Object); |
5045 int internal_delete_file (Lisp_Object); | 5128 int internal_delete_file (Lisp_Object); |
5046 Ibyte *find_end_of_directory_component (const Ibyte *path, | 5129 Ibyte *find_end_of_directory_component (const Ibyte *path, |
5047 Bytecount len); | 5130 Bytecount len); |
5138 int retval, | 5221 int retval, |
5139 Lisp_Object obj1, Lisp_Object obj2, | 5222 Lisp_Object obj1, Lisp_Object obj2, |
5140 int depth); | 5223 int depth); |
5141 int internal_equal (Lisp_Object, Lisp_Object, int); | 5224 int internal_equal (Lisp_Object, Lisp_Object, int); |
5142 int internal_equalp (Lisp_Object obj1, Lisp_Object obj2, int depth); | 5225 int internal_equalp (Lisp_Object obj1, Lisp_Object obj2, int depth); |
5143 Lisp_Object concat2 (Lisp_Object, Lisp_Object); | 5226 Lisp_Object MODULE_API concat2 (Lisp_Object, Lisp_Object); |
5144 Lisp_Object concat3 (Lisp_Object, Lisp_Object, Lisp_Object); | 5227 Lisp_Object MODULE_API concat3 (Lisp_Object, Lisp_Object, Lisp_Object); |
5145 Lisp_Object vconcat2 (Lisp_Object, Lisp_Object); | 5228 Lisp_Object MODULE_API vconcat2 (Lisp_Object, Lisp_Object); |
5146 Lisp_Object vconcat3 (Lisp_Object, Lisp_Object, Lisp_Object); | 5229 Lisp_Object MODULE_API vconcat3 (Lisp_Object, Lisp_Object, Lisp_Object); |
5147 Lisp_Object nconc2 (Lisp_Object, Lisp_Object); | 5230 Lisp_Object MODULE_API nconc2 (Lisp_Object, Lisp_Object); |
5148 Lisp_Object bytecode_nconc2 (Lisp_Object *); | 5231 Lisp_Object bytecode_nconc2 (Lisp_Object *); |
5149 void check_losing_bytecode (const char *, Lisp_Object); | 5232 void check_losing_bytecode (const char *, Lisp_Object); |
5150 | 5233 |
5151 Lisp_Object add_suffix_to_symbol (Lisp_Object symbol, | 5234 Lisp_Object add_suffix_to_symbol (Lisp_Object symbol, |
5152 const Ascbyte *ascii_string); | 5235 const Ascbyte *ascii_string); |
5301 void debug_short_backtrace (int); | 5384 void debug_short_backtrace (int); |
5302 void debug_backtrace (void); | 5385 void debug_backtrace (void); |
5303 /* NOTE: Do not call this with the data of a Lisp_String. Use princ. | 5386 /* NOTE: Do not call this with the data of a Lisp_String. Use princ. |
5304 * Note: stream should be defaulted before calling | 5387 * Note: stream should be defaulted before calling |
5305 * (eg Qnil means stdout, not Vstandard_output, etc) */ | 5388 * (eg Qnil means stdout, not Vstandard_output, etc) */ |
5389 MODULE_API void write_istring (Lisp_Object stream, const Ibyte *str); | |
5390 /* Same goes for this function. */ | |
5306 MODULE_API void write_c_string (Lisp_Object stream, const CIbyte *str); | 5391 MODULE_API void write_c_string (Lisp_Object stream, const CIbyte *str); |
5307 /* Same goes for this function. */ | 5392 /* Same goes for this function. */ |
5308 MODULE_API void write_string (Lisp_Object stream, const Ibyte *str); | 5393 MODULE_API void write_ascstring (Lisp_Object stream, const Ascbyte *str); |
5309 /* Same goes for this function. */ | 5394 /* Same goes for this function. */ |
5310 void write_string_1 (Lisp_Object stream, const Ibyte *str, Bytecount size); | 5395 void write_string_1 (Lisp_Object stream, const Ibyte *str, Bytecount size); |
5311 void write_eistring (Lisp_Object stream, const Eistring *ei); | 5396 void write_eistring (Lisp_Object stream, const Eistring *ei); |
5312 | 5397 |
5313 /* Higher-level (printf-style) ways to output data: */ | 5398 /* Higher-level (printf-style) ways to output data: */ |