[SCM] Git repository for devscripts branch, master, updated. v2.12.4-43-g227b8b8

Benjamin Drung bdrung at debian.org
Thu Oct 25 20:17:03 UTC 2012


The following commit has been merged in the master branch:
commit 967395659e07a46e6e225a09cbb27c2d9f6e6e73
Author: Raphael Geissert <geissert at debian.org>
Date:   Fri Oct 19 17:59:46 2012 -0500

    Print the line number of opening of unterminated heredoc or quoted str
    
    It is particularly useful when debugging such errors in big scripts.
    
    Signed-off-by: Benjamin Drung <bdrung at debian.org>

diff --git a/scripts/checkbashisms.pl b/scripts/checkbashisms.pl
index 479e782..cb19ad3 100755
--- a/scripts/checkbashisms.pl
+++ b/scripts/checkbashisms.pl
@@ -124,6 +124,7 @@ foreach my $filename (@ARGV) {
     my $found_rules = 0;
     my $buffered_orig_line = "";
     my $buffered_line = "";
+    my %start_lines;
 
     while (<C>) {
 	next unless ($check_lines_count == -1 or $. <= $check_lines_count);
@@ -314,6 +315,7 @@ foreach my $filename (@ARGV) {
 		    # start of a quoted block.
 		    if ($count % 2 == 1) {
 			$quote_string = $quote;
+			$start_lines{'quote_string'} = $.;
 			$line =~ s/^(.*)$quote.*$/$1/;
 			last;
 		    }
@@ -415,13 +417,14 @@ foreach my $filename (@ARGV) {
 		$cat_indented = ($1 && $1 eq '-')? 1 : 0;
 		$cat_string = $2;
 		$cat_string = $3 if not defined $cat_string;
+		$start_lines{'cat_string'} = $.;
             }
 	}
     }
 
-    warn "error: $filename:  Unterminated heredoc found, EOF reached. Wanted: <$cat_string>\n"
+    warn "error: $filename:  Unterminated heredoc found, EOF reached. Wanted: <$cat_string>, opened in line $start_lines{'cat_string'}\n"
 	if ($cat_string ne '');
-    warn "error: $filename: Unterminated quoted string found, EOF reached. Wanted: <$quote_string>\n"
+    warn "error: $filename: Unterminated quoted string found, EOF reached. Wanted: <$quote_string>, opened in line $start_lines{'quote_string'}\n"
 	if ($quote_string ne '');
     warn "error: $filename: EOF reached while on line continuation.\n"
 	if ($buffered_line ne '');

-- 
Git repository for devscripts



More information about the devscripts-devel mailing list