Deutsch   English   Français   Italiano  
<uti38o$2db80$1@dont-email.me>

View for Bookmarking (what is this?)
Look up another Usenet article

Path: ...!weretis.net!feeder6.news.weretis.net!feeder8.news.weretis.net!eternal-september.org!feeder3.eternal-september.org!news.eternal-september.org!.POSTED!not-for-mail
From: Richard Harnden <richard.nospam@gmail.invalid>
Newsgroups: comp.lang.c
Subject: Re: Block Comments Or Rest-Of-Line Comments?
Date: Thu, 21 Mar 2024 19:54:00 +0000
Organization: A noiseless patient Spider
Lines: 65
Message-ID: <uti38o$2db80$1@dont-email.me>
References: <utgjh0$21nsq$2@dont-email.me> <uthj7e$29aoc$2@dont-email.me>
 <uthne5$2ad1b$1@dont-email.me> <87msqr1j8x.fsf@nosuchdomain.example.com>
 <uti2gj$2d5i5$1@dont-email.me> <87edc31i3e.fsf@nosuchdomain.example.com>
Reply-To: richard.harnden@invalid.com
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8; format=flowed
Content-Transfer-Encoding: 7bit
Injection-Date: Thu, 21 Mar 2024 19:54:00 -0000 (UTC)
Injection-Info: dont-email.me; posting-host="0d45912f7edf2970cf814add7ea10bc5";
	logging-data="2534656"; mail-complaints-to="abuse@eternal-september.org";	posting-account="U2FsdGVkX1+ndsG0xI+Jan/WQYJBncRbKzgL3PZGesA="
User-Agent: Mozilla Thunderbird
Cancel-Lock: sha1:Iqq0Ftn6tiCrbZhXxIguktnZiWE=
In-Reply-To: <87edc31i3e.fsf@nosuchdomain.example.com>
Content-Language: en-GB
Bytes: 3095

On 21/03/2024 19:48, Keith Thompson wrote:
> Richard Harnden <richard.nospam@gmail.invalid> writes:
>> On 21/03/2024 19:23, Keith Thompson wrote:
>>> Richard Harnden <richard.nospam@gmail.invalid> writes:
>>> [...]
>>>> And sometimes, when it's not a really a comment, but rather a block of
>>>> code I don't want right now:
>>>>
>>>> #ifdef 0
>>>> ...
>>>> #endif
>>> I think you mean "#if 0".
>>
>> Yes I did :)
>>
>>> I use that sometimes, but one disadvantage is that if you're viewing
>>> the
>>> middle of a very large block of code, it can be hard to tell that it's
>>> been "commented" out.
>>> I have a script that applies "#if 0" and "#endif" to a block of code
>>> *and* prepends "* " to each line in the block.
>>
>> That's a good ideo.  Can you share it?
> 
> Sure.  It's a Perl script called "if0".  It tries to deal with
> variations in line endings (I sometimes work with code with LF and/or
> CRLF line endings) and with tabs vs. spaces as indentation.
> 
> I don't have a script that undoes what if0 does.  I might write one
> one of these days, but usually I can just revert the change in source
> control or change it back manually.
> 
> Complaints about Perl being write-only will be cheerfully ignored.
> 
> ```
> #!/usr/bin/perl
> 
> use strict;
> use warnings;
> 
> my @lines = <>;
> my $newline = "\n";
> if (defined $lines[0] and $lines[0] =~ /\r$/) {
>      $newline = "\r\n";
> }
> 
> print "#if 0$newline";
> foreach my $line (@lines) {
>      if ($line =~ /^ /) {
>          $line =~ s/ /*/;
>      }
>      elsif ($line =~ /^\r?$/) {
>          $line =~ s/^/*/;
>      }
>      else {
>          $line =~ s/^/* /;
>      }
>      print $line;
> }
> print "#endif /* 0 */$newline";
> ```
> 

Thank you