;ELC ;;; compiled by rms@mole.gnu.ai.mit.edu on Wed Aug 17 18:34:51 1994 ;;; from file /home/fsf/rms/e19/lisp/perl-mode.el ;;; emacs version 19.25.93.1. ;;; bytecomp version FSF 2.10 ;;; optimization is on. ;;; this file uses opcodes which do not exist in Emacs 18. (if (and (boundp 'emacs-version) (or (and (boundp 'epoch::version) epoch::version) (string-lessp emacs-version "19"))) (error "`/home/fsf/rms/e19/lisp/perl-mode.el' was compiled for Emacs 19")) (defvar perl-mode-abbrev-table nil "\ Abbrev table in use in perl-mode buffers.") (define-abbrev-table (quote perl-mode-abbrev-table) nil) (defvar perl-mode-map nil "\ Keymap used in Perl mode.") (byte-code "C ##########" [perl-mode-map make-sparse-keymap define-key "{" electric-perl-terminator "}" ";" ":" "" perl-beginning-of-function "" perl-end-of-function "" mark-perl-function "" indent-perl-exp "" backward-delete-char-untabify " " perl-indent-command] 4) (autoload (quote c-macro-expand) "cmacexp" "\ Display the result of expanding all C macros occurring in the region. The expansion is entirely correct because it uses the C preprocessor." t) (defvar perl-mode-syntax-table nil "\ Syntax table in use in perl-mode buffers.") (byte-code "i !################" [perl-mode-syntax-table make-syntax-table standard-syntax-table modify-syntax-entry 10 ">" 35 "<" 36 "/" 37 "." 38 39 "\"" 42 43 45 47 60 61 62 92 "\\" 96 124] 4) (defvar perl-indent-level 4 "\ *Indentation of Perl statements with respect to containing block.") (defvar perl-continued-statement-offset 4 "\ *Extra indent for lines not starting new statements.") (defvar perl-continued-brace-offset -4 "\ *Extra indent for substatements that start with open-braces. This is in addition to `perl-continued-statement-offset'.") (defvar perl-brace-offset 0 "\ *Extra indentation for braces, compared with other text in same context.") (defvar perl-brace-imaginary-offset 0 "\ *Imagined indentation of an open brace that actually follows a statement.") (defvar perl-label-offset -2 "\ *Offset of Perl label lines relative to usual indentation.") (defvar perl-tab-always-indent t "\ *Non-nil means TAB in Perl mode always indents the current line. Otherwise it inserts a tab character if you type it past the first nonwhite character on the line.") (defvar perl-tab-to-comment t "\ *Non-nil means TAB moves to eol or makes a comment in some cases. For lines which don't need indenting, TAB either indents an existing comment, moves to end-of-line, or if at end-of-line already, create a new comment.") (defvar perl-nochange ";?#\\|\f\\|\\s(\\|\\(\\w\\|\\s_\\)+:" "\ *Lines starting with this regular expression are not auto-indented.") (defalias 'perl-mode #[nil " \n!\n!!P\f!\f!!!!!!!!!!" [kill-all-local-variables use-local-map perl-mode-map perl-mode major-mode "Perl" mode-name perl-mode-abbrev-table local-abbrev-table set-syntax-table perl-mode-syntax-table make-local-variable paragraph-start "^$\\|" page-delimiter paragraph-separate paragraph-ignore-fill-prefix t indent-line-function perl-indent-line require-final-newline comment-start "# " comment-end "" comment-column 32 comment-start-skip "\\(^\\|\\s-\\);?#+ *" comment-indent-function perl-comment-indent parse-sexp-ignore-comments run-hooks perl-mode-hook] 2 "\ Major mode for editing Perl code. Expression and list commands understand all Perl brackets. Tab indents for Perl code. Comments are delimited with # ... \\n. Paragraphs are separated by blank lines only. Delete converts tabs to spaces as it moves back. \\{perl-mode-map} Variables controlling indentation style: perl-tab-always-indent Non-nil means TAB in Perl mode should always indent the current line, regardless of where in the line point is when the TAB command is used. perl-tab-to-comment Non-nil means that for lines which don't need indenting, TAB will either delete an empty comment, indent an existing comment, move to end-of-line, or if at end-of-line already, create a new comment. perl-nochange Lines starting with this regular expression are not auto-indented. perl-indent-level Indentation of Perl statements within surrounding block. The surrounding block's indentation is the indentation of the line on which the open-brace appears. perl-continued-statement-offset Extra indentation given to a substatement, such as the then-clause of an if or body of a while. perl-continued-brace-offset Extra indentation given to a brace that starts a substatement. This is in addition to `perl-continued-statement-offset'. perl-brace-offset Extra indentation for line if it starts with an open brace. perl-brace-imaginary-offset An open brace following other text is treated as if it were this far to the right of the start of its line. perl-label-offset Extra indentation for line that is a label. Various indentation styles: K&R BSD BLK GNU LW perl-indent-level 5 8 0 2 4 perl-continued-statement-offset 5 8 4 2 4 perl-continued-brace-offset 0 0 0 0 -4 perl-brace-offset -5 -8 0 0 0 perl-brace-imaginary-offset 0 0 4 0 0 perl-label-offset -5 -8 -2 -2 -2 Turning on Perl mode runs the normal hook `perl-mode-hook'." nil]) (defalias (quote perl-comment-indent) #[nil "n\nl\nxiT ])" [0 " " nil comment-column] 2]) (defalias 'electric-perl-terminator #[(arg) "` PlPy\f#??U$!? \"\f\f8=\f8=\f8)?)P\" !) !!" [insertpos arg 0 re-search-forward comment-start-skip t last-command-char 58 looking-at "\\s-*\\(\\w\\|\\s_\\)+$" parse-partial-sexp perl-beginning-of-function pps 3 4 5 insert-char 1 perl-indent-line delete-char -1 self-insert-command prefix-numeric-value] 4 "\ Insert character and adjust indentation. If at end-of-line, and not in a comment or a quote, correct the's indentation." "P"]) (defalias 'perl-indent-command #[(&optional arg) "! i V Ɖ` \ny` \nb\n\"`UcQQ\nfUw\nTbiQ h=h=`Zfz>h=\n!y zh>\n!ib!)\\\\Q\nbnb!)Quw!y!`)!`W\f`V \"Zi)Qn3U3#\\5xnAC%h=M! \\\\." [0 nil containing-sexp state colon-line-end case-fold-search indent-point parse-start perl-beginning-of-function parse-partial-sexp 3 " \f" 123 perl-backward-to-noncomment (59 125) perl-continued-statement-offset 44 58 2 (119 95) perl-backward-to-start-of-continued-exp (59 125 123) looking-at "[ ]*{" perl-continued-brace-offset "[ ]*}" perl-indent-level 1 " \f\n" ";?#" "\\(\\w\\|\\s_\\)+:" search-forward ":" current-indentation perl-label-offset perl-brace-offset " " perl-brace-imaginary-offset 41 forward-sexp -1] 6 "\ Return appropriate indentation for current line as Perl code. In usual case returns an integer: the column to indent to. Returns (parse-state) if line starts inside a string."]) (defalias 'perl-backward-to-noncomment #[nil " ?3`y \n$Ǖbwxo.n?.u*" [nil stop opoint 0 re-search-forward comment-start-skip move 1 ";" " \f" -1] 6 "\ Move point backward to after the first non-white-space, skipping comments." nil]) (defalias (quote perl-backward-to-start-of-continued-exp) #[(lim) "hU\n!y`\fX\fTbw" [41 forward-sexp -1 0 lim " \f" nil] 2]) (defalias 'indent-perl-exp #[nil "  ) \n!fU-!!`)mN`XN`d#: ) y`!W!\"\n|lx  ` !\"8y!\n<\nU \nZU# yZ !b!." [nil case-fold-search point-marker oldpnt 2 perl-beginning-of-function bof-mark eol last-mark lsexp-mark delta marker-position 61 message "Can't indent a format statement" "Indenting Perl expression..." parse-partial-sexp 0 perl-indent-line delete-horizontal-space 4 looking-at "\\s-*;?#" current-indentation comment-column re-search-forward comment-start-skip t indent-for-comment 1 "Indenting Perl expression...done"] 5 "\ Indent each line of the Perl grouping following point." nil]) (defalias 'perl-beginning-of-function #[(&optional arg) "WuU#$#•Sb`" [arg 1 0 re-search-backward "^\\s(\\|^\\s-*sub\\b[^{]+{\\|^\\s-*format\\b[^=]*=\\|^\\." nil move] 5 "\ Move backward to next beginning-of-function, or as far as possible. With argument, repeat that many times; negative args move forward. Returns new value of point in all cases." "p"]) (defalias 'perl-end-of-function #[(&optional arg) "VV`dWV` )u!o4o0u!!w!Gy`X*S W`!!y`Y!o!w!yeb)TW)" [arg 1 t first 0 nil npos pos perl-beginning-of-function -1 forward-list " " looking-at "[#\n]" forward-sexp 2] 3 "\ Move forward to next end-of-function. The end of a function is found by moving forward from the beginning of one. With argument, repeat that many times; negative args move backward." "p"]) (defalias 'mark-perl-function #[nil "`! `! " [push-mark perl-end-of-function perl-beginning-of-function backward-paragraph] 2 "\ Put mark at end of Perl function, point at beginning." nil])