]> git.eshelyaron.com Git - emacs.git/commitdiff
(hs-flag-region): No longer use `intangible' overlay property.
authorThien-Thi Nguyen <ttn@gnuvola.org>
Fri, 18 Feb 2000 23:35:24 +0000 (23:35 +0000)
committerThien-Thi Nguyen <ttn@gnuvola.org>
Fri, 18 Feb 2000 23:35:24 +0000 (23:35 +0000)
(hs-toggle-hiding): New command.
(hs-mouse-toggle-hiding): Use `hs-toggle-hiding'.

(hs-minor-mode): Move call to `hs-grok-mode-type' early on.
Fix omission bug: Run `hs-minor-mode-hook' for both activation
and deactivation.

lisp/ChangeLog
lisp/progmodes/hideshow.el

index dabc4653ec316da0db5c56004c0ba92a5d7600fa..e44ba00336dc9a4833bf3b5fd584ff9198ee3879 100644 (file)
@@ -1,3 +1,15 @@
+2000-02-18  Thien-Thi Nguyen  <ttn@gnu.org>
+
+       * progmodes/hideshow.el (hs-flag-region): No longer use
+       `intangible' overlay property.
+
+       (hs-toggle-hiding): New command.
+       (hs-mouse-toggle-hiding): Use `hs-toggle-hiding'.
+
+       (hs-minor-mode): Move call to `hs-grok-mode-type' early on.
+       Fix omission bug: Run `hs-minor-mode-hook' for both activation
+       and deactivation.
+
 2000-02-18  Gerd Moellmann  <gerd@gnu.org>
 
        * emacs-lisp/cl-macs.el (caar, cadr, cdar, cddr): Add defsetfs.
 
 2000-02-17  Gerd Moellmann  <gerd@gnu.org>
 
-       * dired-aux.el (dired-do-copy): Remove spurious character.`n' 
+       * dired-aux.el (dired-do-copy): Remove spurious character.`n'
        within the code.
-       
+
 2000-02-16  Dave Love  <fx@gnu.org>
-       
+
        * faces.el: Don't require custom.  Add more specific :groups to
        various deffaces.
        (set-face-attribute): Purecopy args.
        (idlwave-statement-match): Fixed problem with assignment regexp.
        (idlwave-font-lock-keywords): Improved regexp for keyword
        parameters.
-       (idlwave-surround): New argument LENGTH to support padding of 
+       (idlwave-surround): New argument LENGTH to support padding of
        operators longer than 1 char.
 
        * progmodes/idlw-shell.el (idlwave-shell-print): Fixed bug with
        (idlwave-shell-make-new-bp-overlay): Fixed glyph display for Emacs
        21.
        (idlwave-shell-print-expression-function): New option.
-         
+
        * progmodes/idlw-toolbar.el (idlwave-toolbar-add-everywhere,
        idlwave-toolbar-remove-everywhere): Keybindings prefix is now
        `tool-bar' instead of `toolbar'.
        documentation.
        (view-mode-exit): Keep entry in `view-return-to-alist' only when a
        window is not deleted.  Modifies change 1998-04-26.
-       
+
 2000-01-31  Gerd Moellmann  <gerd@gnu.org>
 
        * windmove.el: New file.
        * progmodes/ebnf2ps.el, progmodes/ebnf-bnf.el,
        progmodes/ebnf-iso.el, progmodes/ebnf-otz.el,
        progmodes/ebnf-yac.el: Update copyright and license info.
-       
+
        * jit-lock.el (jit-lock-function): Widen before calculating end
        position.
        (jit-lock-stealth-chunk-start): Rewritten.
        currently selected frame.
        (iswitchb-make-buflist): If iswitchb-use-frame-buffer-list is
        non-nil, pass the selected frame to function buffer-list.
-       
+
 2000-01-29  Vinicius Jose Latorre  <vinicius@cpqd.com.br>
 
        * progmodes/ebnf2ps.el (ebnf-syntax): Doc fix
        * subr.el (dolist, dotimes): Copied from cl-macs.el
        and made to work.
 
-       * mail/undigest.el (rmail-digest-end-regexps): 
+       * mail/undigest.el (rmail-digest-end-regexps):
        Variable replaces rmail-digest-end-regexp.
        Allows multiple regexps for detecting the end line.
        (undigestify-rmail-message): Corresponding changes.
        * emacs-lisp/copyright.el (copyright-update): Removed the
        requirement for a trailing space from `copyright-regexp', to
        support copyrights with owner specified on a separate line..
