emacs-devel
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

allout-mode fixes - mode-specific settings, auto-fill, deactivation hook


From: Ken Manheimer
Subject: allout-mode fixes - mode-specific settings, auto-fill, deactivation hook
Date: Sat, 8 Jul 2006 11:48:53 -0400

i have new patch for allout.el.  it fixes a few things:

- hooks and mode-specific variable settings are properly set to be local,
  and properly cleaned up on mode deactivation
- auto-fill is not forced active if it wasn't already active when the mode
  was initiated.
- hotspot key handling is modularized, for consistent use everywhere.
- a new hook variable, `allout-mode-deactivation-hook', provides a
  complement to `allout-mode-hook'.

the settings cleanup is implemented with an improved settings
suspension/resumption mechanism, accompanied by some much needed unit
tests.  the unit tests are run after the file is loaded if a new
customization option, `allout-run-unit-tests-after-load', is true.
the idea is that allout code developers set this to true, and are
warned quickly about regressions.

the change-log is included below and also attached.  the patch and a
new version of the NEWS file are also attached.  I'm hoping someone
with commit privileges will have a moment to install these changes.
--
ken
address@hidden
http://myriadicity.net

2006-07-08  Ken Manheimer  <address@hidden>

        * allout.el: Require 'cl.
        (allout-mode-deactivate-hook): New hook, is run when allout mode
        deactivates.
        (allout-developer): New allout customization subgroup.
        (allout-run-unit-tests-after-load): New allout-developer
        customization variable, when true allout unit tests are run after
        file load.
        (allout-inhibit-auto-fill): Disable auto-fill activity even during
        auto-fill-mode.
        (allout-resumptions): Removed, to be replaced by...
        (allout-add-resumptions): Register variable settings to be
        reinstated by `allout-do-resumptions'.  The settings are made
        buffer-local, but the locality/globality of the suspended setting
        is restored on resumption.
        (allout-do-resumptions): Reinstate all settings suspended using
        `allout-add-resumptions'.
        (allout-test-resumptions): Unit tests (and intermediate variables)
        for resumptions.
        (allout-tests-globally-unbound, allout-tests-globally-true)
        (allout-tests-locally-true): Intermediate variables for
        resumptions unit tests.
        (allout-overlay-preparations): Replaces `allout-set-overlay-category'.
        (allout-exposure-category): Replaces 'allout-overlay-category variable.
        (allout-mode): Use `allout-add-resumptions' and `allout-do-resumptions'
        instead of retired `allout-resumptions'.  For hook functions, use
        `local' parameter so hook settings are created and removed as
        buffer-local settings.  Revise (resumptions) setting
        auto-fill-function so it is set only if already active.  (The
        related fill-function settings are all made in either case, so
        that activating auto-fill-mode activity will have the custom
        allout-mode behaviors (hanging indent on topics, if configured for
        it).  Also, remove all allout-exposure-category overlays on mode
        deactivation.
        (allout-hotspot-key-handler): New function extracted from
        `allout-pre-command-business', so the functionality can be used
        for other purposes, eg as a binding in an overlay.
        (allout-pre-command-business): Use new `allout-hotspot-key-handler'.
        (allout-auto-fill): Respect new `allout-inhibit-auto-fill'
        customization variable.
        (allout-run-unit-tests): Run the (currently quite small)
        repertoire of unit tests.  Called from an eval-after-load statement
        if user has customized `allout-run-unit-tests-after-load' non-nil.

Attachment: allout-ChangeLog.txt
Description: Text document

Attachment: allout-NEWS.txt
Description: Text document

Attachment: allout-patch.txt
Description: Text document


reply via email to

[Prev in Thread] Current Thread [Next in Thread]