Function: show-ifdef-block

show-ifdef-block is an interactive and byte-compiled function defined in hideif.el.gz.

Signature

(show-ifdef-block &optional START END)

Documentation

Show the ifdef block (true or false part) enclosing or before the cursor.

Key Bindings

Source Code

;; Defined in /usr/src/emacs/lisp/progmodes/hideif.el.gz
(defun show-ifdef-block (&optional start end)
  "Show the ifdef block (true or false part) enclosing or before the cursor."
  (interactive
   (if (use-region-p)
       (list (region-beginning) (region-end))
     '(nil nil)))
  (if (and (number-or-marker-p start)
           (number-or-marker-p end))
      (progn
        (dolist (o (overlays-in start end))
          (if (overlay-get o 'hide-ifdef)
              (delete-overlay o)))
        (setq mark-active nil))
    (let ((top-bottom (condition-case nil
                          (hif-find-ifdef-block)
                        (error
                         nil)))
          (ovrs (overlays-in (max (point-min) (1- (point)))
                             (min (point-max) (1+ (point)))))
          (del nil))
      (if top-bottom
    (if hide-ifdef-lines
        (hif-show-ifdef-region
         (save-excursion
           (goto-char (car top-bottom)) (line-beginning-position))
         (save-excursion
           (goto-char (1+ (cdr top-bottom)))
           (hif-end-of-line) (point)))
      (setf del (hif-show-ifdef-region
                 (1- (car top-bottom)) (cdr top-bottom)))))
      (if (not (and top-bottom
                    del))
          (dolist (o ovrs)
            ;;(dolist (o (overlays-in (1- (point)) (1+ (point))))
            ;;   (if (overlay-get o 'hide-ifdef) (message "%S" o)))
            (if (overlay-get o 'hide-ifdef)
                (delete-overlay o)))))))