diff src/lisp.h @ 563:183866b06e0b

[xemacs-hg @ 2001-05-24 07:50:48 by ben] Makefile.in.in, abbrev.c, alloc.c, buffer.c, bytecode.c, callint.c, callproc.c, casetab.c, chartab.c, cmdloop.c, cmds.c, console-msw.c, console-msw.h, console-stream.c, console-tty.c, console-x.c, console.c, data.c, database.c, debug.c, device-gtk.c, device-msw.c, device-tty.c, device-x.c, device.c, dialog-gtk.c, dialog-msw.c, dialog-x.c, dialog.c, dired-msw.c, dired.c, doc.c, doprnt.c, dragdrop.c, editfns.c, eldap.c, eldap.h, elhash.c, emacs-widget-accessors.c, emacs.c, emodules.c, esd.c, eval.c, event-Xt.c, event-gtk.c, event-msw.c, event-stream.c, events.c, extents.c, faces.c, file-coding.c, fileio.c, filelock.c, floatfns.c, fns.c, font-lock.c, frame-gtk.c, frame-x.c, frame.c, general-slots.h, glade.c, glyphs-gtk.c, glyphs-msw.c, glyphs-widget.c, glyphs-x.c, glyphs.c, glyphs.h, gpmevent.c, gui-gtk.c, gui-x.c, gui.c, gutter.c, hpplay.c, indent.c, input-method-xlib.c, insdel.c, intl.c, keymap.c, libsst.c, libsst.h, linuxplay.c, lisp.h, lread.c, lstream.c, lstream.h, macros.c, marker.c, md5.c, menubar-gtk.c, menubar-msw.c, menubar-x.c, menubar.c, minibuf.c, miscplay.c, miscplay.h, mule-ccl.c, mule-charset.c, mule-wnnfns.c, mule.c, nas.c, ntplay.c, ntproc.c, objects-gtk.c, objects-msw.c, objects-x.c, objects.c, postgresql.c, print.c, process-nt.c, process-unix.c, process.c, ralloc.c, rangetab.c, redisplay.c, scrollbar.c, search.c, select-gtk.c, select-x.c, select.c, sgiplay.c, sheap.c, sound.c, specifier.c, sunplay.c, symbols.c, symeval.h, symsinit.h, syntax.c, sysdep.c, toolbar-msw.c, toolbar.c, tooltalk.c, ui-byhand.c, ui-gtk.c, undo.c, unexaix.c, unexapollo.c, unexconvex.c, unexec.c, widget.c, win32.c, window.c: -- defsymbol -> DEFSYMBOL. -- add an error type to all errors. -- eliminate the error functions in eval.c that let you just use Qerror as the type. -- redo the error API to be more consistent, sensibly named, and easier to use. -- redo the error hierarchy somewhat. create new errors: structure-formation-error, gui-error, invalid-constant, stack-overflow, out-of-memory, process-error, network-error, sound-error, printing-unreadable-object, base64-conversion- error; coding-system-error renamed to text-conversion error; some others. -- fix Mule problems in error strings in emodules.c, tooltalk.c. -- fix error handling in mswin open-network-stream. -- Mule-ize all sound files and clean up the headers. -- nativesound.h -> sound.h and used for all sound files. -- move some shared stuff into glyphs-shared.c: first attempt at eliminating some of the massive GTK code duplication. xemacs.mak: add glyphs-shared.c. xemacs-faq.texi: document how to debug X errors subr.el: fix doc string to reflect reality
author ben
date Thu, 24 May 2001 07:51:33 +0000
parents 9a775fb11bb7
children 9cdcb214753f
line wrap: on
line diff
--- a/src/lisp.h	Thu May 24 06:30:21 2001 +0000
+++ b/src/lisp.h	Thu May 24 07:51:33 2001 +0000
@@ -2360,6 +2360,9 @@
 extern int find_file_compare_truenames;
 extern int find_file_use_truenames;
 
+/* Defined in bytecode.c */
+DOESNT_RETURN invalid_byte_code (const char *reason, Lisp_Object frob);
+
 /* Defined in callproc.c */
 char *egetenv (const char *);
 
@@ -2455,85 +2458,61 @@
 extern int suppress_early_error_handler_backtrace;
 
 /* Defined in eval.c */
