# HG changeset patch # User Didier Verna # Date 1300375209 -3600 # Node ID 4f39e57a82b4458b9c51499cd6d2aab78d7c3584 # Parent 919c77c567bb82e43065c057122af0ff97ed6907 Improve read-only error reporting. -------------------- ChangeLog entries follow: -------------------- src/ChangeLog addition: 2011-03-17 Didier Verna * data.c (init_errors_once_early): Define Qextent_read_only error. * lisp.h: Declare it. * extents.c (verify_extent_mapper): Signal an extent-read-only error instead of a buffer-read-only one. diff -r 919c77c567bb -r 4f39e57a82b4 src/ChangeLog --- a/src/ChangeLog Mon Mar 21 12:27:07 2011 +0000 +++ b/src/ChangeLog Thu Mar 17 16:20:09 2011 +0100 @@ -1,3 +1,10 @@ +2011-03-17 Didier Verna + + * data.c (init_errors_once_early): Define Qextent_read_only error. + * lisp.h: Declare it. + * extents.c (verify_extent_mapper): Signal an extent-read-only + error instead of a buffer-read-only one. + 2011-03-15 Aidan Kehoe * config.h.in (SUPPORT_CONFOUNDING_FUNCTIONS): New #define, diff -r 919c77c567bb -r 4f39e57a82b4 src/data.c --- a/src/data.c Mon Mar 21 12:27:07 2011 +0000 +++ b/src/data.c Thu Mar 17 16:20:09 2011 +0100 @@ -50,7 +50,8 @@ Lisp_Object Qinvalid_operation, Qinvalid_change, Qprinting_unreadable_object; Lisp_Object Qsetting_constant; Lisp_Object Qediting_error; -Lisp_Object Qbeginning_of_buffer, Qend_of_buffer, Qbuffer_read_only; +Lisp_Object Qbeginning_of_buffer, Qend_of_buffer; +Lisp_Object Qbuffer_read_only, Qextent_read_only; Lisp_Object Qio_error, Qfile_error, Qconversion_error, Qend_of_file; Lisp_Object Qtext_conversion_error; Lisp_Object Qarith_error, Qrange_error, Qdomain_error; @@ -3493,6 +3494,7 @@ DEFERROR_STANDARD (Qbeginning_of_buffer, Qediting_error); DEFERROR_STANDARD (Qend_of_buffer, Qediting_error); DEFERROR (Qbuffer_read_only, "Buffer is read-only", Qediting_error); + DEFERROR (Qextent_read_only, "Extent is read-only", Qediting_error); DEFERROR (Qio_error, "IO Error", Qinvalid_operation); DEFERROR_STANDARD (Qfile_error, Qio_error); diff -r 919c77c567bb -r 4f39e57a82b4 src/extents.c --- a/src/extents.c Mon Mar 21 12:27:07 2011 +0000 +++ b/src/extents.c Thu Mar 17 16:20:09 2011 +0100 @@ -4450,7 +4450,7 @@ #endif while (1) - Fsignal (Qbuffer_read_only, (list1 (closure->object))); + Fsignal (Qextent_read_only, (list1 (wrap_extent (extent)))); RETURN_NOT_REACHED(0); } diff -r 919c77c567bb -r 4f39e57a82b4 src/lisp.h --- a/src/lisp.h Mon Mar 21 12:27:07 2011 +0000 +++ b/src/lisp.h Thu Mar 17 16:20:09 2011 +0100 @@ -4532,7 +4532,8 @@ extern MODULE_API Lisp_Object Qintegerp; extern Lisp_Object Qargs_out_of_range, Qarith_error, Qbeginning_of_buffer, - Qbuffer_read_only, Qcircular_list, Qcircular_property_list, + Qbuffer_read_only, Qextent_read_only, + Qcircular_list, Qcircular_property_list, Qconversion_error, Qcyclic_variable_indirection, Qdomain_error, Qediting_error, Qend_of_buffer, Qend_of_file, Qerror, Qfile_error, Qinternal_error, Qinvalid_change, Qinvalid_constant, Qinvalid_function,