Hi there,<div><br></div><div><br></div><div>This is a patch to support mapping comments in aptsources.aug:</div><div><br></div><div><br></div><div><div>diff --git a/lenses/aptsources.aug b/lenses/aptsources.aug</div><div>index d1fc423..ab47802 100644</div>
<div>--- a/lenses/aptsources.aug</div><div>+++ b/lenses/aptsources.aug</div><div>@@ -7,18 +7,19 @@ module Aptsources =</div><div> </div><div> let eol = Util.del_str "\n"</div><div> </div><div>- let comment = [ del /([ \t]*\n)|(#.*\n)/ "#\n" ]</div>
<div>+ let comment = Util.comment</div><div>+ let empty = Util.empty</div><div> </div><div> let word = /[^# \n\t]+/</div><div> </div><div>- let record = [ seq "source" . [ label "type" . store word ] . sep_ws .</div>
<div>+ let record = [ label "entry" . [ label "type" . store word ] . sep_ws .</div><div> [ label "uri" . store word ] . sep_ws .</div><div> [ label "distribution" . store word ] .</div>
<div> [ label "component" . sep_ws . store word ]* .</div><div> del /[ \t]*(#.*)?/ ""</div><div> . eol ]</div><div> </div>
<div>- let lns = ( comment | record ) *</div><div>+ let lns = ( comment | empty | record ) *</div><div> </div><div> let filter = (incl "/etc/apt/sources.list")</div><div> . (incl "/etc/apt/sources.list.d/*")</div>
<div>diff --git a/lenses/tests/test_aptsource.aug b/lenses/tests/test_aptsource.aug</div><div>index e1ca9c0..fafa320 100644</div><div>--- a/lenses/tests/test_aptsource.aug</div><div>+++ b/lenses/tests/test_aptsource.aug</div>
<div>@@ -4,7 +4,7 @@ module Test_aptsource =</div><div> let multi_components = "deb <a href="http://security.debian.org/">http://security.debian.org/</a> etch/updates main contrib non-free\n"</div><div> </div>
<div> test Aptsources.lns get simple_source =</div><div>- { "1"</div><div>+ { "entry"</div><div> { "type" = "deb" }</div><div> { "uri" = "<a href="ftp://mirror.bytemark.co.uk/debian/">ftp://mirror.bytemark.co.uk/debian/</a>" }</div>
<div> { "distribution" = "etch" }</div><div>@@ -12,7 +12,7 @@ module Test_aptsource =</div><div> }</div><div> </div><div> test Aptsources.lns get multi_components =</div><div>- { "1"</div>
<div>+ { "entry"</div><div> { "type" = "deb" }</div><div> { "uri" = "<a href="http://security.debian.org/">http://security.debian.org/</a>" }</div>
<div> { "distribution" = "etch/updates" }</div><div>@@ -30,8 +30,10 @@ deb <a href="http://security.debian.org/">http://security.debian.org/</a> etch/updates main contrib non-free # security li</div>
<div> deb-src <a href="http://mirror.bytemark.co.uk/debian">http://mirror.bytemark.co.uk/debian</a> etch main contrib non-free\n"</div><div> </div><div> test Aptsources.lns get multi_line =</div><div>- {} {} {}</div>
<div>- { "1"</div><div>+ { "#comment" = "deb <a href="http://www.backports.org/debian/">http://www.backports.org/debian/</a> sarge postfix" }</div><div>+ { "#comment" = "deb <a href="http://people.debian.org/~adconrad">http://people.debian.org/~adconrad</a> sarge subversion" }</div>
<div>+ {}</div><div>+ { "entry"</div><div> { "type" = "deb" }</div><div> { "uri" = "<a href="ftp://mirror.bytemark.co.uk/debian/">ftp://mirror.bytemark.co.uk/debian/</a>" }</div>
<div> { "distribution" = "etch" }</div><div>@@ -39,7 +41,7 @@ deb-src <a href="http://mirror.bytemark.co.uk/debian">http://mirror.bytemark.co.uk/debian</a> etch main contrib non-free\n"</div>
<div> { "component" = "non-free" }</div><div> { "component" = "contrib" }</div><div> }</div><div>- { "2"</div><div>+ { "entry"</div><div>
{ "type" = "deb" }</div><div> { "uri" = "<a href="http://security.debian.org/">http://security.debian.org/</a>" }</div><div> { "distribution" = "etch/updates" }</div>
<div>@@ -47,7 +49,7 @@ deb-src <a href="http://mirror.bytemark.co.uk/debian">http://mirror.bytemark.co.uk/debian</a> etch main contrib non-free\n"</div><div> { "component" = "contrib" }</div>
<div> { "component" = "non-free" }</div><div> }</div><div>- { "3"</div><div>+ { "entry"</div><div> { "type" = "deb-src" }</div><div>
{ "uri" = "<a href="http://mirror.bytemark.co.uk/debian">http://mirror.bytemark.co.uk/debian</a>" }</div><div> { "distribution" = "etch" }</div><div>@@ -60,7 +62,7 @@ deb-src <a href="http://mirror.bytemark.co.uk/debian">http://mirror.bytemark.co.uk/debian</a> etch main contrib non-free\n"</div>
<div> </div><div> (* Should be a noop; makes sure that we preserve the trailing comment *)</div><div> test Aptsources.lns put trailing_comment after</div><div>- set "/1/type" "deb"</div><div>
+ set "/entry/type" "deb"</div><div> = trailing_comment</div><div> </div><div> (* Local Variables: *)</div></div><div><br></div><div><br></div><div><br></div><div>Regards,</div><div><br></div>
<div><br></div><div>Raphaël Pinson</div><div><br></div>