From 53950e9e57639a35d6bf542000636ff6f605acb0 Mon Sep 17 00:00:00 2001 From: Gaƫtan Gilbert Date: Tue, 24 Oct 2017 17:21:33 +0200 Subject: Make coq-prog-args safe when list of strings. They could be passed through _CoqProject regardless. --- coq/coq-system.el | 9 +++++++++ 1 file changed, 9 insertions(+) diff --git a/coq/coq-system.el b/coq/coq-system.el index 8da4ea23..0bcf6a07 100644 --- a/coq/coq-system.el +++ b/coq/coq-system.el @@ -22,6 +22,15 @@ (defvar coq-prog-args) (defvar coq-debug)) +;; Arbitrary arguments can already be passed through _CoqProject. +;; However this is not true for all assistants, so we don't modify the +;; (defpgcustom prog-args) declaration. +(defun coq--string-list-p (obj) + "Determine if OBJ is a list of strings." + (or (null obj) (and (consp obj) (stringp (car obj)) (coq--string-list-p (cdr obj))))) + +(put 'coq-prog-args 'safe-local-variable #'coq--string-list-p) + (defcustom coq-prog-env nil "List of environment settings d to pass to Coq process. On Windows you might need something like: -- cgit v1.2.3