-DECLARE_DOESNT_RETURN (signal_error (Lisp_Object, Lisp_Object));
-void maybe_signal_error (Lisp_Object, Lisp_Object, Lisp_Object,
-			 Error_behavior);
-Lisp_Object maybe_signal_continuable_error (Lisp_Object, Lisp_Object,
-					    Lisp_Object, Error_behavior);
-DECLARE_DOESNT_RETURN_GCC_ATTRIBUTE_SYNTAX_SUCKS (type_error (Lisp_Object,
-							      const char *,
-							      ...), 2, 3);
-void maybe_type_error (Lisp_Object, Lisp_Object, Error_behavior, const char *,
-		       ...) PRINTF_ARGS (4, 5);
-Lisp_Object continuable_type_error (Lisp_Object, const char *, ...)
+DECLARE_DOESNT_RETURN (signal_error_1 (Lisp_Object, Lisp_Object));
+void maybe_signal_error_1 (Lisp_Object, Lisp_Object, Lisp_Object,
+			   Error_behavior);
+Lisp_Object maybe_signal_continuable_error_1 (Lisp_Object, Lisp_Object,
+					      Lisp_Object, Error_behavior);
+DECLARE_DOESNT_RETURN_GCC_ATTRIBUTE_SYNTAX_SUCKS (signal_ferror (Lisp_Object,
+								 const char *,
+								 ...), 2, 3);
+void maybe_signal_ferror (Lisp_Object, Lisp_Object, Error_behavior,
+			  const char *, ...) PRINTF_ARGS (4, 5);
+Lisp_Object signal_continuable_ferror (Lisp_Object, const char *, ...)
      PRINTF_ARGS (2, 3);
-Lisp_Object maybe_continuable_type_error (Lisp_Object, Lisp_Object,
-					  Error_behavior,
-					  const char *, ...)
+Lisp_Object maybe_signal_continuable_ferror (Lisp_Object, Lisp_Object,
+					     Error_behavior,
+					     const char *, ...)
      PRINTF_ARGS (4, 5);
