aboutsummaryrefslogtreecommitdiffhomepage
path: root/generic
diff options
context:
space:
mode:
authorGravatar David Aspinall <da@inf.ed.ac.uk>2005-05-17 19:11:33 +0000
committerGravatar David Aspinall <da@inf.ed.ac.uk>2005-05-17 19:11:33 +0000
commit5ab071e117f41204c67efaba5047ea6404579358 (patch)
treef4b2482a59879a6085ef4540dc8fb9e5eeb402ea /generic
parent6adc6ba48273fa98f95fd108bdacf461bffb63f1 (diff)
- shell-command-to-string can fail in various corner cases.
Diffstat (limited to 'generic')
-rw-r--r--generic/proof-config.el15
1 files changed, 9 insertions, 6 deletions
diff --git a/generic/proof-config.el b/generic/proof-config.el
index cd4a1072..d4557aa8 100644
--- a/generic/proof-config.el
+++ b/generic/proof-config.el
@@ -2163,17 +2163,20 @@ This setting is used inside the function `proof-format-filename'."
;; Use ptys unless it seems like we're on Solaris. Only have
;; a good chance to guess if shell-command-to-string and uname
;; available.
- (if (and
+ (not (and
+ ;; We should be using `system-type' here, instead.
(not (fboundp 'win32-long-file-name))
- (fboundp 'shell-command-to-string))
- (not (string-match "[sS]un" (shell-command-to-string "uname")))
- t)
- "The value of process-connection-type for the proof shell.
+ (fboundp 'shell-command-to-string)
+ (condition-case nil
+ ;; Which versions of Solaris are affected? --Stef
+ (string-match "[sS]un" (shell-command-to-string "uname"))
+ (error nil))))
+ "The value of `process-connection-type' for the proof shell.
Set non-nil for ptys, nil for pipes.
The default (and preferred) option is to use pty communication.
However there is a long-standing backslash/long line problem with
Solaris which gives a mess of ^G characters when some input is sent
-which has a \ in the 256th position.
+which has a \\ in the 256th position.
So we select pipes by default if it seems like we're on Solaris.
We do not force pipes everywhere because this risks loss of data."
:type 'boolean