1223 |
With optional argument NUM, go forward that many balanced blocks. |
With optional argument NUM, go forward that many balanced blocks. |
1224 |
If NUM is negative, go backward to the start of a block. |
If NUM is negative, go backward to the start of a block. |
1225 |
Checks for consistency of block types and labels (if present), |
Checks for consistency of block types and labels (if present), |
1226 |
and completes outermost block if necessary." |
and completes outermost block if necessary. |
1227 |
|
Some of these things (which?) are not done if NUM is nil, |
1228 |
|
which only happens in a noninteractive call." |
1229 |
(interactive "p") |
(interactive "p") |
1230 |
(if (and num (< num 0)) (f90-beginning-of-block (- num))) |
(if (and num (< num 0)) (f90-beginning-of-block (- num))) |
1231 |
(let ((f90-smart-end nil) ; for the final `f90-match-end' |
(let ((f90-smart-end nil) ; for the final `f90-match-end' |
1232 |
(case-fold-search t) |
(case-fold-search t) |
1233 |
(count (or num 1)) |
(count (or num 1)) |
1234 |
start-list start-this start-type start-label end-type end-label) |
start-list start-this start-type start-label end-type end-label) |
1235 |
(if (interactive-p) (push-mark (point) t)) |
(if num (push-mark (point) t)) |
1236 |
(end-of-line) ; probably want this |
(end-of-line) ; probably want this |
1237 |
(while (and (> count 0) (re-search-forward f90-blocks-re nil 'move)) |
(while (and (> count 0) (re-search-forward f90-blocks-re nil 'move)) |
1238 |
(beginning-of-line) |
(beginning-of-line) |
1268 |
(end-of-line)) |
(end-of-line)) |
1269 |
(if (> count 0) (error "Missing block end")) |
(if (> count 0) (error "Missing block end")) |
1270 |
;; Check outermost block. |
;; Check outermost block. |
1271 |
(if (interactive-p) |
(if num |
1272 |
(save-excursion |
(save-excursion |
1273 |
(beginning-of-line) |
(beginning-of-line) |
1274 |
(skip-chars-forward " \t0-9") |
(skip-chars-forward " \t0-9") |