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