-       
+
        * align.el: New file.
 
        * menu-bar.el (menu-bar-tools-menu): Add EUDC submenu.
        * net/eudc-bob.el, net/eudc-export.el, net/eudc-hotlist.el,
        net/eudc-vars.el, net/eudc.el, net/eudcb-bbdb.el,
        net/eudcb-ldap.el, net/eudcb-ph.el, net/ldap.el: New files.
-       
+
        * add-log.el (add-change-log-entry): Fix error trying an `(insert
        nil)'.
 
        debug-on-error, and propagate new value to global binding, if
        eval-expression-debug-on-error is non-nil,
        (eval-expression-debug-on-error): Change doc string.
-       
+
 2000-01-11  Richard M. Stallman  <rms@caffeine.ai.mit.edu>
 
        * emacs-lisp/edebug.el (with-syntax-table): Add a def-edebug-spec.
 
        * add-log.el (add-log-current-defun): Handle user-defined
        add-log-current-function returning nil,
-       
+
        * add-log.el (add-change-log-entry): Insert version number
        if having found a current function
 
        * add-log.el (add-log-current-defun): Call
        `add-log-current-defun-function'.  Try matches at level 0 and
        level 1.  Strip whitespace from defun found.
-       
+
 2000-01-10  John Wiegley  <johnw@gnu.org>
 
        * allout.el (isearch-done/outline-provisions): Added `edit'
 
        * vc-hooks.el (vc-parse-buffer): Handle mixtures of dates
        before and after the year 2000.
-       
+
        * textmodes/ispell-merged.el (xemacsp, version18p, version-20p):
        Add ispell- prefix.
 
        already accepted on this line.  Don't allow query-replace on line
        starting with math characters.  Doesn't resend a line already sent
        to ispell process.  Fixes alignment error bug.
-       
+
 2000-01-10  Richard M. Stallman  <rms@caffeine.ai.mit.edu>
 
-       * dired-x.el (dired-guess-shell-alist-default): 
+       * dired-x.el (dired-guess-shell-alist-default):
        Suggest xloadimage, which is free, not xv, which isn't.
 
-       * ange-ftp.el (ange-ftp-file-name-nondirectory): 
+       * ange-ftp.el (ange-ftp-file-name-nondirectory):
        Don't ever include the host name or user name in the value.
 
 2000-01-09  Gerd Moellmann  <gerd@gnu.org>
 
 2000-01-09  Stephen Eglen  <stephen@gnu.org>
 
-       * dired-x.el (dired-guess-shell-alist-default): Suggest xv 
+       * dired-x.el (dired-guess-shell-alist-default): Suggest xv
        for .png files.
 
 2000-01-09  Per Abrahamsen  <abraham@dina.kvl.dk>
        * progmodes/cperl-mode.el: Replace ^F with ^L.
 
        * sendmail.el (toplevel): Provide `sendmail' when compiling
-       before `require'ing rmail and mailalias to prevent infinite 
+       before `require'ing rmail and mailalias to prevent infinite
        recursion.
 
 2000-01-08  Dave Love  <fx@gnu.org>
index 879e14876edc49396ce5f52430599c7305dc0dd7..14e7fe07b590a8a91753e3e9cf4e3a7cec318384 100644 (file)
@@ -29,7 +29,7 @@
 
 ;; * Commands provided
 ;;
-;; This file provides Hideshow Minor Mode.  When active, eight commands
+;; This file provides Hideshow Minor Mode.  When active, nine commands
 ;; are available, implementing block hiding and showing.  They (and their
 ;; keybindings) are:
 ;;
@@ -39,6 +39,7 @@
 ;;   hs-show-all                        C-c S
 ;;   hs-show-region                     C-c R
 ;;   hs-hide-level                      C-c L
