aboutsummaryrefslogtreecommitdiffstats
path: root/main/augeas/0002-Shellvars-allow-wrapping-builtin-arguments-to-multip.patch
blob: 5dea08e26c812823e4c424559df86185b1a1938f (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
From 0563e64fdd8c8ce3b97d58909697ff7f61c29adb 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 2/5] Shellvars: allow wrapping builtin arguments to multiple
 lines

---
 lenses/shellvars.aug            | 2 +-
 lenses/tests/test_shellvars.aug | 4 ++++
 2 files changed, 5 insertions(+), 1 deletion(-)

diff --git a/lenses/shellvars.aug b/lenses/shellvars.aug
index 60091a9..645d6ed 100644
--- a/lenses/shellvars.aug
+++ b/lenses/shellvars.aug
@@ -44,7 +44,7 @@ module Shellvars =
 
   let anyquot = (char|dquot|squot|dollar_assign|dollar_arithm)+ | bquot | dbquot
 
-  let to_semicol_re = /[^#; \t\n][^#;\n]+[^#; \t\n]|[^#; \t\n]+/
+  let to_semicol_re = /([^#; \t\n\\]|\\\\.)(([^#;\n\\]|\\\\(.|\n))*([^#; \t\n\\]|\\\\.))?/
   let sto_to_semicol = store to_semicol_re
 
   let sto_to_semicol_quot =
diff --git a/lenses/tests/test_shellvars.aug b/lenses/tests/test_shellvars.aug
index e4fd79f..65c2927 100644
--- a/lenses/tests/test_shellvars.aug
+++ b/lenses/tests/test_shellvars.aug
@@ -165,6 +165,10 @@ 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\n" =
+  { "@builtin" = "ulimit" { "args" = "-c \\\nunlimited" } }
+
   (* Test semicolons *)
   test lns get "VAR1=\"this;is;a;test\"\nVAR2=this;\n" =
   { "VAR1" = "\"this;is;a;test\"" }
-- 
1.8.3.1