aboutsummaryrefslogtreecommitdiff
path: root/coq
diff options
context:
space:
mode:
Diffstat (limited to 'coq')
-rw-r--r--coq/coq-abbrev.el4
-rw-r--r--coq/coq-smie.el2
-rw-r--r--coq/coq-syntax.el56
-rw-r--r--coq/coq.el6
4 files changed, 43 insertions, 25 deletions
diff --git a/coq/coq-abbrev.el b/coq/coq-abbrev.el
index 30ec60c4..79231ad9 100644
--- a/coq/coq-abbrev.el
+++ b/coq/coq-abbrev.el
@@ -289,10 +289,14 @@ It was constructed with `proof-defstringset-fn'.")
["Unset Printing Implicit" coq-unset-printing-implicit t]
["Set Printing Coercions" coq-set-printing-coercions t]
["Unset Printing Coercions" coq-unset-printing-coercions t]
+ ["Set Printing Compact Contexts" coq-set-printing-implicit t]
+ ["Unset Printing Compact Contexts" coq-unset-printing-implicit t]
["Set Printing Synth" coq-set-printing-synth t]
["Unset Printing Synth" coq-unset-printing-synth t]
["Set Printing Universes" coq-set-printing-universes t]
["Unset Printing Universes" coq-unset-printing-universes t]
+ ["Set Printing Unfocused" coq-set-printing-unfocused t]
+ ["Unset Printing Unfocused" coq-unset-printing-unfocused t]
["Set Printing Wildcards" coq-set-printing-wildcards t]
["Unset Printing Wildcards" coq-unset-printing-wildcards t]
["Set Printing Width" coq-ask-adapt-printing-width-and-show t])
diff --git a/coq/coq-smie.el b/coq/coq-smie.el
index c488e73f..ce386c1f 100644
--- a/coq/coq-smie.el
+++ b/coq/coq-smie.el
@@ -373,7 +373,7 @@ The point should be at the beginning of the command name."
(defun coq-smie-forward-token ()
- (let ((tok (coq-forward-token-fast-nogluing-dot-friends)))
+ (let ((tok (smie-default-forward-token)))
(cond
;; @ may be ahead of an id, it is part of the id.
((and (equal tok "@") (looking-at "[[:alpha:]_]"))
diff --git a/coq/coq-syntax.el b/coq/coq-syntax.el
index fc0e547a..156d39e1 100644
--- a/coq/coq-syntax.el
+++ b/coq/coq-syntax.el
@@ -701,22 +701,26 @@ so for the following reasons:
("Set Nonrecursive Elimination Schemes" nil "Set Nonrecursive Elimination Schemes" t "Set Nonrecursive\\s-+Elimination\\s-+Schemes")
("Set Parsing Explicit" nil "Set Parsing Explicit" t "Set Parsing\\s-+Explicit")
("Set Primitive Projections" nil "Set Primitive Projections" t "Set Primitive\\s-+Projections")
- ("Set Printing All" nil "Set Printing All" t "Set Printing\\s-+All")
- ("Set Printing Coercions" nil "Set Printing Coercions" t "Set Printing\\s-+Coercions")
- ("Set Printing Depth" nil "Set Printing Depth" t "Set Printing\\s-+Depth")
- ("Set Printing Existential Instances" nil "Set Printing Existential Instances" t "Set Printing\\s-+Existential\\s-+Instances")
- ("Set Printing Implicit" nil "Set Printing Implicit" t "Set Printing\\s-+Implicit")
- ("Set Printing Implicit Defensive" nil "Set Printing Implicit Defensive" t "Set Printing\\s-+Implicit\\s-+Defensive")
- ("Set Printing Matching" nil "Set Printing Matching" t "Set Printing\\s-+Matching")
- ("Set Printing Notations" nil "Set Printing Notations" t "Set Printing\\s-+Notations")
- ("Set Printing Primitive Projection Compatibility" nil "Set Printing Primitive Projection Compatibility" t "Set Printing\\s-+Primitive\\s-+Projection\\s-+Compatibility")
- ("Set Printing Primitive Projection Parameters" nil "Set Printing Primitive Projection Parameters" t "Set Printing\\s-+Primitive\\s-+Projection\\s-+Parameters")
- ("Set Printing Projections" nil "Set Printing Projections" t "Set Printing\\s-+Projections")
- ("Set Printing Records" nil "Set Printing Records" t "Set Printing\\s-+Records")
- ("Set Printing Synth" nil "Set Printing Synth" t "Set Printing\\s-+Synth")
- ("Set Printing Universes" nil "Set Printing Universes" t "Set Printing\\s-+Universes")
- ("Set Printing Width" nil "Set Printing Width" t "Set Printing\\s-+Width")
- ("Set Printing Wildcard" nil "Set Printing Wildcard" t "Set Printing\\s-+Wildcard")
+ ("Set Printing All" nil "Set Printing All" t "Set\\s-+Printing\\s-+All")
+ ("Set Printing Coercions" nil "Set Printing Coercions" t "Set\\s-+Printing\\s-+Coercions")
+ ("Set Printing Compact Contexts" nil "Set Printing Compact Contexts" t "Set\\s-+Printing\\s-+Compact\\s-+Contexts")
+ ("Set Printing Depth" nil "Set Printing Depth" t "Set\\s-+Printing\\s-+Depth")
+ ("Set Printing Existential Instances" nil "Set Printing Existential Instances" t "Set\\s-+Printing\\s-+Existential\\s-+Instances")
+ ("Set Printing Goal Tags" nil "Set Printing Goal Tags" t "Set\\s-+Printing\\s-+Goal\\s-+Tags")
+ ("Set Printing Goal Names" nil "Set Printing Goal Names" t "Set\\s-+Printing\\s-+Goal\\s-+Names")
+ ("Set Printing Implicit" nil "Set Printing Implicit" t "Set\\s-+Printing\\s-+Implicit")
+ ("Set Printing Implicit Defensive" nil "Set Printing Implicit Defensive" t "Set\\s-+Printing\\s-+Implicit\\s-+Defensive")
+ ("Set Printing Matching" nil "Set Printing Matching" t "Set\\s-+Printing\\s-+Matching")
+ ("Set Printing Notations" nil "Set Printing Notations" t "Set\\s-+Printing\\s-+Notations")
+ ("Set Printing Primitive Projection Compatibility" nil "Set Printing Primitive Projection Compatibility" t "Set\\s-+Printing\\s-+Primitive\\s-+Projection\\s-+Compatibility")
+ ("Set Printing Primitive Projection Parameters" nil "Set Printing Primitive Projection Parameters" t "Set\\s-+Printing\\s-+Primitive\\s-+Projection\\s-+Parameters")
+ ("Set Printing Projections" nil "Set Printing Projections" t "Set\\s-+Printing\\s-+Projections")
+ ("Set Printing Records" nil "Set Printing Records" t "Set\\s-+Printing\\s-+Records")
+ ("Set Printing Synth" nil "Set Printing Synth" t "Set\\s-+Printing\\s-+Synth")
+ ("Set Printing Unfocused" nil "Set Printing Unfocused" t "Set\\s-+Printing\\s-+Unfocused")
+ ("Set Printing Universes" nil "Set Printing Universes" t "Set\\s-+Printing\\s-+Universes")
+ ("Set Printing Width" nil "Set Printing Width" t "Set\\s-+Printing\\s-+Width")
+ ("Set Printing Wildcard" nil "Set Printing Wildcard" t "Set\\s-+Printing\\s-+Wildcard")
("Set Program Mode" nil "Set Program Mode" t "Set Program\\s-+Mode")
("Set Proof Using Clear Unused" nil "Set Proof Using Clear Unused" t "Set Proof\\s-+Using\\s-+Clear\\s-+Unused")
("Set Record Elimination Schemes" nil "Set Record Elimination Schemes" t "Set Record\\s-+Elimination\\s-+Schemes")
@@ -757,11 +761,11 @@ so for the following reasons:
("Set Silent" nil "Set Silent" t "Set Silent")
("Set Undo" nil "Set Undo" t "Set Undo")
("Set Search Blacklist" nil "Set Search Blacklist" t "Set Search\\s-+Blacklist")
- ("Set Printing Coercion" nil "Set Printing Coercion" t "Set Printing\\s-+Coercion")
- ("Set Printing If" nil "Set Printing If" t "Set Printing\\s-+If")
- ("Set Printing Let" nil "Set Printing Let" t "Set Printing\\s-+Let")
- ("Set Printing Record" nil "Set Printing Record" t "Set Printing\\s-+Record")
- ("Set Printing Constructor" nil "Set Printing Constructor" t "Set Printing\\s-+Constructor")
+ ("Set Printing Coercion" nil "Set Printing Coercion" t "Set\\s-+Printing\\s-+Coercion")
+ ("Set Printing If" nil "Set Printing If" t "Set\\s-+Printing\\s-+If")
+ ("Set Printing Let" nil "Set Printing Let" t "Set\\s-+Printing\\s-+Let")
+ ("Set Printing Record" nil "Set Printing Record" t "Set\\s-+Printing\\s-+Record")
+ ("Set Printing Constructor" nil "Set Printing Constructor" t "Set\\s-+Printing\\s-+Constructor")
("Solve Obligations" "oblssolve" "Solve Obligations using #." t "Solve\\s-+Obligations")
("Local Strategy" nil "Local Strategy # [#]." t "Local\\s-+Strategy")
("Strategy" nil "Strategy # [#]." t "Strategy")
@@ -1198,11 +1202,17 @@ It is used:
(defvar coq-symbols-regexp (regexp-opt coq-symbols))
;; ----- regular expressions
-(defvar coq-error-regexp "^\\(Error:\\|Discarding pattern\\|Syntax error:\\|System Error:\\|User Error:\\|User error:\\|Anomaly[:.]\\|Toplevel input[,]\\)"
+(defvar coq-error-regexp "^\\(In nested Ltac call\\|Error:\\|Discarding pattern\\|Syntax error:\\|System Error:\\|User Error:\\|User error:\\|Anomaly[:.]\\|Toplevel input[,]\\)"
"A regexp indicating that the Coq process has identified an error.")
+;; april2017: coq-8.7 removes special chars definitely and puts
+;; <infomsg> and <warning> around all messages except errors.
+;; We let our legacy regexp for some years and remove them, say, in 2020.
(defvar coq-shell-eager-annotation-start
- "\376\\|\\[Reinterning\\|Warning:\\|TcDebug \\|<infomsg>")
+ "\376\\|\\[Reinterning\\|Warning:\\|TcDebug \\|<infomsg>\\|<warning>")
+
+(defvar coq-shell-eager-annotation-end
+ "\377\\|done\\]\\|</infomsg>\\|</warning>\\|\\*\\*\\*\\*\\*\\*\\|) >")
(defvar coq-id "\\(@\\|_\\|\\w\\)\\(\\w\\|\\s_\\)*") ;; Coq ca start an id with @ or _
(defvar coq-id-shy "\\(?:@\\|_\\|\\w\\)\\(?:\\w\\|\\s_\\)*")
diff --git a/coq/coq.el b/coq/coq.el
index deb40ec4..43fd49f6 100644
--- a/coq/coq.el
+++ b/coq/coq.el
@@ -1362,6 +1362,10 @@ goal is redisplayed."
(proof-definvisible coq-unset-printing-synth "Unset Printing Synth.")
(proof-definvisible coq-set-printing-coercions "Set Printing Coercions.")
(proof-definvisible coq-unset-printing-coercions "Unset Printing Coercions.")
+(proof-definvisible coq-set-printing-compact-contexts "Set Printing Compact Contexts.")
+(proof-definvisible coq-unset-printing-compact-contexts "Unset Printing Compact Contexts.")
+(proof-definvisible coq-set-printing-unfocused "Set Printing Unfocused.")
+(proof-definvisible coq-unset-printing-unfocused "Unset Printing Unfocused.")
(proof-definvisible coq-set-printing-universes "Set Printing Universes.")
(proof-definvisible coq-unset-printing-universes "Unset Printing Universes.")
(proof-definvisible coq-set-printing-wildcards "Set Printing Wildcard.")
@@ -1666,7 +1670,7 @@ Near here means PT is either inside or just aside of a comment."
;; want xml like tags, and I want them removed before warning display.
;; I want the same for errors -> pgip
- proof-shell-eager-annotation-end "\377\\|done\\]\\|</infomsg>\\|\\*\\*\\*\\*\\*\\*\\|) >" ; done
+ proof-shell-eager-annotation-end coq-shell-eager-annotation-end ; done
proof-shell-annotated-prompt-regexp coq-shell-prompt-pattern
proof-shell-result-start "\372 Pbp result \373"
proof-shell-result-end "\372 End Pbp result \373"