Function: cperl-comment-indent
cperl-comment-indent is a byte-compiled function defined in
cperl-mode.el.gz.
Signature
(cperl-comment-indent)
Documentation
Called at point at supposed comment.
Source Code
;; Defined in /usr/src/emacs/lisp/progmodes/cperl-mode.el.gz
(defun cperl-comment-indent ()
"Called at point at supposed comment."
(let ((p (point)) (c (current-column)) was phony)
(if (and (not cperl-indent-comment-at-column-0)
(looking-at "^#"))
0 ; Existing comment at bol stays there.
;; Wrong comment found
(save-excursion
(setq was (cperl-to-comment-or-eol)
phony (eq (get-text-property (point) 'syntax-table)
cperl-st-cfence))
(if phony
(progn ; Too naive???
(re-search-forward "#\\|$") ; Hmm, what about embedded #?
(if (eq (preceding-char) ?\#)
(forward-char -1))
(setq was nil)))
(if (= (point) p) ; Our caller found a correct place
(progn
(skip-chars-backward " \t")
(setq was (current-column))
(if (eq was 0)
comment-column
(max (1+ was) ; Else indent at comment column
comment-column)))
;; No, the caller found a random place; we need to edit ourselves
(if was nil
(insert comment-start)
(backward-char (length comment-start)))
(setq cperl-wrong-comment t)
(cperl-make-indent comment-column 1) ; Indent min 1
c)))))