Function: hide-ifdef-guts
hide-ifdef-guts is a byte-compiled function defined in hideif.el.gz.
Signature
(hide-ifdef-guts)
Documentation
Does most of the work of hide-ifdefs.
It does not do the work that's pointless to redo on a recursive entry.
Source Code
;; Defined in /usr/src/emacs/lisp/progmodes/hideif.el.gz
(defun hide-ifdef-guts ()
"Does most of the work of `hide-ifdefs'.
It does not do the work that's pointless to redo on a recursive entry."
(save-excursion
(let* ((case-fold-search t) ; Ignore case for `hide-ifdef-header-regexp'
(expand-header (and hide-ifdef-expand-reinclusion-guard
(buffer-file-name)
(string-match hide-ifdef-header-regexp
(buffer-file-name))
(zerop hif-recurse-level)))
(case-fold-search nil)
min max)
(setq hif-__COUNTER__ 0)
(goto-char (point-min))
(setf min (point))
;; Without this `condition-case' it would be easier to see which
;; operation went wrong thru the backtrace `iff' user realize
;; the underlying meaning of all hif-* operation; for example,
;; `hif-shiftleft' refers to C(++) '<<' operator and floating
;; operation arguments would be invalid.
(condition-case err
(cl-loop do
(setf max (hif-find-any-ifX))
(hif-add-new-defines min max)
(if max
(hif-possibly-hide expand-header))
(setf min (point))
while max)
(error (error "Error: failed at line %d %S"
(line-number-at-pos) err))))))