2005-09-12 Thien-Thi Nguyen * hideshow.el 5.65: state now Rel * hideshow.el 5.64: Commentary munging; nfc. 2005-08-15 Thien-Thi Nguyen * hideshow.el 5.63: state now Rel 2005-05-18 Thien-Thi Nguyen * hideshow.el 5.62: Update copyright; nfc. * hideshow.el 5.61 (hs-allow-nesting): New user var. (hs-discard-overlays): Skip "internal" overlays if nesting allowed. (hs-hide-block-at-point): When nesting allowed, if there is already an overlay in place, delete it. (hs-hide-level-recursive): Don't pre-clean if nesting allowed. (hs-overlay-at): New func. (hs-already-hidden-p): Use `hs-overlay-at'. (hs-hide-all): Don't pre-clean if nesting allowed. (hs-show-all): Temporarily disallow nesting around call to `hs-discard-overlays'. (hs-show-block): Use `hs-overlay-at'. * hideshow.el 5.60 (hs-safety-is-job-n): Delete func; remove call sites. * hideshow.el 5.59 (hs-EXPERIMENTAL-show-block): Delete func. 2004-12-26 Thien-Thi Nguyen * hideshow.el 5.58: state now Rel * hideshow.el 5.57: (hs-isearch-show-temporary): Handle `display' overlay property specially. * hideshow.el 5.56: Commentary munging; nfc. * hideshow.el 5.55: Reindent; nfc. 2004-12-24 Thien-Thi Nguyen * hideshow.el 5.54: (hs-set-up-overlay): Now a regular var; no longer permanent buffer-local. 2004-12-23 Thien-Thi Nguyen * hideshow.el 5.53 (hs-inside-comment-p): Fix omission bug: When extending backwards, move outside the current comment first. 2004-11-05 Thien-Thi Nguyen * hideshow.el 5.52: state now Rel * hideshow.el 5.51: Untabify; nfc. 2004-09-08 Thien-Thi Nguyen * hideshow.el 5.50: state now Rel * hideshow.el 5.49: Add Revision RCS tag. 2004-09-07 Thien-Thi Nguyen * hideshow.el 5.48: state now Rel 2004-08-30 Thien-Thi Nguyen * hideshow.el 5.47: Add "worth-compiling" tag. * hideshow.el 5.46: state now Rel 2004-08-29 Thien-Thi Nguyen * hideshow.el 5.45 (hs-EXPERIMENTAL-show-block): Rename from `hs-show-block'. (hs-show-block): Revert 2004-08-20 change, but update to use property `hs-b-offset' instead of `hs-ofs'. 2004-08-20 Thien-Thi Nguyen * hideshow.el 5.44 (hs-set-up-overlay): New permanent-local var. (hs-make-overlay): Optional args now specify offsets from B and E, respectively. Also, if `hs-set-up-overlay' is non-nil, call it with the new overlay. (hs-hide-block-at-point): Update call to `hs-make-overlay'. (hs-show-block): No longer search for block if end-of-line or at-point overlay is not found. Likewise, do not run hook `hs-show-hook' unless there was showing done. * hideshow.el 5.43 (hs-make-overlay): New func. (hs-flag-region): Delete func. Update callers to first call `hs-discard-overlays' then `hs-make-overlay'. * hideshow.el 5.42 (hs-hide-level-recursive): No longer call `hs-flag-region' with third arg nil. Instead, call `hs-discard-overlays' directly. (hs-hide-all): Likewise. (hs-show-all): Likewise. (hs-show-block): Likewise. * hideshow.el 5.41: Require `cl' when compiling. Throughout, use `dolist' and `add-to-list' where appropriate. 2004-08-06 Thien-Thi Nguyen * hideshow.el 5.40: No longer use Id, RCSfile and Revision version control tags. Instead, use State and Name. 2004-06-11 Thien-Thi Nguyen * hideshow.el 5.39: state now Rel 2004-06-07 Thien-Thi Nguyen * hideshow.el 5.38: Update copyright. No longer use quote or hash-quote for `lambda' forms. 2003-12-07 Thien-Thi Nguyen * hideshow.el 5.37: state now Rel 2003-10-18 Thien-Thi Nguyen * hideshow.el 5.36: Rewrite one-armed `if' constructs using either `when' or `unless'. 2003-10-17 Thien-Thi Nguyen * hideshow.el 5.35 (hs-grok-mode-type): Elide superfluous `progn'; nfc. 2003-09-08 Thien-Thi Nguyen * hideshow.el 5.34 (hs-hide-comments-when-hiding-all): Remove autoload cookie. 2003-09-07 Thien-Thi Nguyen * hideshow.el 5.33: state now Rel * hideshow.el 5.32: Update copyright. (hs-special-modes-alist): Clarify MDATA-SELECTOR doc; nfc. (hs-adjust-block-beginning): Docfix; nfc. 2001-08-27 Thien-Thi Nguyen * hideshow.el 5.31: state now Rel * hideshow.el 5.30 (hs-minor-mode-map): Use mouse-2, not button-2, when binding hs-mouse-toggle-hiding. 2001-08-24 Thien-Thi Nguyen * hideshow.el 5.29: Update description. Update thanks. In commentary, move suggested usage before customization. Add bug 5: interaction/workaround w/ Ediff and `vc-diff'. * hideshow.el 5.28 (hs-isearch-open): Default value now `code'. Fix docstring to use "code blocks" vs "comment blocks", as opposed to "block" vs "comment". (hs-flag-region): Accept `hs-isearch-open' value of `block' as synonymous w/ `code'. (hs-hide-block-at-point): For code blocks, pass `code' to `hs-flag-region' instead of `block'. (hs-minor-mode): Use `make-local-variable' instead of `make-variable-buffer-local'. (Thanks to Stefan Monnier.) 2001-08-22 Thien-Thi Nguyen * hideshow.el 5.27 (hs-flag-region): Fix docstring typo; nfc. 2001-06-11 Thien-Thi Nguyen * hideshow.el 5.26: Add Joseph Eydelnant's "toggle hide all" usage suggestion to commentary. 2001-02-23 Thien-Thi Nguyen * hideshow.el 5.25 (hs-minor-mode-hook): Add `:version "21.1"', per suggestion by Dan Nicolaescu. 2001-02-13 thi * hideshow.el 5.24: state now Rel * hideshow.el 5.23: Use `C-c @' keymap prefix instead of simply `C-c'. 2000-09-12 thi * hideshow.el 5.22: state now Rel 2000-08-06 thi * hideshow.el 5.21 (hs-minor-mode-map): Change all keybindings to not use "C-c LETTER" to roughly imitate those used by Outline mode. Thanks to Francois Pinard. Add new binding for `hs-toggle-hiding'. * hideshow.el 5.20 (hs-show-region): Delete this func. (hs-minor-mode-map): Remove entry for `hs-show-region'. (hs-hide-hook, hs-show-hook, hs-minor-mode): Add toggling commands in docstring. 2000-06-23 thi * hideshow.el 5.19: Fix suggested usage comment, no functional change. Thanks to Dan Nicolaescu. * hideshow.el 5.18 (hs-hide-all-non-comment-function): New var. (hs-hide-all): Use `hs-hide-all-non-comment-function' if non-nil to hide non-comments. Thanks go to Dan Nicolaescu for motivating this idea. * hideshow.el 5.17 (hs-hide-all): Simplify: Factor multiple loops into one. The "Hiding" message now appears for every potential hide site, instead of only when actually hiding -- an informal change, not functional. 2000-04-09 thi * hideshow.el 5.16: Add Bug 4, no functional change. Thanks to Christoph Conrad. 2000-03-14 thi * hideshow.el 5.15 (hs-match-data): Define for Emacs 19. 2000-03-13 thi * hideshow.el 5.14: Comment munging: remove email addresses. No functional change. 2000-02-18 thi * hideshow.el 5.13 (hs-toggle-hiding): New command. (hs-mouse-toggle-hiding): Use `hs-toggle-hiding'. 2000-01-25 thi * hideshow.el 5.12 (hs-minor-mode): Fix omission bug: Run `hs-minor-mode-hook' for both activation and deactivation. When activating, do `hs-grok-mode-type' first to minimize inconsistent state on possible error. (hs-flag-region): Don't use `intangible' overlay property; setting `line-move-ignore-invisible' non-nil is almost always sufficient. 2000-01-05 thi * hideshow.el 5.11: (hs-discard-overlays, hs-flag-region, hs-show-block): Don't use `mapcar' when not accumulating. 1999-12-29 thi * hideshow.el 5.10 (hs-minor-mode-menu): Fix omission bug. Used but not declared. (hs-discard-overlays, hs-isearch-show, hs-isearch-show-temporary, hs-find-block-beginning): Add or modify docstrings. (hs-isearch-show): Rewrite. 1999-12-24 thi * hideshow.el 5.9 (hs-special-modes-alist): Update docstring, no functional change. * hideshow.el 5.8 (hs-match-data): New func for compatibility between Emacs and XEmacs. (hs-hide-block-at-point, hs-find-block-beginning, hs-show-block): Use `hs-match-data'. 1999-12-23 thi * hideshow.el 5.7 (hs-show-block): Fix typo. 1999-12-22 thi * hideshow.el 5.6 (hs-isearch-show, hs-isearch-show-temporary): New funcs extracted from `hs-flag-region', but modified to be compatible w/ distributed isearch.el. (hs-flag-region): Use new funcs instead of inlining. 1999-12-21 thi * hideshow.el 5.5 (hs-headline): Don't allow user configuration via `set-variable'. (hs-minor-mode): Reset `hs-headline'. * hideshow.el 5.4 (hs-headline): New var. (hs-discard-overlays): Specialize, taking only region as arg. Update callers. (hs-flag-region): Set `hs' overlay property w/ useful value, either `block' or `comment'. Update users of property `hs-comment' to look at `hs'. Inline `hs-isearch-open-invisible'. Add support for `isearch-open-invisible-temporary'. (hs-isearch-open-invisible): Move into `hs-flag-region'. (hs-c-like-adjust-block-beginning): Fix typo. (hs-show-block): Inline functionality of `hs-show-block-at-point'. Update header comments. 1999-12-20 thi * hideshow.el 5.3 (hs-hide-level-recursive): Fix omission bug: Handle case where `forward-comment' moves point beyond search boundary. Use `hs-forward-sexp-func' instead of plain `forward-sexp'. * hideshow.el 5.2: Update commentary. (hs-minor-mode-hook): Default to `nil' -- principle of least surprise. (hs-special-modes-alist, hs-minor-mode-map, hs-forward-sexp, hs-hide-block-at-point, hs-safety-is-job-n): Update docstrings. (hs-discard-overlays): Re-implement more simply. (hs-flag-region): Don't move point to eol; let callers do this. (hs-forward-sexp): Add docstring. (hs-hide-comment-region): Add docstring, re-write. (hs-hide-block-at-point): After calling `hs-adjust-block-beginning', unconditionally move to end-of-line. At end, move point to `(min p pure-p)' instead of just `p'. (hs-show-block-at-point): Delete this func, not used. (hs-grok-mode-type): Fix typo. (hs-find-block-beginning): Do not do end-of-line in search loop. Also, use `<' rather than `<=' for comparison. (hs-c-like-adjust-block-beginning): Rewrite docstring. (hs-hide-all): No longer autoload. Update docstring. Eliminate unused var `top-level-re'. (hs-show-all, hs-hide-block, hs-show-region, hs-hide-level, hs-mouse-toggle-hiding, hs-minor-mode): Update docstring. (hs-mouse-toggle-hiding): No longer autoload. (hs-show-block): Use `catch'/`throw'. 1999-12-15 thi * hideshow.el 5.1: Remove all state-related comments. Remove suggestion cor cc-mode users to avoid adding `hs-minor-mode' to `c-mode-common-hook'. This no longer is a problem (at least for GNU Emacs 20.4), the author's testing platform. Add Reto Zimmermann to thanks list. (hs-show-hidden-short-form): Remove func. Update callers to use `t' wherever `hs-show-hidden-short-form' was used. (hs-special-modes-alist): Rework based on new block-start-regexp handling. Add entry for bibtex. (hs-buffer-state-saving, hs-state-file, hs-good-points): Delete vars. (hs-block-start-mdata-select): New var. (hs-flag-region): Also return the overlay. (hs-forward-sexp): New function. (hs-hide-block-at-point): Rework to save mdata and then use `hs-forward-sexp' which wraps user-supplied `hs-forward-sexp-func'. (hs-show-block-at-point): Likewise, use `hs-forward-sexp'. (hs-grok-mode-type): Handle START-RE by itself (for backward compatibility), and now also (START-RE MDATA-SELECT). Based on this, a new var `hs-block-start-mdata-select' is set. (hs-grok-mode-type): Before bombing out w/ an error, set var `hs-minor-mode' to nil. (hs-find-block-beginning): Use `hs-forward-sexp'. (hs-hide-level-recursive): Fix minor bug: Use nil for arg to `hs-flag-region'. Rework to use `hs-block-start-mdata-select'. (life-goes-on): Also bind `case-fold-search' to t in the dynamic context of this macro. (java-hs-forward-sexp): Delete, no longer needed. (hs-c-like-adjust-block-beginning): Slight optimization. (hs-state-sync, hs-state-init, hs-state-set, hs-state-get, hs-state-remove, hs-state-as-file-annotations, hs-infer-state-from-file-annotations, hs-save-state, hs-restore-state): Delete these funcs. (hs-show-all): Use parens in nonaction message (Emacs convention). (hs-show-block): First check end of line for overlay before doing rest of function. (hs-minor-mode, hs-minor-mode-map): Remove state-related code. No longer do load-time action of calling `hs-state-init'. 1999-11-21 thi * hideshow.el 4.36: Update header comments, no functional change. * hideshow.el 4.35 (hs-hide-comment-region): New func. (hs-hide-initial-comment-block): Use `hs-hide-comment-region'. (hs-inside-comment-p): Use "\f" instead of "\C-l" literal. (OLD-hs-find-block-beginning): Renamed from `hs-find-block-beginning'. This will be deleted at some point. (hs-find-block-beginning): Rewrite func to simplify. (hs-state-as-file-annotations, hs-infer-state-from-file-annotations): Clarify error messages. (hs-hide-all): Remove assumption: Do not include "^" in `block-and-comment-re' and `top-level-re'. Move notes to bottom of file. 1999-03-20 thi * hideshow.el 4.34 (hs-show-hidden-short-form): Make permanently buffer-local. * hideshow.el 4.33: Munge copyright. (hs-buffer-state-saving): Allow `file-anno' as a value. (hs-state-as-file-annotations, hs-infer-state-from-file-annotations): New functions, currently just stubs. (hs-minor-mode): Add hooks for using file-annotation state saving. 1998-11-12 thi * hideshow.el 4.32: Make compliant w/ checkdoc (version 0.6.1). 1998-10-21 thi * hideshow.el 4.31: Include Chew Meng Kuan in the thanks list. 1998-10-20 thi * hideshow.el 4.30: Update email addresses in header comment. Include Christoph Conrad in the thanks list. (hs-save-state, hs-restore-state): Init `p' to 1 to handle narrowing. Rename local var `plist' to `slist' for "state list". 1998-10-15 thi * hideshow.el 4.29: When under XEmacs, require `overlay'. (hs-xemacs-p): Delete, not needed. (hs-buffer-points-list): Delete both Emacs and XEmacs versions. (hs-save-state): Incorporate `hs-buffer-points-list' functionality. (hs-save-state, hs-restore-state): Remove requirement that `hs-buffer-state-saving' be non-nil. Don't include `hs-mouse-toggle-hiding' in menu. 1998-10-14 thi * hideshow.el 4.28 (hs-menu-bar, hs-emacs-type): Delete, unused. (hs-xemacs-p): Add, as well as compatibility forms when this is non-nil. (hs-safety-is-job-n): Refine check condition. (hs-buffer-points-list): Add, along with XEmacs variant. (hs-save-state): Use `hs-buffer-points-list'. Wrap w/ `hs-life-goes-on'. (hs-restore-state): Wrap w/ `hs-life-goes-on'. (hs-minor-mode): Use `easy-menu-add' and `easy-menu-remove'. * hideshow.el 4.27: Add Moody Ahmad to the thanks list. (hs-minor-mode-prefix): Delete, unused. (hs-state-remove): Don't do anything if FILE is not in `hs-good-points'. 1998-10-06 thi * hideshow.el 4.26: Add Holger Bauer to "thanks" header comments. 1998-09-27 thi * hideshow.el 4.25: Add Guillaume Leray to the thanks list. 1998-09-25 thi * hideshow.el 4.24: Comment munging (no functional change). 1998-09-22 thi * hideshow.el 4.23: Add Tony Lam to the thanks list. Throughout, comment-in XEmacs-specific code. (hs-state-get): Fix bug: Need to load `hs-state-file' first. 1998-09-21 thi * hideshow.el 4.22: Change Maintainer header comment to point to me. Rename Version header comment to be Maintainer-Version. Add Dave Love to thanks list. (hs-buffer-state-saving, hs-state-file, hs-good-points): Add vars. (hs-flag-region): Add `hs-comment' property to comment-type overalys. (hs-state-sync, hs-state-init, hs-state-set, hs-state-get, hs-state-remove, hs-save-state, hs-restore-state): Add. (hs-minor-mode): Handle `hs-buffer-state-saving'. At load time: (1) In menus, enable `hs-save-state' and `hs-restore-state'. (2) Make `hs-buffer-state-saving' buffer-local. (3) Init `hs-good-points'. 1998-09-13 thi * hideshow.el 4.21 (hs-grok-mode-type): Handle nil `comment-start' and `comment-end'. 1998-05-29 thi * hideshow.el 4.20: Comment out code related to state save/restore. Rework comments, too. * hideshow.el 4.19: Docstring munging. 1998-05-27 thi * hideshow.el 4.18: Make keymap and menu creation table-driven. Use one table. * hideshow.el 4.17 (hs-save-state): Use `setq' / `cons' instead of `push'. * hideshow.el 4.16: Require `easymenu'. Use it to make `hs-minor-mode-menu'. 1998-05-26 thi * hideshow.el 4.15: In header comment, remove unnecessary instructions under "suggested usage". 1998-05-25 thi * hideshow.el 4.14: Update `hs-special-modes-alist' to include latest java support. 1998-05-24 thi * hideshow.el 4.13 (hs-show-block-at-point): Delete var `hs-unbalance-handler-method', so only use code that once was associated w/ the value `top-level'. 1998-05-23 thi * hideshow.el 4.12 (hs-save-state, hs-restore-state): Space optimization: Use one big list instead of many small ones. Also, fix bug in `hs-save-state': var `p' should not be advanced w/ point when not an `hs' overlay. * hideshow.el 4.11: Docstring munging. * hideshow.el 4.10: Doc munging: copyright update; remove LCD entry; add Dan Nicolaescu as an author; add dependencies section; add bugs/caveats section; give special thanks. In `hs-minor-mode-map', add bindings for `hs-save-state', `hs-restore-state' and `hs-hide-level'. Similarly for menu. * hideshow.el 4.9 (hs-save-state, hs-restore-state): Space optimization: Rework to use incremental entries instead of absolute buffer positions. * hideshow.el 4.8 (hs-minor-mode): Add initialization for state save/restore. Also, do `hs-restore-state' when turning on hideshow. * hideshow.el 4.7 (hs-save-state): Fix omission bug: Advance point if not a `hs' overlay. Also, add kludge to make sure var `o' is an overlay. * hideshow.el 4.6 (hs-flag-region): If a comment, record as overlay property `hs-comment'. (hs-save-state, hs-restore-state): Rework to use overlays. * hideshow.el 4.5: Require `edbm', a text database for Emacs. (hs-save-state-option, hs-good-points): Add vars. On load, initialize `hs-good-points'. * hideshow.el 4.4 (hs-hide-level-recursive, hs-hide-level, hs-save-state,hs-restore-state): Add these funcs. Rewrite buffer-local variables section tabularly. * hideshow.el 4.3: Munge "Version" comment. * hideshow.el 4.2: Remove eol whitespace. * hideshow.el 4.1: Capture version corresponding to FSF Emacs 20.2. 1998-01-03 thi * hideshow.el 3.15: state now Rel 1997-11-28 thi * hideshow.el 3.14: Aesthetic munging. 1997-10-20 thi * hideshow.el 3.13 (hs-hide-hooks, hs-show-hooks): Rename these to `hs-hide-hook' and `hs-show-hook', respectively. Those names follow Emacs' conventions. (hs-emacs-type): Add this var to record if we are `lucid'. Nil indicates FSF Emacs. Use this throughout. Rewrite some docstrings for conciseness. 1997-10-17 thi * hideshow.el 3.12: No functional change. Just some farts trying to go from this style: (laksdjflakdsjf ... asldkjflaksdjflakdsjf) to this style: (laksdjflakdsjf ... asldkjflaksdjflakdsjf) 1997-10-16 thi * hideshow.el 3.11 (hs-header-context): Introduce this var to control context before ellipses. * hideshow.el 3.10: Munge header comment: Enhance clarity, introduce new style. 1997-10-13 thi * hideshow.el 3.9: Use "Revision" tag instead of "Id" in header comments. * hideshow.el 3.8: At load-time, separate keymap and menu creation. Rewrite menu-creation code to be easily extendable. * hideshow.el 3.7 (hs-minor-mode): Fix usage bug: Use `add-submenu' instead of `add-menu' stuff. 1997-10-12 thi * hideshow.el 3.4.2.5: Fix control flow bug: Move compiler-fodder stubs to else-clause from if-clause. * hideshow.el 3.4.2.4 (hs-minor-mode): Fix usage bug: Use `add-submenu' instead of `add-menu' stuff. * hideshow.el 3.4.2.3: Fix control flow bug: Put `progn' around then-clause, otherwise second form and afterwards is interpreted as else-clause. * hideshow.el 3.4.2.2: Actual capture (wtf is 3.4.2.1?). * hideshow.el 3.4.2.1: Capture version corresponding to XEmacs 19.15. * hideshow.el 3.4.1.1: Capture version corresponding to FSF Emacs 19.34.1. 1995-02-01 thi * hideshow.el 3.6: Capitalize docstrings and header comments. Beef up doc strings for hs-minor-mode and do other non-functionality-related munging. 1994-12-17 thi * hideshow.el 3.5: Expand check for lucid to look for 'lucid or 'xemacs. Add save/restore state (another dependency: edbm.el) -- a few more variables and a few more funcs. Add hs-hide-level to hide ARG levels down from point. More docs, see esp. the 'suggested usage' header comment. 1994-10-18 thi * hideshow.el 3.4: Use (point-min) instead of 1 so as to not break narrowed regions. Use eval-when-compile on xemacs vars to silence byte-compiler. Suggested usage comment block now more informative (and efficient). Add counter to hs-hide-all (user feedback). Change refs to \s( and \s) to use hs-block-{begin,end}-regexp. Abstract forward-sexp, add variable hs-forward-sexp-func that's user-settable through hs-special-modes-alist. Minimally test w/ simula mode (only works w/ lowest level blocks). Speed up loops by pre-concat'ing regexps. 1994-10-12 thi * hideshow.el 3.3: Fixed minor bug in hs-hide-all that would cause stuff like char *a = "blah blah \( blah"; int foo (int i) { return i + 1; } to signal unbalanced parens on the paren in the string. Added new variable hs-special-modes-alist, q.v., that allows other major modes besides c-ish and lisp-ish ones to register their 'block' delimiters (hideshow will use defaults if not clued-in). (hs-hide-all): Now leaves point at beginning of line instead of at end of buffer. Followed more gnu conventions, in preparation for hideshow's inclusion in emacs (yay!). 1994-10-07 thi * hideshow.el 3.2: Add dependency: emacs-vers.el. Add xemacs (menubar) support. Add hs-show-region for emergencies. Add variable hs-unbalance-handler-method, which can be one of: top-level, next-line, signal, or ignore. (hs-show-block-at-point): case-condition's "unbalanced parens". uses variable hs-unbalance-handler-method to d.t.r.t. More comments. Remove major mode creation -- it was superfluous. Simplify minor mode creation. Add defvars for internal variables. Use some gnu style conventions. 1994-10-05 thi * hideshow.el 3.1: Initial checkin, setting rev to 3.1 cuz that's what the world sees.