]> code.delx.au - gnu-emacs/commitdiff
When called with no arguments (not even a filter), show help instead of
authorJuanma Barranquero <lekktu@gmail.com>
Thu, 2 Nov 2006 11:52:15 +0000 (11:52 +0000)
committerJuanma Barranquero <lekktu@gmail.com>
Thu, 2 Nov 2006 11:52:15 +0000 (11:52 +0000)
blindingly dumping every single ChangeLog available.  Doc fix.  Update version.

lib-src/grep-changelog

index e3d3af2c577743abf125b5d75081397720892d0f..8c19486ea2e16c60ce2061d69247a5170b049537 100755 (executable)
@@ -36,22 +36,33 @@ use vars qw($author $regexp $exclude $from_date $to_date
             @entries);
 
 use Getopt::Long;
-my $result = GetOptions ("author=s" => \$author,
-                         "text=s"  => \$regexp,
-                         "exclude=s"  => \$exclude,
-                         "from-date=s" => \$from_date,
-                         "to-date=s" => \$to_date,
-                         "rcs-log" => \$rcs_log,
-                         "with-date" => \$with_date,
-                         "reverse!" => \$reverse,
-                         "version" => \$version,
-                         "help"    => \$help);
-
-# If date options are specified, check that they have the format
-# YYYY-MM-DD.
-
-$result = 0 if $from_date && $from_date !~ /^\d\d\d\d-\d\d-\d\d$/;
-$result = 0 if $to_date && $to_date !~ /^\d\d\d\d-\d\d-\d\d$/;
+
+my $result;
+
+if (@ARGV == 0) {
+
+    # No arguments cannot posibly mean "show everything"!!
+    $result = 0;
+
+} else {
+
+    $result = GetOptions ("author=s" => \$author,
+                          "text=s"  => \$regexp,
+                          "exclude=s"  => \$exclude,
+                          "from-date=s" => \$from_date,
+                          "to-date=s" => \$to_date,
+                          "rcs-log" => \$rcs_log,
+                          "with-date" => \$with_date,
+                          "reverse!" => \$reverse,
+                          "version" => \$version,
+                          "help"    => \$help);
+
+    # If date options are specified, check that they have the format
+    # YYYY-MM-DD.
+
+    $result = 0 if $from_date && $from_date !~ /^\d\d\d\d-\d\d-\d\d$/;
+    $result = 0 if $to_date && $to_date !~ /^\d\d\d\d-\d\d-\d\d$/;
+}
 
 # Print usage information and exit when necessary.
 
@@ -77,7 +88,7 @@ Valid options are:
   --help                 Print this help
 
 If no CHANGELOG is specified scan the files "ChangeLog" and
-"ChangeLog.1+" in the current directory.  Old-style dates in ChangeLogs
+"ChangeLog.N+" in the current directory.  Old-style dates in ChangeLogs
 are not recognized.
 USAGE
     exit !$help;
@@ -86,7 +97,7 @@ USAGE
 # Print version info and exit if `--version' was specified.
 
 if ($version) {
-    print "0.2\n";
+    print "0.3\n";
     exit 0;
 }
 
@@ -233,7 +244,7 @@ sub parse_changelog {
 
 # If files were specified on the command line, parse those files in the
 # order supplied by the user; otherwise parse default files ChangeLog and
-# ChangeLog.1+ according to $reverse.
+# ChangeLog.NNN according to $reverse.
 unless (@ARGV > 0) {
     @ARGV = ("ChangeLog");