X-Git-Url: https://git.hcoop.net/bpt/emacs.git/blobdiff_plain/573d0a7ecc29ca1cadf213835870d7a95eaf1abd..05756f213fcfa16a02a780e17fff16bd4cbb1aa4:/lisp/elide-head.el diff --git a/lisp/elide-head.el b/lisp/elide-head.el index 9e94d4f095..7c26204d79 100644 --- a/lisp/elide-head.el +++ b/lisp/elide-head.el @@ -1,16 +1,17 @@ -;;; elid-head.el --- hide headers in files +;;; elide-head.el --- hide headers in files -;; Copyright (C) 1999 Free Software Foundation, Inc. +;; Copyright (C) 1999, 2001, 2002, 2003, 2004, 2005, 2006, 2007, +;; 2008, 2009 Free Software Foundation, Inc. ;; Author: Dave Love ;; Keywords: outlines tools ;; This file is part of GNU Emacs. -;; GNU Emacs is free software; you can redistribute it and/or modify +;; 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 2, or (at your option) -;; any later version. +;; 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 @@ -18,9 +19,7 @@ ;; GNU General Public License for more details. ;; You should have received a copy of the GNU General Public License -;; along with GNU Emacs; see the file COPYING. If not, write to the -;; Free Software Foundation, Inc., 59 Temple Place - Suite 330, -;; Boston, MA 02111-1307, USA. +;; along with GNU Emacs. If not, see . ;;; Commentary: @@ -33,10 +32,13 @@ ;; elision. ;; You might add `elide-head' to appropriate major mode hooks or to -;; `find-file-hooks'. Please do not do this in site init files. If +;; `find-file-hook'. Please do not do this in site init files. If ;; you do, information may be hidden from users who don't know it ;; already. +;; Note that `hs-minor-mode' will do a similar job by default, but +;; it's not selective about what leading commentary it hides. + ;; Inspired by jwz's hide-copyleft.el, for which we don't have an ;; assignment. @@ -44,14 +46,16 @@ (defgroup elide-head nil "Eliding copyright headers and the like in source files." + :version "21.1" :prefix "elide-head" :group 'tools) (defcustom elide-head-headers-to-hide - '(("is free software; you can redistribute it" . ; GNU boilerplate - "Boston, MA 02111-1307, USA\\.") + '(("is free software[:;] you can redistribute it" . ; GNU boilerplate + "\\(Boston, MA 0211\\(1-1307\\|0-1301\\), USA\\|\ +If not, see \\)\\.") ("The Regents of the University of California\\. All rights reserved\\." . - "SUCH DAMAGE\\.") ; BSD + "SUCH DAMAGE\\.") ; BSD ("Permission is hereby granted, free of charge" . ; X11 "authorization from the X Consortium\\.")) "Alist of regexps defining start end end of text to elide. @@ -74,7 +78,7 @@ cdr." The header is made invisible with an overlay. With a prefix arg, show an elided material again. -This is suitable as an entry on `find-file-hooks' or appropriate mode hooks." +This is suitable as an entry on `find-file-hook' or appropriate mode hooks." (interactive "P") (if arg (elide-head-show) @@ -89,19 +93,19 @@ This is suitable as an entry on `find-file-hooks' or appropriate mode hooks." (when (re-search-forward (caar rest) nil t) (setq beg (point)) (when (re-search-forward (cdar rest) nil t) - (setq end (point) + (setq end (point-marker) rest nil)))) (if rest (setq rest (cdr rest)))) (if (not (and beg end)) (if (interactive-p) - (error "No header found")) + (message "No header found")) (goto-char beg) (end-of-line) (if (overlayp elide-head-overlay) - (move-overlay elide-head-overlay (point) end) - (setq elide-head-overlay (make-overlay (point) end))) + (move-overlay elide-head-overlay (point-marker) end) + (setq elide-head-overlay (make-overlay (point-marker) end))) (overlay-put elide-head-overlay 'invisible t) - (overlay-put elide-head-overlay 'intangible t) + (overlay-put elide-head-overlay 'evaporate t) (overlay-put elide-head-overlay 'after-string "..."))))))) (defun elide-head-show () @@ -111,8 +115,9 @@ This is suitable as an entry on `find-file-hooks' or appropriate mode hooks." (overlay-buffer elide-head-overlay)) (delete-overlay elide-head-overlay) (if (interactive-p) - (error "No header hidden")))) + (message "No header hidden")))) (provide 'elide-head) +;; arch-tag: a00e6b5b-6aeb-45b1-b734-63e23df80928 ;;; elide-head.el ends here