-DECLARE_DOESNT_RETURN (signal_type_error (Lisp_Object, const char *,
-					  Lisp_Object));
-void maybe_signal_type_error (Lisp_Object, const char *, Lisp_Object,
-			      Lisp_Object, Error_behavior);
-Lisp_Object signal_type_continuable_error (Lisp_Object, const char *,
-					   Lisp_Object);
-Lisp_Object maybe_signal_type_continuable_error (Lisp_Object, const char *,
-						 Lisp_Object,
-						 Lisp_Object, Error_behavior);
-DECLARE_DOESNT_RETURN_GCC_ATTRIBUTE_SYNTAX_SUCKS (type_error_with_frob
+
+Lisp_Object build_error_data (const char *reason, Lisp_Object frob);
+DECLARE_DOESNT_RETURN (signal_error (Lisp_Object, const char *,
+				     Lisp_Object));
+void maybe_signal_error (Lisp_Object, const char *, Lisp_Object,
+			 Lisp_Object, Error_behavior);
+Lisp_Object signal_continuable_error (Lisp_Object, const char *,
+				      Lisp_Object);
+Lisp_Object maybe_signal_continuable_error (Lisp_Object, const char *,
+					    Lisp_Object,
+					    Lisp_Object, Error_behavior);
+DECLARE_DOESNT_RETURN_GCC_ATTRIBUTE_SYNTAX_SUCKS (signal_ferror_with_frob
 						  (Lisp_Object, Lisp_Object,
 						   const char *,
 						   ...), 3, 4);
-void maybe_type_error_with_frob (Lisp_Object, Lisp_Object, Lisp_Object,
-				 Error_behavior,
-				 const char *, ...) PRINTF_ARGS (5, 6);
-Lisp_Object continuable_type_error_with_frob (Lisp_Object, Lisp_Object,
-					      const char *,
-					      ...) PRINTF_ARGS (3, 4);
-Lisp_Object maybe_continuable_type_error_with_frob
-(Lisp_Object, Lisp_Object, Lisp_Object, Error_behavior, const char *, ...)
+void maybe_signal_ferror_with_frob (Lisp_Object, Lisp_Object, Lisp_Object,
+				    Error_behavior,
+				    const char *, ...) PRINTF_ARGS (5, 6);
+Lisp_Object signal_continuable_ferror_with_frob (Lisp_Object, Lisp_Object,
+						 const char *,
+						 ...) PRINTF_ARGS (3, 4);
+Lisp_Object maybe_signal_continuable_ferror_with_frob (Lisp_Object,
+						       Lisp_Object,
+						       Lisp_Object,
+						       Error_behavior,
+						       const char *, ...)
      PRINTF_ARGS (5, 6);
-DECLARE_DOESNT_RETURN (signal_type_error_2 (Lisp_Object, const char *,
-					    Lisp_Object, Lisp_Object));
-void maybe_signal_type_error_2 (Lisp_Object, const char *, Lisp_Object,
-				Lisp_Object, Lisp_Object, Error_behavior);
-Lisp_Object signal_type_continuable_error_2 (Lisp_Object, const char *,
-					     Lisp_Object, Lisp_Object);
-Lisp_Object maybe_signal_type_continuable_error_2 (Lisp_Object, const char *,
-						   Lisp_Object, Lisp_Object,
-						   Lisp_Object,
-						   Error_behavior);
-DECLARE_DOESNT_RETURN_GCC_ATTRIBUTE_SYNTAX_SUCKS (error (const char *,
-							   ...), 1, 2);
-void maybe_error (Lisp_Object, Error_behavior, const char *,
-		  ...) PRINTF_ARGS (3, 4);
-Lisp_Object continuable_error (const char *, ...) PRINTF_ARGS (1, 2);
-Lisp_Object maybe_continuable_error (Lisp_Object, Error_behavior,
-				     const char *, ...) PRINTF_ARGS (3, 4);
-DECLARE_DOESNT_RETURN (signal_simple_error (const char *, Lisp_Object));
-void maybe_signal_simple_error (const char *, Lisp_Object,
-				Lisp_Object, Error_behavior);
-Lisp_Object signal_simple_continuable_error (const char *, Lisp_Object);
-Lisp_Object maybe_signal_simple_continuable_error (const char *, Lisp_Object,
-						   Lisp_Object, Error_behavior);
-DECLARE_DOESNT_RETURN_GCC_ATTRIBUTE_SYNTAX_SUCKS (error_with_frob
-						    (Lisp_Object, const char *,
-						     ...), 2, 3);
-void maybe_error_with_frob (Lisp_Object, Lisp_Object, Error_behavior,
-			    const char *, ...) PRINTF_ARGS (4, 5);
-Lisp_Object continuable_error_with_frob (Lisp_Object, const char *,
-					 ...) PRINTF_ARGS (2, 3);
-Lisp_Object maybe_continuable_error_with_frob
-(Lisp_Object, Lisp_Object, Error_behavior, const char *, ...) PRINTF_ARGS (4, 5);
-DECLARE_DOESNT_RETURN (signal_simple_error_2 (const char *,
-					      Lisp_Object, Lisp_Object));
-void maybe_signal_simple_error_2 (const char *, Lisp_Object, Lisp_Object,
-				  Lisp_Object, Error_behavior);
-Lisp_Object signal_simple_continuable_error_2 (const char *,
-					       Lisp_Object, Lisp_Object);
-Lisp_Object maybe_signal_simple_continuable_error_2 (const char *, Lisp_Object,
-						     Lisp_Object, Lisp_Object,
-						     Error_behavior);
+DECLARE_DOESNT_RETURN (signal_error_2 (Lisp_Object, const char *,
+				       Lisp_Object, Lisp_Object));
+void maybe_signal_error_2 (Lisp_Object, const char *, Lisp_Object,
+			   Lisp_Object, Lisp_Object, Error_behavior);
+Lisp_Object signal_continuable_error_2 (Lisp_Object, const char *,
+					Lisp_Object, Lisp_Object);
+Lisp_Object maybe_signal_continuable_error_2 (Lisp_Object, const char *,
+					      Lisp_Object, Lisp_Object,
+					      Lisp_Object,
+					      Error_behavior);
+
+
 DECLARE_DOESNT_RETURN (signal_malformed_list_error (Lisp_Object));
 DECLARE_DOESNT_RETURN (signal_malformed_property_list_error (Lisp_Object));
 DECLARE_DOESNT_RETURN (signal_circular_list_error (Lisp_Object));
@@ -2542,21 +2521,56 @@
 DECLARE_DOESNT_RETURN (syntax_error (const char *reason, Lisp_Object frob));
 DECLARE_DOESNT_RETURN (syntax_error_2 (const char *reason, Lisp_Object frob1,
 				       Lisp_Object frob2));
+void maybe_syntax_error (const char *, Lisp_Object, Lisp_Object,
+			 Error_behavior);
+DECLARE_DOESNT_RETURN (sferror (const char *reason, Lisp_Object frob));
+DECLARE_DOESNT_RETURN (sferror_2 (const char *reason, Lisp_Object frob1,
+				  Lisp_Object frob2));
+void maybe_sferror (const char *, Lisp_Object, Lisp_Object,
+		    Error_behavior);
 DECLARE_DOESNT_RETURN (invalid_argument (const char *reason,
 					 Lisp_Object frob));
 DECLARE_DOESNT_RETURN (invalid_argument_2 (const char *reason,
 					   Lisp_Object frob1,
 					   Lisp_Object frob2));
+void maybe_invalid_argument (const char *, Lisp_Object, Lisp_Object,
+			     Error_behavior);
 DECLARE_DOESNT_RETURN (invalid_operation (const char *reason,
-					  Lisp_Object frob));
+					 Lisp_Object frob));
 DECLARE_DOESNT_RETURN (invalid_operation_2 (const char *reason,
-					    Lisp_Object frob1,
-					    Lisp_Object frob2));
+					   Lisp_Object frob1,
+					   Lisp_Object frob2));
+void maybe_invalid_operation (const char *, Lisp_Object, Lisp_Object,
+			     Error_behavior);
+DECLARE_DOESNT_RETURN (invalid_state (const char *reason,
+					 Lisp_Object frob));
+DECLARE_DOESNT_RETURN (invalid_state_2 (const char *reason,
+					   Lisp_Object frob1,
+					   Lisp_Object frob2));
+void maybe_invalid_state (const char *, Lisp_Object, Lisp_Object,
+			     Error_behavior);
 DECLARE_DOESNT_RETURN (invalid_change (const char *reason,
+					 Lisp_Object frob));
+DECLARE_DOESNT_RETURN (invalid_change_2 (const char *reason,
+					   Lisp_Object frob1,
+					   Lisp_Object frob2));
+void maybe_invalid_change (const char *, Lisp_Object, Lisp_Object,
+			     Error_behavior);
+DECLARE_DOESNT_RETURN (invalid_constant (const char *reason,
+					 Lisp_Object frob));
+DECLARE_DOESNT_RETURN (invalid_constant_2 (const char *reason,
+					   Lisp_Object frob1,
+					   Lisp_Object frob2));
+void maybe_invalid_constant (const char *, Lisp_Object, Lisp_Object,
+			     Error_behavior);
+DECLARE_DOESNT_RETURN (wtaerror (const char *reason, Lisp_Object frob));
+DECLARE_DOESNT_RETURN (out_of_memory (const char *reason,
+				      Lisp_Object frob));
+DECLARE_DOESNT_RETURN (stack_overflow (const char *reason,
 				       Lisp_Object frob));
