Function: idlwave-previous-statement
idlwave-previous-statement is an interactive and byte-compiled
function defined in idlwave.el.gz.
Signature
(idlwave-previous-statement)
Documentation
Move point to beginning of the previous statement.
Returns t if the current line before moving is the beginning of the first non-comment statement in the file, and nil otherwise.
Key Bindings
Source Code
;; Defined in /usr/src/emacs/lisp/progmodes/idlwave.el.gz
(defun idlwave-previous-statement ()
"Move point to beginning of the previous statement.
Returns t if the current line before moving is the beginning of
the first non-comment statement in the file, and nil otherwise."
(interactive)
(let (first-statement)
(if (not (= (forward-line -1) 0))
;; first line in file
t
;; skip blank lines, label lines, include lines and line comments
(while (and
;; The current statement is the first statement until we
;; reach another statement.
(setq first-statement
(or
(looking-at idlwave-comment-line-start-skip)
(looking-at "[ \t]*$")
(looking-at (concat "[ \t]*" idlwave-label "[ \t]*$"))
(looking-at "^@")))
(= (forward-line -1) 0)))
;; skip continuation lines
(while (and
(save-excursion
(forward-line -1)
(idlwave-is-continuation-line))
(= (forward-line -1) 0)))
first-statement)))