diff options
| author | Karl Heuer | 1996-05-21 17:24:24 +0000 |
|---|---|---|
| committer | Karl Heuer | 1996-05-21 17:24:24 +0000 |
| commit | 2a42e8f6ac76be9765a5a6de69ec8489554c4eaa (patch) | |
| tree | a855557b110fa86dad0938444f662b70c4431a83 | |
| parent | 28ee503c5aa768e2a750b7ab50ea08d5281a4248 (diff) | |
| download | emacs-2a42e8f6ac76be9765a5a6de69ec8489554c4eaa.tar.gz emacs-2a42e8f6ac76be9765a5a6de69ec8489554c4eaa.zip | |
(Fprin1_to_string): Preserve Vdeactivate_mark.
| -rw-r--r-- | src/print.c | 12 |
1 files changed, 10 insertions, 2 deletions
diff --git a/src/print.c b/src/print.c index 600dcda55b0..22b5c140b22 100644 --- a/src/print.c +++ b/src/print.c | |||
| @@ -527,7 +527,14 @@ second argument NOESCAPE is non-nil.") | |||
| 527 | int old_point = -1; | 527 | int old_point = -1; |
| 528 | int start_point; | 528 | int start_point; |
| 529 | Lisp_Object original, printcharfun; | 529 | Lisp_Object original, printcharfun; |
| 530 | struct gcpro gcpro1; | 530 | struct gcpro gcpro1, gcpro2; |
| 531 | Lisp_Object tem; | ||
| 532 | |||
| 533 | /* Save and restore this--we are altering a buffer | ||
| 534 | but we don't want to deactivate the mark just for that. | ||
| 535 | No need for specbind, since errors deactivate the mark. */ | ||
| 536 | tem = Vdeactivate_mark; | ||
| 537 | GCPRO2 (object, tem); | ||
| 531 | 538 | ||
| 532 | printcharfun = Vprin1_to_string_buffer; | 539 | printcharfun = Vprin1_to_string_buffer; |
| 533 | PRINTPREPARE; | 540 | PRINTPREPARE; |
| @@ -538,9 +545,10 @@ second argument NOESCAPE is non-nil.") | |||
| 538 | set_buffer_internal (XBUFFER (Vprin1_to_string_buffer)); | 545 | set_buffer_internal (XBUFFER (Vprin1_to_string_buffer)); |
| 539 | object = Fbuffer_string (); | 546 | object = Fbuffer_string (); |
| 540 | 547 | ||
| 541 | GCPRO1 (object); | ||
| 542 | Ferase_buffer (); | 548 | Ferase_buffer (); |
| 543 | set_buffer_internal (old); | 549 | set_buffer_internal (old); |
| 550 | |||
| 551 | Vdeactivate_mark = tem; | ||
| 544 | UNGCPRO; | 552 | UNGCPRO; |
| 545 | 553 | ||
| 546 | return object; | 554 | return object; |