diff --git a/theories/proofmode/ltac_tactics.v b/theories/proofmode/ltac_tactics.v
index 5e0289c1a09aed8042b87e25edd4cf5bfb928474..d9a97ba5c3c177814374707e251541c845818bf4 100644
--- a/theories/proofmode/ltac_tactics.v
+++ b/theories/proofmode/ltac_tactics.v
@@ -950,14 +950,14 @@ Tactic Notation "iLeft" :=
     [iSolveTC ||
      let P := match goal with |- FromOr ?P _ _ => P end in
      fail "iLeft:" P "not a disjunction"
-    |].
+    |(* subgoal *)].
 Tactic Notation "iRight" :=
   iStartProof;
   eapply tac_or_r;
     [iSolveTC ||
      let P := match goal with |- FromOr ?P _ _ => P end in
      fail "iRight:" P "not a disjunction"
-    |].
+    |(* subgoal *)].
 
 Local Tactic Notation "iOrDestruct" constr(H) "as" constr(H1) constr(H2) :=
   eapply tac_or_destruct with _ _ H _ H1 H2 _ _ _; (* (i:=H) (j1:=H1) (j2:=H2) *)
@@ -973,7 +973,8 @@ Local Tactic Notation "iOrDestruct" constr(H) "as" constr(H1) constr(H2) :=
     |pm_reflexivity ||
      let H2 := pretty_ident H2 in
      fail "iOrDestruct:" H2 "not fresh"
-    | |].
+    |(* subgoal 1 *)
+    |(* subgoal 2 *)].
 
 (** * Conjunction and separating conjunction *)
 Tactic Notation "iSplit" :=
@@ -981,7 +982,9 @@ Tactic Notation "iSplit" :=
   eapply tac_and_split;
     [iSolveTC ||
      let P := match goal with |- FromAnd ?P _ _ => P end in
-     fail "iSplit:" P "not a conjunction"| |].
+     fail "iSplit:" P "not a conjunction"
+    |(* subgoal 1 *)
+    |(* subgoal 2 *)].
 
 Tactic Notation "iSplitL" constr(Hs) :=
   iStartProof;
@@ -994,7 +997,8 @@ Tactic Notation "iSplitL" constr(Hs) :=
     |pm_reflexivity ||
      let Hs := iMissingHyps Hs in
      fail "iSplitL: hypotheses" Hs "not found"
-    | |].
+    |(* subgoal 1 *)
+    |(* subgoal 2 *)].
 
 Tactic Notation "iSplitR" constr(Hs) :=
   iStartProof;
@@ -1007,7 +1011,8 @@ Tactic Notation "iSplitR" constr(Hs) :=
     |pm_reflexivity ||
      let Hs := iMissingHyps Hs in
      fail "iSplitR: hypotheses" Hs "not found"
-    | |].
+    |(* subgoal 1 *)
+    |(* subgoal 2 *)].
 
 Tactic Notation "iSplitL" := iSplitR "".
 Tactic Notation "iSplitR" := iSplitL "".
@@ -1027,7 +1032,8 @@ Local Tactic Notation "iAndDestruct" constr(H) "as" constr(H1) constr(H2) :=
     |pm_reflexivity ||
      let H1 := pretty_ident H1 in
      let H2 := pretty_ident H2 in
-     fail "iAndDestruct:" H1 "or" H2 " not fresh"|].
+     fail "iAndDestruct:" H1 "or" H2 " not fresh"
+    |(* subgoal *)].
 
 Local Tactic Notation "iAndDestructChoice" constr(H) "as" constr(d) constr(H') :=
   eapply tac_and_destruct_choice with _ H _ d H' _ _ _;
@@ -1037,7 +1043,8 @@ Local Tactic Notation "iAndDestructChoice" constr(H) "as" constr(d) constr(H') :
      fail "iAndDestructChoice: cannot destruct" P
     |pm_reflexivity ||
      let H' := pretty_ident H' in
-     fail "iAndDestructChoice:" H' " not fresh"|].
+     fail "iAndDestructChoice:" H' " not fresh"
+    |(* subgoal *)].
 
 (** * Existential *)
 Tactic Notation "iExists" uconstr(x1) :=
@@ -1046,7 +1053,8 @@ Tactic Notation "iExists" uconstr(x1) :=
     [iSolveTC ||
      let P := match goal with |- FromExist ?P _ => P end in
      fail "iExists:" P "not an existential"
-    |pm_prettify; eexists x1].
+    |pm_prettify; eexists x1
+     (* subgoal *) ].
 
 Tactic Notation "iExists" uconstr(x1) "," uconstr(x2) :=
   iExists x1; iExists x2.
@@ -1083,7 +1091,8 @@ Local Tactic Notation "iExistDestruct" constr(H)
     [pm_reflexivity ||
      let Hx := pretty_ident Hx in
      fail "iExistDestruct:" Hx "not fresh"
-    |revert y; intros x].
+    |revert y; intros x
+     (* subgoal *)].
 
 (** * Modality introduction *)
 Tactic Notation "iModIntro" uconstr(sel) :=
@@ -1106,7 +1115,7 @@ Tactic Notation "iModIntro" uconstr(sel) :=
     |pm_reduce; iSolveTC ||
      fail "iModIntro: cannot filter spatial context when goal is not absorbing"
     |pm_prettify (* reduce redexes created by instantiation *)
-    ].
+     (* subgoal *) ].
 Tactic Notation "iModIntro" := iModIntro _.
 Tactic Notation "iAlways" := iModIntro.
 
@@ -1123,7 +1132,8 @@ Tactic Notation "iModCore" constr(H) :=
      let Q := match goal with |- ElimModal _ _ _ _ _ ?Q _ => Q end in
      fail "iMod: cannot eliminate modality " P "in" Q
     |iSolveSideCondition
-    |pm_reflexivity|].
+    |pm_reflexivity
+    |(* subgoal *)].
 
 (** * Basic destruct tactic *)
 Local Ltac iDestructHypGo Hz pat :=