Commit c2697304 authored by Luke Lee's avatar Luke Lee
Browse files

HideIfDef mode bug fixes and enhancements. This is #2 of 3 patches based

on the completed work posted on http://www.emacswiki.org/emacs/HideIfDef.

- Supporting argumented macro expansion.
- Stringification, tokenization and concatenation of strings and tokens.
- Add functions to find defines and parse argumented macros into a macro
  tree containing macro name, formal parameters and macro body.
- On macro evaluation, macros will be applied with actual parameters and
  then got expanded recursively.
- Merge main trunk changes

* lisp/progmodes/hideif.el (hif-string-to-number): Merge changes from
main trunk.
(hif-simple-token-only, hif-tokenize): Commentted in detail mainly for
performance enhancements.
(hif-parse-if-exp): Rename to `hif-parse-exp'. Enhanced for macro
expansion.
(hif-factor, hif-string-concatenation, intern-safe): Support string
concatenation and argumented macro expansion.
(hif-if-valid-identifier-p, hif-define-operator, hif-flatten)
(hif-expand-token-list, hif-get-argument-list, hif-define-macro)
(hif-delimit, hif-macro-supply-arguments, hif-invoke, hif-canonicalize)
(hif-canonicalize-tokens, hif-looking-at-elif, hif-place-macro-invocation)
(hif-parse-macro-arglist): Mostly new functions for supporting argumented
macro expansion.
(hif-string-concatenation, hif-stringify, hif-token-concat)
(hif-token-stringification, hif-token-concatenation): Stringify and
concatentation.
(hif-find-next-relevant): Fix comments
(hif-ifdef-to-endif, hif-looking-at-elif, hif-hide-line): Bug fix for
some cases involving #elif.
(hif-find-define, hif-add-new-defines): New functions for automatically
scanning of defined symbols.
(hide-ifdef-guts): Fix for auto defined symbol scanning.
(hide-ifdef-undef): Fix behavior to match CPP.
parent cb6ce5ee
This diff is collapsed.
Markdown is supported
0% or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment