aboutsummaryrefslogtreecommitdiffstats
path: root/main/augeas/0004-Shellvars-allow-wrapping-builtin-arguments-to-multip.patch
blob: ce5eff162fcbfbe49e72886a008fa2d1801f8034 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
From a2c84aed6a77bc93020ff38b97b8c436e9a5e903 Mon Sep 17 00:00:00 2001
From: Kaarle Ritvanen <kaarle.ritvanen@datakunkku.fi>
Date: Thu, 4 Dec 2014 18:25:12 +0200
Subject: [PATCH 04/10] Shellvars: allow wrapping builtin arguments to multiple
 lines

---
 lenses/shellvars.aug            | 4 +---
 lenses/tests/test_shellvars.aug | 5 +++++
 2 files changed, 6 insertions(+), 3 deletions(-)

diff --git a/lenses/shellvars.aug b/lenses/shellvars.aug
index ae2ec90..e318328 100644
--- a/lenses/shellvars.aug
+++ b/lenses/shellvars.aug
@@ -43,9 +43,7 @@ module Shellvars =
   let dollar_arithm = /\$\(\([^\)#\n]*\)\)/
 
   let anyquot = (char|dquot|squot|dollar_assign|dollar_arithm)+ | bquot | dbquot
-
-  let to_semicol_re = /[^#; \t\n][^#;\n]+[^#; \t\n]|[^#; \t\n]+/
-  let sto_to_semicol = store to_semicol_re
+  let sto_to_semicol = store (anyquot . (Rx.space . anyquot)*)
 
   let sto_to_semicol_quot =
        let no_semicol_re = /[^"'#;\n]/
diff --git a/lenses/tests/test_shellvars.aug b/lenses/tests/test_shellvars.aug
index a61bb29..90e529b 100644
--- a/lenses/tests/test_shellvars.aug
+++ b/lenses/tests/test_shellvars.aug
@@ -165,6 +165,11 @@ unset ONBOOT    #   We do not want this var
   { "@builtin" = "exit" }
   { "@builtin" = "exit" { "args" = "2" } }
 
+  (* Allow wrapping builtin arguments to multiple lines *)
+  test Shellvars.lns get "ulimit -c \\\nunlimited\nulimit \\\n -x 123\n" =
+  { "@builtin" = "ulimit" { "args" = "-c \\\nunlimited" } }
+  { "@builtin" = "ulimit" { "args" = "\\\n -x 123" } }
+
   (* Test semicolons *)
   test lns get "VAR1=\"this;is;a;test\"\nVAR2=this;\n" =
   { "VAR1" = "\"this;is;a;test\"" }
-- 
1.8.3.1