mirror of
https://git.savannah.gnu.org/git/guile.git
synced 2025-06-11 22:31:12 +02:00
* print.c (scm_prin1): Remember old state of pstate->writingp.
This commit is contained in:
parent
55ccbd3545
commit
da2e146a5b
3 changed files with 23 additions and 1 deletions
15
NEWS
15
NEWS
|
@ -29,6 +29,21 @@ Previously, the readline prompt disappeared when running Guile in
|
|||
non-echoing terminal mode (for example under GDB in Emacs). This has
|
||||
been fixed.
|
||||
|
||||
** Printing bug fixed.
|
||||
|
||||
Previously, the state of writingp in the print state could be altered
|
||||
by recursive calls to printing functions.
|
||||
|
||||
** Append mode in hooks.
|
||||
|
||||
Append mode in hooks (adding the hook last in the list) now works
|
||||
correctly.
|
||||
|
||||
** GOOPS/GC bug fixed.
|
||||
|
||||
The class layout slot, which informs the GC about which slots to GC
|
||||
protect, is now initialized correctly.
|
||||
|
||||
* Changes to Scheme functions and syntax
|
||||
* Changes to the C interface
|
||||
|
||||
|
|
|
@ -1,3 +1,7 @@
|
|||
2003-04-14 Mikael Djurfeldt <djurfeldt@nada.kth.se>
|
||||
|
||||
* print.c (scm_prin1): Remember old state of pstate->writingp.
|
||||
|
||||
2003-04-13 Mikael Djurfeldt <djurfeldt@nada.kth.se>
|
||||
|
||||
* goops.c (scm_sys_prep_layout_x): Instance allocation is now
|
||||
|
|
|
@ -1,4 +1,4 @@
|
|||
/* Copyright (C) 1995-1999,2000,2001 Free Software Foundation, Inc.
|
||||
/* Copyright (C) 1995-1999,2000,2001, 2003 Free Software Foundation, Inc.
|
||||
*
|
||||
* This program is free software; you can redistribute it and/or modify
|
||||
* it under the terms of the GNU General Public License as published by
|
||||
|
@ -679,6 +679,7 @@ scm_prin1 (SCM exp, SCM port, int writingp)
|
|||
SCM handle = SCM_BOOL_F; /* Will GC protect the handle whilst unlinked */
|
||||
SCM pstate_scm;
|
||||
scm_print_state *pstate;
|
||||
int old_writingp;
|
||||
|
||||
/* If PORT is a print-state/port pair, use that. Else create a new
|
||||
print-state. */
|
||||
|
@ -704,8 +705,10 @@ scm_prin1 (SCM exp, SCM port, int writingp)
|
|||
}
|
||||
|
||||
pstate = SCM_PRINT_STATE (pstate_scm);
|
||||
old_writingp = pstate->writingp;
|
||||
pstate->writingp = writingp;
|
||||
scm_iprin1 (exp, port, pstate);
|
||||
pstate->writingp = old_writingp;
|
||||
|
||||
/* Return print state to pool if it has been created above and
|
||||
hasn't escaped to Scheme. */
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue