1598 |
end-name (car (cdr end-struct))) |
end-name (car (cdr end-struct))) |
1599 |
(save-excursion |
(save-excursion |
1600 |
(beginning-of-line) |
(beginning-of-line) |
1601 |
(while |
(while (and (> count 0) (re-search-backward f90-blocks-re nil t)) |
|
(and (not (zerop count)) |
|
|
(let ((stop nil) notexist) |
|
|
(while (not stop) |
|
|
(setq notexist |
|
|
(not (re-search-backward |
|
|
(concat "\\(" f90-blocks-re "\\)") nil t))) |
|
|
(if notexist |
|
|
(setq stop t) |
|
|
(setq stop |
|
|
(not (or (f90-in-string) |
|
|
(f90-in-comment)))))) |
|
|
(not notexist))) |
|
1602 |
(beginning-of-line) |
(beginning-of-line) |
1603 |
(skip-chars-forward " \t0-9") |
(skip-chars-forward " \t0-9") |
1604 |
(cond ((setq matching-beg |
(cond ((or (f90-in-string) (f90-in-comment))) |
1605 |
|
((setq matching-beg |
1606 |
(or |
(or |
1607 |
(f90-looking-at-do) |
(f90-looking-at-do) |
1608 |
(f90-looking-at-if-then) |
(f90-looking-at-if-then) |
1611 |
(f90-looking-at-type-like) |
(f90-looking-at-type-like) |
1612 |
(f90-looking-at-program-block-start))) |
(f90-looking-at-program-block-start))) |
1613 |
(setq count (1- count))) |
(setq count (1- count))) |
1614 |
((looking-at (concat "end[ \t]*" f90-blocks-re "\\b")) |
((looking-at (concat "end[ \t]*" f90-blocks-re)) |
1615 |
(setq count (1+ count))))) |
(setq count (1+ count))))) |
1616 |
(if (not (zerop count)) |
(if (> count 0) |
1617 |
(message "No matching beginning.") |
(message "No matching beginning.") |
1618 |
(f90-update-line) |
(f90-update-line) |
1619 |
(if (eq f90-smart-end 'blink) |
(if (eq f90-smart-end 'blink) |