+;;   hs-toggle-hiding
 ;;   hs-mouse-toggle-hiding             [(shift button-2)]
 ;;   hs-hide-initial-comment-block
 ;;
 ;;
 ;; where X = {emacs-lisp,c,c++,perl,...}.  You can also manually toggle
 ;; hideshow minor mode by typing `M-x hs-minor-mode'.  After hideshow is
-;; activated, `hs-minor-mode-hook' is run w/ `run-hooks'.  A good hook
-;; to add is `hs-hide-initial-comment-block'.
+;; activated or deactivated, `hs-minor-mode-hook' is run w/ `run-hooks'.
 
 ;; * Bugs
 ;;
   :group 'hideshow)
 
 (defcustom hs-minor-mode-hook nil
-  "*Hook called when hideshow minor mode is activated."
+  "*Hook called when hideshow minor mode is activated or deactivated."
   :type 'hook
   :group 'hideshow)
 
@@ -395,7 +395,6 @@ on what kind of block it is suppose to hide."
     (when flag
       (let ((overlay (make-overlay from to)))
         (overlay-put overlay 'invisible 'hs)
-        (overlay-put overlay 'intangible t)
         (overlay-put overlay 'hs flag)
         (when (or (eq hs-isearch-open t) (eq hs-isearch-open flag))
          (overlay-put overlay 'isearch-open-invisible 'hs-isearch-show)
@@ -766,6 +765,15 @@ The hook `hs-hide-hook' is run; see `run-hooks'."
    (hs-safety-is-job-n)
    (run-hooks 'hs-hide-hook)))
 
+(defun hs-toggle-hiding ()
+  "Toggle hiding/showing of a block.
+See `hs-hide-block' and `hs-show-block'."
+  (interactive)
+  (hs-life-goes-on
+   (if (hs-already-hidden-p)
+       (hs-show-block)
+     (hs-hide-block))))
+
 (defun hs-mouse-toggle-hiding (e)
   "Toggle hiding/showing of a block.
 This command should be bound to a mouse key.
@@ -774,9 +782,7 @@ See `hs-hide-block' and `hs-show-block'."
   (interactive "@e")
   (hs-life-goes-on
    (mouse-set-point e)
-   (if (hs-already-hidden-p)
-       (hs-show-block)
-     (hs-hide-block))))
+   (hs-toggle-hiding)))
 
 (defun hs-hide-initial-comment-block ()
   "Hide the first block of comments in a file.
@@ -800,7 +806,6 @@ With ARG, turn hideshow minor mode on if ARG is positive, off otherwise.
 When hideshow minor mode is on, the menu bar is augmented with hideshow
 commands and the hideshow commands are enabled.
 The value '(hs . t) is added to `buffer-invisibility-spec'.
-Last, the normal hook `hs-minor-mode-hook' is run; see `run-hooks'.
 
 The main commands are: `hs-hide-all', `hs-show-all', `hs-hide-block',
 `hs-show-block', `hs-hide-level' and `hs-show-region'.  There is also
@@ -809,6 +814,8 @@ The main commands are: `hs-hide-all', `hs-show-all', `hs-hide-block',
 Turning hideshow minor mode off reverts the menu bar and the
 variables to default values and disables the hideshow commands.
 
+Lastly, the normal hook `hs-minor-mode-hook' is run using `run-hooks'.
+
 Key bindings:
 \\{hs-minor-mode-map}"
 
@@ -819,14 +826,14 @@ Key bindings:
                        (> (prefix-numeric-value arg) 0)))
   (if hs-minor-mode
       (progn
+        (hs-grok-mode-type)
         (easy-menu-add hs-minor-mode-menu)
         (make-variable-buffer-local 'line-move-ignore-invisible)
         (setq line-move-ignore-invisible t)
-        (add-to-invisibility-spec '(hs . t))            ; hs invisible
-        (hs-grok-mode-type)
-        (run-hooks 'hs-minor-mode-hook))
+        (add-to-invisibility-spec '(hs . t)))
     (easy-menu-remove hs-minor-mode-menu)
-    (remove-from-invisibility-spec '(hs . t))))
+    (remove-from-invisibility-spec '(hs . t)))
+  (run-hooks 'hs-minor-mode-hook))
 
 ;;---------------------------------------------------------------------------
 ;; load-time actions