diff options
| author | Richard M. Stallman | 2003-05-09 14:03:51 +0000 |
|---|---|---|
| committer | Richard M. Stallman | 2003-05-09 14:03:51 +0000 |
| commit | ca2de34225f857715a8b030261f3102005d7b036 (patch) | |
| tree | 7ba2c1d21130183ecddf099212ea340724b4cb0c | |
| parent | 611a8f8c1fd311aa28e94b870e7ec2c2ab059353 (diff) | |
| download | emacs-ca2de34225f857715a8b030261f3102005d7b036.tar.gz emacs-ca2de34225f857715a8b030261f3102005d7b036.zip | |
(Fprin1_to_string): Instead of gcpro, set abort_on_gc.
Bind Qinhibit_modification_hooks to t so there will be no GC.
Rename local `tem' to `save_deactivate_mark'.
| -rw-r--r-- | src/ChangeLog | 18 | ||||
| -rw-r--r-- | src/print.c | 19 |
2 files changed, 30 insertions, 7 deletions
diff --git a/src/ChangeLog b/src/ChangeLog index b6af51313b6..b58dfb49fa2 100644 --- a/src/ChangeLog +++ b/src/ChangeLog | |||
| @@ -1,3 +1,21 @@ | |||
| 1 | 2003-05-09 Richard M. Stallman <rms@gnu.org> | ||
| 2 | |||
| 3 | * print.c (Fprin1_to_string): Instead of gcpro, set abort_on_gc. | ||
| 4 | Bind Qinhibit_modification_hooks to t so there will be no GC. | ||
| 5 | Rename local `tem' to `save_deactivate_mark'. | ||
| 6 | |||
| 7 | * eval.c (specpdl_ptr): Declare volatile. | ||
| 8 | (unbind_to): Copy the whole binding and decrement specpdl_ptr | ||
| 9 | before doing the work of unbinding it. | ||
| 10 | |||
| 11 | * lisp.h (struct specbinding): Declare elements volatile. | ||
| 12 | (specpdl_ptr): Declare volatile. | ||
| 13 | |||
| 14 | * Makefile.in (alloca.o): Specify -DDO_BLOCK_INPUT in compiling. | ||
| 15 | |||
| 16 | * alloca.c: Test DO_BLOCK_INPUT rather than `emacs' | ||
| 17 | for use of BLOCK_INPUT and inclusion of lisp.h and blockinput.h. | ||
| 18 | |||
| 1 | 2003-05-08 Dave Love <fx@gnu.org> | 19 | 2003-05-08 Dave Love <fx@gnu.org> |
| 2 | 20 | ||
| 3 | * coding.c (Vlast_coding_system_used): Doc fix. | 21 | * coding.c (Vlast_coding_system_used): Doc fix. |
diff --git a/src/print.c b/src/print.c index 38e82488b3c..dc72539f7f5 100644 --- a/src/print.c +++ b/src/print.c | |||
| @@ -759,14 +759,18 @@ A printed representation of an object is text which describes that object. */) | |||
| 759 | { | 759 | { |
| 760 | PRINTDECLARE; | 760 | PRINTDECLARE; |
| 761 | Lisp_Object printcharfun; | 761 | Lisp_Object printcharfun; |
| 762 | struct gcpro gcpro1, gcpro2; | 762 | /* struct gcpro gcpro1, gcpro2; */ |
| 763 | Lisp_Object tem; | 763 | Lisp_Object save_deactivate_mark; |
| 764 | int count = specpdl_ptr - specpdl; | ||
| 765 | |||
| 766 | specbind (Qinhibit_modification_hooks, Qt); | ||
| 764 | 767 | ||
| 765 | /* Save and restore this--we are altering a buffer | 768 | /* Save and restore this--we are altering a buffer |
| 766 | but we don't want to deactivate the mark just for that. | 769 | but we don't want to deactivate the mark just for that. |
| 767 | No need for specbind, since errors deactivate the mark. */ | 770 | No need for specbind, since errors deactivate the mark. */ |
| 768 | tem = Vdeactivate_mark; | 771 | save_deactivate_mark = Vdeactivate_mark; |
| 769 | GCPRO2 (object, tem); | 772 | /* GCPRO2 (object, save_deactivate_mark); */ |
| 773 | abort_on_gc++; | ||
| 770 | 774 | ||
| 771 | printcharfun = Vprin1_to_string_buffer; | 775 | printcharfun = Vprin1_to_string_buffer; |
| 772 | PRINTPREPARE; | 776 | PRINTPREPARE; |
| @@ -781,10 +785,11 @@ A printed representation of an object is text which describes that object. */) | |||
| 781 | Ferase_buffer (); | 785 | Ferase_buffer (); |
| 782 | set_buffer_internal (old); | 786 | set_buffer_internal (old); |
| 783 | 787 | ||
| 784 | Vdeactivate_mark = tem; | 788 | Vdeactivate_mark = save_deactivate_mark; |
| 785 | UNGCPRO; | 789 | /* UNGCPRO; */ |
| 786 | 790 | ||
| 787 | return object; | 791 | abort_on_gc--; |
| 792 | return unbind_to (count, object); | ||
| 788 | } | 793 | } |
| 789 | 794 | ||
| 790 | DEFUN ("princ", Fprinc, Sprinc, 1, 2, 0, | 795 | DEFUN ("princ", Fprinc, Sprinc, 1, 2, 0, |