| Server IP : 217.160.0.212 / Your IP : 216.73.216.141 Web Server : Apache System : Linux www 6.18.51-i1-ampere #1196 SMP Fri Sep 11 20:43:55 CEST 2026 aarch64 User : sws1073854427 ( 1073854427) PHP Version : 8.4.23 Disable Function : NONE MySQL : OFF | cURL : ON | WGET : ON | Perl : ON | Python : OFF | Sudo : OFF | Pkexec : OFF Directory : /usr/share/emacs/28.2/lisp/progmodes/ |
Upload File : |
;ELC
;;; Compiled
;;; in Emacs version 28.2
;;; with all optimizations.
(byte-code "\300\301\302\303\304\305\306\307\310\311& \210\312\313\314\315\316\317%\207" [custom-declare-group perl nil "Major mode for editing Perl code." :link (custom-group-link :tag "Font Lock Faces group" font-lock-faces) :prefix "perl-" :group languages custom-declare-face perl-non-scalar-variable ((t :inherit font-lock-variable-name-face :underline t)) "Face used for non-scalar variables." :version "28.1"] 10)
#@45 Abbrev table in use in `perl-mode' buffers.
(defvar perl-mode-abbrev-table nil (#$ . 505))
(define-abbrev-table 'perl-mode-abbrev-table nil)
#@27 Keymap used in Perl mode.
(defvar perl-mode-map (byte-code "\300 \301\302\303#\210\301\304\305#\210\301\306\307#\210\301\310\311#\210\301\312\313#\210\207" [make-sparse-keymap define-key "" perl-beginning-of-function "" perl-end-of-function "" perl-mark-function "" perl-indent-exp "" backward-delete-char-untabify] 5) (#$ . 652))
#@45 Syntax table in use in `perl-mode' buffers.
(defvar perl-mode-syntax-table (byte-code "\300\301 !\302\303\304#\210\302\305\306#\210\302\307\310#\210\302\311\312#\210\302\313\312#\210\302\314\315#\210\302\316\317#\210\302\320\315#\210\302\321\315#\210\302\322\315#\210\302\323\315#\210\302\324\315#\210\302\325\315#\210\302\326\315#\210\302\327\330#\210\302\331\317#\210\302\332\315#\210\207" [make-syntax-table standard-syntax-table modify-syntax-entry 10 ">" 35 "<" 36 "/" 37 ". p" 64 38 "." 39 "\"" 42 43 45 47 60 61 62 92 "\\" 96 124] 5) (#$ . 1003))
#@74 Imenu generic expression for Perl mode. See `imenu-generic-expression'.
(defvar perl-imenu-generic-expression '((nil "^[ ]*sub\\s-+\\([-[:alnum:]+_:]+\\)" 1) ("Variables" "^[ ]*\\(?:has\\|local\\|my\\|our\\|state\\)\\s-+\\([$@%][-[:alnum:]+_:]+\\)\\s-*=" 1) ("Packages" "^[ ]*package\\s-+\\([-[:alnum:]+_:]+\\);" 1) ("Doc sections" "^=head[0-9][ ]+\\(.*\\)" 1)) (#$ . 1580))
(defconst perl--prettify-symbols-alist '(("->" . 8594) ("=>" . 8658) ("::" . 8759)))
#@43 Subdued level highlighting for Perl mode.
(defconst perl-font-lock-keywords-1 '(("\\<\\(package\\|sub\\)\\>[ ]*\\(\\(?:\\sw\\|::\\)+\\)?" (1 font-lock-keyword-face) (2 font-lock-function-name-face nil t)) ("\\(?:^\\|[^$@%&\\]\\)\\<\\(import\\|no\\|require\\|use\\)\\>[ ]*\\(\\(?:\\sw\\|::\\)+\\)?" (1 font-lock-keyword-face) (2 font-lock-constant-face nil t))) (#$ . 2051))
#@41 Gaudy level highlighting for Perl mode.
(defconst perl-font-lock-keywords-2 (byte-code "\301\302\303\304B#\207" [perl-font-lock-keywords-1 append (("&\\(\\sw+\\(::\\sw+\\)*\\)" 1 font-lock-function-name-face) ("[$*]{?\\(\\sw+\\(::\\sw+\\)*\\)" 1 font-lock-variable-name-face) ("\\([@%]\\|\\$#\\)\\(\\sw+\\(::\\sw+\\)*\\)" (2 'perl-non-scalar-variable))) "\\<\\(BEGIN\\|END\\|d\\(?:ie\\|o\\|ump\\)\\|e\\(?:ls\\(?:e\\|if\\)\\|val\\|x\\(?:ec\\|it\\)\\)\\|for\\(?:each\\)?\\|if\\|return\\|un\\(?:less\\|til\\)\\|while\\)\\>" (("\\<\\(has\\|local\\|my\\|our\\|state\\)\\>" . font-lock-keyword-face) ("<\\(\\sw+\\)>" 1 font-lock-constant-face) ("\\<\\(continue\\|goto\\|last\\|next\\|redo\\)\\>[ ]*\\(\\sw+\\)?" (1 font-lock-keyword-face) (2 font-lock-constant-face nil t)) ("^[ ]*\\(\\sw+\\)[ ]*:[^:]" 1 font-lock-constant-face))] 5) (#$ . 2433))
#@48 Default expressions to highlight in Perl mode.
(defvar perl-font-lock-keywords perl-font-lock-keywords-1 (#$ . 3285))
(defvar perl-quote-like-pairs '((40 . 41) (91 . 93) (123 . 125) (60 . 62)))
(defconst perl--syntax-exp-intro-keywords '("split" "if" "unless" "until" "while" "print" "grep" "map" "not" "or" "and" "for" "foreach" "return"))
(defconst perl--syntax-exp-intro-regexp (byte-code "\301\302!\303Q\207" [perl--syntax-exp-intro-keywords "\\(?:\\(?:^\\|[^$@&%[:word:]]\\)" regexp-opt "\\|[?:.,;|&*=!~({[]\\|[^-+][-+]\\|\\(^\\)\\)[ \n]*"] 3))
#@18
(fn START END)
(defalias 'perl-syntax-propertize-function #[514 "\304b\210\305!\210`\211b\210`W\205w\306\307\310#\205w\311\224\203, \312\311\224\311\225\313\314$\210\202
\315\224\203= \312\315\224\315\225\313\316$\210\202
\317\224\203{ \320\321!\211A\322\233\241\210\323!\266\311\224\311\225\311\225f\324=\205f \212\317\325\326\224!8)??\205k \327\211\203v \312\313$\210\266\202
\330\224\203\214 \312\330\224\330\225\313\331$\210\202
\332\224\203\260 \320\321!\211A\333\233\241\210\323!\266\312\311\224\311\225\313\334$\210\305!\210\202
\322\224\203\301 \312\322\224\322\225\313\335$\210\202
\336\224\203\375 \320\321!\211A\337\233\241\210\323!\266\311\224\203\343 \312\311\224\311\225\313\340$\210\315\224\203\361 \312\315\224\315\225\313\341$\210\312\326\224\326\225\342\310$\210\202
\343\224\203W\320\321!\211A\344\233\241\210\323!\266\311\225\203G\212\311\225b\210\345d[!\210\312`\315\225\342\310$\210hz\346=\203>`\347\311!\210`{ \235\262\206C`Sf\350>)\203
\312\315\224\315\225\313\334$\210\305!\210\202
\351\224\203\275\320\321!\211A\352\233\241\210\323!\266\212\326\224b\210\353\354!\210\355\310\356!)\262)\204
\357\212\325\311\224!)8\204
\317\224\211f\312\317\225\313\360\"\203\240\361\202\263\362>\203\262\315\224f\363>\203\262\304\202\263\334$\266\305!\210\202
\364\224\203\\\320\321!\211A\365\233\241\210\323!\266\330\224\330\225\330\224\366\313\"\367\315!\311\224\315\225b\210\212\357\325\326\224!8)\203\365\266\204\202L\212\325!)\3308\203(S\3578U\204\312S\313\370$\266\202)\312S\313\371$\210\312S\372\373$\210\210\374\326H\211\375\267\202A\311\304O\202B\311\354O\202B\262BABB\266\204\211\203W\312\313$\210\266\202
\376\224\203
\320\321!\211A\377\233\241\210\323!\266\305!\210\202
\262)\207" [case-fold-search perl--syntax-exp-intro-keywords inhibit-changing-match-data perl-quote-like-pairs nil perl-syntax-propertize-special-constructs re-search-forward "^=cut\\>.*\\(\n\\)\\|^\\(=\\)\\sw\\|\\(\\$\\)[{']\\|\\$ ?{?\\^?[_[:alpha:]][_[:alnum:]]*\\('\\)[_[:alpha:]]\\|^[ ]*format.*=[ ]*\\(\n\\)\\|\\<sub\\(?:[ \n]+\\(?:\\sw\\|\\s_\\)+\\)?[ \n]*(\\([][$%&*;+@\\]+\\))\\|\\(^\\(_\\)_\\(?:DATA\\|END\\)__[ ]*\\(?:\\(\n\\)#.-\\*-.*perl.*-\\*-\\|\n.*\\)\\)\\|\\(?:\\(?:^\\|[^$@&%[:word:]]\\)\\(?:and\\|for\\(?:each\\)?\\|grep\\|if\\|map\\|not\\|or\\|print\\|return\\|split\\|un\\(?:less\\|til\\)\\|while\\)\\|[?:.,;|&*=!~({[]\\|[^-+][-+]\\|\\(^\\)\\)[ \n]*\\(/\\)\\|\\(^\\|[?:.,;=|&!~({[ ]\\|=>\\)\\([msy]\\|q[qxrw]?\\|tr\\)\\>\\(?:\\s-\\|\n\\)*\\(?:\\([^])}>= \n ]\\)\\|\\(?14:=\\)[^>]\\)\\|\\(?:<<\\(~\\)?[ ]*\\('[^'\n]*'\\|\"[^\"\n]*\"\\|\\\\[[:alpha:]][[:alnum:]]*\\)\\|\\(?:\\(?:^\\|[^$@&%[:word:]]\\)\\(?:and\\|for\\(?:each\\)?\\|grep\\|if\\|map\\|not\\|or\\|print\\|return\\|split\\|un\\(?:less\\|til\\)\\|while\\)\\|[?:.,;|&*=!~({[]\\|[^-+][-+]\\|\\(^\\)\\)[ \n]*<<\\(?16:\\sw+\\)\\).*\\(\n\\)\\|\\(\\(?:$\\)\\s<\\)" t 1 put-text-property syntax-table (2097164) 2 (2097163) 3 match-data ints 6 set-match-data 39 syntax-ppss 0 (1048577) 4 (3) 5 10 (7) (1) 7 16 (8388619) (8388620) syntax-multiline 11 20 forward-comment 119 backward-sexp (63 58 46 44 59 61 33 126 40 91) 14 24 forward-word-strictly -1 "sub[ \n]" looking-at 8 assoc (15) (34 39) (109 113) 18 30 get-text-property match-string (12) (0) font-lock-face font-lock-comment-face 8388619 #s(hash-table size 4 test eq rehash-size 1.5 rehash-threshold 0.8125 purecopy t data (92 563 96 570 39 570 34 570)) 19 40] 15 (#$ . 3843)])
#@67 Syntax table used internally for processing quote-like operators.
(defvar perl-empty-syntax-table (byte-code "\300 \301\211\302W\203 \303I\210\211T\262\202 \210\304\305\306#\210\207" [copy-syntax-table 0 256 (1) modify-syntax-entry 92 "\\"] 5) (#$ . 7369))
#@13
(fn CHAR)
(defalias 'perl-quote-syntax-table #[257 "\211\236A\302 !\204 \303\304#\210\207\303\305#\210\303\306#\210\207" [perl-quote-like-pairs perl-empty-syntax-table copy-syntax-table modify-syntax-entry "\"" "(" ")"] 7 (#$ . 7638)])
#@69 Propertize special constructs like regexps and formats.
(fn LIMIT)
(defalias 'perl-syntax-propertize-special-constructs #[257 "\301 \302\3038\304=\203U \305\3068\307\"A\211A\203! \310!\262\3068b\210\211\205T \311\211A\262\242\211\242\243\312\2056 \313\314!\315R\266\202\262\316#\205T \211\204! \317`S`\307\320$\210\202! \207\3218\211\262\203m \322!\203o \305\3068\307\"\204o \302\207\3218\323=\203\207 \311\324\316#\205\215\317`S`\307\325$\207\3068f\262`\212\3068b\210\326\327!\210\326\330!\210`\331\332!\210`{\333\235)\236A\302\334!\307 p\335\336#\216\337!\210\203\334 \3401\323 \306 8Tb\210\341\332!\210\3420\202\210b\210\302\202\306\343\203\353 \3068T\202\354 `\f\302\211\307&8\206\205?\205`\262\306\343`\f\302\211\307&8?)\266\202\205\213`S\206`Sf\344=\2030\317`\304Z`S\307\345$\210\203E\346>\203E\317S\307\347$\210\202V\317`S`\307\203S\350\202T\325$\210\205\213\205\213\317`\351d!\210`\352\342$\210`W\205\213\317``T\307\353\302f\"\203\201\354\202\202\355$\210\332u\210\356!\266\205\207" [perl-quote-like-pairs syntax-ppss nil 7 2 get-text-property 8 syntax-table reverse re-search-forward "^" "[ ]*" regexp-quote "\n" move put-text-property (8388620) 3 characterp 10 "^\\s *\\.\\s *\n" (7) skip-syntax-backward " " "w" forward-word-strictly 1 ("tr" "s" "y") perl-quote-syntax-table make-closure #[0 "r\301q\210\302\300!)\207" [V0 V1 set-syntax-table] 2] set-syntax-table (scan-error) up-list t parse-partial-sexp 36 (1) (34 39) (1) (15) forward-comment syntax-multiline assoc (15 . 101) (7 . 101) perl-syntax-propertize-special-constructs] 18 (#$ . 7891)])
(custom-declare-face 'perl-heredoc '((t (:inherit font-lock-string-face))) "The face for here-documents. Inherits from `font-lock-string-face'.")
#@14
(fn STATE)
(defalias 'perl-font-lock-syntactic-face-function #[257 "\3028\303=\203 \304\3058\306\"\243\203 \307\207\3108\203 \304\3058\306\"\243\311=\203 \312\3058f\211 \236\306 p\313\314#\216\315\316!!\210\212\204Q \317`d\312\211 \306&\210\202g \3201c \3058Tb\210\321\322!0\210\202g \210db\210\323\3058`\324\325$\210\326\327!*\266\202)\266\202\203 \312\207\330\331!!\207" [parse-sexp-lookup-properties perl-quote-like-pairs 7 2 get-text-property 8 syntax-table perl-heredoc 3 101 nil make-closure #[0 "r\301q\210\302\300!)\207" [V0 V1 set-syntax-table] 2] set-syntax-table perl-quote-syntax-table parse-partial-sexp (scan-error) up-list 1 put-text-property jit-lock-defer-multiline t looking-at "[ ]*\\sw*e" default-value font-lock-syntactic-face-function] 12 (#$ . 9691)])
(byte-code "\300\301\302\303\304DD\305\306\307%\210\300\310\302\303\311DD\312\306\307%\210\300\313\302\303\314DD\315\306\307%\210\300\316\302\303\317DD\320\306\307%\210\300\321\302\303\322DD\323\306\307%\210\300\324\302\303\325DD\326\306\307%\210\300\327\302\303\330DD\331\306\332%\210\300\333\302\303\334DD\335\336\337\306\340&\210\300\341\302\303\342DD\343\306\340%\210\300\344\302\303\345DD\346\306\340%\210\300\347\302\303\350DD\351\306\352\353\354&\207" [custom-declare-variable perl-indent-level funcall function #[0 "\300\207" [4] 1 #1=""] "Indentation of Perl statements with respect to containing block." :type integer perl-continued-statement-offset #[0 "\300\207" [4] 1 #1#] "Extra indent for lines not starting new statements." perl-continued-brace-offset #[0 "\300\207" [-4] 1 #1#] "Extra indent for substatements that start with open-braces.\nThis is in addition to `perl-continued-statement-offset'." perl-brace-offset #[0 "\300\207" [0] 1 #1#] "Extra indentation for braces, compared with other text in same context." perl-brace-imaginary-offset #[0 "\300\207" [0] 1 #1#] "Imagined indentation of an open brace that actually follows a statement." perl-label-offset #[0 "\300\207" [-2] 1 #1#] "Offset of Perl label lines relative to usual indentation." perl-indent-continued-arguments #[0 "\300\207" [nil] 1 #1#] "If non-nil offset of argument lines relative to usual indentation.\nIf nil, continued arguments are aligned with the first argument." (choice integer (const nil)) perl-indent-parens-as-block #[0 "\300\207" [nil] 1 #1#] "Non-nil means that non-block ()-, {}- and []-groups are indented as blocks.\nThe closing bracket is aligned with the line of the opening bracket,\nnot the contents of the brackets." :version "24.3" boolean perl-tab-always-indent #[0 "\207" [tab-always-indent] 1 #1#] "Non-nil means TAB in Perl mode always indents the current line.\nOtherwise it inserts a tab character if you type it past the first\nnonwhite character on the line." perl-tab-to-comment #[0 "\300\207" [nil] 1 #1#] "Non-nil means TAB moves to eol or makes a comment in some cases.\nFor lines which don't need indenting, TAB either indents an\nexisting comment, moves to end-of-line, or if at end-of-line already,\ncreate a new comment." perl-nochange #[0 "\300\207" ["\f"] 1 #1#] "Lines starting with this regular expression are not auto-indented." regexp :options (";?#\\|\f\\|\\s(\\|\\(\\w\\|\\s_\\)+:[^:]")] 8)
(defvar perl-outline-regexp (byte-code "\301\302\303#\304P\207" [perl-imenu-generic-expression mapconcat cadr "\\|" "\\|^=cut\\>"] 4))
(defalias 'perl-outline-level #[0 "\300\301!\203\f \302\224\303\224Z\207\300\304!\203 \302\224\303\224Z\207\300\305!\203) \303\225\206$ `Sf\306Z\207\300\307!\2031 \302\207\310\207" [looking-at "[ ]*\\(package\\)\\s-" 1 0 "[ ]*s\\(ub\\)\\s-" "=head[0-9]" 48 "=cut" 3] 2])
#@52 The `add-log-current-defun' function in Perl mode.
(defalias 'perl-current-defun-name #[0 "\212\300\301\302\303#\205\f \304\305!)\207" [re-search-backward "^sub[ ]+\\([^({ \n]+\\)" nil t match-string-no-properties 1] 4 (#$ . 13339)])
(byte-code "\300\301\302\303\304DD\305\306\307\310\311&\207" [custom-declare-variable perl-flymake-command funcall function #[0 "\300\207" [("perl" "-w" "-c")] 1 ""] "External tool used to check Perl source code.\nThis is a non empty list of strings, the checker tool possibly\nfollowed by required arguments. Once launched it will receive\nthe Perl source to be checked as its standard input." :version "26.1" :type (repeat string)] 8)
(defvar perl--flymake-proc nil nil)
(make-variable-buffer-local 'perl--flymake-proc)
#@235 Perl backend for Flymake.
Launch `perl-flymake-command' (which see) and pass to its
standard input the contents of the current buffer. The output of
this command is analyzed for error and warning messages.
(fn REPORT-FN &rest ARGS)
(defalias 'perl-flymake #[385 "\302@!\204 \303\304!\210\305 !\203 \306 !\210p\214~\210\307\310\311\312\313\314\315\316\317\320!\321\322\323\324#&\f\325 ed#\210\326 !)\207" [perl-flymake-command perl--flymake-proc executable-find error "Cannot find a suitable checker" process-live-p kill-process make-process :name "perl-flymake" :noquery t :connection-type pipe :buffer generate-new-buffer " *perl-flymake*" :command :sentinel make-closure #[514 "\303!\304=\205| \305\306\"\216r\301q\210\n)=\203u r\307!q\210eb\210\310\211\211\211\211\211\311\312\310\313#\203k \314\315!\262\316\301\317\314\320!!\"\262\211A\262\242\262\321\322\"\203R \323\202S \324\262\325\301%C\244\262\310\262\202'