]> git.eshelyaron.com Git - emacs.git/commitdiff
Require `cl' when compiling.
authorThien-Thi Nguyen <ttn@gnuvola.org>
Fri, 24 Dec 2004 02:08:14 +0000 (02:08 +0000)
committerThien-Thi Nguyen <ttn@gnuvola.org>
Fri, 24 Dec 2004 02:08:14 +0000 (02:08 +0000)
Remove XEmacs and Emacs 19 compatibility.
Use `dolist' and `add-to-list' for load-time actions.
(hs-discard-overlays): Use `dolist'.
(hs-show-block): Likewise.

lisp/ChangeLog
lisp/progmodes/hideshow.el

index 2cb780af94c9bb082f0a6e138a4fe939391aa992..aebf3cc4285e2f607beae11f210aa31298433919 100644 (file)
@@ -1,3 +1,11 @@
+2004-12-24  Thien-Thi Nguyen  <ttn@gnu.org>
+
+       * progmodes/hideshow.el: Require `cl' when compiling.
+       Remove XEmacs and Emacs 19 compatibility.
+       Use `dolist' and `add-to-list' for load-time actions.
+       (hs-discard-overlays): Use `dolist'.
+       (hs-show-block): Likewise.
+
 2004-12-23  Dan Nicolaescu  <dann@ics.uci.edu>
 
        * faces.el (mode-line, mode-line-inactive): Use min-colors.
index 3be0efa612aaf326a35822a4602a16dcfef6900c..3bd5dd2a1f60411e66645166f2f0bb8a67c1cef7 100644 (file)
@@ -5,7 +5,7 @@
 ;; Author: Thien-Thi Nguyen <ttn@gnu.org>
 ;;      Dan Nicolaescu <dann@ics.uci.edu>
 ;; Keywords: C C++ java lisp tools editing comments blocks hiding outlines
-;; Maintainer-Version: n/a (presently)
+;; Maintainer-Version: 5.39.2.8
 ;; Time-of-Day-Author-Most-Likely-to-be-Recalcitrant: early morning
 
 ;; This file is part of GNU Emacs.
 ;;; Code:
 
 (require 'easymenu)
+(eval-when-compile (require 'cl))
 
 ;;---------------------------------------------------------------------------
 ;; user-configurable variables
@@ -374,28 +375,6 @@ Note that `mode-line-format' is buffer-local.")
 ;;---------------------------------------------------------------------------
 ;; system dependency
 
-; ;; xemacs compatibility
-; (when (string-match "xemacs\\|lucid" emacs-version)
-;   ;; use pre-packaged compatiblity layer
-;   (require 'overlay))
-;
-; ;; xemacs and emacs-19 compatibility
-; (when (or (not (fboundp 'add-to-invisibility-spec))
-;           (not (fboundp 'remove-from-invisibility-spec)))
-;   ;; `buffer-invisibility-spec' mutators snarfed from Emacs 20.3 lisp/subr.el
-;   (defun add-to-invisibility-spec (arg)
-;     (cond
-;      ((or (null buffer-invisibility-spec) (eq buffer-invisibility-spec t))
-;       (setq buffer-invisibility-spec (list arg)))
-;      (t
-;       (setq buffer-invisibility-spec
-;             (cons arg buffer-invisibility-spec)))))
-;   (defun remove-from-invisibility-spec (arg)
-;     (when buffer-invisibility-spec
-;       (setq buffer-invisibility-spec
-;             (delete arg buffer-invisibility-spec)))))
-
-;; hs-match-data
 (defalias 'hs-match-data 'match-data)
 
 ;;---------------------------------------------------------------------------
@@ -405,12 +384,9 @@ Note that `mode-line-format' is buffer-local.")
   "Delete hideshow overlays in region defined by FROM and TO."
   (when (< to from)
     (setq from (prog1 to (setq to from))))
-  (let ((ovs (overlays-in from to)))
-    (while ovs
-      (let ((ov (car ovs)))
-        (when (overlay-get ov 'hs)
-          (delete-overlay ov)))
-      (setq ovs (cdr ovs)))))
+  (dolist (ov (overlays-in from to))
+    (when (overlay-get ov 'hs)
+      (delete-overlay ov))))
 
 (defun hs-isearch-show (ov)
   "Delete overlay OV, and set `hs-headline' to nil.
@@ -773,18 +749,15 @@ See documentation for functions `hs-hide-block' and `run-hooks'."
    (or
     ;; first see if we have something at the end of the line
     (catch 'eol-begins-hidden-region-p
-      (let ((here (point))
-            (ovs (save-excursion (end-of-line) (overlays-at (point)))))
-        (while ovs
-          (let ((ov (car ovs)))
-            (when (overlay-get ov 'hs)
-              (goto-char
-               (cond (end (overlay-end ov))
-                     ((eq 'comment (overlay-get ov 'hs)) here)
-                     (t (+ (overlay-start ov) (overlay-get ov 'hs-ofs)))))
-              (delete-overlay ov)
-              (throw 'eol-begins-hidden-region-p t)))
-          (setq ovs (cdr ovs)))
+      (let ((here (point)))
+        (dolist (ov (save-excursion (end-of-line) (overlays-at (point))))
+          (when (overlay-get ov 'hs)
+            (goto-char
+             (cond (end (overlay-end ov))
+                   ((eq 'comment (overlay-get ov 'hs)) here)
+                   (t (+ (overlay-start ov) (overlay-get ov 'hs-ofs)))))
+            (delete-overlay ov)
+            (throw 'eol-begins-hidden-region-p t)))
         nil))
     ;; not immediately obvious, look for a suitable block
     (let ((c-reg (hs-inside-comment-p))
@@ -913,27 +886,19 @@ Key bindings:
              )))))
 
 ;; some housekeeping
-(or (assq 'hs-minor-mode minor-mode-map-alist)
-    (setq minor-mode-map-alist
-          (cons (cons 'hs-minor-mode hs-minor-mode-map)
-                minor-mode-map-alist)))
-(or (assq 'hs-minor-mode minor-mode-alist)
-    (setq minor-mode-alist (append minor-mode-alist
-                                   (list '(hs-minor-mode " hs")))))
+(add-to-list 'minor-mode-map-alist (cons 'hs-minor-mode hs-minor-mode-map))
+(add-to-list 'minor-mode-alist '(hs-minor-mode " hs") t)
 
 ;; make some variables permanently buffer-local
-(let ((vars '(hs-minor-mode
-              hs-c-start-regexp
-              hs-block-start-regexp
-              hs-block-start-mdata-select
-              hs-block-end-regexp
-              hs-forward-sexp-func
-              hs-adjust-block-beginning)))
-  (while vars
-    (let ((var (car vars)))
-      (make-variable-buffer-local var)
-      (put var 'permanent-local t))
-    (setq vars (cdr vars))))
+(dolist (var '(hs-minor-mode
+               hs-c-start-regexp
+               hs-block-start-regexp
+               hs-block-start-mdata-select
+               hs-block-end-regexp
+               hs-forward-sexp-func
+               hs-adjust-block-beginning))
+  (make-variable-buffer-local var)
+  (put var 'permanent-local t))
 
 ;;---------------------------------------------------------------------------
 ;; that's it