-DECLARE_DOESNT_RETURN (invalid_change_2 (const char *reason,
-					 Lisp_Object frob1,
-					 Lisp_Object frob2));
+DECLARE_DOESNT_RETURN_GCC_ATTRIBUTE_SYNTAX_SUCKS (printing_unreadable_object
+						  (const char *,
+						   ...), 1, 2);
 
 Lisp_Object signal_void_function_error (Lisp_Object);
 Lisp_Object signal_invalid_function_error (Lisp_Object);
@@ -2651,21 +2665,14 @@
 /* Defined in fileio.c */
 void record_auto_save (void);
 void force_auto_save_soon (void);
+DECLARE_DOESNT_RETURN (report_error_with_errno (Lisp_Object errtype,
+						const char *string,
+						Lisp_Object data));
+DECLARE_DOESNT_RETURN (report_file_type_error (Lisp_Object errtype,
+					       Lisp_Object oserrmess,
+					       const char *string,
+					       Lisp_Object data));
 DECLARE_DOESNT_RETURN (report_file_error (const char *, Lisp_Object));
-void maybe_report_file_error (const char *, Lisp_Object,
-			      Lisp_Object, Error_behavior);
-DECLARE_DOESNT_RETURN (signal_file_error (const char *, Lisp_Object));
-void maybe_signal_file_error (const char *, Lisp_Object,
-			      Lisp_Object, Error_behavior);
-DECLARE_DOESNT_RETURN (signal_double_file_error (const char *, const char *,
-						 Lisp_Object));
-void maybe_signal_double_file_error (const char *, const char *,
-				     Lisp_Object, Lisp_Object, Error_behavior);
-DECLARE_DOESNT_RETURN (signal_double_file_error_2 (const char *, const char *,
-						   Lisp_Object, Lisp_Object));
-void maybe_signal_double_file_error_2 (const char *, const char *,
-				       Lisp_Object, Lisp_Object, Lisp_Object,
-				       Error_behavior);
 Lisp_Object lisp_strerror (int);
 Lisp_Object expand_and_dir_to_file (Lisp_Object, Lisp_Object);
 ssize_t read_allowing_quit (int, void *, size_t);
