From: Stefan Kangas Date: Mon, 3 Jan 2022 08:02:29 +0000 (+0100) Subject: elide-head: Make GPL regexp more forgiving X-Git-Tag: emacs-29.0.90~3285 X-Git-Url: http://git.eshelyaron.com/gitweb/?a=commitdiff_plain;h=bd9a09bb6b9d636386b8336089e21f0ec15091cf;p=emacs.git 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. --- diff --git a/lisp/elide-head.el b/lisp/elide-head.el index 619d350c803..dab51cabc41 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 \\|\ -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 7c820db9758..804617f48ff 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 . +" "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 * + * * + * 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 *. + * * + ***************************************************************************/ +" "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