Function: cperl-backward-to-noncomment
cperl-backward-to-noncomment is a byte-compiled function defined in
cperl-mode.el.gz.
Signature
(cperl-backward-to-noncomment LIM)
Source Code
;; Defined in /usr/src/emacs/lisp/progmodes/cperl-mode.el.gz
(defun cperl-backward-to-noncomment (lim)
;; Stops at lim or after non-whitespace that is not in comment
;; XXXX Wrongly understands end-of-multiline strings with # as comment
(let (stop p pr)
(while (and (not stop) (> (point) (or lim (point-min))))
(skip-chars-backward " \t\n\f" lim)
(setq p (point))
(beginning-of-line)
(if (memq (setq pr (get-text-property (point) 'syntax-type))
'(pod here-doc here-doc-delim))
(progn
(cperl-unwind-to-safe nil)
(setq pr (get-text-property (point) 'syntax-type))))
(or (and (looking-at "^[ \t]*\\(#\\|$\\)")
(not (memq pr '(string prestring))))
(progn (cperl-to-comment-or-eol) (bolp))
(progn
(skip-chars-backward " \t")
(if (< p (point)) (goto-char p))
(setq stop t))))))