;; You should have received a copy of the GNU General Public License
;; along with GNU Emacs. If not, see <https://www.gnu.org/licenses/>.
-;;; Corrections made by Ilya Zakharevich ilyaz@cpan.org
+;; Corrections made by Ilya Zakharevich ilyaz@cpan.org
;;; Commentary:
;; (define-key global-map [M-S-down-mouse-3] 'imenu)
-;;; Font lock bugs as of v4.32:
+;;;; Font lock bugs as of v4.32:
;; The following kinds of Perl code erroneously start strings:
;; \$` \$' \$"
;;; Code:
\f
+(eval-when-compile (require 'cl-lib))
+
(defvar vc-rcs-header)
(defvar vc-sccs-header)
(defvar font-lock-background-mode) ; not in Emacs
(defvar font-lock-display-type) ; ditto
(defvar paren-backwards-message) ; Not in newer XEmacs?
- (or (fboundp 'defgroup)
- (defmacro defgroup (_name _val _doc &rest _)
- nil))
- (or (fboundp 'custom-declare-variable)
- (defmacro defcustom (name val doc &rest _)
- `(defvar ,name ,val ,doc)))
- (or (fboundp 'custom-declare-variable)
- (defmacro defface (&rest _)
- nil))
- ;; Avoid warning (tmp definitions)
- (or (fboundp 'x-color-defined-p)
- (defmacro x-color-defined-p (col)
- (cond ((fboundp 'color-defined-p) `(color-defined-p ,col))
- ;; XEmacs >= 19.12
- ((fboundp 'valid-color-name-p) `(valid-color-name-p ,col))
- ;; XEmacs 19.11
- ((fboundp 'x-valid-color-name-p) `(x-valid-color-name-p ,col))
- (t '(error "Cannot implement color-defined-p")))))
(defmacro cperl-is-face (arg) ; Takes quoted arg
(cond ((fboundp 'find-face)
`(find-face ,arg))
:type 'integer
:group 'cperl-indentation-details)
-;; Is is not unusual to put both things like perl-indent-level and
-;; cperl-indent-level in the local variable section of a file. If only
+;; It is not unusual to put both things like perl-indent-level and
+;; cperl-indent-level in the local variable section of a file. If only
;; one of perl-mode and cperl-mode is in use, a warning will be issued
-;; about the variable. Autoload these here, so that no warning is
+;; about the variable. Autoload these here, so that no warning is
;; issued when using either perl-mode or cperl-mode.
;;;###autoload(put 'cperl-indent-level 'safe-local-variable 'integerp)
;;;###autoload(put 'cperl-brace-offset 'safe-local-variable 'integerp)
:type 'face
:group 'cperl-faces)
-;;; Some double-evaluation happened with font-locks... Needed with 21.2...
+;; Some double-evaluation happened with font-locks... Needed with 21.2...
(defvar cperl-singly-quote-face (featurep 'xemacs))
(defcustom cperl-invalid-face 'underline
(defun cperl-putback-char (c) ; XEmacs >= 19.12
(push (character-to-event c) unread-command-events)))
-(or (fboundp 'uncomment-region)
- (defun uncomment-region (beg end)
- (interactive "r")
- (comment-region beg end -1)))
-
(defvar cperl-do-not-fontify
;; FIXME: This is not doing what it claims!
(if (string< emacs-version "19.30")
;; (setq interpreter-mode-alist (append interpreter-mode-alist
;; '(("miniperl" . perl-mode))))))
(eval-when-compile
- (mapc (lambda (p)
- (condition-case nil
- (require p)
- (error nil)))
- '(imenu easymenu etags timer man info))
- (if (fboundp 'ps-extend-face-list)
- (defmacro cperl-ps-extend-face-list (arg)
- `(ps-extend-face-list ,arg))
- (defmacro cperl-ps-extend-face-list (_)
- `(error "This version of Emacs has no `ps-extend-face-list'")))
- ;; Calling `cperl-enable-font-lock' below doesn't compile on XEmacs,
- ;; macros instead of defsubsts don't work on Emacs, so we do the
- ;; expansion manually. Any other suggestions?
- (require 'cl))
+ (mapc #'require '(imenu easymenu etags timer man info)))
(define-abbrev-table 'cperl-mode-abbrev-table
;; FIXME: Use a separate abbrev table for that, enabled conditionally,
["Class Hierarchy from TAGS" cperl-tags-hier-init t]
;;["Update classes" (cperl-tags-hier-init t) tags-table-list]
("Tags"
-;;; ["Create tags for current file" cperl-etags t]
-;;; ["Add tags for current file" (cperl-etags t) t]
-;;; ["Create tags for Perl files in directory" (cperl-etags nil t) t]
-;;; ["Add tags for Perl files in directory" (cperl-etags t t) t]
-;;; ["Create tags for Perl files in (sub)directories"
-;;; (cperl-etags nil 'recursive) t]
-;;; ["Add tags for Perl files in (sub)directories"
-;;; (cperl-etags t 'recursive) t])
-;;;; cperl-write-tags (&optional file erase recurse dir inbuffer)
+ ;; ["Create tags for current file" cperl-etags t]
+ ;; ["Add tags for current file" (cperl-etags t) t]
+ ;; ["Create tags for Perl files in directory" (cperl-etags nil t) t]
+ ;; ["Add tags for Perl files in directory" (cperl-etags t t) t]
+ ;; ["Create tags for Perl files in (sub)directories"
+ ;; (cperl-etags nil 'recursive) t]
+ ;; ["Add tags for Perl files in (sub)directories"
+ ;; (cperl-etags t 'recursive) t])
+ ;; ;;? cperl-write-tags (&optional file erase recurse dir inbuffer)
["Create tags for current file" (cperl-write-tags nil t) t]
["Add tags for current file" (cperl-write-tags) t]
["Create tags for Perl files in directory"
The expansion is entirely correct because it uses the C preprocessor."
t)
-;;; These two must be unwound, otherwise take exponential time
+;; These two must be unwound, otherwise take exponential time
(defconst cperl-maybe-white-and-comment-rex "[ \t\n]*\\(#[^\n]*\n[ \t\n]*\\)*"
"Regular expression to match optional whitespace with interspersed comments.
Should contain exactly one group.")
-;;; This one is tricky to unwind; still very inefficient...
+;; This one is tricky to unwind; still very inefficient...
(defconst cperl-white-and-comment-rex "\\([ \t\n]\\|#[^\n]*\n\\)+"
"Regular expression to match whitespace with interspersed comments.
Should contain exactly one group.")
(defun cperl-char-ends-sub-keyword-p (char)
"Return T if CHAR is the last character of a perl sub keyword."
- (loop for keyword in cperl-sub-keywords
- when (eq char (aref keyword (1- (length keyword))))
- return t))
+ (cl-loop for keyword in cperl-sub-keywords
+ when (eq char (aref keyword (1- (length keyword))))
+ return t))
-;;; Details of groups in this are used in `cperl-imenu--create-perl-index'
-;;; and `cperl-outline-level'.
-;;;; Was: 2=sub|package; now 2=package-group, 5=package-name 8=sub-name (+3)
+;; Details of groups in this are used in `cperl-imenu--create-perl-index'
+;; and `cperl-outline-level'.
+;; Was: 2=sub|package; now 2=package-group, 5=package-name 8=sub-name (+3)
(defvar cperl-imenu--function-name-regexp-perl
(concat
"^\\(" ; 1 = all
(cperl-make-indent comment-column 1) ; Indent min 1
c)))))
-;;;(defun cperl-comment-indent-fallback ()
-;;; "Is called if the standard comment-search procedure fails.
-;;;Point is at start of real comment."
-;;; (let ((c (current-column)) target cnt prevc)
-;;; (if (= c comment-column) nil
-;;; (setq cnt (skip-chars-backward "[ \t]"))
-;;; (setq target (max (1+ (setq prevc
-;;; (current-column))) ; Else indent at comment column
-;;; comment-column))
-;;; (if (= c comment-column) nil
-;;; (delete-backward-char cnt)
-;;; (while (< prevc target)
-;;; (insert "\t")
-;;; (setq prevc (current-column)))
-;;; (if (> prevc target) (progn (delete-char -1) (setq prevc (current-column))))
-;;; (while (< prevc target)
-;;; (insert " ")
-;;; (setq prevc (current-column)))))))
+;;(defun cperl-comment-indent-fallback ()
+;; "Is called if the standard comment-search procedure fails.
+;;Point is at start of real comment."
+;; (let ((c (current-column)) target cnt prevc)
+;; (if (= c comment-column) nil
+;; (setq cnt (skip-chars-backward "[ \t]"))
+;; (setq target (max (1+ (setq prevc
+;; (current-column))) ; Else indent at comment column
+;; comment-column))
+;; (if (= c comment-column) nil
+;; (delete-backward-char cnt)
+;; (while (< prevc target)
+;; (insert "\t")
+;; (setq prevc (current-column)))
+;; (if (> prevc target) (progn (delete-char -1) (setq prevc (current-column))))
+;; (while (< prevc target)
+;; (insert " ")
+;; (setq prevc (current-column)))))))
(defun cperl-indent-for-comment ()
"Substitute for `indent-for-comment' in CPerl."
(defun cperl-beginning-of-property (p prop &optional lim)
"Given that P has a property PROP, find where the property starts.
Will not look before LIM."
- ;;; XXXX What to do at point-max???
+;;; XXXX What to do at point-max???
(or (previous-single-property-change (cperl-1+ p) prop lim)
(point-min))
-;;; (cond ((eq p (point-min))
-;;; p)
-;;; ((and lim (<= p lim))
-;;; p)
-;;; ((not (get-text-property (1- p) prop))
-;;; p)
-;;; (t (or (previous-single-property-change p look-prop lim)
-;;; (point-min))))
+ ;; (cond ((eq p (point-min))
+ ;; p)
+ ;; ((and lim (<= p lim))
+ ;; p)
+ ;; ((not (get-text-property (1- p) prop))
+ ;; p)
+ ;; (t (or (previous-single-property-change p look-prop lim)
+ ;; (point-min))))
)
(defun cperl-sniff-for-indent (&optional parse-data) ; was parse-start
(cond
(what
(let ((action (cadr what)))
- (cond ((fboundp action) (apply action (list i parse-data)))
+ (cond ((functionp action) (apply action (list i parse-data)))
((numberp action) (+ action (current-indentation)))
(t action))))
;;
(or now (put-text-property b e 'cperl-postpone (cons type val)))
(put-text-property b e type val)))
-;;; Here is how the global structures (those which cannot be
-;;; recognized locally) are marked:
+;; Here is how the global structures (those which cannot be
+;; recognized locally) are marked:
;; a) PODs:
;; Start-to-end is marked `in-pod' ==> t
;; Each non-literal part is marked `syntax-type' ==> `pod'
;; (or 0 if declaration); up to `{' or ';': `syntax-type' => `sub-decl'.
;; f) Multiline my/our declaration lists etc: `syntax-type' => `multiline'
-;;; In addition, some parts of RExes may be marked as `REx-interpolated'
-;;; (value: 0 in //o, 1 if "interpolated variable" is whole-REx, t otherwise).
+;; In addition, some parts of RExes may be marked as `REx-interpolated'
+;; (value: 0 in //o, 1 if "interpolated variable" is whole-REx, t otherwise).
(defun cperl-unwind-to-safe (before &optional end)
;; if BEFORE, go to the previous start-of-line on each step of unwinding
(setq end (point)))))
(or end pos)))))
-;;; These are needed for byte-compile (at least with v19)
+;; These are needed for byte-compile (at least with v19)
(defvar cperl-nonoverridable-face)
(defvar font-lock-variable-name-face)
(defvar font-lock-function-name-face)
(goto-char endbracket) ; just in case something misbehaves???
t))
-;;; Debugging this may require (setq max-specpdl-size 2000)...
+;; Debugging this may require (setq max-specpdl-size 2000)...
(defun cperl-find-pods-heres (&optional min max non-inter end ignore-max end-of-here-doc)
"Scans the buffer for hard-to-parse Perl constructions.
If `cperl-pod-here-fontify' is not-nil after evaluation, will fontify
(setq REx-subgr-end qtag) ;End smart-highlighted
;; Apparently, I can't put \] into a charclass
;; in m]]: m][\\\]\]] produces [\\]]
-;;; POSIX? [:word:] [:^word:] only inside []
+;;; POSIX? [:word:] [:^word:] only inside []
;;; "\\=\\(\\\\.\\|[^][\\\\]\\|\\[:\\^?\sw+:]\\|\\[[^:]\\)*]")
(while ; look for unescaped ]
(and argument
(forward-sexp -1)
(looking-at (concat cperl-sub-regexp "[ \t\n\f#]"))))))))))
-;;; What is the difference of (cperl-after-block-p lim t) and (cperl-block-p)?
-;;; No save-excursion; condition-case ... In (cperl-block-p) the block
-;;; may be a part of an in-statement construct, such as
-;;; ${something()}, print {FH} $data.
-;;; Moreover, one takes positive approach (looks for else,grep etc)
-;;; another negative (looks for bless,tr etc)
+;; What is the difference of (cperl-after-block-p lim t) and (cperl-block-p)?
+;; No save-excursion; condition-case ... In (cperl-block-p) the block
+;; may be a part of an in-statement construct, such as
+;; ${something()}, print {FH} $data.
+;; Moreover, one takes positive approach (looks for else,grep etc)
+;; another negative (looks for bless,tr etc)
(defun cperl-after-block-p (lim &optional pre-block)
"Return true if the preceding } (if PRE-BLOCK, following {) delimits a block.
Would not look before LIM. Assumes that LIM is a good place to begin a
(defun cperl-outline-level ()
(looking-at outline-regexp)
(cond ((not (match-beginning 1)) 0) ; beginning-of-file
-;;;; 2=package-group, 5=package-name 8=sub-name 16=head-level
+ ;; 2=package-group, 5=package-name 8=sub-name 16=head-level
((match-beginning 2) 0) ; package
((match-beginning 8) 1) ; sub
((match-beginning 16)
(if (memq major-mode '(perl-mode cperl-mode))
(progn
(or cperl-faces-init (cperl-init-faces)))))))
- (if (fboundp 'eval-after-load)
- (eval-after-load
- "ps-print"
- '(or cperl-faces-init (cperl-init-faces)))))))
+ (eval-after-load
+ "ps-print"
+ '(or cperl-faces-init (cperl-init-faces))))))
(defvar cperl-font-lock-keywords-1 nil
"Additional expressions to highlight in Perl mode. Minimal set.")
(cons
(concat
"\\(^\\|[^$@%&\\]\\)\\<\\("
+ ;; FIXME: Use regexp-opt.
(mapconcat
#'identity
(append
(list
(concat
"\\(^\\|[^$@%&\\]\\)\\<\\("
+ ;; FIXME: Use regexp-opt.
;; "CORE" "__FILE__" "__LINE__" "__SUB__" "abs" "accept" "alarm"
;; "and" "atan2" "bind" "binmode" "bless" "caller"
;; "chdir" "chmod" "chown" "chr" "chroot" "close"
'("\\[\\(\\^\\)" 1 font-lock-negation-char-face prepend)))
(setq
t-font-lock-keywords-1
- (and (fboundp 'turn-on-font-lock) ; Check for newer font-lock
- ;; not yet as of XEmacs 19.12, works with 21.1.11
- (or
- (not (featurep 'xemacs))
- (string< "21.1.9" emacs-version)
- (and (string< "21.1.10" emacs-version)
- (string< emacs-version "21.1.2")))
- '(
- ("\\(\\([@%]\\|\\$#\\)[a-zA-Z_:][a-zA-Z0-9_:]*\\)" 1
- (if (eq (char-after (match-beginning 2)) ?%)
- 'cperl-hash-face
- 'cperl-array-face)
- t) ; arrays and hashes
- ("\\(\\([$@]+\\)[a-zA-Z_:][a-zA-Z0-9_:]*\\)[ \t]*\\([[{]\\)"
- 1
- (if (= (- (match-end 2) (match-beginning 2)) 1)
- (if (eq (char-after (match-beginning 3)) ?{)
- 'cperl-hash-face
- 'cperl-array-face) ; arrays and hashes
- font-lock-variable-name-face) ; Just to put something
- t)
- ("\\(@\\|\\$#\\)\\(\\$+\\([a-zA-Z_:][a-zA-Z0-9_:]*\\|[^ \t\n]\\)\\)"
- (1 cperl-array-face)
- (2 font-lock-variable-name-face))
- ("\\(%\\)\\(\\$+\\([a-zA-Z_:][a-zA-Z0-9_:]*\\|[^ \t\n]\\)\\)"
- (1 cperl-hash-face)
- (2 font-lock-variable-name-face))
- ;;("\\([smy]\\|tr\\)\\([^a-z_A-Z0-9]\\)\\(\\([^\n\\]*||\\)\\)\\2")
- ;;; Too much noise from \s* @s[ and friends
- ;;("\\(\\<\\([msy]\\|tr\\)[ \t]*\\([^ \t\na-zA-Z0-9_]\\)\\|\\(/\\)\\)"
- ;;(3 font-lock-function-name-face t t)
- ;;(4
- ;; (if (cperl-slash-is-regexp)
- ;; font-lock-function-name-face 'default) nil t))
- )))
+ '(
+ ("\\(\\([@%]\\|\\$#\\)[a-zA-Z_:][a-zA-Z0-9_:]*\\)" 1
+ (if (eq (char-after (match-beginning 2)) ?%)
+ 'cperl-hash-face
+ 'cperl-array-face)
+ t) ; arrays and hashes
+ ("\\(\\([$@]+\\)[a-zA-Z_:][a-zA-Z0-9_:]*\\)[ \t]*\\([[{]\\)"
+ 1
+ (if (= (- (match-end 2) (match-beginning 2)) 1)
+ (if (eq (char-after (match-beginning 3)) ?{)
+ 'cperl-hash-face
+ 'cperl-array-face) ; arrays and hashes
+ font-lock-variable-name-face) ; Just to put something
+ t)
+ ("\\(@\\|\\$#\\)\\(\\$+\\([a-zA-Z_:][a-zA-Z0-9_:]*\\|[^ \t\n]\\)\\)"
+ (1 cperl-array-face)
+ (2 font-lock-variable-name-face))
+ ("\\(%\\)\\(\\$+\\([a-zA-Z_:][a-zA-Z0-9_:]*\\|[^ \t\n]\\)\\)"
+ (1 cperl-hash-face)
+ (2 font-lock-variable-name-face))
+;;("\\([smy]\\|tr\\)\\([^a-z_A-Z0-9]\\)\\(\\([^\n\\]*||\\)\\)\\2")
+;;; Too much noise from \s* @s[ and friends
+ ;;("\\(\\<\\([msy]\\|tr\\)[ \t]*\\([^ \t\na-zA-Z0-9_]\\)\\|\\(/\\)\\)"
+ ;;(3 font-lock-function-name-face t t)
+ ;;(4
+ ;; (if (cperl-slash-is-regexp)
+ ;; font-lock-function-name-face 'default) nil t))
+ ))
(if cperl-highlight-variables-indiscriminately
(setq t-font-lock-keywords-1
(append t-font-lock-keywords-1
;; Do it the dull way, without choose-color
(defvar cperl-guessed-background nil
"Display characteristics as guessed by cperl.")
- ;; (or (fboundp 'x-color-defined-p)
- ;; (defalias 'x-color-defined-p
- ;; (cond ((fboundp 'color-defined-p) 'color-defined-p)
- ;; ;; XEmacs >= 19.12
- ;; ((fboundp 'valid-color-name-p) 'valid-color-name-p)
- ;; ;; XEmacs 19.11
- ;; (t 'x-valid-color-name-p))))
(cperl-force-face font-lock-constant-face
"Face for constant and label names")
(cperl-force-face font-lock-variable-name-face
(let ((background
(if (boundp 'font-lock-background-mode)
font-lock-background-mode
- 'light))
- ;; (face-list (and (fboundp 'face-list) (face-list)))
- )
- ;; (fset 'cperl-is-face
- ;; (cond ((fboundp 'find-face)
- ;; (symbol-function 'find-face))
- ;; (face-list
- ;; (function (lambda (face) (member face face-list))))
- ;; (t
- ;; (function (lambda (face) (boundp face))))))
+ 'light)))
(defvar cperl-guessed-background
(if (and (boundp 'font-lock-display-type)
(eq font-lock-display-type 'grayscale))
(if (x-color-defined-p "orchid1")
"orchid1"
"orange")))))
-;;; (if (cperl-is-face 'font-lock-other-emphasized-face) nil
-;;; (copy-face 'bold-italic 'font-lock-other-emphasized-face)
-;;; (cond
-;;; ((eq background 'light)
-;;; (set-face-background 'font-lock-other-emphasized-face
-;;; (if (x-color-defined-p "lightyellow2")
-;;; "lightyellow2"
-;;; (if (x-color-defined-p "lightyellow")
-;;; "lightyellow"
-;;; "light yellow"))))
-;;; ((eq background 'dark)
-;;; (set-face-background 'font-lock-other-emphasized-face
-;;; (if (x-color-defined-p "navy")
-;;; "navy"
-;;; (if (x-color-defined-p "darkgreen")
-;;; "darkgreen"
-;;; "dark green"))))
-;;; (t (set-face-background 'font-lock-other-emphasized-face "gray90"))))
-;;; (if (cperl-is-face 'font-lock-emphasized-face) nil
-;;; (copy-face 'bold 'font-lock-emphasized-face)
-;;; (cond
-;;; ((eq background 'light)
-;;; (set-face-background 'font-lock-emphasized-face
-;;; (if (x-color-defined-p "lightyellow2")
-;;; "lightyellow2"
-;;; "lightyellow")))
-;;; ((eq background 'dark)
-;;; (set-face-background 'font-lock-emphasized-face
-;;; (if (x-color-defined-p "navy")
-;;; "navy"
-;;; (if (x-color-defined-p "darkgreen")
-;;; "darkgreen"
-;;; "dark green"))))
-;;; (t (set-face-background 'font-lock-emphasized-face "gray90"))))
+ ;; (if (cperl-is-face 'font-lock-other-emphasized-face) nil
+ ;; (copy-face 'bold-italic 'font-lock-other-emphasized-face)
+ ;; (cond
+ ;; ((eq background 'light)
+ ;; (set-face-background 'font-lock-other-emphasized-face
+ ;; (if (x-color-defined-p "lightyellow2")
+ ;; "lightyellow2"
+ ;; (if (x-color-defined-p "lightyellow")
+ ;; "lightyellow"
+ ;; "light yellow"))))
+ ;; ((eq background 'dark)
+ ;; (set-face-background 'font-lock-other-emphasized-face
+ ;; (if (x-color-defined-p "navy")
+ ;; "navy"
+ ;; (if (x-color-defined-p "darkgreen")
+ ;; "darkgreen"
+ ;; "dark green"))))
+ ;; (t (set-face-background 'font-lock-other-emphasized-face "gray90"))))
+ ;; (if (cperl-is-face 'font-lock-emphasized-face) nil
+ ;; (copy-face 'bold 'font-lock-emphasized-face)
+ ;; (cond
+ ;; ((eq background 'light)
+ ;; (set-face-background 'font-lock-emphasized-face
+ ;; (if (x-color-defined-p "lightyellow2")
+ ;; "lightyellow2"
+ ;; "lightyellow")))
+ ;; ((eq background 'dark)
+ ;; (set-face-background 'font-lock-emphasized-face
+ ;; (if (x-color-defined-p "navy")
+ ;; "navy"
+ ;; (if (x-color-defined-p "darkgreen")
+ ;; "darkgreen"
+ ;; "dark green"))))
+ ;; (t (set-face-background 'font-lock-emphasized-face "gray90"))))
(if (cperl-is-face 'font-lock-variable-name-face) nil
(copy-face 'italic 'font-lock-variable-name-face))
(if (cperl-is-face 'font-lock-constant-face) nil
(require 'ps-print) ; To get ps-print-face-extension-alist
(let ((ps-print-color-p t)
(ps-print-face-extension-alist ps-print-face-extension-alist))
- (cperl-ps-extend-face-list cperl-ps-print-face-properties)
+ (ps-extend-face-list cperl-ps-print-face-properties)
(ps-print-buffer-with-faces file)))
;; (defun cperl-ps-print-init ()
(setq update
;; (imenu-choose-buffer-index "Packages: " (nth 2 cperl-hierarchy))
(if (if (fboundp 'display-popup-menus-p)
- (let ((f 'display-popup-menus-p))
- (funcall f))
+ (display-popup-menus-p)
window-system)
(x-popup-menu t (nth 2 cperl-hierarchy))
(require 'tmm)
:type 'file
:group 'cperl)
-;;; By Nick Roberts <Nick.Roberts@src.bae.co.uk> (with changes)
+;; By Nick Roberts <Nick.Roberts@src.bae.co.uk> (with changes)
(defun cperl-pod-to-manpage ()
"Create a virtual manpage in Emacs from the Perl Online Documentation."
(interactive)
(format (cperl-pod2man-build-command) pod2man-args))
'Man-bgproc-sentinel)))))
-;;; Updated version by him too
+;; Updated version by him too
(defun cperl-build-manpage ()
"Create a virtual manpage in Emacs from the POD in the file."
(interactive)
(if pp (goto-char pp)
(message "No more interpolated REx"))))
-;;; Initial version contributed by Trey Belew
+;; Initial version contributed by Trey Belew
(defun cperl-here-doc-spell ()
"Spell-check HERE-documents in the Perl buffer.
If a region is highlighted, restricts to the region."
(setq cont (funcall func pos posend prop)))
(setq pos posend)))))
-;;; Based on code by Masatake YAMATO:
+;; Based on code by Masatake YAMATO:
(defun cperl-get-here-doc-region (&optional pos pod)
"Return HERE document region around the point.
Return nil if the point is not in a HERE document region. If POD is non-nil,
(font-lock-default-fontify-region beg end loudly))
(defvar cperl-d-l nil)
-(defvar edebug-backtrace-buffer)
+(defvar edebug-backtrace-buffer) ;FIXME: Why?
(defun cperl-fontify-syntaxically (end)
;; Some vars for debugging only
;; (message "Syntaxifying...")