diff src/buffer.c @ 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 ed498ef2108b
children 001628b7a5b3
line wrap: on
line diff
--- a/src/buffer.c	Thu May 24 06:30:21 2001 +0000
+++ b/src/buffer.c	Thu May 24 07:51:33 2001 +0000
@@ -260,10 +260,9 @@
   if (print_readably)
     {
       if (!BUFFER_LIVE_P (b))
-	error ("printing unreadable object #<killed buffer>");
+	printing_unreadable_object ("#<killed buffer>");
       else
-	error ("printing unreadable object #<buffer %s>",
-	       XSTRING_DATA (b->name));
+	printing_unreadable_object ("#<buffer %s>", XSTRING_DATA (b->name));
     }
   else if (!BUFFER_LIVE_P (b))
     write_c_string ("#<killed buffer>", printcharfun);
@@ -306,8 +305,8 @@
 nsberror (Lisp_Object spec)
 {
   if (STRINGP (spec))
-    error ("No buffer named %s", XSTRING_DATA (spec));
-  signal_simple_error ("Invalid buffer argument", spec);
+    invalid_argument ("No buffer named", spec);
+  invalid_argument ("Invalid buffer argument", spec);
 }
 
 DEFUN ("buffer-list", Fbuffer_list, 0, 1, 0, /*
@@ -619,7 +618,8 @@
     return buf;
 
   if (XSTRING_LENGTH (name) == 0)
-    error ("Empty string for buffer name is not allowed");
+    invalid_argument ("Empty string for buffer name is not allowed",
+		      Qunbound);
 
   b = allocate_buffer ();
 
@@ -660,9 +660,9 @@
   CHECK_STRING (name);
   name = LISP_GETTEXT (name);
   if (!NILP (Fget_buffer (name)))
-    signal_simple_error ("Buffer name already in use", name);
+    invalid_argument ("Buffer name already in use", name);
   if (XSTRING_LENGTH (name) == 0)
-    error ("Empty string for buffer name is not allowed");
+    invalid_argument ("Empty string for buffer name is not allowed", Qunbound);
 
   b = allocate_buffer ();
 
@@ -948,7 +948,7 @@
   newname = LISP_GETTEXT (newname);
 
   if (XSTRING_LENGTH (newname) == 0)
-    error ("Empty string is invalid as a buffer name");
+    invalid_argument ("Empty string is invalid as a buffer name", Qunbound);
 
   tem = Fget_buffer (newname);
   /* Don't short-circuit if UNIQUE is t.  That is a useful way to rename
@@ -963,8 +963,7 @@
       if (!NILP (unique))
 	newname = Fgenerate_new_buffer_name (newname, current_buffer->name);
       else
-	error ("Buffer name \"%s\" is in use",
-	       XSTRING_DATA (newname));
+	invalid_argument ("Buffer name is in use", newname);
     }
 
   current_buffer->name = newname;
@@ -1498,7 +1497,7 @@
 {
   buffer = get_buffer (buffer, 0);
   if (NILP (buffer))
-    error ("Selecting deleted or non-existent buffer");
+    invalid_operation ("Selecting deleted or non-existent buffer", Qunbound);
   set_buffer_internal (XBUFFER (buffer));
   return buffer;
 }
@@ -1586,7 +1585,7 @@
     before = get_buffer (before, 1);
 
   if (EQ (before, buffer))
-    error ("Cannot place a buffer before itself");
+    invalid_operation ("Cannot place a buffer before itself", Qunbound);
 
   bury_buffer_1 (buffer, before, &Vbuffer_alist);
   bury_buffer_1 (buffer, before, &selected_frame ()->buffer_alist);
@@ -1925,12 +1924,12 @@
           if (size_in_bytes == 0)
             break;
 	  else if (size_in_bytes < 0)
-	    error ("Error converting to external format");
+	    signal_error (Qtext_conversion_error, "Error converting to external format", Qunbound);
 
 	  size_in_bytes = Lstream_write (writer, tempbuf, size_in_bytes);
 
 	  if (size_in_bytes <= 0)
-	    error ("Error converting to external format");
+	    signal_error (Qtext_conversion_error, "Error converting to external format", Qunbound);
         }
 
       /* Closing writer will close any stream at the other end of writer. */
@@ -2063,12 +2062,12 @@
           if (size_in_bytes == 0)
             break;
 	  else if (size_in_bytes < 0)
-	    error ("Error converting to internal format");
+	    signal_error (Qtext_conversion_error, "Error converting to internal format", Qunbound);
 
 	  size_in_bytes = Lstream_write (writer, tempbuf, size_in_bytes);
 
 	  if (size_in_bytes <= 0)
-	    error ("Error converting to internal format");
+	    signal_error (Qtext_conversion_error, "Error converting to internal format", Qunbound);
         }
 
       /* Closing writer will close any stream at the other end of writer. */
@@ -2097,31 +2096,31 @@
 {
   INIT_LRECORD_IMPLEMENTATION (buffer);
 
-  defsymbol (&Qbuffer_live_p, "buffer-live-p");
-  defsymbol (&Qbuffer_or_string_p, "buffer-or-string-p");
-  defsymbol (&Qmode_class, "mode-class");
-  defsymbol (&Qrename_auto_save_file, "rename-auto-save-file");
-  defsymbol (&Qkill_buffer_hook, "kill-buffer-hook");
-  defsymbol (&Qpermanent_local, "permanent-local");
-
-  defsymbol (&Qfirst_change_hook, "first-change-hook");
-  defsymbol (&Qbefore_change_functions, "before-change-functions");
-  defsymbol (&Qafter_change_functions, "after-change-functions");
+  DEFSYMBOL (Qbuffer_live_p);
+  DEFSYMBOL (Qbuffer_or_string_p);
+  DEFSYMBOL (Qmode_class);
+  DEFSYMBOL (Qrename_auto_save_file);
+  DEFSYMBOL (Qkill_buffer_hook);
+  DEFSYMBOL (Qpermanent_local);
+
+  DEFSYMBOL (Qfirst_change_hook);
+  DEFSYMBOL (Qbefore_change_functions);
+  DEFSYMBOL (Qafter_change_functions);
 
   /* #### Obsolete, for compatibility */
-  defsymbol (&Qbefore_change_function, "before-change-function");
-  defsymbol (&Qafter_change_function, "after-change-function");
-
-  defsymbol (&Qdefault_directory, "default-directory");
-
-  defsymbol (&Qget_file_buffer, "get-file-buffer");
-  defsymbol (&Qchange_major_mode_hook, "change-major-mode-hook");
-
-  defsymbol (&Qfundamental_mode, "fundamental-mode");
-
-  defsymbol (&Qfind_file_compare_truenames, "find-file-compare-truenames");
-
-  defsymbol (&Qswitch_to_buffer, "switch-to-buffer");
+  DEFSYMBOL (Qbefore_change_function);
+  DEFSYMBOL (Qafter_change_function);
+
+  DEFSYMBOL (Qdefault_directory);
+
+  DEFSYMBOL (Qget_file_buffer);
+  DEFSYMBOL (Qchange_major_mode_hook);
+
+  DEFSYMBOL (Qfundamental_mode);
+
+  DEFSYMBOL (Qfind_file_compare_truenames);
+
+  DEFSYMBOL (Qswitch_to_buffer);
 
   DEFSUBR (Fbufferp);
   DEFSUBR (Fbuffer_live_p);