aboutsummaryrefslogtreecommitdiff
path: root/generic/proof-shell.el
diff options
context:
space:
mode:
authorHendrik Tews2011-01-14 09:12:20 +0000
committerHendrik Tews2011-01-14 09:12:20 +0000
commita2ba24cc1172258abd98eee6350cdb672e50e4de (patch)
tree6d3537afcd9508ca54384c6820c188a6f30921af /generic/proof-shell.el
parent5927f791f80f29134f80ced5a924693d62d6dfc5 (diff)
- simple backward compatible change to invoke a function to
compute the command line arguments for a proof assistant
Diffstat (limited to 'generic/proof-shell.el')
-rw-r--r--generic/proof-shell.el15
1 files changed, 10 insertions, 5 deletions
diff --git a/generic/proof-shell.el b/generic/proof-shell.el
index a09ddd78..9b0c876a 100644
--- a/generic/proof-shell.el
+++ b/generic/proof-shell.el
@@ -234,11 +234,16 @@ process command."
;; Starting the inferior process (asynchronous)
(let* ((prog-name-list1
- (if (proof-ass prog-args)
- ;; If argument list supplied in <PA>-prog-args, use that.
- (cons proof-prog-name (proof-ass prog-args))
- ;; Otherwise, cut prog name on spaces
- (split-string proof-prog-name)))
+ (if (functionp (proof-ass-sym prog-args))
+ ;; complex assistants define <PA>-prog-args as function
+ ;; that computes the argument list.
+ (cons proof-prog-name (funcall (proof-ass-sym prog-args)))
+ (if (proof-ass prog-args)
+ ;; Intermediate complex assistants set the value
+ ;; of <PA>-prog-args to the argument list.
+ (cons proof-prog-name (proof-ass prog-args))
+ ;; Trivial assistants simply set proof-prog-name
+ (split-string proof-prog-name))))
(prog-name-list
;; Splice in proof-rsh-command if it's non-nil
(if (and proof-rsh-command