@@ -2722,6 +2729,18 @@
 Error_behavior decode_error_behavior_flag (Lisp_Object);
 Lisp_Object encode_error_behavior_flag (Error_behavior);
 
+/* Defined in glyphs-shared.c */
+void shared_resource_validate (Lisp_Object instantiator);
+Lisp_Object shared_resource_normalize (Lisp_Object inst,
+				       Lisp_Object console_type,
+				       Lisp_Object dest_mask,
+				       Lisp_Object tag);
+extern Lisp_Object Q_resource_type, Q_resource_id;
+
+/* Defined in gui.c */
+DECLARE_DOESNT_RETURN (gui_error (const char *reason,
+				  Lisp_Object frob));
+
 /* Defined in indent.c */
 int bi_spaces_at_point (struct buffer *, Bytind);
 int column_at_point (struct buffer *, Bufpos, int);
@@ -2827,6 +2846,10 @@
 void float_to_string (char *, double);
 void internal_object_printer (Lisp_Object, Lisp_Object, int);
 
+/* Defined in process.c */
+DECLARE_DOESNT_RETURN (report_process_error (const char *, Lisp_Object));
+DECLARE_DOESNT_RETURN (report_network_error (const char *, Lisp_Object));
+
 /* Defined in profile.c */
 void mark_profiling_info (void);
 void profile_increase_call_count (Lisp_Object);
@@ -2870,6 +2893,7 @@
 
 /* Defined in sound.c */
 void init_device_sound (struct device *);
