Merge from emacs--rel--22
[bpt/emacs.git] / lib-src / grep-changelog
index e3d3af2..d2e9ecf 100755 (executable)
@@ -1,7 +1,7 @@
 #! /usr/bin/perl
 
 # Copyright (C) 1999, 2000, 2001, 2002, 2003, 2004,
-#               2005, 2006 Free Software Foundation, Inc.
+#               2005, 2006, 2007 Free Software Foundation, Inc.
 #
 # This file is part of GNU Emacs.
 #
@@ -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");