aboutsummaryrefslogtreecommitdiff
path: root/doc/docstring-magic.el
diff options
context:
space:
mode:
Diffstat (limited to 'doc/docstring-magic.el')
-rw-r--r--doc/docstring-magic.el20
1 files changed, 19 insertions, 1 deletions
diff --git a/doc/docstring-magic.el b/doc/docstring-magic.el
index 2943dd9f..7ff84883 100644
--- a/doc/docstring-magic.el
+++ b/doc/docstring-magic.el
@@ -48,17 +48,35 @@
(sname (symbol-name assistant))
(elisp-file sname))
(setq proof-assistant-symbol nil)
+
+ ;; proof-ready-for-assistant below loads pg-custom by require.
+ ;; pg-custom must be loaded for each proof assistant again,
+ ;; because it defines a lot with defpgcustom, which defines
+ ;; assistent specific variables by using assistant-symbol
+ ;; (called assistant here). Therefore, delete pg-custom from the
+ ;; featue list here, such that it is also loaded for the second
+ ;; proof assistant. Otherwise (proof-ass keymap) would fail
+ ;; because the symbol is not defined for the second proof
+ ;; assistant. And (proof-ass keymap) is put into
+ ;; proof-ready-for-assistant-hook by
+ ;; proof-eval-when-ready-for-assistant, when proof-script is
+ ;; loaded as autoload for proof-ready-for-assistant, because
+ ;; then proof-assistant is not yet set.
+ (setq features (delete 'pg-custom features))
(proof-ready-for-assistant assistant assistant-name)
;; Must load proof-config each time to define proof assistant
;; specific variables
(setq features (delete 'pg-custom features))
- (load "pg-custom.el")
(load-library elisp-file)
(setq assistants (cdr assistants)))))
;; Now a fake proof assistant to document the automatically
;; specific variables
(setq proof-assistant-symbol nil)
+
+;; ensure again, pg-custom is loaded inside proof-ready-for-assistant,
+;; see above
+(setq features (delete 'pg-custom features))
(proof-ready-for-assistant 'PA "PROOF ASSISTANT")
(setq features (delete 'pg-custom features))
(load "pg-custom.el")