+DECLARE_DOESNT_RETURN (report_sound_error (const Char_ASCII *, Lisp_Object));
 
 /* Defined in specifier.c */
 Lisp_Object specifier_instance (Lisp_Object, Lisp_Object, Lisp_Object,
@@ -3182,10 +3206,9 @@
 extern Lisp_Object Qchar_or_string_p, Qcharacterp;
 extern Lisp_Object Qcharset_g0, Qcharset_g1, Qcharset_g2, Qcharset_g3;
 extern Lisp_Object Qcircular_list, Qcircular_property_list;
-extern Lisp_Object Qcoding_system_error;
 extern Lisp_Object Qcolor_pixmap_image_instance_p;
 extern Lisp_Object Qcommandp, Qcompletion_ignore_case;
-extern Lisp_Object Qconsole_live_p, Qconst_specifier, Qcr;
+extern Lisp_Object Qconsole_live_p, Qconst_specifier, Qconversion_error, Qcr;
 extern Lisp_Object Qcrlf, Qcurrent_menubar, Qctext;
 extern Lisp_Object Qcyclic_variable_indirection, Qdecode;
 extern Lisp_Object Qdefun, Qdevice_live_p;
@@ -3194,20 +3217,22 @@
 extern Lisp_Object Qediting_error;
 extern Lisp_Object Qencode, Qend_of_buffer, Qend_of_file, Qend_open;
 extern Lisp_Object Qeol_cr, Qeol_crlf, Qeol_lf, Qeol_type;
-extern Lisp_Object Qerror, Qerror_conditions, Qerror_message, Qescape_quoted;
+extern Lisp_Object Qerror, Qerror_conditions, Qerror_lacks_explanatory_string;
+extern Lisp_Object Qerror_message, Qescape_quoted;
 extern Lisp_Object Qevent_live_p, Qexit, Qextent_live_p;
 extern Lisp_Object Qexternal_debugging_output, Qfeaturep;
 extern Lisp_Object Qfile_error;
 extern Lisp_Object Qforce_g0_on_output, Qforce_g1_on_output;
 extern Lisp_Object Qforce_g2_on_output, Qforce_g3_on_output, Qforeground;
-extern Lisp_Object Qformat, Qframe_live_p;
+extern Lisp_Object Qformat, Qframe_live_p, Qgui_error;
 extern Lisp_Object Qicon_glyph_p, Qidentity;
 extern Lisp_Object Qinhibit_quit, Qinhibit_read_only;
 extern Lisp_Object Qinput_charset_conversion;
 extern Lisp_Object Qinteger_char_or_marker_p, Qinteger_or_char_p;
 extern Lisp_Object Qinteger_or_marker_p, Qintegerp, Qinteractive;
-extern Lisp_Object Qinternal_error, Qinvalid_argument;
-extern Lisp_Object Qinvalid_change, Qinvalid_function, Qinvalid_operation;
+extern Lisp_Object Qinternal_error, Qinvalid_argument, Qinvalid_byte_code;
+extern Lisp_Object Qinvalid_change, Qinvalid_constant, Qinvalid_function;
+extern Lisp_Object Qinvalid_operation;
 extern Lisp_Object Qinvalid_read_syntax, Qinvalid_state;
 extern Lisp_Object Qio_error;
 extern Lisp_Object Qiso2022;
@@ -3220,16 +3245,17 @@
 extern Lisp_Object Qmnemonic;
 extern Lisp_Object Qmono_pixmap_image_instance_p;
 extern Lisp_Object Qmouse_leave_buffer_hook;
-extern Lisp_Object Qnas, Qnatnump, Qnative_layout;
+extern Lisp_Object Qnatnump, Qnative_layout, Qnetwork_error;
 extern Lisp_Object Qno_ascii_cntl, Qno_ascii_eol, Qno_catch;
 extern Lisp_Object Qno_conversion, Qno_iso6429;
 extern Lisp_Object Qnothing_image_instance_p;
-extern Lisp_Object Qnumber_char_or_marker_p, Qnumberp;
+extern Lisp_Object Qnumber_char_or_marker_p, Qnumberp, Qout_of_memory;
 extern Lisp_Object Qoutput_charset_conversion;
 extern Lisp_Object Qoverflow_error, Qpoint, Qpointer_glyph_p;
 extern Lisp_Object Qpointer_image_instance_p, Qpost_read_conversion;
 extern Lisp_Object Qpre_write_conversion, Qprint_length;
-extern Lisp_Object Qprint_string_length, Qprogn, Qquit;
+extern Lisp_Object Qprint_string_length, Qprinting_unreadable_object;
+extern Lisp_Object Qprogn, Qprocess_error, Qquit;
 extern Lisp_Object Qquote, Qrange_error, Qread_char;
 extern Lisp_Object Qread_from_minibuffer, Qreally_early_error_handler;
 extern Lisp_Object Qregion_beginning, Qregion_end;
@@ -3238,12 +3264,12 @@
 extern Lisp_Object Qself_insert_command, Qself_insert_defer_undo;
 extern Lisp_Object Qsequencep, Qset, Qsetting_constant;
 extern Lisp_Object Qseven, Qshift_jis, Qshort;
-extern Lisp_Object Qsingularity_error;
+extern Lisp_Object Qsingularity_error, Qsound_error, Qstack_overflow;
 extern Lisp_Object Qstandard_input, Qstandard_output;
 extern Lisp_Object Qstart_open;
-extern Lisp_Object Qstring_lessp, Qsubwindow;
+extern Lisp_Object Qstring_lessp, Qstructure_formation_error, Qsubwindow;
 extern Lisp_Object Qsubwindow_image_instance_p;
-extern Lisp_Object Qsyntax_error, Qt;
+extern Lisp_Object Qsyntax_error, Qt, Qtext_conversion_error;
 extern Lisp_Object Qtext_image_instance_p;
 extern Lisp_Object Qtop_level;
 extern Lisp_Object Qtrue_list_p;