mirror of
https://git.savannah.gnu.org/git/guile.git
synced 2025-06-12 23:00:22 +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
|
non-echoing terminal mode (for example under GDB in Emacs). This has
|
||||||
been fixed.
|
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 Scheme functions and syntax
|
||||||
* Changes to the C interface
|
* 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>
|
2003-04-13 Mikael Djurfeldt <djurfeldt@nada.kth.se>
|
||||||
|
|
||||||
* goops.c (scm_sys_prep_layout_x): Instance allocation is now
|
* 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
|
* 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
|
* 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 handle = SCM_BOOL_F; /* Will GC protect the handle whilst unlinked */
|
||||||
SCM pstate_scm;
|
SCM pstate_scm;
|
||||||
scm_print_state *pstate;
|
scm_print_state *pstate;
|
||||||
|
int old_writingp;
|
||||||
|
|
||||||
/* If PORT is a print-state/port pair, use that. Else create a new
|
/* If PORT is a print-state/port pair, use that. Else create a new
|
||||||
print-state. */
|
print-state. */
|
||||||
|
@ -704,8 +705,10 @@ scm_prin1 (SCM exp, SCM port, int writingp)
|
||||||
}
|
}
|
||||||
|
|
||||||
pstate = SCM_PRINT_STATE (pstate_scm);
|
pstate = SCM_PRINT_STATE (pstate_scm);
|
||||||
|
old_writingp = pstate->writingp;
|
||||||
pstate->writingp = writingp;
|
pstate->writingp = writingp;
|
||||||
scm_iprin1 (exp, port, pstate);
|
scm_iprin1 (exp, port, pstate);
|
||||||
|
pstate->writingp = old_writingp;
|
||||||
|
|
||||||
/* Return print state to pool if it has been created above and
|
/* Return print state to pool if it has been created above and
|
||||||
hasn't escaped to Scheme. */
|
hasn't escaped to Scheme. */
|
||||||
|
|
Loading…
Add table
Add a link
Reference in a new issue