branch: externals/a68-mode
commit ecdc6afa5319ff5bd924bfd0520aa191a062e40e
Author: Jose E. Marchesi <jose.march...@oracle.com>
Commit: Jose E. Marchesi <jose.march...@oracle.com>

    Support for PROGRAM ENCLOSED_CLAUSE FINISH
---
 a68-mode.el | 9 ++++++---
 1 file changed, 6 insertions(+), 3 deletions(-)

diff --git a/a68-mode.el b/a68-mode.el
index 48a361f721..9f65fa8ae7 100644
--- a/a68-mode.el
+++ b/a68-mode.el
@@ -153,6 +153,7 @@
                                  ("OP" ids "=" args ids ":" exp)
                                  ("PROC" ids "=" ids ":" exp))
                       (exports ("KEEP" fields "FINISH"))
+                      (program ("PROGRAM" exp "FINISH"))
                       ;; TODO: this don't cover all the loop
                       ;; possibilities.
                       (loop ("FOR" exp "FROM" exp "TO" exp "BY" exp
@@ -200,9 +201,11 @@
     (`(:after . "=") a68-indent-level)
     (`(:before . "BEGIN")
      (when (or (smie-rule-hanging-p)
-               (and (or (smie-rule-parent-p "PROC")
-                        (smie-rule-parent-p "OP"))
-                    (smie-rule-prev-p ":")))
+               (or
+                (and (or (smie-rule-parent-p "PROC")
+                         (smie-rule-parent-p "OP"))
+                     (smie-rule-prev-p ":"))
+                (smie-rule-parent-p "PROGRAM")))
        (smie-rule-parent)))
     (`(:before . "(")
      (when (smie-rule-hanging-p)

Reply via email to