Function: cperl-at-end-of-expr
cperl-at-end-of-expr is a byte-compiled function defined in
cperl-mode.el.gz.
Signature
(cperl-at-end-of-expr &optional LIM)
Source Code
;; Defined in /usr/src/emacs/lisp/progmodes/cperl-mode.el.gz
(defun cperl-at-end-of-expr (&optional lim)
;; Since the SEXP approach below is very fragile, do some overengineering
(or (looking-at (concat cperl-maybe-white-and-comment-rex "[;}]"))
(condition-case nil
(save-excursion
;; If nothing interesting after, does as (forward-sexp -1);
;; otherwise fails, or ends at a start of following sexp.
;; XXXX PROBLEMS: if what follows (after ";") @FOO, or ${bar}
;; may be stuck after @ or $; just put some stupid workaround now:
(let ((p (point)))
(forward-sexp 1)
(forward-sexp -1)
(while (memq (preceding-char) (append "%&@$*" nil))
(forward-char -1))
(or (< (point) p)
(cperl-after-expr-p lim))))
(error t))))