diff options
author | Ludovic Courtès <ludo@gnu.org> | 2020-01-29 14:56:17 +0100 |
---|---|---|
committer | Ludovic Courtès <ludo@gnu.org> | 2020-02-12 10:33:02 +0100 |
commit | 149d229e3cbe7ff3cb3cc45ec0df69825e494f39 (patch) | |
tree | db793b3462c3addd2ed727de304df842e3cb681d /module | |
parent | f361584a15358dc52ecb2981d4c47ab507c6a02a (diff) |
texinfo: Add '*line-width*' fluid to control line wrapping.
* module/texinfo/plain-text.scm (*line-width*): New variable.
(wrap*): Honor it.
* doc/ref/texinfo.texi (texinfo plain-text): Document it.
* test-suite/tests/texinfo.plain-text.test: New file.
* test-suite/Makefile.am (SCM_TESTS): Add it.
Diffstat (limited to 'module')
-rw-r--r-- | module/texinfo/plain-text.scm | 11 |
1 files changed, 7 insertions, 4 deletions
diff --git a/module/texinfo/plain-text.scm b/module/texinfo/plain-text.scm index 809cdb7b3..6b7885ada 100644 --- a/module/texinfo/plain-text.scm +++ b/module/texinfo/plain-text.scm @@ -1,6 +1,6 @@ ;;;; (texinfo plain-text) -- rendering stexinfo as plain text ;;;; -;;;; Copyright (C) 2009, 2010, 2011, 2013 Free Software Foundation, Inc. +;;;; Copyright (C) 2009, 2010, 2011, 2013, 2020 Free Software Foundation, Inc. ;;;; Copyright (C) 2003,2004,2009 Andy Wingo <wingo at pobox dot com> ;;;; ;;;; This library is free software; you can redistribute it and/or @@ -32,7 +32,8 @@ #:use-module (srfi srfi-1) #:use-module (srfi srfi-13) #:use-module (ice-9 match) - #:export (stexi->plain-text)) + #:export (stexi->plain-text + *line-width*)) ;; The return value is a string. (define (arg-ref key %-args) @@ -52,6 +53,7 @@ (define *indent* (make-fluid "")) (define *itemizer* (make-fluid (make-ticker "* "))) +(define *line-width* (make-fluid 72)) (define-macro (with-indent n . body) `(with-fluids ((*indent* (string-append (fluid-ref *indent*) @@ -69,9 +71,10 @@ ,@body)) (define (wrap* . strings) - (let ((indent (fluid-ref *indent*))) + (let ((indent (fluid-ref *indent*)) + (width (fluid-ref *line-width*))) (fill-string (string-concatenate strings) - #:line-width 72 #:initial-indent indent + #:line-width width #:initial-indent indent #:subsequent-indent indent))) (define (wrap . strings) (string-append (apply wrap* strings) "\n\n")) |