emacs-diffs
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

master bd9a09bb6b: elide-head: Make GPL regexp more forgiving


From: Stefan Kangas
Subject: master bd9a09bb6b: elide-head: Make GPL regexp more forgiving
Date: Mon, 3 Jan 2022 03:12:00 -0500 (EST)

branch: master
commit bd9a09bb6b9d636386b8336089e21f0ec15091cf
Author: Stefan Kangas <stefan@marxist.se>
Commit: Stefan Kangas <stefan@marxist.se>

    elide-head: Make GPL regexp more forgiving
    
    * lisp/elide-head.el (elide-head-headers-to-hide): Make GPL regexp
    more forgiving.
    * test/lisp/elide-head-tests.el (elide-head--add-test): New macro.
    (elide-head--test-headers-to-hide/gpl2-1)
    (elide-head--test-headers-to-hide/gpl3-1)
    (elide-head--test-headers-to-hide/gpl3-2)
    (elide-head--test-headers-to-hide/gpl3-3)
    (elide-head--test-headers-to-hide/gpl3-4): New tests.
---
 lisp/elide-head.el            |  11 +++--
 test/lisp/elide-head-tests.el | 105 ++++++++++++++++++++++++++++++++++++++++++
 2 files changed, 113 insertions(+), 3 deletions(-)

diff --git a/lisp/elide-head.el b/lisp/elide-head.el
index 619d350c80..dab51cabc4 100644
--- a/lisp/elide-head.el
+++ b/lisp/elide-head.el
@@ -52,9 +52,14 @@
 (defcustom elide-head-headers-to-hide
   `(;; GNU GPL
     ("is free software[:;] you can redistribute it" .
-     "\\(If not, see <https?://www\\.gnu\\.org/licenses/>\\|\
-Boston, MA 0211\\(1-1307\\|0-1301\\), USA\\|\
-675 Mass Ave, Cambridge, MA 02139, USA\\)\\.")
+     ,(rx (or (seq "If not, see " (? "<")
+                   "http" (? "s") "://www.gnu.org/licenses/"
+                   (? ">") (? " "))
+              (seq "Boston, MA " (? " ")
+                   "0211" (or "1-1307" "0-1301")
+                   (or "  " ", ") "USA")
+              "675 Mass Ave, Cambridge, MA 02139, USA")
+          (? ".")))
     ;; FreeBSD license / Modified BSD license (3-clause)
     (,(rx (or "The Regents of the University of California.  All rights 
reserved."
               "Redistribution and use in source and binary"))
diff --git a/test/lisp/elide-head-tests.el b/test/lisp/elide-head-tests.el
index 7c820db975..804617f48f 100644
--- a/test/lisp/elide-head-tests.el
+++ b/test/lisp/elide-head-tests.el
@@ -58,5 +58,110 @@
       (elide-head-show)
       (should-not (overlays-at 14)))))
 
+(defmacro elide-head--add-test (name text search-str)
+  `(ert-deftest ,(intern (format "elide-head--test-headers-to-hide/%s" name)) 
()
+     (with-temp-buffer
+       (insert ,text)
+       (elide-head)
+       (goto-char (point-min))
+       (re-search-forward ,search-str)
+       (let ((o (car (overlays-at (match-beginning 0)))))
+         (should (overlayp o))
+         (should (overlay-get o 'invisible))
+         (should (overlay-get o 'evaporate))))))
+
+
+;;; GPLv3
+
+;; from Emacs
+(elide-head--add-test gpl3-1 "\
+;; GNU Emacs is free software: you can redistribute it and/or modify
+;; it under the terms of the GNU General Public License as published by
+;; the Free Software Foundation, either version 3 of the License, or
+;; (at your option) any later version.
+;;
+;; GNU Emacs is distributed in the hope that it will be useful,
+;; but WITHOUT ANY WARRANTY; without even the implied warranty of
+;; MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+;; GNU General Public License for more details.
+;;
+;; You should have received a copy of the GNU General Public License
+;; along with GNU Emacs.  If not, see <https://www.gnu.org/licenses/>.
+" "GNU Emacs is distributed in the hope that")
+
+;; from libtorrent
+(elide-head--add-test gpl3-2 "\
+    This library is free software; you can redistribute it and/or
+    modify it under the terms of the GNU Lesser General Public
+    License as published by the Free Software Foundation; either
+    version 2.1 of the License, or (at your option) any later version.
+
+    This library is distributed in the hope that it will be useful,
+    but WITHOUT ANY WARRANTY; without even the implied warranty of
+    MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
+    Lesser General Public License for more details.
+
+    You should have received a copy of the GNU Lesser General Public
+    License along with this library; if not, write to the Free Software
+    Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA  02110-1301  USA
+" "This library is distributed in the hope that")
+
+;; from notmuch
+(elide-head--add-test gpl3-3 "\
+ * This program is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU General Public License as published by
+ * the Free Software Foundation, either version 3 of the License, or
+ * (at your option) any later version.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+ * GNU General Public License for more details.
+ *
+ * You should have received a copy of the GNU General Public License
+ * along with this program.  If not, see https://www.gnu.org/licenses/ .
+" "This program is distributed in the hope that")
+
+;; from fribok
+(elide-head--add-test gpl3-4 "\
+/***************************************************************************
+ *   Copyright (C) 2007, 2009 by J. Random Hacker <jrh@example.org>        *
+ *                                                                         *
+ *   This program is free software: you can redistribute it and/or modify  *
+ *   it under the terms of the GNU General Public License as published by  *
+ *   the Free Software Foundation, either version 3 of the License, or     *
+ *   (at your option) any later version.                                   *
+ *                                                                         *
+ *   This program is distributed in the hope that it will be useful,       *
+ *   but WITHOUT ANY WARRANTY; without even the implied warranty of        *
+ *   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the         *
+ *   GNU General Public License for more details.                          *
+ *                                                                         *
+ *   You should have received a copy of the GNU General Public License     *
+ *   along with this program.  If not, see <http://www.gnu.org/licenses/>  *.
+ *                                                                         *
+ ***************************************************************************/
+" "This program is distributed in the hope that")
+
+
+;;; GPLv2
+
+;; from jackmeter
+(elide-head--add-test gpl2-1 "\
+        This program is free software; you can redistribute it and/or
+        modify it under the terms of the GNU General Public License
+        as published by the Free Software Foundation; either version 2
+        of the License, or (at your option) any later version.
+
+        This program is distributed in the hope that it will be useful,
+        but WITHOUT ANY WARRANTY; without even the implied warranty of
+        MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+        GNU General Public License for more details.
+
+        You should have received a copy of the GNU General Public License
+        along with this program; if not, write to the Free Software
+        Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA  02111-1307, 
USA.
+" "This program is distributed in the hope that")
+
 (provide 'elide-head-tests)
 ;;; elide-head-tests.el ends here



reply via email to

[Prev in Thread] Current Thread [Next in Thread]