From: hugo rivera <uair00@gmail.com>
To: Fans of the OS Plan 9 from Bell Labs <9fans@9fans.net>
Subject: Re: [9fans] Sam commands in acme
Date: Fri, 26 Jun 2009 13:54:12 +0200 [thread overview]
Message-ID: <138575260906260454k2865f408t7e438cc8b8e9bb11@mail.gmail.com> (raw)
In-Reply-To: <a81fe9be0906260342q627bac3dje8b61c327beea261@mail.gmail.com>
I tested the command you suggested (,x/\/\*/.,/\*\//) and it works as
I wanted, thanks. But there's something I still don't understand and
is the meaning of that comma in there. As far as I know, the comma is
a mark that delimits the addresses that acme understands, but I do
not know how a comma is interpreted inside a regexp. I'd really
appreciate if you could clarify this matter to me.
2009/6/26 yy <yiyu.jgl@gmail.com>:
> 2009/6/26 hugo rivera <uair00@gmail.com>:
>> Hi,
>> I am trying to select all c comments from within a file using acme,
>> but I am unable to do it properly. The command x/\/\*.*\*\// is the
>> closest I could get, but it doesn't work with comments that span over
>> more than one line. This raises a question for me: somewhere, I cannot
>> recall where, I read that commands in sam (and therefore acme) aren't
>> line oriented but selection oriented, so, shouldn't '.*' match newline
>> characters also? why it doesn't? I expected '.*' to work with newline
>> characters since it works for spaces and tabs, and the three of them
>> are white space, among others.
>
> You could use (\n|.) to match any character including newlines
> (regex(6) says that a new line is not cosidered "any character", and
> as a matter of fact, \n is part of the sam language, not of regex
> itself). However, since the longest possible regex will be matched,
> then you will also match the end of the comment, so for example in:
> /* comment 1 */
> bar
> /* comment 2 */
> you will match everything, I don't think that is what you want.
>
>> And finally, what command I should use to select c comments without
>> regard if they are several lines long or just one?
>
> Edit ,x/\/\*/.,/\*\//c/COMMENT/
>
> The possibility of modifying the dot is powerful. Many times it is
> much easier than finding an huge regex.
>
>> Saludos
>> --
>> Hugo
>>
>>
>
> Un saludo,
>
>
> --
> - yiyus || JGL .
>
>
--
Hugo
next prev parent reply other threads:[~2009-06-26 11:54 UTC|newest]
Thread overview: 11+ messages / expand[flat|nested] mbox.gz Atom feed top
2009-06-26 9:50 hugo rivera
2009-06-26 10:42 ` yy
2009-06-26 11:54 ` hugo rivera [this message]
2009-06-26 12:05 ` Rudolf Sykora
2009-06-26 12:21 ` hugo rivera
2009-06-26 10:57 ` roger peppe
2009-06-27 18:17 ` J.R. Mauro
2009-06-27 19:20 ` Rob Pike
2009-06-27 20:32 ` J.R. Mauro
2009-06-29 17:03 ` roger peppe
2009-06-29 17:20 ` erik quanstrom
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=138575260906260454k2865f408t7e438cc8b8e9bb11@mail.gmail.com \
--to=uair00@gmail.com \
--cc=9fans@9fans.net \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).