[augeas-devel] Comments after lines
Raphaël Pinson
raphink at gmail.com
Thu May 7 13:53:11 UTC 2009
Hi Jonas,
Thank you for reporting this issue.
On Thu, May 7, 2009 at 9:46 AM, Jonas Eriksson <
jonas.j.eriksson at ericsson.com> wrote:
> Hello
>
> I have been having some trouble with comments when parsing
> modprobe.d-files. To exemplify, ordinary comments work as
> intended, but end-of-line-comments breaks the lens, so to speak:
> ===== modprobe.d/blacklist:
> # this works fine
> blacklist brokenmodule # this does not work
> =====
>
> I propose that either the definition of eol in util.aug is
> changed thusly:
> =====
> diff --git a/lenses/util.aug b/lenses/util.aug
> index 0dced14..ee2845c 100644
> --- a/lenses/util.aug
> +++ b/lenses/util.aug
> @@ -51,7 +51,7 @@ Variable: del_opt_ws
> Variable: eol
> Delete end of line, including optional trailing whitespace
> *)
> - let eol = del /[ \t]*\n/ "\n"
> + let eol = del /[ \t]*(#[^\n]*\n|\n)/ "\n"
>
> (*
> Variable: indent
> =====
>
> ..or that a ceol is defined as the redefined eol, and that this
> is used instead of eol in modprobe.aug and shellvars.aug (it is
> probably fitting for more .aug-files, such as hosts, grub, cron,
> exports, fstab, interfaces, etc. Someone who is more certain at
> this will have to acknowledge):
We have another way of dealing with this, which is to use '(eol|comment)'
instead of 'eol' for the end of lines.
Quite a few lenses are already doing it this way.
Raphaël
> =====
> diff --git a/lenses/modprobe.aug b/lenses/modprobe.aug
> index d61b7a0..5fb3de6 100644
> --- a/lenses/modprobe.aug
> +++ b/lenses/modprobe.aug
> @@ -7,7 +7,7 @@ autoload xfm
>
> let comment = Util.comment
> let empty = Util.empty
> -let eol = Util.eol
> +let eol = Util.ceol
>
> (* modprobe.conf allows continuing a line by ending it with backslash +
> newline; the backslash + newline token is suppressed We handle an
> diff --git a/lenses/shellvars.aug b/lenses/shellvars.aug
> index d3e4bbe..663e581 100644
> --- a/lenses/shellvars.aug
> +++ b/lenses/shellvars.aug
> @@ -3,7 +3,7 @@
> module Shellvars =
> autoload xfm
>
> - let eol = Util.eol
> + let eol = Util.ceol
>
> let key_re = /[A-Za-z0-9_]+(\[[0-9]+\])?/ - "unset" - "export"
> let eq = Util.del_str "="
> diff --git a/lenses/util.aug b/lenses/util.aug
> index 0dced14..20f4919 100644
> --- a/lenses/util.aug
> +++ b/lenses/util.aug
> @@ -54,6 +54,12 @@ Variable: eol
> let eol = del /[ \t]*\n/ "\n"
>
> (*
> +Variable: ceol
> + Delete end of line, including optional trailing whitespace and comment
> +*)
> + let ceol = del /[ \t]*(#[^\n]*\n|\n)/ "\n"
> +
> +(*
> Variable: indent
> Delete indentation, including leading whitespace
> *)
> =====
>
> Best regards,
> Jonas Eriksson
>
> --
> Jonas Eriksson
> Consultant at AS/EAB/FLJ/IL
> Phone: +46 8 58086281
> Combitech AB
> Älvsjö, Sweden
>
> _______________________________________________
> augeas-devel mailing list
> augeas-devel at redhat.com
> https://www.redhat.com/mailman/listinfo/augeas-devel
>
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://listman.redhat.com/archives/augeas-devel/attachments/20090507/c3415fc2/attachment.htm>
More information about the augeas-devel
mailing list