Elias,

Here's a patch that allows gnu-apl-indent-amounts to be specified in a
file's mode-line. See additional comments in the patch file (attached).
This patch allows specification of gnu-apl-indent-amounts as a
buffer-local variable in the mode line of a file.

For example:
⍝ -*- mode: gnu-apl; gnu-apl-indent-amounts: (0 1 1 2) -*-

The local variable is accepted only if well-formed and reasonable.

diff --git a/gnu-apl-mode.el b/gnu-apl-mode.el
index 9b8210f..bda6a12 100644
--- a/gnu-apl-mode.el
+++ b/gnu-apl-mode.el
@@ -110,6 +110,13 @@ The ∇s are always flush-left, as are all lines outside of functions."
                (integer :tag "Number of spaces before comment line   ")
                (integer :tag "Number of spaces before label          ")
                (integer :tag "Number of space before other lines     "))
+  :safe '(lambda (v)
+           (and (listp v)
+                (= 4 (length v))
+                (every 'integerp v)
+                (every '(lambda (n)
+                          (and (>= n 0) (<= n 6)))
+                       v)))
   :group 'gnu-apl)
 
 ;;;###autoload

Reply via email to