• Luke Lee's avatar
    HideIfDef mode bug fixes and enhancements. This is #3 of 3 patches based · 2c578850
    Luke Lee authored
    on the completed work posted on http://www.emacswiki.org/emacs/HideIfDef.
    - Add macro evaluation function and key binding for a marked region.
    - Merge continuous "..." lines into one.
    - Fix old hideif bugs that fail to hide the correct #elif regions
    - Support hide/show commands in a marked region.
    - Expand top level for .h files to prevent re-inclusion protection.
    - Change maintainer.
    * lisp/progmodes/hideif.el (hide-ifdef-env): Change to global.
    (hide-ifdef-env-backup): New variable.
    (hide-ifdef-expand-reinclusion-protection, hide-ifdef-header-regexp):
    New customizable variables.
    (hif-clear-all-ifdef-defined): New defun.
    (hif-merge-ifdef-region, hide-ifdef-region-internal, hide-ifdef-region)
    (hif-show-ifdef-region): Merge hidden regions to prevent continuous "...".
    (hif-tokenize): Fix for MS-DOS/Win EOL style.
    (hif-endif-to-ifdef, hif-make-range, hif-find-range, hif-possibly-hide):
    Fix bug to hide the correct #elif region(s).
    (hif-range-elif): New defun.
    (hif-recurse-level): New var.
    (hif-evaluate-region, hif-evaluate-macro): New defun.
    (hide-ifdef-guts): Prevent reinclusion protected C/C++ headers from
    fully hidden.
    (hide-ifdef-define, hide-ifdefs, hide-ifdef-block, show-ifdef-block):
    Better interaction.