diff --git a/lisp/ChangeLog b/lisp/ChangeLog index 8f3858c5e32..a238259d778 100644 --- a/lisp/ChangeLog +++ b/lisp/ChangeLog @@ -1,3 +1,8 @@ +2006-05-20 Martin Rudalics + + * progmodes/hideif.el (show-ifdef-block): Fix bug where parts of + a hidden block remained hidden if `hide-ifdef-lines' is non-nil. + 2006-05-20 Stefan Monnier * progmodes/gud.el (gdb-script-font-lock-keywords): Use a stricter diff --git a/lisp/progmodes/hideif.el b/lisp/progmodes/hideif.el index 04e44e2dac1..a100424108d 100644 --- a/lisp/progmodes/hideif.el +++ b/lisp/progmodes/hideif.el @@ -928,15 +928,17 @@ Return as (TOP . BOTTOM) the extent of ifdef block." (setq hide-ifdef-hiding t)) (setq buffer-read-only (or hide-ifdef-read-only hif-outside-read-only))) - (defun show-ifdef-block () "Show the ifdef block (true or false part) enclosing or before the cursor." (interactive) - (if hide-ifdef-lines - (save-excursion - (beginning-of-line) - (hif-show-ifdef-region (1- (point)) (progn (end-of-line) (point)))) - (let ((top-bottom (hif-find-ifdef-block))) + (let ((top-bottom (hif-find-ifdef-block))) + (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))) (hif-show-ifdef-region (1- (car top-bottom)) (cdr top-bottom)))))