Mercurial > hg > xemacs-beta
comparison src/doc.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 | 061e030e3270 |
children | 304aebb79cd3 |
comparison
equal
deleted
inserted
replaced
4951:de60897044f4 | 4952:19a72041c5ed |
---|---|
489 return tem; | 489 return tem; |
490 } | 490 } |
491 | 491 |
492 | 492 |
493 static void | 493 static void |
494 weird_doc (Lisp_Object sym, const CIbyte *weirdness, const CIbyte *type, | 494 weird_doc (Lisp_Object sym, const Ascbyte *weirdness, const Ascbyte *type, |
495 int pos) | 495 int pos) |
496 { | 496 { |
497 if (!strcmp (weirdness, GETTEXT ("duplicate"))) return; | 497 if (!strcmp (weirdness, "duplicate")) return; |
498 message ("Note: Strange doc (%s) for %s %s @ %d", | 498 message ("Note: Strange doc (%s) for %s %s @ %d", |
499 weirdness, type, XSTRING_DATA (XSYMBOL (sym)->name), pos); | 499 GETTEXT (weirdness), GETTEXT (type), |
500 XSTRING_DATA (XSYMBOL (sym)->name), pos); | |
500 } | 501 } |
501 | 502 |
502 DEFUN ("built-in-symbol-file", Fbuilt_in_symbol_file, 1, 2, 0, /* | 503 DEFUN ("built-in-symbol-file", Fbuilt_in_symbol_file, 1, 2, 0, /* |
503 Return the C source file built-in symbol SYM comes from. | 504 Return the C source file built-in symbol SYM comes from. |
504 Don't use this. Use the more general `symbol-file' (q.v.) instead. | 505 Don't use this. Use the more general `symbol-file' (q.v.) instead. |
787 and make it negative for a user-variable | 788 and make it negative for a user-variable |
788 (doc starts with a `*'). */ | 789 (doc starts with a `*'). */ |
789 Lisp_Object old = Fget (sym, Qvariable_documentation, Qzero); | 790 Lisp_Object old = Fget (sym, Qvariable_documentation, Qzero); |
790 if (!ZEROP (old)) | 791 if (!ZEROP (old)) |
791 { | 792 { |
792 weird_doc (sym, GETTEXT ("duplicate"), | 793 weird_doc (sym, "duplicate", |
793 GETTEXT ("variable"), pos); | 794 "variable", pos); |
794 /* In the case of duplicate doc file entries, always | 795 /* In the case of duplicate doc file entries, always |
795 take the later one. But if the doc is not an int | 796 take the later one. But if the doc is not an int |
796 (a string, say) leave it alone. */ | 797 (a string, say) leave it alone. */ |
797 if (!INTP (old)) | 798 if (!INTP (old)) |
798 goto weird; | 799 goto weird; |
828 /src/xemacs/mule/src/abbrev.c:269: warning: `SFexpand_abbrev' defined but not used | 829 /src/xemacs/mule/src/abbrev.c:269: warning: `SFexpand_abbrev' defined but not used |
829 | 830 |
830 So I'm disabling this. --ben */ | 831 So I'm disabling this. --ben */ |
831 | 832 |
832 /* May have been #if'ed out or something */ | 833 /* May have been #if'ed out or something */ |
833 weird_doc (sym, GETTEXT ("not fboundp"), | 834 weird_doc (sym, "not fboundp", |
834 GETTEXT ("function"), pos); | 835 "function", pos); |
835 #endif | 836 #endif |
836 goto weird; | 837 goto weird; |
837 } | 838 } |
838 else if (SUBRP (fun)) | 839 else if (SUBRP (fun)) |
839 { | 840 { |
840 /* Lisp_Subrs have a slot for it. */ | 841 /* Lisp_Subrs have a slot for it. */ |
841 if (XSUBR (fun)->doc) | 842 if (XSUBR (fun)->doc) |
842 { | 843 { |
843 weird_doc (sym, GETTEXT ("duplicate"), | 844 weird_doc (sym, "duplicate", |
844 GETTEXT ("subr"), pos); | 845 "subr", pos); |
845 goto weird; | 846 goto weird; |
846 } | 847 } |
847 XSUBR (fun)->doc = (char *) (- XINT (offset)); | 848 XSUBR (fun)->doc = (char *) (- XINT (offset)); |
848 } | 849 } |
849 else if (CONSP (fun)) | 850 else if (CONSP (fun)) |
857 INTP (XCAR (tem))) | 858 INTP (XCAR (tem))) |
858 { | 859 { |
859 Lisp_Object old = XCAR (tem); | 860 Lisp_Object old = XCAR (tem); |
860 if (!ZEROP (old)) | 861 if (!ZEROP (old)) |
861 { | 862 { |
862 weird_doc (sym, GETTEXT ("duplicate"), | 863 if (EQ (tem, Qlambda)) |
863 (EQ (tem, Qlambda) | 864 weird_doc (sym, "duplicate", "lambda", |
864 ? GETTEXT ("lambda") | 865 pos); |
865 : GETTEXT ("autoload")), | 866 else |
866 pos); | 867 weird_doc (sym, "duplicate", "autoload", |
868 pos); | |
867 /* In the case of duplicate doc file entries, | 869 /* In the case of duplicate doc file entries, |
868 always take the later one. But if the doc | 870 always take the later one. But if the doc |
869 is not an int (a string, say) leave it | 871 is not an int (a string, say) leave it |
870 alone. */ | 872 alone. */ |
871 if (!INTP (old)) | 873 if (!INTP (old)) |
873 } | 875 } |
874 XCAR (tem) = offset; | 876 XCAR (tem) = offset; |
875 } | 877 } |
876 else if (!CONSP (tem)) | 878 else if (!CONSP (tem)) |
877 { | 879 { |
878 weird_doc (sym, GETTEXT ("!CONSP(tem)"), | 880 weird_doc (sym, "!CONSP(tem)", "function", pos); |
879 GETTEXT ("function"), pos); | |
880 goto cont; | 881 goto cont; |
881 } | 882 } |
882 else | 883 else |
883 { | 884 { |
884 /* DOC string is a string not integer 0 */ | 885 /* DOC string is a string not integer 0 */ |
885 #if 0 | 886 #if 0 |
886 weird_doc (sym, GETTEXT ("!INTP(XCAR(tem))"), | 887 weird_doc (sym, "!INTP(XCAR(tem))", |
887 GETTEXT ("function"), pos); | 888 "function", pos); |
888 #endif | 889 #endif |
889 goto cont; | 890 goto cont; |
890 } | 891 } |
891 } | 892 } |
892 else | 893 else |
893 { | 894 { |
894 weird_doc (sym, GETTEXT ("not lambda or autoload"), | 895 weird_doc (sym, "not lambda or autoload", |
895 GETTEXT ("function"), pos); | 896 "function", pos); |
896 goto cont; | 897 goto cont; |
897 } | 898 } |
898 } | 899 } |
899 else if (COMPILED_FUNCTIONP (fun)) | 900 else if (COMPILED_FUNCTIONP (fun)) |
900 { | 901 { |
909 have any doc, which is a legal if slightly | 910 have any doc, which is a legal if slightly |
910 bogus situation, so don't blow up. */ | 911 bogus situation, so don't blow up. */ |
911 | 912 |
912 if (! (f->flags.documentationp)) | 913 if (! (f->flags.documentationp)) |
913 { | 914 { |
914 weird_doc (sym, GETTEXT ("no doc slot"), | 915 weird_doc (sym, "no doc slot", "bytecode", pos); |
915 GETTEXT ("bytecode"), pos); | |
916 goto weird; | 916 goto weird; |
917 } | 917 } |
918 else | 918 else |
919 { | 919 { |
920 Lisp_Object old = | 920 Lisp_Object old = |
921 compiled_function_documentation (f); | 921 compiled_function_documentation (f); |
922 if (!ZEROP (old)) | 922 if (!ZEROP (old)) |
923 { | 923 { |
924 weird_doc (sym, GETTEXT ("duplicate"), | 924 weird_doc (sym, "duplicate", "bytecode", pos); |
925 GETTEXT ("bytecode"), pos); | |
926 /* In the case of duplicate doc file entries, | 925 /* In the case of duplicate doc file entries, |
927 always take the later one. But if the doc is | 926 always take the later one. But if the doc is |
928 not an int (a string, say) leave it alone. */ | 927 not an int (a string, say) leave it alone. */ |
929 if (!INTP (old)) | 928 if (!INTP (old)) |
930 goto weird; | 929 goto weird; |
934 } | 933 } |
935 else | 934 else |
936 { | 935 { |
937 /* Otherwise the function is undefined or | 936 /* Otherwise the function is undefined or |
938 otherwise weird. Ignore it. */ | 937 otherwise weird. Ignore it. */ |
939 weird_doc (sym, GETTEXT ("weird function"), | 938 weird_doc (sym, "weird function", "function", pos); |
940 GETTEXT ("function"), pos); | |
941 goto weird; | 939 goto weird; |
942 } | 940 } |
943 } | 941 } |
944 else | 942 else |
945 { | 943 { |
1313 DEFVAR_LISP ("internal-doc-file-name", &Vinternal_doc_file_name /* | 1311 DEFVAR_LISP ("internal-doc-file-name", &Vinternal_doc_file_name /* |
1314 Name of file containing documentation strings of built-in symbols. | 1312 Name of file containing documentation strings of built-in symbols. |
1315 */ ); | 1313 */ ); |
1316 Vinternal_doc_file_name = Qnil; | 1314 Vinternal_doc_file_name = Qnil; |
1317 | 1315 |
1318 QSsubstitute = build_string (" *substitute*"); | 1316 QSsubstitute = build_ascstring (" *substitute*"); |
1319 staticpro (&QSsubstitute); | 1317 staticpro (&QSsubstitute); |
1320 } | 1318 } |