diff options
author | Ludovic Courtès <ludo@gnu.org> | 2016-04-15 19:47:35 +0200 |
---|---|---|
committer | Ludovic Courtès <ludo@gnu.org> | 2016-04-16 00:52:19 +0200 |
commit | 6d2b43915f8a628588f03136b3008902f7643e06 (patch) | |
tree | 5dc42a1bd3dcdc9afd61723303e3f8fbb59274ad /guix/build | |
parent | 9f088725c087c5d49dcbbb26d45dba4af6b0cad6 (diff) | |
download | gnu-guix-6d2b43915f8a628588f03136b3008902f7643e06.tar gnu-guix-6d2b43915f8a628588f03136b3008902f7643e06.tar.gz |
syscalls: 'terminal-columns' ignores non-file ports.
* guix/build/syscalls.scm (terminal-columns): Call
'terminal-window-size' only when PORT is a file port.
* tests/syscalls.scm ("terminal-columns non-file port"): New test.
Diffstat (limited to 'guix/build')
-rw-r--r-- | guix/build/syscalls.scm | 10 |
1 files changed, 6 insertions, 4 deletions
diff --git a/guix/build/syscalls.scm b/guix/build/syscalls.scm index ed833c10b2..5ce0abbb48 100644 --- a/guix/build/syscalls.scm +++ b/guix/build/syscalls.scm @@ -915,10 +915,12 @@ always a positive integer." (catch 'system-error (lambda () - (match (window-size-columns (terminal-window-size port)) - ;; Things like Emacs shell-mode return 0, which is unreasonable. - (0 (fall-back)) - ((? number? columns) columns))) + (if (file-port? port) + (match (window-size-columns (terminal-window-size port)) + ;; Things like Emacs shell-mode return 0, which is unreasonable. + (0 (fall-back)) + ((? number? columns) columns)) + (fall-back))) (lambda args (let ((errno (system-error-errno args))) (if (= errno ENOTTY) |