summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorAndy Wingo <wingo@pobox.com>2010-08-28 13:43:46 -0700
committerAndy Wingo <wingo@pobox.com>2010-08-28 13:44:00 -0700
commitc89920a71ff1d2201c5af8780feaa936faf2c7a3 (patch)
treeb4392c19434574daf840d0b4d9ff18fc36fc746b
parent877514dab09db6b012e68a17301315586e8f27b6 (diff)
downloadguile-c89920a71ff1d2201c5af8780feaa936faf2c7a3.tar.gz
deprecate passing a number as the destination to `format'
* module/ice-9/format.scm (format): Deprecate having a number as the destination. * doc/ref/misc-modules.texi (Formatted Output): Update docs.
-rw-r--r--doc/ref/misc-modules.texi5
-rw-r--r--module/ice-9/format.scm8
2 files changed, 8 insertions, 5 deletions
diff --git a/doc/ref/misc-modules.texi b/doc/ref/misc-modules.texi
index 6cd0ad2ab..e17f9854b 100644
--- a/doc/ref/misc-modules.texi
+++ b/doc/ref/misc-modules.texi
@@ -159,9 +159,8 @@ instead of @nicode{%}, and are more powerful.
@deffn {Scheme Procedure} format dest fmt [args@dots{}]
Write output specified by the @var{fmt} string to @var{dest}.
@var{dest} can be an output port, @code{#t} for
-@code{current-output-port} (@pxref{Default Ports}), a number for
-@code{current-error-port}, or @code{#f} to return the output as a
-string.
+@code{current-output-port} (@pxref{Default Ports}), or @code{#f} to
+return the output as a string.
@var{fmt} can contain literal text to be output, and @nicode{~}
escapes. Each escape has the form
diff --git a/module/ice-9/format.scm b/module/ice-9/format.scm
index c802f29c3..6520a60ba 100644
--- a/module/ice-9/format.scm
+++ b/module/ice-9/format.scm
@@ -167,13 +167,17 @@
(cond
((or (and (boolean? destination) ; port output
destination)
- (output-port? destination)
- (number? destination))
+ (output-port? destination))
(format:out (cond
((boolean? destination) (current-output-port))
((output-port? destination) destination)
((number? destination) (current-error-port)))
(car arglist) (cdr arglist)))
+ ((number? destination)
+ (issue-deprecation-warning
+ "Passing a number to format as the destination is deprecated."
+ "Pass (current-error-port) instead.")
+ (format:out (current-error-port) (car arglist) (cdr arglist)))
((and (boolean? destination) ; string output
(not destination))
(call-with-output-string