update-copyright: support @copyright{} and ©
authorJoel E. Denny <jdenny@clemson.edu>
Tue, 4 Aug 2009 03:06:24 +0000 (23:06 -0400)
committerJim Meyering <meyering@redhat.com>
Tue, 4 Aug 2009 15:58:08 +0000 (17:58 +0200)
* build-aux/update-copyright: Implement and document.
* tests/test-update-copyright.sh: Test.

ChangeLog
build-aux/update-copyright
tests/test-update-copyright.sh

index f08df79..da9a2bd 100644 (file)
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,3 +1,9 @@
+2009-08-03  Joel E. Denny  <jdenny@clemson.edu>
+
+       update-copyright: support @copyright{} and &copy;
+       * build-aux/update-copyright: Implement and document.
+       * tests/test-update-copyright.sh: Test.
+
 2009-08-04  Jim Meyering  <meyering@redhat.com>
 
        update-copyright-tests: correctly test EOL=\r\n handling
index 4a70333..b14dc50 100755 (executable)
@@ -46,15 +46,15 @@ my $VERSION = '2009-08-04.07:25'; # UTC
 # looks like the start of a copyright statement.  For example, each of
 # these by itself is fine:
 #
-#   Copyright (C) 1990-2005, 2007-2009 Free Software Foundation,
-#   Inc.
+#   Copyright @copyright{} 1990-2005, 2007-2009 Free Software
+#   Foundation, Inc.
 #
-#   # Copyright (c) 1990-2005, 2007-2009 Free Software
+#   # Copyright (C) 1990-2005, 2007-2009 Free Software
 #   # Foundation, Inc.
 #
 #   /*
-#    * Copyright (C) 90,2005,2007-2009 Free Software
-#    * Foundation, Inc.
+#    * Copyright &copy; 90,2005,2007-2009
+#    * Free Software Foundation, Inc.
 #    */
 #
 # However, the following format is not recognized because the line
@@ -77,9 +77,10 @@ my $VERSION = '2009-08-04.07:25'; # UTC
 # breaks one.  The worst that can happen is that a file is not updated
 # and a warning is issued.
 #
-#   1. The format is "Copyright (C)" (where "(C)" can be "(c)"), then a
-#      list of copyright years, and then the name of the copyright
-#      holder, which is "Free Software Foundation, Inc.".
+#   1. The format is "Copyright (C)" (where "(C)" can also be "(c)",
+#      "@copyright{}", or "&copy;"), then a list of copyright years, and
+#      then the name of the copyright holder, which is "Free Software
+#      Foundation, Inc.".
 #   2. "Copyright (C)" appears at the beginning of a line except that it
 #      may be prefixed by any sequence (e.g., a comment) of no more than
 #      5 characters.
@@ -105,7 +106,7 @@ if (!$this_year || $this_year !~ m/^\d\d(\d\d)?$/) {
   my ($sec, $min, $hour, $mday, $month, $year) = localtime (time ());
   $this_year = $year + 1900;
 }
-my $copyright = 'Copyright \([cC]\)';
+my $copyright = 'Copyright (?:\([cC]\)|@copyright{}|&copy;)';
 my $holder = 'Free Software Foundation, Inc.';
 my $prefix_max = 5;
 my $margin = 72;
index d8f0d0c..00ae5da 100755 (executable)
@@ -24,17 +24,17 @@ TMP_BASE=update-copyright.test
 
 TMP=$TMP_BASE-ex
 cat > $TMP.1 <<EOF
-Copyright (C) 1990-2005, 2007-2009 Free Software Foundation,
-Inc.
+Copyright @copyright{} 1990-2005, 2007-2009 Free Software
+Foundation, Inc.
 EOF
 cat > $TMP.2 <<EOF
-# Copyright (c) 1990-2005, 2007-2009 Free Software
+# Copyright (C) 1990-2005, 2007-2009 Free Software
 # Foundation, Inc.
 EOF
 cat > $TMP.3 <<EOF
 /*
- * Copyright (C) 90,2005,2007-2009 Free Software
- * Foundation, Inc.
+ * Copyright &copy; 90,2005,2007-2009
+ * Free Software Foundation, Inc.
  */
 EOF
 cat > $TMP.4 <<EOF
@@ -59,17 +59,17 @@ $TMP.4: warning: FSF copyright statement not found
 $TMP.5: warning: FSF copyright statement not found
 EOF
 diff -u - $TMP.1 <<EOF || exit 1
-Copyright (C) 1990-2005, 2007-2009 Free Software Foundation,
-Inc.
+Copyright @copyright{} 1990-2005, 2007-2009 Free Software
+Foundation, Inc.
 EOF
 diff -u - $TMP.2 <<EOF || exit 1
-# Copyright (c) 1990-2005, 2007-2009 Free Software
+# Copyright (C) 1990-2005, 2007-2009 Free Software
 # Foundation, Inc.
 EOF
 diff -u - $TMP.3 <<EOF || exit 1
 /*
- * Copyright (C) 90,2005,2007-2009 Free Software
- * Foundation, Inc.
+ * Copyright &copy; 90,2005,2007-2009
+ * Free Software Foundation, Inc.
  */
 EOF
 diff -u - $TMP.4 <<EOF || exit 1
@@ -94,14 +94,15 @@ $TMP.4: warning: FSF copyright statement not found
 $TMP.5: warning: FSF copyright statement not found
 EOF
 diff -u - $TMP.1 <<EOF || exit 1
-Copyright (C) 1990-2005, 2007-2010 Free Software Foundation, Inc.
+Copyright @copyright{} 1990-2005, 2007-2010 Free Software Foundation,
+Inc.
 EOF
 diff -u - $TMP.2 <<EOF || exit 1
-# Copyright (c) 1990-2005, 2007-2010 Free Software Foundation, Inc.
+# Copyright (C) 1990-2005, 2007-2010 Free Software Foundation, Inc.
 EOF
 diff -u - $TMP.3 <<EOF || exit 1
 /*
- * Copyright (C) 90, 2005, 2007-2010 Free Software Foundation, Inc.
+ * Copyright &copy; 90, 2005, 2007-2010 Free Software Foundation, Inc.
  */
 EOF
 diff -u - $TMP.4 <<EOF || exit 1