;ELC   
;;; Compiled
;;; in Emacs version 24.5.1
;;; with all optimizations.

;;; This file contains utf-8 non-ASCII characters,
;;; and so cannot be loaded into Emacs 22 or earlier.
(and (boundp 'emacs-version)
     (< (aref emacs-version (1- (length emacs-version))) ?A)
     (string-lessp emacs-version "23")
     (error "`%s' was compiled for Emacs 23 or later" #$))

;;;;;;;;;;;;;;;;;;;;;;;;;;;;;


#@26 PHP Mode version number.
(defconst php-mode-version-number "1.17.0" (#$ . 410))
#@22 PHP Mode build date.
(defconst php-mode-modified "2015-06-23" (#$ . 496))
(byte-code "\302\303!\210\304\305\306\307#\210\302\310!\210\302\311!\210\302\312!\210\302\313!\210\302\314!\210\302\315!\210\304\316\317\320#\210\321U\203? 	\307W\203? \322\323!\204? \324\323\325\"\210\326\327\330\331\332\333\334\335\336\337\336\340&\210\341\342\343\344\345\346\334\327&\210\341\347\350\351\345\352\334\327&\210\341\353\354\355\345\356\357\360\334\327&	\210\341\361\330\362\345\356\357\363\334\327&	\210\341\364\354\365\345\356\334\327&\207" [emacs-major-version emacs-minor-version require cc-mode byte-code "\300\301\302\"\207" [c-add-language php-mode java-mode] 3 font-lock add-log custom flymake etags speedbar "\302U\205 	\303Y\205 \304\305!\207" [emacs-major-version emacs-minor-version 24 4 require cl] 2 24 fboundp cl-set-difference defalias set-difference custom-declare-group php nil "Major mode `php-mode' for editing PHP code." :prefix "php-" :group languages :link (url-link :tag "Official Site" "https://github.com/ejmr/php-mode") (url-link :tag "PHP Mode Wiki" "https://github.com/ejmr/php-mode/wiki") custom-declare-variable php-executable (or (executable-find "php") "/usr/bin/php") "The location of the PHP executable." :type string php-default-face 'default "Default face in `php-mode' buffers." face php-speedbar-config t "When set to true automatically configures Speedbar to observe PHP files.\nIgnores php-file patterns option; fixed to expression \"\\.\\(inc\\|php[s345]?\\)\"" boolean :set #[(sym val) "\302	\"\210	\205\f \303\304!\207" [sym val set-default speedbar-add-supported-extension "\\.\\(inc\\|php[s345]?\\|phtml\\)"] 3] php-mode-speedbar-open "Normally `php-mode' starts with the speedbar closed.\nTurning this on will open it whenever `php-mode' is loaded." #[(sym val) "\302	\"\210	\205\f \303\304!\207" [sym val set-default speedbar 1] 3] php-template-compatibility "Should detect presence of html tags."] 12)
#@61 Create regexp for the list of extra constant keywords KWDS.
(defalias 'php-mode-extra-constants-create-regexp #[(kwds) "\302\303\304\305\301!\205 	\"!\306Q\207" [kwds web-mode-extra-php-constants "[^_$]?\\<\\(" regexp-opt append boundp "\\)\\>[^_]?"] 6 (#$ . 2453)])
#@213 Apply the list of extra constant keywords VALUE.

This function is called when the custom variable php-extra-constants
is updated. The web-mode-extra-constants list is appended to the list
of constants when set.
(defalias 'php-mode-extra-constants-set #[(sym value) "\303\300!\203 \304\305\306!\307BC\"\210	\203 \310\305\306	!\311BC\"\210\n	L\207" [php-extra-constants value sym boundp font-lock-remove-keywords php-mode php-mode-extra-constants-create-regexp (1 font-lock-constant-face) font-lock-add-keywords (1 font-lock-constant-face)] 4 (#$ . 2729)])
(byte-code "\300\301\302\303\304\305\306\307&\210\300\310\311\312\304\313\314\315\306\307&	\207" [custom-declare-variable php-lineup-cascaded-calls nil "Indent chained method calls to the previous line" :type boolean :group php php-extra-constants 'nil "A list of additional strings to treat as PHP constants." list :set php-mode-extra-constants-set] 10)
#@452 Make a regular expression for methods with the given VISIBILITY.

VISIBILITY must be a string that names the visibility for a PHP
method, e.g. 'public'.  The parameter VISIBILITY can itself also
be a regular expression.

The regular expression this function returns will check for other
keywords that can appear in method signatures, e.g. 'final' and
'static'.  The regular expression will have one capture group
which will be the name of the method.
(defalias 'php-create-regexp-for-method #[(visibility) "\301\302\303\304\305\306\260\207" [visibility "^\\s-*\\(?:\\(?:abstract\\|final\\)\\s-+\\)?" "\\(?:" "\\(?:\\s-+static\\)?\\|\\(?:static\\s-+\\)?" "\\)\\s-+" "function\\s-+" "\\(\\(?:\\sw\\|\\s_\\)+\\)\\s-*("] 8 (#$ . 3651)])
#@187 Accepts a `type' of a 'classlike' object as a string, such as
'class' or 'interface', and returns a regexp as a string which
can be used to match against definitions for that classlike.
(defalias 'php-create-regexp-for-classlike #[(type) "\301\302Q\207" [type "^\\s-*\\(?:\\(?:abstract\\|final\\)\\s-+\\)?" "\\s-+\\(\\(?:\\sw\\|\\\\\\|\\s_\\)+\\)"] 3 (#$ . 4394)])
#@72 Imenu generic expression for PHP Mode. See `imenu-generic-expression'.
(defvar php-imenu-generic-expression (byte-code "\300\301\302!\303BB\304\301\305!\306BB\307\301\310!\311BB\312\301\313!\314BB\315\316\317!\320BB\321\316\322!\323BB\324\316\325!\326BB\327\316\330!\331BB\332BBBBBBBB\207" ["Namespaces" php-create-regexp-for-classlike "namespace" (1) "Classes" "class" (1) "Interfaces" "interface" (1) "Traits" "trait" (1) "All Methods" php-create-regexp-for-method "\\(?:\\sw\\|\\s_\\)+" (1) "Private Methods" "private" (1) "Protected Methods" "protected" (1) "Public Methods" "public" (1) (("Anonymous Functions" "\\<\\(\\(?:\\sw\\|\\s_\\)+\\)\\s-*=\\s-*function\\s-*(" 1) ("Named Functions" "^\\s-*function\\s-+\\(\\(?:\\sw\\|\\s_\\)+\\)\\s-*(" 1))] 10) (#$ . 4766))
(byte-code "\300\301\302\303\304\305\306\307&\210\300\310\311\312\304\305\306\307&\210\300\313\314\315\304\305\306\307&\210\300\316\314\317\304\305\306\307&\210\320\321\322\323B\"\210\300\324\325\326\304\327\306\307&\210\300\330\325\331\304\327\306\307&\210\300\332\325\333\304\327\306\307&\210\300\334\325\335\304\327\306\307&\210\300\336\325\337\304\327\306\307&\210\300\340\325\341\304\327\306\307&\210\300\342\325\343\304\344\306\307&\210\300\345\346\347\304\350\306\307&\210\300\351\352\353\304\354\306\307\355\356\357\360&\207" [custom-declare-variable php-manual-url "http://www.php.net/manual/en/" "URL at which to find PHP manual.\nYou can replace \"en\" with your ISO language code." :type string :group php php-search-url "http://www.php.net/" "URL at which to search for documentation on a word." php-completion-file "" "Path to the file which contains the function names known to PHP." php-manual-path "Path to the directory which contains the PHP manual." add-to-list interpreter-mode-alist "php" php-mode php-mode-hook nil "List of functions to be executed on entry to `php-mode'." hook php-mode-pear-hook "Hook called when a PHP PEAR file is opened with `php-mode'." php-mode-drupal-hook "Hook called when a Drupal file is opened with `php-mode'." php-mode-wordpress-hook "Hook called when a WordPress file is opened with `php-mode'." php-mode-symfony2-hook "Hook called when a Symfony2 file is opened with `php-mode'." php-mode-psr2-hook "Hook called when a PSR-2 file is opened with `php-mode'." php-mode-force-pear "Normally PEAR coding rules are enforced only when the filename contains \"PEAR.\"\nTurning this on will force PEAR rules on all PHP files." boolean php-mode-warn-if-mumamo-off t "Warn once per buffer if you try to indent a buffer without\nmumamo-mode turned on. Detects if there are any HTML tags in the\nbuffer before warning, but this is is not very smart; e.g. if you\nhave any tags inside a PHP string, it will be fooled." (choice (const :tag "Warg" t) (const "Don't warn" nil)) php-mode-coding-style 'pear "Select default coding style to use with php-mode.\nThis variable can take one of the following symbol values:\n\n`Default' - use a reasonable default style for PHP.\n\n`PEAR' - use coding styles preferred for PEAR code and modules.\n\n`Drupal' - use coding styles preferred for working with Drupal projects.\n\n`WordPress' - use coding styles preferred for working with WordPress projects.\n\n`Symfony2' - use coding styles preferred for working with Symfony2 projects.\n\n`PSR-2' - use coding styles preferred for working with projects using PSR-2 standards." (choice (const :tag "Default" default) (const :tag "PEAR" pear) (const :tag "Drupal" drupal) (const :tag "WordPress" wordpress) (const :tag "Symfony2" symfony2) (const :tag "PSR-2" psr2)) :set php-mode-custom-coding-style-set :initialize custom-initialize-default] 12)
(defalias 'php-mode-custom-coding-style-set #[(sym value) "\303=\205D 	\nL\210\304	\n\"\210\n\305=\203 \306 \207\n\307=\203! \310 \207\n\311=\203* \312 \207\n\313=\2033 \314 \207\n\315=\203< \316 \207\n\317=\205D \320 \207" [major-mode sym value php-mode set-default pear php-enable-pear-coding-style default php-enable-default-coding-style drupal php-enable-drupal-coding-style wordpress php-enable-wordpress-coding-style symfony2 php-enable-symfony2-coding-style psr2 php-enable-psr2-coding-style] 3])
#@52 Display string describing the version of PHP mode.
(defalias 'php-mode-version #[nil "\302\303	#\207" [php-mode-version-number php-mode-modified message "PHP mode %s of %s"] 4 (#$ . 8939) nil])
#@23 Keymap for `php-mode'
(defvar php-mode-map (byte-code "\302 \303\304\305#\210\306\301!\203 	\203 \301\307!\210\202 \301\310!\210\303\311\312#\210\303\313\314#\210\303\315\316#\210\303\317\320#\210\303\321\322#\210\303\323\324#\210\303\325\326#\210\303\327\330#\210)\207" [map subword-mode make-sparse-keymap define-key [134217736] mark-defun boundp nil t [remap c-beginning-of-defun] php-beginning-of-defun [remap c-end-of-defun] php-end-of-defun [(control c) (control f)] php-search-documentation [(meta tab)] php-complete-function [(control c) (control m)] php-browse-manual [(control \.)] php-show-arglist [(control c) (control r)] php-send-region [tab] indent-for-tab-command] 4) (#$ . 9140))
(byte-code "\300\301\302\303#\210\300\301\304\303#\210\300\301\305\303#\210\300\301\306\303#\210\300\301\307\303#\210\300\301\310\303#\210\300\301\311\303#\210\300\301\312\303#\210\300\301\313\303#\210\300\301\314\303#\210\300\301\315\303#\210\300\301\316\303#\210\300\301\317\303#\210\300\301\320\303#\210\300\301\321\303#\210\300\301\322\303#\210\300\301\323\303#\210\300\301\324\303#\210\300\301\325\303#\210\300\301\326\303#\210\300\301\327\303#\210\300\301\330\303#\210\300\301\331\303#\210\300\301\332\303#\210\300\301\333\303#\210\300\301\334\303#\210\300\301\335\303#\210\300\301\336\303#\207" [byte-code "\300\301\302\303#\207" [c-define-lang-constant c-mode-menu (((php-mode) append '(["Complete function name" php-complete-function t] ["Browse manual" php-browse-manual t] ["Search documentation" php-search-documentation t] ["----" t]) (c-get-lang-constant 'c-mode-menu '(cc-langs)))) (cc-langs php-mode)] 4 [c-define-lang-constant c-at-vsemi-p-fn (((php-mode) quote php-c-at-vsemi-p)) (cc-langs php-mode)] [c-define-lang-constant c-vsemi-status-unknown-p-fn (((php-mode) quote php-c-vsemi-status-unknown-p)) (cc-langs php-mode)] [c-define-lang-constant c-opt-cpp-prefix (((php-mode) . "\\s-*<\\?")) (cc-langs php-mode)] [c-define-lang-constant c-identifier-ops (((php-mode) quote ((left-assoc "\\" "::" "->") (prefix "\\" "::")))) (cc-langs php-mode)] [c-define-lang-constant c-block-prefix-disallowed-chars (((php-mode) cl-set-difference (c-get-lang-constant 'c-block-prefix-disallowed-chars '(cc-langs)) '(92))) (cc-langs php-mode)] [c-define-lang-constant c-symbol-start (((php-mode) concat "[" c-alpha "_$]")) (cc-langs php-mode)] [c-define-lang-constant c-multiline-string-start-char (((php-mode) . t)) (cc-langs php-mode)] [c-define-lang-constant c-assignment-operators (((php-mode) append (remove ">>>=" (c-get-lang-constant 'c-assignment-operators '(cc-langs))) '(".="))) (cc-langs php-mode)] [c-define-lang-constant beginning-of-defun-function (((php-mode) quote php-beginning-of-defun)) (cc-langs php-mode)] [c-define-lang-constant end-of-defun-function (((php-mode) quote php-end-of-defun)) (cc-langs php-mode)] [c-define-lang-constant c-primitive-type-kwds (((php-mode) quote ("int" "integer" "bool" "boolean" "float" "double" "real" "string" "object"))) (cc-langs php-mode)] [c-define-lang-constant c-class-decl-kwds (((php-mode) quote ("class" "trait" "interface"))) (cc-langs php-mode)] [c-define-lang-constant c-brace-list-decl-kwds (((php-mode))) (cc-langs php-mode)] [c-define-lang-constant c-typeless-decl-kwds (((php-mode) append (c-get-lang-constant 'c-class-decl-kwds '(cc-langs)) '("function"))) (cc-langs php-mode)] [c-define-lang-constant c-modifier-kwds (((php-mode) quote ("abstract" "const" "final" "native" "static" "strictfp" "synchronized" "transient" "volatile"))) (cc-langs php-mode)] [c-define-lang-constant c-protection-kwds (((php-mode) quote ("private" "protected" "public"))) (cc-langs php-mode)] [c-define-lang-constant c-postfix-decl-spec-kwds (((php-mode) quote ("implements" "extends"))) (cc-langs php-mode)] [c-define-lang-constant c-type-list-kwds (((php-mode) quote ("new" "use" "implements" "extends" "namespace" "instanceof" "insteadof"))) (cc-langs php-mode)] [c-define-lang-constant c-ref-list-kwds (((php-mode))) (cc-langs php-mode)] [c-define-lang-constant c-block-stmt-2-kwds (((php-mode) append '("elseif" "foreach" "declare") (remove "synchronized" (c-get-lang-constant 'c-block-stmt-2-kwds '(cc-langs))))) (cc-langs php-mode)] [c-define-lang-constant c-simple-stmt-kwds (((php-mode) append '("include" "include_once" "require" "require_once" "echo" "print" "die" "exit") (c-get-lang-constant 'c-simple-stmt-kwds '(cc-langs)))) (cc-langs php-mode)] [c-define-lang-constant c-constant-kwds (((php-mode) quote ("true" "false" "null"))) (cc-langs php-mode)] [c-define-lang-constant c-lambda-kwds (((php-mode) quote ("function"))) (cc-langs php-mode)] [c-define-lang-constant c-other-kwds (((php-mode) quote ("__halt_compiler" "and" "array" "callable" "as" "break" "catch all" "catch" "clone" "default" "empty" "enddeclare" "endfor" "endforeach" "endif" "endswitch" "endwhile" "eval" "global" "isset" "list" "or" "parent" "static" "unset" "var" "xor" "yield" "encoding" "ticks" "self"))) (cc-langs php-mode)] [c-define-lang-constant c-recognize-<>-arglists (((php-mode))) (cc-langs php-mode)] [c-define-lang-constant c-enums-contain-decls (((php-mode))) (cc-langs php-mode)] [c-define-lang-constant c-nonlabel-token-key (((php-mode) concat (c-make-keywords-re t (cl-set-difference (c-get-lang-constant 'c-keywords '(cc-langs)) (append (c-get-lang-constant 'c-label-kwds '(cc-langs)) (c-get-lang-constant 'c-constant-kwds '(cc-langs))) :test 'string-equal)))) (cc-langs php-mode)]] 4)
#@93 Line up chained methods using `c-lineup-cascaded-calls',
but only if the setting is enabled
(defalias 'php-lineup-cascaded-calls #[(langelem) "\205 \302	!\207" [php-lineup-cascaded-calls langelem c-lineup-cascaded-calls] 2 (#$ . 14604)])
(c-add-style "php" '((c-basic-offset . 4) (c-doc-comment-style . javadoc) (c-offsets-alist (arglist-close . php-lineup-arglist-close) (arglist-cont first php-lineup-cascaded-calls 0) (arglist-cont-nonempty first php-lineup-cascaded-calls c-lineup-arglist) (arglist-intro . php-lineup-arglist-intro) (case-label . +) (class-open . -) (comment-intro . 0) (inlambda . 0) (inline-open . 0) (label . +) (statement-cont first php-lineup-cascaded-calls php-lineup-string-cont +) (substatement-open . 0) (topmost-intro-cont first php-lineup-cascaded-calls +))))
#@52 Set PHP Mode to use reasonable default formatting.
(defalias 'php-enable-default-coding-style #[nil "\300\301!\207" [c-set-style "php"] 2 (#$ . 15404) nil])
(c-add-style "pear" '("php" (c-basic-offset . 4) (c-offsets-alist (case-label . 0))))
#@80 Sets up php-mode to use the coding styles preferred for PEAR
code and modules.
(defalias 'php-enable-pear-coding-style #[nil "\303\304\305\306!\210\307\302!\210\310\302!\211\207" [tab-width indent-tabs-mode show-trailing-whitespace 4 nil c-set-style "pear" make-local-variable default-value] 2 (#$ . 15653) nil])
(c-add-style "drupal" '("php" (c-basic-offset . 2)))
#@79 Makes php-mode use coding styles that are preferable for
working with Drupal.
(defalias 'php-enable-drupal-coding-style #[nil "\304\305\306\307\303!\210\310\311\312\313\305\310$\210\314\315!\207" [tab-width indent-tabs-mode fill-column show-trailing-whitespace 2 nil 78 make-local-variable t add-hook before-save-hook delete-trailing-whitespace c-set-style "drupal"] 5 (#$ . 16028) nil])
(c-add-style "wordpress" '("php" (c-basic-offset . 4)))
#@82 Makes php-mode use coding styles that are preferable for
working with Wordpress.
(defalias 'php-enable-wordpress-coding-style #[nil "\305\306\307\305\310\311!\210\312\304!\210\313\304!\211\207" [indent-tabs-mode fill-column tab-width c-indent-comments-syntactically-p show-trailing-whitespace t 78 4 c-set-style "wordpress" make-local-variable default-value] 2 (#$ . 16482) nil])
(c-add-style "symfony2" '("php" (c-offsets-alist (statement-cont . php-lineup-hanging-semicolon))))
#@81 Makes php-mode use coding styles that are preferable for
working with Symfony2.
(defalias 'php-enable-symfony2-coding-style #[nil "\305\306\307\211\310\311!\210\312\304!\210\313\304!\211\207" [indent-tabs-mode fill-column c-indent-comments-syntactically-p require-final-newline show-trailing-whitespace nil 78 t c-set-style "symfony2" make-local-variable default-value] 3 (#$ . 16973) nil])
(c-add-style "psr2" '("php" (c-offsets-alist (statement-cont . +))))
#@49 Makes php-mode comply to the PSR-2 coding style
(defalias 'php-enable-psr2-coding-style #[nil "\305\306\307\211\310\311!\210\312\303!\210\307\312\304!\210\307\313\314\315\305\307$\207" [indent-tabs-mode fill-column c-indent-comments-syntactically-p require-final-newline show-trailing-whitespace nil 78 t c-set-style "psr2" make-local-variable add-hook before-save-hook delete-trailing-whitespace] 6 (#$ . 17444) nil])
#@40 Regular expression for a PHP function.
(defconst php-beginning-of-defun-regexp "^\\s-*\\(?:\\(?:abstract\\|final\\|private\\|protected\\|public\\|static\\)\\s-+\\)*function\\s-+&?\\(\\(?:\\sw\\|\\s_\\)+\\)\\s-*(" (#$ . 17875))
#@118 Move to the beginning of the ARGth PHP function from point.
Implements PHP version of `beginning-of-defun-function'.
(defalias 'php-beginning-of-defun #[(&optional arg) "\206 \303\211\304V\203 \305	\306\307#\210S\211\202 \304W\205B \303\210`\310\303!\210\311\312!\210\303y\210\n`=\203; \313	\306\307#\210T)\202 )\207" [arg php-beginning-of-defun-regexp opoint 1 0 re-search-backward nil noerror beginning-of-defun forward-list 2 re-search-forward] 5 (#$ . 18109) "p"])
#@133 Move the end of the ARGth PHP function from point.
Implements PHP version of `end-of-defun-function'

See `php-beginning-of-defun'.
(defalias 'php-end-of-defun #[(&optional arg) "\301\206 \302[!\207" [arg php-beginning-of-defun 1] 2 (#$ . 18598) "p"])
(defvar php-warned-bad-indent nil)
(defalias 'php-check-html-for-indentation #[nil "\306`\307 b\210\310\302!\203 \n\204* \311 \312\216\313	\314 \315#\206& \316	\307 \315#*\2041 b\210\315\202\326 b\210\315\317\320\321\".\322\323\320\324\"\"/\320\325/\"0\326\327\330.\331#\332/\203h \333\327\3300\331#\334\335R\202i \336R1\337\340\215\2112\204\323 /\203\314 \3411!\204\210 \342\343!\210\202\323 /G\344U\203\226 0@\202\246 \342\345!\210\346\3470\323\3150@\350&\2113\205\265 \3513/\"AA@\2114\203\310 \342\345!\210\3523!\2104 \210*\202\323 \353\354\3551#\210.\323*\207" [here html-tag-re mumamo-multi-major-mode save-match-data-internal php-warned-bad-indent known-multi-libs "^\\s-*</?\\sw+.*?>" line-beginning-position boundp match-data ((byte-code "\301\302\"\207" [save-match-data-internal set-match-data evaporate] 3)) re-search-forward line-end-position t re-search-backward (("mumamo" mumamo (lambda nil (nxhtml-mumamo))) ("mmm-mode" mmm-mode (lambda nil (mmm-mode 1))) ("multi-mode" multi-mode (lambda nil (multi-mode 1))) ("web-mode" web-mode (lambda nil (web-mode)))) mapcar #[(lib) "@\207" [lib] 1] delq nil #[(lib) "\301@!\205 \207" [lib locate-library] 2] #[(lib) "@\207" [lib] 1] "Indentation fails badly with mixed HTML/PHP in the HTML part in\nplain `php-mode'.  To get indentation to work you must use an\nEmacs library that supports 'multiple major modes' in a buffer.\nParts of the buffer will then be in `php-mode' and parts in for\nexample `html-mode'.  Known such libraries are:\n	" mapconcat identity ", " "\n" "You have these available in your `load-path':\n	" "\n\n" "Do you want to turn any of those on? " "You do not have any of those in your `load-path'." is-using (byte-code "\303\211\205- \n@\304	\211A@\262!\203% 	\211A@\262J\203% \305\306\307\"\210\nA\211\204 \303*\207" [available-multi-libs lib --dolist-tail-- nil boundp throw is-using t] 4) y-or-n-p message "Did not do indentation, but you can try again now if you want" 1 "" completing-read "Choose multiple major mode support library: " (available-names . 1) assoc load lwarn php-indent :warning known-names available-multi-libs available-names base-msg is-using-multi name mode] 9])
(defalias 'php-cautious-indent-region #[(start end &optional quiet) "\203 	\204 \305 \205 \306\n\f#\207" [php-mode-warn-if-mumamo-off php-warned-bad-indent start end quiet php-check-html-for-indentation c-indent-region] 4])
(defalias 'php-cautious-indent-line #[nil "\203 	\204 \305 \2052 `\306\307\306!\210\310 \311\216\312\313!\203% \314 \204' \315*b\210\n\2051 \316 *\207" [php-mode-warn-if-mumamo-off php-warned-bad-indent doit here save-match-data-internal php-check-html-for-indentation nil move-beginning-of-line match-data ((byte-code "\301\302\"\207" [save-match-data-internal set-match-data evaporate] 3)) looking-at "[a-zA-Z0-9_]+;\n" php-in-string-p t c-indent-line] 2])
#@227 Return t on html lines (including php region border), otherwise nil.
POS is a position on the line in question.

This is was done due to the problem reported here:

  URL `https://answers.launchpad.net/nxhtml/+question/43320'
(defalias 'php-c-at-vsemi-p #[(&optional pos) "\205# 	\206	 ``\305\306 \307\216	b\210\310 \210\311\312!*b\210\n*\207" [php-template-compatibility pos ret here save-match-data-internal nil match-data ((byte-code "\301\302\"\207" [save-match-data-internal set-match-data evaporate] 3)) beginning-of-line looking-at "^[[:space:]]*<[?\\a-z]\\|.*[?\\a-z]>[[:space:]]*$"] 2 (#$ . 21772)])
#@25 See `php-c-at-vsemi-p'.
(defalias 'php-c-vsemi-status-unknown-p #[nil "\300\207" ["See `php-c-at-vsemi-p'."] 1 (#$ . 22395)])
(defalias 'php-in-string-p #[nil "\300\301 8\207" [3 syntax-ppss] 2])
(byte-code "\300\301\302\303#\207" [put php-in-string-p byte-optimizer byte-compile-inline-expand] 4)
(defalias 'php-in-comment-p #[nil "\300\301 8\207" [4 syntax-ppss] 2])
(byte-code "\300\301\302\303#\207" [put php-in-comment-p byte-optimizer byte-compile-inline-expand] 4)
(defalias 'php-in-string-or-comment-p #[nil "\300\301 8\207" [8 syntax-ppss] 2])
(byte-code "\300\301\302\303#\207" [put php-in-string-or-comment-p byte-optimizer byte-compile-inline-expand] 4)
#@91 Line up string toward equal sign or dot
e.g.
$str = 'some'
     . 'string';
this ^ lineup
(defalias 'php-lineup-string-cont #[(langelem) "\212Ab\210\303\211	\204' \304\305\306 \307#\203' \310\311 8\204	 \307\312iS!\202	 \n+\207" [langelem finish ret nil re-search-forward "[=.]" line-end-position t 8 syntax-ppss vector] 4 (#$ . 23067)])
(defalias 'php-lineup-arglist-intro #[(langelem) "\212Ab\210\302i	\\!)\207" [langelem c-basic-offset vector] 3])
(defalias 'php-lineup-arglist-close #[(langelem) "\212Ab\210\301i!)\207" [langelem vector] 2])
(defalias 'php-lineup-arglist #[(langelem) "\212\301 \210\302\303\304!)\262\203 \305\202 \306)\207" [inhibit-changing-match-data beginning-of-line "\\s-*->" t looking-at + 0] 3])
(defalias 'php-lineup-hanging-semicolon #[(langelem) "\212\301 \210\302\303\304!)\262\203 \305\202 \306)\207" [inhibit-changing-match-data beginning-of-line "\\s-*;\\s-*$" t looking-at 0 +] 3])
#@52 Regular expression for the start of a PHP heredoc.
(defconst php-heredoc-start-re "<<<\\(?:\\w+\\|'\\w+'\\)$" (#$ . 24009))
#@90 Build a regular expression for the end of a heredoc started by
the string HEREDOC-START.
(defalias 'php-heredoc-end-re #[(heredoc-start) "\301\302\"\210\303\304\305\"\306Q\207" [heredoc-start string-match "\\w+" "^\\(" match-string 0 "\\)\\W"] 4 (#$ . 24139)])
#@43 Apply propertize rules from START to END.
(defalias 'php-syntax-propertize-function #[(start end) "b\210`	W\203 \304\n	\305#\203 \306 \210\202 b\210\304\307	\305#\2058 \310\311 8\203 \312\224\313\211T\314\315$\210)\202 \207" [start end php-heredoc-start-re -pos- re-search-forward t php-heredoc-syntax "['\"]" 4 syntax-ppss 0 put-text-property syntax-table (3)] 5 (#$ . 24408)])
#@42 Mark the boundaries of searched heredoc.
(defalias 'php-heredoc-syntax #[nil "\301\224b\210`\302\211T\303\304$\210)\305\306\307\301!!\310\311#\203\" \312\225b\210\202% db\210`S\302\211T\303\304$)\207" [-pos- 0 put-text-property syntax-table (15) re-search-forward php-heredoc-end-re match-string nil t 1] 5 (#$ . 24802)])
#@74 Extend the propertize region if START or END falls inside a
PHP heredoc.
(defalias 'php-syntax-propertize-extend-region #[(start end) "\306\211\nb\210\307\306\310#\203& `\311\312\313\314!!\306\310#\203% `\nV\203% \f)b\210\307\306\310#\203J \311\312\313\314!!\306\310#\203H `V\203J `\202J d	\204R \205] 	\206W \n\206\\ B*\207" [new-end new-start start php-heredoc-start-re maybe end nil re-search-backward t re-search-forward php-heredoc-end-re match-string 0] 4 (#$ . 25134)])
#@19 PHP Mode Commands
(defvar php-mode-menu nil (#$ . 25630))
(byte-code "\302\303\304\305	\306=\203 \307\202 \310\311\312\313#B$\207" [php-mode-map c-version-sym easy-menu-do-define php-mode-menu "PHP Mode Commands" "PHP" 5\.32\.5 (["Complete function name" php-complete-function t] ["Browse manual" php-browse-manual t] ["Search documentation" php-search-documentation t] ["----" t] ["Comment Out Region" comment-region (c-fn-region-is-active-p)] ["Uncomment Region" (comment-region (region-beginning) (region-end) '(4)) (c-fn-region-is-active-p)] ["Indent Expression" c-indent-exp (memq (char-after) '(40 91 123))] ["Indent Line or Region" c-indent-line-or-region t] ["Fill Comment Paragraph" c-fill-paragraph t] "----" ["Backward Statement" c-beginning-of-statement t] ["Forward Statement" c-end-of-statement t] ["Up Conditional" c-up-conditional t] ["Backward Conditional" c-backward-conditional t] ["Forward Conditional" c-forward-conditional t] "----" ["Macro Expand Region" c-macro-expand (c-fn-region-is-active-p)] ["Backslashify" c-backslash-region (c-fn-region-is-active-p)] "----" ("Style..." ["Set Style..." c-set-style t] ["Show Current Style Name" (message "Style Name: %s" c-indentation-style) t] ["Guess Style from this Buffer" c-guess-buffer-no-install t] ["Install the Last Guessed Style..." c-guess-install (and c-guess-guessed-offsets-alist c-guess-guessed-basic-offset)] ["View the Last Guessed Style" c-guess-view (and c-guess-guessed-offsets-alist c-guess-guessed-basic-offset)]) "----" ("Toggle..." ["Syntactic indentation" c-toggle-syntactic-indentation :style toggle :selected c-syntactic-indentation] ["Electric mode" c-toggle-electric-state :style toggle :selected c-electric-flag] ["Auto newline" c-toggle-auto-newline :style toggle :selected c-auto-newline] ["Hungry delete" c-toggle-hungry-state :style toggle :selected c-hungry-delete-key] ["Subword mode" subword-mode :style toggle :selected (and (boundp 'subword-mode) subword-mode)])) c-get-lang-constant c-mode-menu (cc-langs) php-mode] 9)
#@160 Hook run after entering PHP mode.
No problems result if this variable is not bound.
`add-hook' automatically binds it.  (This is true for all hook variables.)
(defvar php-mode-hook nil (#$ . 27663))
(byte-code "\300\301!\204\f \302\301\303\304#\210\300\207" [boundp php-mode-map put definition-name php-mode] 4)
(defvar php-mode-map (make-sparse-keymap))
(byte-code "\300\301N\204 \302\300\301\303\304!#\210\305\306!\204 \302\306\307\310#\210\300\207" [php-mode-map variable-documentation put purecopy "Keymap for `php-mode'." boundp php-mode-syntax-table definition-name php-mode] 5)
(defvar php-mode-syntax-table (make-syntax-table))
(byte-code "\300\301N\204 \302\300\301\303\304!#\210\302\305\306\307#\207" [php-mode-syntax-table variable-documentation put purecopy "Syntax table for `php-mode'." php-mode-abbrev-table definition-name php-mode] 5)
(defvar php-mode-abbrev-table (progn (define-abbrev-table 'php-mode-abbrev-table nil) php-mode-abbrev-table))
(byte-code "\300\301N\204 \302\300\301\303\304!#\210\302\305\306\307#\207" [php-mode-abbrev-table variable-documentation put purecopy "Abbrev table for `php-mode'." php-mode derived-mode-parent c-mode] 5)
#@200 Major mode for editing PHP code.

\{php-mode-map}

In addition to any hooks its parent mode `c-mode' might have run,
this mode runs the hook `php-mode-hook', as the final step
during initialization.
(defalias 'php-mode #[nil "\306\300!\210\307\310 \210\311\312\310\313N\203 \314\311\313\310\313N#\210\315!\204' \316\317 \"\210\320\f!\211\2036 \321 =\203< \322\f\323 \"\210)\324@\325\"\204V @A=\204V \326@\325AC#\210\327!\210\330\f!\210@A\331\307!\210\311\332\211BCD\306\333!\210\306\334!\210\306\335!\210\306\336!\210\306\337!\210\340\341\342\217\210+\343\311!\210\344\345\346\f#\210\344\347\350\f#\210\344\351\350\f#\210\344\352\353\f#\210\344\354\355\f#\210\306\356!\210\357.\360\361!\203\306 \362\306\363!\364\"\210\306\361!\210\3651EF\307G\306\366!\210\3326\306\367!\210\3327\370\371\372\332\307$\210\370\373\374\332\307$\210\370\375\376\332\307$\210\370\377\201T \332\307$\210\370\201U \201V \332\307$\210H\201W =\203\372 \210\201X \371!\210\202pH\201Y =\203.\374 \210\201X \373!\210\202pH\201Z =\203C\376 \210\201X \375!\210\202pH\201[ =\203Z\201T  \210\201X \377!\210\202pH\201\\ =\203p\201V  \210\201X \201U !\210I\204\227J;\203\235\201] \201^ \201J  \"\203\235\201] \201_ \201J  \"\203\235\201X \371!\210\201` K\201a L\201b M\201c N\306\201O !\210\201d O\306\336!\210\201e \306\337!\210\201f \306\201P !\210\332P\306\201Q !\210\201g Q\306\201S !\210RS)\201h \201i !\207" [delay-mode-hooks major-mode mode-name php-mode-map php-mode-syntax-table parent make-local-variable t c-mode php-mode "PHP" mode-class put keymap-parent set-keymap-parent current-local-map char-table-parent standard-syntax-table set-char-table-parent syntax-table abbrev-table-get :parents abbrev-table-put use-local-map set-syntax-table c-initialize-cc-mode nil comment-start comment-end comment-start-skip beginning-of-defun-function end-of-defun-function err (byte-code "\306=\203\226\302\307\303\310\304\311\305\312\313\314\315\316 @\317@!\210\320\321\322@#\210@)@\320\323\324@#\210\320\325\326@#\210@)\327\330\331\332\"\205\220 \316 @\317@!\210\320\321\322@#\210@)@\320\333\334@#\210\320\335\334@#\210\320\336\334@#\210\320\337\334@#\210\320\340\334@#\210\320\341\334@#\210@)\342\343\"\344\345\346\211AAB\204\251 \347\350!\210B\351N\211C\204\271 \347\352B\"\210\353CAP!*J)!\"\354DE@E\203\352 E@DEAE\320D@DA@#\210\202\315 @+$\355\354\211F<\203\376 F\202FC)-\356\357\211F<\203F\202FC).\360\361\211F<\203(F\202+FC)0\362\3632\364\3654\366\3546\367\3707\371\3729\373\374;\375\376=\377\201\261 ?\201G \201\262 G\201H \201\263 H\201I \354I\201J \201\264 J\201K \354K\201L \201\265 L\201M \354M\201N \201\266 N\201O \201\267 O\201P \201\270 P\201Q \201\271 Q\201R \201\272 R\201S \354S\201T \354T\201U \201\273 U\201V \201\274 V\201W \201\275 W\201X \201\276 X\201Y \201\277 Y\201Z \201\300 Z\201[ \201\301 [\201\\ \201\302 \\\201] \201\303 ]\201^ \201\304 ^\201_ \201\302 _\201` \201\305 `\201a \201\306 a\201b \201\307 b\201c \201\310 c\201d \201\311 d\201e \201\312 e\201f \201\313 f\201g \201\314 g\201h \201\315 h\201i \201\315 i\201j \354j\201k \354k\201l \201\316 l\201m \201\315 m\201n \201\315 n\201o \201\317 \201\320 \354\"o\201p \201\316 p\201q \201\315 q\201r \201\321 r\201s \201\321 s\201t \201\322 t\201u \201\323 u\201v \354v\201w \201\324 w\201x \354x\201y \201\315 y\201z \201\325 z\201{ \201\326 {\201| \201\327 |\201} \201\330 }\201~ \201\331 ~\201 \201\332 \201\200 \354\200\201\201 \201\333 \201\201\202 \201\334 \202\201\203 \201\335 \203\201\204 \201\336 \204\201\205 \354\205\201\206 \201\337 \206\201\213 \201\340 \207\354\211\210\211\201\341 \207G\201\342 _\201\343 \"\212\207\203\340\207\211@@\262\210\207\211@A\262\211\207A\207\201\344 \353\210\212\"\201\345 \201\346 \201\317 \201\347 \211\"\"\"\210\202\246\212,\213\201\214 \201\350 \214\201\215 \201\351 \215\201\216 \201\352 \216\201\217 \201\353 \217\201\220 \201\262 \220\201\221 \201\353 \221\201\222 \201\354 \222\201\223 \201\355 \223\201\224 \201\352 \224\201\225 \201\356 \225\201\226 \201\357 \226\201\227 \201\360 \227\201\230 \354\230\201\231 \201\361 \231\201\235 \201\362 \201\363 AB\204v\347\350!\210B\351N\211C\204\206\347\352B\"\210\353CAP!*!\205\275\201\363 \211AAB\204\243\347\350!\210B\351N\211C\204\263\347\352B\"\210\353CAP!*J)\232\201\345 \201\346 \201\317 \201\364 \232\"\"\233\201\345 \201\346 \201\317 \201\365 \232\"\"\234\201\366 \201\367 \201\370 \201\371 \354\201\370 \201\372 \234\"\"C\233\"\201\373 \"\201\374 Q+\235\201\236 \354\236\201\237 \354\237\201\240 \201\264 \240\331\354\201\241 \354\241\201\242 \354\242\201\243 \354\243\201\244 \354\244\201\245 \354\245\201\246 \201\324 \246\201\247 \201\264 \247\201\250 \201\375 \250\201\251 \201\376 \251\201\252 \201\352 \252\201\253 \354\253\201\254 \354\254\201\255 \354\255\201\256 \201\264 \256\202\304\201\264 \257\201\377 \260\260\211@@\262\260\211@@\262\201 \260@A@!L\210\260A\211\260\204\240)\354\207" [c-version-sym current-var comment-start comment-end comment-start-skip beginning-of-defun-function 5\.32\.5 "// " #23="" "\\(//+\\|/\\*+\\)\\s *" php-beginning-of-defun end-of-defun-function php-end-of-defun c++-template-syntax-table make-syntax-table c-populate-syntax-table modify-syntax-entry 64 "_" 60 "(>" 62 ")<" c-no-parens-syntax-table c-get-lang-constant c-recognize-<>-arglists (cc-langs) 40 "." 41 91 93 123 125 c-identifier-syntax-modifications ((64 . "w") (95 . "w") (36 . "w")) c-identifier-syntax-table copy-syntax-table #10="mode-syntax-table" error "Not inside a CC Mode based mode" c-mode-prefix "%S has no mode prefix known to `c-mode-symbol'" intern nil c-get-state-before-change-functions c-before-font-lock-functions c-change-set-fl-decl-start c-before-context-fontification-functions c-context-set-fl-decl-start c-at-vsemi-p-fn php-c-at-vsemi-p c-vsemi-status-unknown-p-fn php-c-vsemi-status-unknown-p c-has-bitfields c-symbol-start "[[:alpha:]_$]" c-symbol-chars "[:alnum:]_$" c-symbol-key "[[:alpha:]_$][[:alnum:]_$]*" c-nonsymbol-chars "^[:alnum:]_$" c-opt-identifier-concat-key table suffix c-buffer-is-cc-mode mode-prefix mod mods fs c-identifier-start c-identifier-key c-string-escaped-newlines c-multiline-string-start-char c-opt-cpp-symbol c-opt-cpp-prefix c-anchored-cpp-prefix c-opt-cpp-start c-opt-cpp-macro-define c-opt-cpp-macro-define-start c-opt-cpp-macro-define-id c-cpp-expr-intro-re c-overloadable-operators-regexp c-opt-op-identifier-prefix c-nonsymbol-token-regexp c-assignment-op-regexp c-<>-multichar-token-regexp c-<-op-cont-regexp c->-op-cont-regexp c-stmt-delim-chars c-stmt-delim-chars-with-comma c-line-comment-starter c-comment-start-regexp c-block-comment-start-regexp c-line-comment-start-regexp c-literal-start-regexp c-doc-comment-start-regexp c-syntactic-ws-start c-syntactic-ws-end c-syntactic-eol c-paragraph-start c-paragraph-separate c-primitive-type-key c-typedef-key c-type-prefix-key c-opt-type-modifier-key c-opt-type-component-key c-class-key c-brace-list-key c-other-decl-block-key c-other-decl-block-key-in-symbols-alist c-typedef-decl-key c-decl-hangon-key c-prefix-spec-kwds-re c-specifier-key c-not-decl-init-keywords c-not-primitive-type-keywords-regexp c-opt-block-decls-with-vars-key c-postfix-decl-spec-key c-colon-type-list-re c-opt-<>-sexp-key c-block-stmt-1-key c-block-stmt-1-2-key c-block-stmt-2-key c-opt-block-stmt-key c-simple-stmt-key c-paren-stmt-key c-opt-asm-stmt-key c-case-kwds-regexp c-label-kwds-regexp c-opt-inexpr-brace-list-key c-decl-block-key c-opt-bitfield-key c-keywords-regexp alist kwd lang-const-list obarray c-keywords-obarray c-regular-keywords-regexp c-primary-expr-regexp c-decl-start-colon-kwd-re c-decl-prefix-re c-decl-start-re c-decl-prefix-or-start-re c-cast-parens c-block-prefix-charset c-type-decl-prefix-key c-type-decl-suffix-key c-after-suffixed-type-decl-key c-after-suffixed-type-maybe-decl-key c-opt-type-concat-key c-opt-type-suffix-key extra-types regexp-strings plain-strings c-known-type-key c-special-brace-lists c-recognize-knr-p c-recognize-typeless-decls c-enums-contain-decls c-recognize-paren-inits c-recognize-paren-inexpr-blocks c-opt-<>-arglist-start c-opt-<>-arglist-start-in-paren c-opt-postfix-decl-spec-key c-recognize-colon-labels c-label-prefix-re c-nonlabel-token-key c-nonlabel-token-2-key c-opt-extra-label-key c-opt-friend-key c-opt-method-key c-type-decl-end-used source-eval init "\\(\\(?:->\\|::\\|\\\\\\)\\)" "[[:alpha:]_$]\\|\\(\\(?:::\\|\\\\\\)\\)" "\\(\\(\\(?:::\\|\\\\\\)\\)\\(\\s \\|[\n]\\)*\\)?\\([[:alpha:]_$][[:alnum:]_$]*\\)\\(\\(\\s \\|[\n]\\)*\\(\\(?:->\\|::\\|\\\\\\)\\)\\(\\s \\|[\n]\\)*\\(\\(\\*\\)\\(\\(\\s \\|[\n]\\)*\\([[:alpha:]_$][[:alnum:]_$]*\\)\\)?\\|\\([[:alpha:]_$][[:alnum:]_$]*\\)\\)\\)*" t "\\s-*<\\?" "\\s-*<\\?\\([[:alnum:]]+\\)" "define" "\\s-*<\\?define[ 	]+\\(\\(\\sw\\|_\\)+\\)\\(([^)]*)\\)?\\([ 	]\\|\\\\\n\\)*" "\\s-*<\\?define[ 	]+\\(\\sw\\|_\\)+" "\\s-*<\\?\\(\\(?:\\(?:el\\)?if\\)\\)\\([^[:alnum:]_$]\\|$\\)" "\\(?:!=\\|##\\|%=\\|&[&=]\\|\\*[/=]\\|\\+[+=]\\|-[=>-]\\|\\.=\\|/[*/=]\\|::\\|<\\(?:<=\\|[<=]\\)\\|==\\|>\\(?:>[=>]\\|[=>]\\)\\|\\^=\\||[=|]\\|[]!#%&(-,./:-?[{-~^-]\\)" "=\\([^=]\\|$\\)\\|\\(?:\\(?:<<\\|>>\\|[%&*+./|^-]\\)=\\)" "\\(?:->\\|<\\(?:<=\\|[<=]\\)\\|>\\(?:>[=>]\\|[=>]\\)\\)" "\\(?:<=\\|[<=]\\)" "\\(?:>?=\\)" "^;{}?:" "^;,{}?:" "//" "\\(?:/[*/]\\)\\|\\s!" "/\\*" "\\(?:/[*/]\\)\\|\\s!\\|\"|" "/\\*\\*" "\\s \\|\\(?:/[*/]\\|[\n#]\\)\\|\\\\[\n]\\|\\s!" "\\s \\|[\n/]\\|\\s!" "\\s *\\(/\\*[^*\n]*\\(\\*+[^*\n/][^*\n]*\\)*\\*+/\\s *\\)*\\(//\\|/\\*[^*\n]*\\(\\*+[^*\n/][^*\n]*\\)*$\\|\\\\$\\|$\\)" "\\(@[a-zA-Z]+\\>\\|$\\)" "$" "\\(\\(?:bool\\(?:ean\\)?\\|double\\|float\\|int\\(?:eger\\)?\\|object\\|real\\|string\\)\\)\\([^[:alnum:]_$]\\|$\\)" "\\(\\<\\>\\)" "\\(\\(?:class\\|interface\\|trait\\)\\)\\([^[:alnum:]_$]\\|$\\)" mapcar #[#11=(elt) "\211\301\230\203 \302\202 \303\304P!B\207" [elt #12="extern" inextern-lang intern #13="in"] 4] "\\(\\(?:abstract\\|c\\(?:lass\\|onst\\)\\|f\\(?:inal\\|unction\\)\\|i\\(?:mport\\|nterface\\)\\|native\\|package\\|s\\(?:t\\(?:atic\\|rictfp\\)\\|ynchronized\\)\\|tra\\(?:\\(?:i\\|nsien\\)t\\)\\|volatile\\)\\)\\([^[:alnum:]_$]\\|$\\)" "\\(\\(?:__halt_compiler\\|a\\(?:nd\\|rray\\|s\\)\\|break\\|c\\(?:a\\(?:llable\\|se\\|tch\\(?: all\\)?\\)\\|\\(?:lon\\|ontinu\\)e\\)\\|d\\(?:e\\(?:clare\\|fault\\)\\|ie\\|o\\)\\|e\\(?:cho\\|lse\\(?:if\\)?\\|mpty\\|n\\(?:coding\\|d\\(?:declare\\|for\\(?:each\\)?\\|if\\|switch\\|while\\)\\)\\|val\\|x\\(?:it\\|tends\\)\\)\\|f\\(?:alse\\|inally\\|or\\(?:each\\)?\\)\\|g\\(?:lobal\\|oto\\)\\|i\\(?:f\\|mplements\\|n\\(?:clude\\(?:_once\\)?\\|st\\(?:\\(?:ance\\|ead\\)of\\)\\)\\|sset\\)\\|list\\|n\\(?:amespace\\|ew\\|ull\\)\\|or\\|p\\(?:arent\\|r\\(?:i\\(?:nt\\|vate\\)\\|otected\\)\\|ublic\\)\\|re\\(?:quire\\(?:_once\\)?\\|turn\\)\\|s\\(?:elf\\|witch\\)\\|t\\(?:h\\(?:is\\|row\\)\\|icks\\|r\\(?:ue\\|y\\)\\)\\|u\\(?:nset\\|se\\)\\|var\\|while\\|xor\\|yield\\)\\)\\([^[:alnum:]_$]\\|$\\)" "\\(\\(?:__halt_compiler\\|a\\(?:bstract\\|nd\\|rray\\|s\\)\\|break\\|c\\(?:a\\(?:llable\\|se\\|tch\\(?: all\\)?\\)\\|l\\(?:ass\\|one\\)\\|on\\(?:st\\|tinue\\)\\)\\|d\\(?:e\\(?:clare\\|fault\\)\\|ie\\|o\\)\\|e\\(?:cho\\|lse\\(?:if\\)?\\|mpty\\|n\\(?:coding\\|d\\(?:declare\\|for\\(?:each\\)?\\|if\\|switch\\|while\\)\\)\\|val\\|x\\(?:it\\|tends\\)\\)\\|f\\(?:alse\\|inal\\(?:ly\\)?\\|or\\(?:each\\)?\\|unction\\)\\|g\\(?:lobal\\|oto\\)\\|i\\(?:f\\|mp\\(?:lements\\|ort\\)\\|n\\(?:clude\\(?:_once\\)?\\|st\\(?:\\(?:ance\\|ead\\)of\\)\\|terface\\)\\|sset\\)\\|list\\|n\\(?:a\\(?:\\(?:mespac\\|tiv\\)e\\)\\|ew\\|ull\\)\\|or\\|p\\(?:a\\(?:ckage\\|rent\\)\\|r\\(?:i\\(?:nt\\|vate\\)\\|otected\\)\\|ublic\\)\\|re\\(?:quire\\(?:_once\\)?\\|turn\\)\\|s\\(?:elf\\|t\\(?:atic\\|rictfp\\)\\|witch\\|ynchronized\\)\\|t\\(?:h\\(?:is\\|row\\)\\|icks\\|r\\(?:a\\(?:\\(?:i\\|nsien\\)t\\)\\|ue\\|y\\)\\)\\|u\\(?:nset\\|se\\)\\|v\\(?:ar\\|olatile\\)\\|while\\|xor\\|yield\\)\\)\\([^[:alnum:]_$]\\|$\\)" "\\(\\(?:\\(?:extend\\|implement\\)s\\)\\)\\([^[:alnum:]_$]\\|$\\)" "\\(\\(?:do\\|else\\|\\(?:finall\\|tr\\)y\\)\\)\\([^[:alnum:]_$]\\|$\\)" "\\(\\(?:try\\)\\)\\([^[:alnum:]_$]\\|$\\)" "\\(\\(?:catch\\|declare\\|elseif\\|for\\(?:each\\)?\\|if\\|switch\\|while\\)\\)\\([^[:alnum:]_$]\\|$\\)" "\\(\\(?:catch\\|d\\(?:eclare\\|o\\)\\|else\\(?:if\\)?\\|f\\(?:inally\\|or\\(?:each\\)?\\)\\|if\\|switch\\|try\\|while\\)\\)\\([^[:alnum:]_$]\\|$\\)" "\\(\\(?:break\\|continue\\|die\\|e\\(?:cho\\|xit\\)\\|goto\\|include\\(?:_once\\)?\\|print\\|re\\(?:quire\\(?:_once\\)?\\|turn\\)\\|throw\\)\\)\\([^[:alnum:]_$]\\|$\\)" "\\(\\(?:for\\)\\)\\([^[:alnum:]_$]\\|$\\)" "\\(\\(?:case\\)\\)\\([^[:alnum:]_$]\\|$\\)" "\\(\\(?:case\\|default\\)\\)\\([^[:alnum:]_$]\\|$\\)" "\\(\\(?:new\\)\\)\\([^[:alnum:]_$]\\|$\\)" "\\(\\(?:class\\|interface\\|new\\|trait\\)\\)\\([^[:alnum:]_$]\\|$\\)" "\\(\\(?:__halt_compiler\\|a\\(?:bstract\\|nd\\|rray\\|s\\)\\|b\\(?:ool\\(?:ean\\)?\\|reak\\)\\|c\\(?:a\\(?:llable\\|se\\|tch\\(?: all\\)?\\)\\|l\\(?:ass\\|one\\)\\|on\\(?:st\\|tinue\\)\\)\\|d\\(?:e\\(?:clare\\|fault\\)\\|ie\\|o\\(?:uble\\)?\\)\\|e\\(?:cho\\|lse\\(?:if\\)?\\|mpty\\|n\\(?:coding\\|d\\(?:declare\\|for\\(?:each\\)?\\|if\\|switch\\|while\\)\\)\\|val\\|x\\(?:it\\|tends\\)\\)\\|f\\(?:alse\\|inal\\(?:ly\\)?\\|loat\\|or\\(?:each\\)?\\|unction\\)\\|g\\(?:lobal\\|oto\\)\\|i\\(?:f\\|mp\\(?:lements\\|ort\\)\\|n\\(?:clude\\(?:_once\\)?\\|st\\(?:\\(?:ance\\|ead\\)of\\)\\|t\\(?:e\\(?:ger\\|rface\\)\\)?\\)\\|sset\\)\\|list\\|n\\(?:a\\(?:\\(?:mespac\\|tiv\\)e\\)\\|ew\\|ull\\)\\|o\\(?:bject\\|r\\)\\|p\\(?:a\\(?:ckage\\|rent\\)\\|r\\(?:i\\(?:nt\\|vate\\)\\|otected\\)\\|ublic\\)\\|re\\(?:al\\|quire\\(?:_once\\)?\\|turn\\)\\|s\\(?:elf\\|t\\(?:atic\\|ri\\(?:ctfp\\|ng\\)\\)\\|witch\\|ynchronized\\)\\|t\\(?:h\\(?:is\\|row\\)\\|icks\\|r\\(?:a\\(?:\\(?:i\\|nsien\\)t\\)\\|ue\\|y\\)\\)\\|u\\(?:nset\\|se\\)\\|v\\(?:ar\\|olatile\\)\\|while\\|xor\\|yield\\)\\)\\([^[:alnum:]_$]\\|$\\)" (("null" c-constant-kwds) ("false" c-constant-kwds) ("true" c-constant-kwds) ("throw" c-simple-stmt-kwds) ("return" c-simple-stmt-kwds) ("exit" c-simple-stmt-kwds) ("die" c-simple-stmt-kwds) ("print" c-simple-stmt-kwds) ("echo" c-simple-stmt-kwds) ("require_once" c-simple-stmt-kwds) ("require" c-simple-stmt-kwds) ("include_once" c-simple-stmt-kwds) ("include" c-simple-stmt-kwds) ("package" c-prefix-spec-kwds c-other-decl-kwds) ("import" c-prefix-spec-kwds c-other-decl-kwds) ("goto" c-simple-stmt-kwds c-before-label-kwds) ("continue" c-simple-stmt-kwds c-before-label-kwds) ("public" c-protection-kwds) ("protected" c-protection-kwds) ("private" c-protection-kwds) ("function" c-prefix-spec-kwds c-typeless-decl-kwds c-lambda-kwds) ("this" c-expr-kwds c-primary-expr-kwds) ("try" c-block-stmt-1-kwds c-block-stmt-1-2-kwds c-block-stmt-kwds) ("finally" c-block-stmt-1-kwds c-block-stmt-kwds) ("else" c-block-stmt-1-kwds c-block-stmt-kwds) ("do" c-block-stmt-1-kwds c-block-stmt-kwds) ("insteadof" c-type-list-kwds) ("instanceof" c-expr-kwds c-type-list-kwds) ("namespace" c-type-list-kwds) ("use" c-type-list-kwds) ("interface" c-prefix-spec-kwds c-class-decl-kwds c-typeless-decl-kwds c-typedef-decl-kwds) ("trait" c-prefix-spec-kwds c-class-decl-kwds c-typeless-decl-kwds c-typedef-decl-kwds) ("class" c-prefix-spec-kwds c-class-decl-kwds c-typeless-decl-kwds c-typedef-decl-kwds) (#9="object" c-type-start-kwds c-primitive-type-kwds) (#8="string" c-type-start-kwds c-primitive-type-kwds) (#7="real" c-type-start-kwds c-primitive-type-kwds) (#6="double" c-type-start-kwds c-primitive-type-kwds) (#5="float" c-type-start-kwds c-primitive-type-kwds) (#4="boolean" c-type-start-kwds c-primitive-type-kwds) (#3="bool" c-type-start-kwds c-primitive-type-kwds) (#2="integer" c-type-start-kwds c-primitive-type-kwds) (#1="int" c-type-start-kwds c-primitive-type-kwds) ("self" c-other-kwds) ("ticks" c-other-kwds) ("encoding" c-other-kwds) ("yield" c-other-kwds) ("xor" c-other-kwds) ("var" c-other-kwds) ("unset" c-other-kwds) ("parent" c-other-kwds) ("or" c-other-kwds) ("list" c-other-kwds) ("isset" c-other-kwds) ("global" c-other-kwds) ("eval" c-other-kwds) ("endwhile" c-other-kwds) ("endswitch" c-other-kwds) ("endif" c-other-kwds) ("endforeach" c-other-kwds) ("endfor" c-other-kwds) ("enddeclare" c-other-kwds) ("empty" c-other-kwds) ("default" c-label-kwds c-other-kwds) ("clone" c-other-kwds) ("catch all" c-other-kwds) ("break" c-simple-stmt-kwds c-before-label-kwds c-other-kwds) ("as" c-other-kwds) ("callable" c-other-kwds) ("array" c-other-kwds) ("and" c-other-kwds) ("__halt_compiler" c-other-kwds) ("extends" c-postfix-spec-kwds c-type-list-kwds c-postfix-decl-spec-kwds) ("implements" c-postfix-spec-kwds c-type-list-kwds c-postfix-decl-spec-kwds) ("catch" c-block-stmt-kwds c-other-kwds c-block-stmt-2-kwds) ("while" c-block-stmt-kwds c-block-stmt-2-kwds) ("switch" c-block-stmt-kwds c-block-stmt-2-kwds) ("if" c-block-stmt-kwds c-block-stmt-2-kwds) ("for" c-paren-stmt-kwds c-block-stmt-kwds c-block-stmt-2-kwds) ("declare" c-block-stmt-kwds c-block-stmt-2-kwds) ("foreach" c-block-stmt-kwds c-block-stmt-2-kwds) ("elseif" c-block-stmt-kwds c-block-stmt-2-kwds) ("case" c-label-kwds c-case-kwds) ("volatile" c-prefix-spec-kwds c-modifier-kwds) ("transient" c-prefix-spec-kwds c-modifier-kwds) ("synchronized" c-prefix-spec-kwds c-modifier-kwds) ("strictfp" c-prefix-spec-kwds c-modifier-kwds) ("static" c-prefix-spec-kwds c-other-kwds c-modifier-kwds) ("native" c-prefix-spec-kwds c-modifier-kwds) ("final" c-prefix-spec-kwds c-modifier-kwds) ("const" c-prefix-spec-kwds c-modifier-kwds) ("abstract" c-prefix-spec-kwds c-modifier-kwds) ("new" c-inexpr-class-kwds c-expr-kwds c-type-list-kwds c-inexpr-brace-list-kwds)) make-vector 2 0 setplist apply nconc #[#14=(lang-const) "\301D\207" [lang-const t] 2] "\\(\\(?:__halt_compiler\\|a\\(?:bstract\\|nd\\|rray\\|s\\)\\|break\\|c\\(?:a\\(?:llable\\|se\\|tch\\(?: all\\)?\\)\\|l\\(?:ass\\|one\\)\\|on\\(?:st\\|tinue\\)\\)\\|d\\(?:e\\(?:clare\\|fault\\)\\|ie\\|o\\)\\|e\\(?:cho\\|lse\\(?:if\\)?\\|mpty\\|n\\(?:coding\\|d\\(?:declare\\|for\\(?:each\\)?\\|if\\|switch\\|while\\)\\)\\|val\\|x\\(?:it\\|tends\\)\\)\\|f\\(?:inal\\(?:ly\\)?\\|or\\(?:each\\)?\\|unction\\)\\|g\\(?:lobal\\|oto\\)\\|i\\(?:f\\|mp\\(?:lements\\|ort\\)\\|n\\(?:clude\\(?:_once\\)?\\|st\\(?:\\(?:ance\\|ead\\)of\\)\\|terface\\)\\|sset\\)\\|list\\|n\\(?:a\\(?:\\(?:mespac\\|tiv\\)e\\)\\|ew\\)\\|or\\|p\\(?:a\\(?:ckage\\|rent\\)\\|r\\(?:i\\(?:nt\\|vate\\)\\|otected\\)\\|ublic\\)\\|re\\(?:quire\\(?:_once\\)?\\|turn\\)\\|s\\(?:elf\\|t\\(?:atic\\|rictfp\\)\\|witch\\|ynchronized\\)\\|t\\(?:h\\(?:is\\|row\\)\\|icks\\|r\\(?:a\\(?:\\(?:i\\|nsien\\)t\\)\\|y\\)\\)\\|u\\(?:nset\\|se\\)\\|v\\(?:ar\\|olatile\\)\\|while\\|xor\\|yield\\)\\)\\([^[:alnum:]_$]\\|$\\)" "\\(\\(\\(?:\\\\\\|new\\|this\\)\\)\\([^[:alnum:]_$]\\|$\\)\\|\\(?:\\+\\+\\|--\\|::\\|[(+-]\\)\\)\\|[[:alpha:]_$]\\|\\.?[0-9]\\|[!#~]\\|\\s\"\\|\\s|" "\\<\\>" "\\([{}(;,<]+\\)" (40) "^!\"%-'+./;-=?[]\\^`{-~" "\\([[()]\\)" "{\\|\\(\\(?:\\(?:extend\\|implement\\)s\\)\\)\\([^[:alnum:]_$]\\|$\\)" "\\({\\|\\(\\(?:\\(?:extend\\|implement\\)s\\)\\)\\([^[:alnum:]_$]\\|$\\)\\)\\|[;,]" "\\(\\[\\(\\s \\|[\n]\\)*\\]\\|\\.\\.\\.\\)" boundp #15="font-lock-extra-types" #[#16=(re) "\301\302\"\205	 C\207" [re string-match #17="[][.*+?^$\\]"] 3] #[#18=(re) "\301\302\"?\205\n C\207" [re string-match #19="[][.*+?^$\\]"] 3] #20="\\<\\(" c-concat-separated append c-make-keywords-re (#1# #2# #3# #4# #5# #6# #7# #8# #9#) #21="\\|" #22="\\)\\>" "\\([{};]+\\)" "\\(\\(?:__halt_compiler\\|a\\(?:bstract\\|nd\\|rray\\|s\\)\\|b\\(?:ool\\(?:ean\\)?\\|reak\\)\\|c\\(?:a\\(?:llable\\|tch\\(?: all\\)?\\)\\|l\\(?:ass\\|one\\)\\|on\\(?:st\\|tinue\\)\\)\\|d\\(?:eclare\\|ie\\|o\\(?:uble\\)?\\)\\|e\\(?:cho\\|lse\\(?:if\\)?\\|mpty\\|n\\(?:coding\\|d\\(?:declare\\|for\\(?:each\\)?\\|if\\|switch\\|while\\)\\)\\|val\\|x\\(?:it\\|tends\\)\\)\\|f\\(?:inal\\(?:ly\\)?\\|loat\\|or\\(?:each\\)?\\|unction\\)\\|g\\(?:lobal\\|oto\\)\\|i\\(?:f\\|mp\\(?:lements\\|ort\\)\\|n\\(?:clude\\(?:_once\\)?\\|st\\(?:\\(?:ance\\|ead\\)of\\)\\|t\\(?:e\\(?:ger\\|rface\\)\\)?\\)\\|sset\\)\\|list\\|n\\(?:a\\(?:\\(?:mespac\\|tiv\\)e\\)\\|ew\\)\\|o\\(?:bject\\|r\\)\\|p\\(?:a\\(?:ckage\\|rent\\)\\|r\\(?:i\\(?:nt\\|vate\\)\\|otected\\)\\|ublic\\)\\|re\\(?:al\\|quire\\(?:_once\\)?\\|turn\\)\\|s\\(?:elf\\|t\\(?:atic\\|ri\\(?:ctfp\\|ng\\)\\)\\|witch\\|ynchronized\\)\\|t\\(?:h\\(?:is\\|row\\)\\|icks\\|r\\(?:a\\(?:\\(?:i\\|nsien\\)t\\)\\|y\\)\\)\\|u\\(?:nset\\|se\\)\\|v\\(?:ar\\|olatile\\)\\|while\\|xor\\|yield\\)\\)\\([^[:alnum:]_$]\\|$\\)" ((comment-start (c-lang-const comment-start)) (comment-end (c-lang-const comment-end)) (comment-start-skip (c-lang-const comment-start-skip)) (beginning-of-defun-function (c-lang-const beginning-of-defun-function)) (end-of-defun-function (c-lang-const end-of-defun-function)) (c++-template-syntax-table (and (c-lang-const c++-make-template-syntax-table) (funcall (c-lang-const c++-make-template-syntax-table))) nil) (c-no-parens-syntax-table (funcall (c-lang-const c-no-parens-syntax-table)) nil) (c-identifier-syntax-modifications (c-lang-const c-identifier-syntax-modifications) "A list that describes the modifications that should be done to the\nmode syntax table to get a syntax table that matches all identifiers\nand keywords as words.\n\nThe list is just like the one used in `font-lock-defaults': Each\nelement is a cons where the car is the character to modify and the cdr\nthe new syntax, as accepted by `modify-syntax-entry'.") (c-identifier-syntax-table (let ((table (copy-syntax-table (c-mode-var #10#))) (mods c-identifier-syntax-modifications) mod) (while mods (setq mod (car mods) mods (cdr mods)) (modify-syntax-entry (car mod) (cdr mod) table)) table) "Syntax table built on the mode syntax table but additionally\nclassifies symbol constituents like '_' and '$' as word constituents,\nso that all identifiers are recognized as words.") (c-get-state-before-change-functions (let ((fs (c-lang-const c-get-state-before-change-functions))) (if (listp fs) fs (list fs))) "If non-nil, a list of functions called from c-before-change-hook.\nTypically these will record enough state to allow\n`c-before-font-lock-function' to extend the region to fontify,\nand may do such things as removing text-properties which must be\nrecalculated.\n\nThese functions will be run in the order given.  Each of them\ntakes 2 parameters, the BEG and END supplied to every\nbefore-change function; on entry, the buffer will have been\nwidened and match-data will have been saved; point is undefined\non both entry and exit; the return value is ignored.\n\nThe functions are called even when font locking isn't enabled.\n\nWhen the mode is initialized, the functions are called with\nparameters (point-min) and (point-max).") (c-before-font-lock-functions (let ((fs (c-lang-const c-before-font-lock-functions))) (if (listp fs) fs (list fs))) "If non-nil, a list of functions called just before font locking.\nTypically they will extend the region about to be fontified (see\nbelow) and will set `syntax-table' text properties on the region.\n\nThese functions will be run in the order given.  Each of them\ntakes 3 parameters, the BEG, END, and OLD-LEN supplied to every\nafter-change function; point is undefined on both entry and exit;\non entry, the buffer will have been widened and match-data will\nhave been saved; the return value is ignored.\n\nThe functions may extend the region to be fontified by setting the\nbuffer local variables c-new-BEG and c-new-END.\n\nThe functions are called even when font locking is disabled.\n\nWhen the mode is initialized, these functions are called with\nparameters (point-min), (point-max) and <buffer size>.") (c-before-context-fontification-functions (let ((fs (c-lang-const c-before-context-fontification-functions))) (if (listp fs) fs (list fs))) "If non-nil, a list of functions called just before context (or\nother non-change) fontification is done.  Typically they will\nextend the region.\n\nThese functions will be run in the order given.  Each of them\ntakes 2 parameters, the BEG and END of the region to be\nfontified.  Point is undefined on both entry and exit.  On entry,\nthe buffer will have been widened and match-data will have been\nsaved; the return value is a cons of the adjusted\nregion, (NEW-BEG . NEW-END).") (c-at-vsemi-p-fn (c-lang-const c-at-vsemi-p-fn) "Contains a function \"Is there a virtual semicolon at POS or point?\".\nSuch a function takes one optional parameter, a buffer position (defaults to\npoint), and returns nil or t.  This variable contains nil for languages which\ndon't have EOL terminated statements. ") (c-vsemi-status-unknown-p-fn (c-lang-const c-vsemi-status-unknown-p-fn) "Contains a function \"are we unsure whether there is a virtual semicolon on this line?\".\nThe (admittedly kludgy) purpose of such a function is to prevent an infinite\nrecursion in c-beginning-of-statement-1 when point starts at a `while' token.\nThe function MUST NOT UNDER ANY CIRCUMSTANCES call c-beginning-of-statement-1,\neven indirectly.  This variable contains nil for languages which don't have\nEOL terminated statements.") (c-has-bitfields (c-lang-const c-has-bitfields) "Whether the language has bitfield declarations.") (c-symbol-start (c-lang-const c-symbol-start) "Regexp that matches the start of a symbol, i.e. any identifier or\nkeyword.  It's unspecified how far it matches.	Does not contain a \\|\noperator at the top level.") (c-symbol-chars (c-lang-const c-symbol-chars) "Set of characters that can be part of a symbol.\nThis is of the form that fits inside [ ] in a regexp.") (c-symbol-key (c-lang-const c-symbol-key) "Regexp matching identifiers and keywords (with submatch 0).  Assumed\nto match if `c-symbol-start' matches on the same position.") (c-nonsymbol-chars (c-lang-const c-nonsymbol-chars) "This is the set of chars that can't be part of a symbol, i.e. the\nnegation of `c-symbol-chars'.") (c-opt-identifier-concat-key (c-lang-const c-opt-identifier-concat-key) nil) (c-identifier-start (c-lang-const c-identifier-start) "Regexp that matches the start of an (optionally qualified) identifier.\nIt should also match all keywords.  It's unspecified how far it\nmatches.") (c-identifier-key (c-lang-const c-identifier-key) "Regexp matching a fully qualified identifier, like \"A::B::c\" in\nC++.  It does not recognize the full range of syntactic whitespace\nbetween the tokens; `c-forward-name' has to be used for that.  It\nshould also not match identifiers containing parenthesis groupings,\ne.g. identifiers with template arguments such as \"A<X,Y>\" in C++.") (c-string-escaped-newlines (c-lang-const c-string-escaped-newlines) "Set if the language support backslash escaped newlines inside string\nliterals.") (c-multiline-string-start-char (c-lang-const c-multiline-string-start-char) "Set if the language supports multiline string literals without escaped\nnewlines.  If t, all string literals are multiline.  If a character,\nonly literals where the open quote is immediately preceded by that\nliteral are multiline.") (c-opt-cpp-symbol (c-lang-const c-opt-cpp-symbol) "The symbol which starts preprocessor constructs when in the margin.") (c-opt-cpp-prefix (c-lang-const c-opt-cpp-prefix) "Regexp matching the prefix of a cpp directive in the languages that\nnormally use that macro preprocessor.  Tested at bol or at boi.\nAssumed to not contain any submatches or \\| operators.") (c-anchored-cpp-prefix (c-lang-const c-anchored-cpp-prefix) "Regexp matching the prefix of a cpp directive anchored to BOL,\nin the languages that have a macro preprocessor.") (c-opt-cpp-start (c-lang-const c-opt-cpp-start) "Regexp matching the prefix of a cpp directive including the directive\nname, or nil in languages without preprocessor support.  The first\nsubmatch surrounds the directive name.") (c-opt-cpp-macro-define (c-lang-const c-opt-cpp-macro-define) "Cpp directive (without the prefix) that is followed by a macro\ndefinition, or nil if the language doesn't have any.") (c-opt-cpp-macro-define-start (c-lang-const c-opt-cpp-macro-define-start) nil) (c-opt-cpp-macro-define-id (c-lang-const c-opt-cpp-macro-define-id) nil) (c-cpp-expr-intro-re (c-lang-const c-cpp-expr-intro-re) "Regexp which matches the start of a CPP directive which contains an\nexpression, or nil if there aren't any in the language.") (c-overloadable-operators-regexp (c-lang-const c-overloadable-operators-regexp) nil) (c-opt-op-identifier-prefix (c-lang-const c-opt-op-identifier-prefix) "Regexp matching the token before the ones in\n`c-overloadable-operators' when operators are specified in their\n\"identifier form\".  This typically matches \"operator\" in C++ where\noperator functions are specified as e.g. \"operator +\".  It's nil in\nlanguages without operator functions or where the complete operator\nidentifier is listed in `c-overloadable-operators'.\n\nThis regexp is assumed to not match any non-operator identifier.") (c-nonsymbol-token-regexp (c-lang-const c-nonsymbol-token-regexp) nil) (c-assignment-op-regexp (c-lang-const c-assignment-op-regexp) nil) (c-<>-multichar-token-regexp (c-lang-const c-<>-multichar-token-regexp) nil) (c-<-op-cont-regexp (c-lang-const c-<-op-cont-regexp) nil) (c->-op-cont-regexp (c-lang-const c->-op-cont-regexp) nil) (c-stmt-delim-chars (c-lang-const c-stmt-delim-chars) nil) (c-stmt-delim-chars-with-comma (c-lang-const c-stmt-delim-chars-with-comma) nil) (c-line-comment-starter (c-lang-const c-line-comment-starter) "String that starts line comments, or nil if such don't exist.\nLine comments are always terminated by newlines.  At least one of\n`c-block-comment-starter' and this one is assumed to be set.\n\nNote that it's currently not enough to set this to support a new\ncomment style.  Other stuff like the syntax table must also be set up\nproperly.") (c-comment-start-regexp (c-lang-const c-comment-start-regexp) nil) (c-block-comment-start-regexp (c-lang-const c-block-comment-start-regexp) nil) (c-line-comment-start-regexp (c-lang-const c-line-comment-start-regexp) nil) (c-literal-start-regexp (c-lang-const c-literal-start-regexp) nil) (c-doc-comment-start-regexp (c-lang-const c-doc-comment-start-regexp) "Regexp to match the start of documentation comments.") (c-syntactic-ws-start (c-lang-const c-syntactic-ws-start) nil) (c-syntactic-ws-end (c-lang-const c-syntactic-ws-end) nil) (c-syntactic-eol (c-lang-const c-syntactic-eol) nil) (c-paragraph-start (c-lang-const c-paragraph-start) "Regexp to append to `paragraph-start'.") (c-paragraph-separate (c-lang-const c-paragraph-separate) "Regexp to append to `paragraph-separate'.") (c-primitive-type-key (c-lang-const c-primitive-type-key) nil) (c-typedef-key (c-lang-const c-typedef-key) nil) (c-type-prefix-key (c-lang-const c-type-prefix-key) nil) (c-opt-type-modifier-key (c-lang-const c-opt-type-modifier-key) nil) (c-opt-type-component-key (c-lang-const c-opt-type-component-key) nil) (c-class-key (c-lang-const c-class-key) nil) (c-brace-list-key (c-lang-const c-brace-list-key) nil) (c-other-decl-block-key (c-lang-const c-other-decl-block-key) nil) (c-other-decl-block-key-in-symbols-alist (mapcar (lambda #11# (cons elt (if (string= elt #12#) 'inextern-lang (intern (concat #13# elt))))) (c-lang-const c-other-block-decl-kwds)) "Alist associating keywords in c-other-decl-block-decl-kwds with\ntheir matching \"in\" syntactic symbols.") (c-typedef-decl-key (c-lang-const c-typedef-decl-key) nil) (c-decl-hangon-key (c-lang-const c-decl-hangon-key) nil) (c-prefix-spec-kwds-re (c-lang-const c-prefix-spec-kwds-re) nil) (c-specifier-key (c-lang-const c-specifier-key) nil) (c-not-decl-init-keywords (c-lang-const c-not-decl-init-keywords) nil) (c-not-primitive-type-keywords-regexp (c-lang-const c-not-primitive-type-keywords-regexp) nil) (c-opt-block-decls-with-vars-key (c-lang-const c-opt-block-decls-with-vars-key) nil) (c-postfix-decl-spec-key (c-lang-const c-postfix-decl-spec-key) nil) (c-colon-type-list-re (c-lang-const c-colon-type-list-re) "Regexp matched after the keywords in `c-colon-type-list-kwds' to skip\nforward to the colon.  The end of the match is assumed to be directly\nafter the colon, so the regexp should end with \":\".  Must be a\nregexp if `c-colon-type-list-kwds' isn't nil.") (c-opt-<>-sexp-key (c-lang-const c-opt-<>-sexp-key) nil) (c-block-stmt-1-key (c-lang-const c-block-stmt-1-key) nil) (c-block-stmt-1-2-key (c-lang-const c-block-stmt-1-2-key) nil) (c-block-stmt-2-key (c-lang-const c-block-stmt-2-key) nil) (c-opt-block-stmt-key (c-lang-const c-opt-block-stmt-key) nil) (c-simple-stmt-key (c-lang-const c-simple-stmt-key) nil) (c-paren-stmt-key (c-lang-const c-paren-stmt-key) nil) (c-opt-asm-stmt-key (c-lang-const c-opt-asm-stmt-key) nil) (c-case-kwds-regexp (c-lang-const c-case-kwds-regexp) nil) (c-label-kwds-regexp (c-lang-const c-label-kwds-regexp) nil) (c-opt-inexpr-brace-list-key (c-lang-const c-opt-inexpr-brace-list-key) nil) (c-decl-block-key (c-lang-const c-decl-block-key) nil) (c-opt-bitfield-key (c-lang-const c-opt-bitfield-key) nil) (c-keywords-regexp (c-lang-const c-keywords-regexp) nil) (c-keywords-obarray (let* ((alist (c-lang-const c-keyword-member-alist)) kwd lang-const-list (obarray (make-vector (* (length alist) 2) 0))) (while alist (setq kwd (caar alist) lang-const-list (cdar alist) alist (cdr alist)) (setplist (intern kwd obarray) (apply 'nconc (mapcar (lambda #14# (list lang-const t)) lang-const-list)))) obarray) nil) (c-regular-keywords-regexp (c-lang-const c-regular-keywords-regexp) nil) (c-primary-expr-regexp (c-lang-const c-primary-expr-regexp) nil) (c-decl-start-colon-kwd-re (c-lang-const c-decl-start-colon-kwd-re) "Regexp matching a keyword that is followed by a colon, where\n  the whole construct can precede a declaration.\n  E.g. \"public:\" in C++.") (c-decl-prefix-re (c-lang-const c-decl-prefix-re) nil) (c-decl-start-re (c-lang-const c-decl-start-re) "Regexp matching the start of any declaration, cast or label.\nIt's used on the token after the one `c-decl-prefix-re' matched.  This\nregexp should not try to match those constructs accurately as it's\nonly used as a sieve to avoid spending more time checking other\nconstructs.") (c-decl-prefix-or-start-re (c-lang-const c-decl-prefix-or-start-re) nil) (c-cast-parens (c-lang-const c-cast-parens) nil) (c-block-prefix-charset (c-lang-const c-block-prefix-charset) nil) (c-type-decl-prefix-key (c-lang-const c-type-decl-prefix-key) nil) (c-type-decl-suffix-key (c-lang-const c-type-decl-suffix-key) nil) (c-after-suffixed-type-decl-key (c-lang-const c-after-suffixed-type-decl-key) nil) (c-after-suffixed-type-maybe-decl-key (c-lang-const c-after-suffixed-type-maybe-decl-key) nil) (c-opt-type-concat-key (c-lang-const c-opt-type-concat-key) nil) (c-opt-type-suffix-key (c-lang-const c-opt-type-suffix-key) "Regexp matching operators that might follow after a type, or nil in\nlanguages that don't have such operators.  The end of the first\nsubmatch is taken as the end of the operator.  This should not match\nthings like C++ template arglists if `c-recognize-<>-arglists' is set.\nIt's undefined whether identifier syntax (see `c-identifier-syntax-table')\nis in effect or not.") (c-known-type-key (let* ((extra-types (when (boundp (c-mode-symbol #15#)) (c-mode-var "font-lock-extra-types"))) (regexp-strings (apply 'nconc (mapcar (lambda #16# (when (string-match #17# re) (list re))) extra-types))) (plain-strings (apply 'nconc (mapcar (lambda #18# (unless (string-match #19# re) (list re))) extra-types)))) (concat #20# (c-concat-separated (append (list (c-make-keywords-re nil (append (c-lang-const c-primitive-type-kwds) plain-strings))) regexp-strings) #21#) #22#)) nil) (c-special-brace-lists (c-lang-const c-special-brace-lists) "List of open- and close-chars that makes up a pike-style brace list,\ni.e. for a ([ ]) list there should be a cons (?\\[ . ?\\]) in this\nlist.") (c-recognize-knr-p (c-lang-const c-recognize-knr-p) "Non-nil means K&R style argument declarations are valid.") (c-recognize-typeless-decls (c-lang-const c-recognize-typeless-decls) "Non-nil means function declarations without return type should be\nrecognized.  That can introduce an ambiguity with parenthesized macro\ncalls before a brace block.  This setting does not affect declarations\nthat are preceded by a declaration starting keyword, so\ne.g. `c-typeless-decl-kwds' may still be used when it's set to nil.") (c-recognize-<>-arglists (c-lang-const c-recognize-<>-arglists) "Non-nil means C++ style template arglists should be handled.  More\nspecifically, this means a comma separated list of types or\nexpressions surrounded by \"<\" and \">\".  It's always preceded by an\nidentifier or one of the keywords on `c-<>-type-kwds' or\n`c-<>-arglist-kwds'.  If there's an identifier before then the whole\nexpression is considered to be a type.") (c-enums-contain-decls (c-lang-const c-enums-contain-decls) "Non-nil means that an enum structure can contain declarations.") (c-recognize-paren-inits (c-lang-const c-recognize-paren-inits) "Non-nil means that parenthesis style initializers exist,\ni.e. constructs like\n\nFoo bar (gnu);\n\nin addition to the more classic\n\nFoo bar = gnu;") (c-recognize-paren-inexpr-blocks (c-lang-const c-recognize-paren-inexpr-blocks) "Non-nil to recognize gcc style in-expression blocks,\ni.e. compound statements surrounded by parentheses inside expressions.") (c-opt-<>-arglist-start (c-lang-const c-opt-<>-arglist-start) nil) (c-opt-<>-arglist-start-in-paren (c-lang-const c-opt-<>-arglist-start-in-paren) nil) (c-opt-postfix-decl-spec-key (c-lang-const c-opt-postfix-decl-spec-key) nil) (c-recognize-colon-labels (c-lang-const c-recognize-colon-labels) "Non-nil if generic labels ending with \":\" should be recognized.\nThat includes labels in code and access keys in classes.  This does\nnot apply to labels recognized by `c-label-kwds' and\n`c-opt-extra-label-key'.") (c-label-prefix-re (c-lang-const c-label-prefix-re) "Regexp like `c-decl-prefix-re' that matches any token that can precede\na generic colon label.  Not used if `c-recognize-colon-labels' is\nnil.") (c-nonlabel-token-key (c-lang-const c-nonlabel-token-key) "Regexp matching things that can't occur in generic colon labels,\nneither in a statement nor in a declaration context.  The regexp is\ntested at the beginning of every sexp in a suspected label,\ni.e. before \":\".  Only used if `c-recognize-colon-labels' is set.") (c-nonlabel-token-2-key (c-lang-const c-nonlabel-token-2-key) "Regexp matching things that can't occur two symbols before a colon in\na label construct.  This catches C++'s inheritance construct \"class foo\n: bar\".  Only used if `c-recognize-colon-labels' is set.") (c-opt-extra-label-key (c-lang-const c-opt-extra-label-key) "Optional regexp matching labels.\nNormally, labels are detected according to `c-nonlabel-token-key',\n`c-decl-prefix-re' and `c-nonlabel-decl-prefix-re'.  This regexp can\nbe used if there are additional labels that aren't recognized that\nway.") (c-opt-friend-key (c-lang-const c-opt-friend-key) nil) (c-opt-method-key (c-lang-const c-opt-method-key) nil) (c-type-decl-end-used (c-lang-const c-type-decl-end-used) nil)) eval] 9) ((error (byte-code "\203 \304\305	\203 \306\307\310\311\n$\202 \312$\210\202\" \313@A\"\210\304\207" [current-var source-eval c-version err message "Eval error in the `c-lang-defvar' or `c-lang-setvar' for `%s'%s: %S" format " (fallback source eval - %s compiled with CC Mode %s but loaded with %s)" php-mode "5.32.5" #23# signal] 8))) c-common-init modify-syntax-entry 95 "_" 96 "\"" 34 35 "< b" 10 "> b" syntax-propertize-via-font-lock (("\\(\"\\)\\(\\\\.\\|[^\"\n\\]\\)*\\(\"\\)" (1 "\"") (3 "\"")) ("\\('\\)\\(\\\\.\\|[^'\n\\]\\)*\\('\\)" (1 "\"") (3 "\""))) boundp syntax-propertize-function add-to-list syntax-propertize-extend-region-functions php-syntax-propertize-extend-region php-syntax-propertize-function require-final-newline next-line-add-newlines add-hook php-mode-pear-hook php-enable-pear-coding-style php-mode-drupal-hook php-enable-drupal-coding-style php-mode-wordpress-hook php-enable-wordpress-coding-style php-mode-symfony2-hook php-mode-abbrev-table local-abbrev-table source-eval current-var c-buffer-is-cc-mode php-imenu-generic-expression imenu-generic-expression case-fold-search php-mode-coding-style php-mode-force-pear buffer-file-name indent-line-function indent-region-function c-at-vsemi-p-fn c-vsemi-status-unknown-p syntax-begin-function open-paren-in-column-0-is-defun-start defun-prompt-regexp php-beginning-of-defun-regexp add-log-current-defun-header-regexp php-enable-symfony2-coding-style php-mode-psr2-hook php-enable-psr2-coding-style pear run-hooks drupal wordpress symfony2 psr2 string-match "PEAR\\|pear" "\\.php$" php-cautious-indent-line php-cautious-indent-region php-c-at-vsemi-p php-c-vsemi-status-unknown-p c-beginning-of-syntax php-beginning-of-defun php-end-of-defun "^\\s-*function\\s-+&?\\s-*\\(\\(\\sw\\|\\s_\\)+\\)\\s-*" run-mode-hooks php-mode-hook] 6 (#$ . 28841) nil])
#@80 Obarray of tag names defined in current tags table and functions known to PHP.
(defvar php-completion-table nil (#$ . 70122))
#@243 Perform function completion on the text around point.
Completes to the set of names listed in the current tags table
and the standard php functions.
The string to complete is chosen in the same way as the default
for \[find-tag] (which see).
(defalias 'php-complete-function #[nil "\306 \307\211\310 \211\204 \311\312!\202\220 \313\307\314#\204\" \311\315!\202\220 `Gu\210\316\307#\211\314=\206\220 	\204B \311\317\"\210\320 \202\220 	\230\204Q \n`|\210	c\202\220 \311\321!\210\fr\322\323!q\210p\324 \210\307\211\314\211\314 !\325 \210\326\327!\210+\211\"#\330\331\"!\210\332\"!\210+\311\333\334\",\207" [php-functions completion beg pattern default-directory #1=#:old-dir php-get-pattern nil php-completion-table message "Nothing to complete" search-backward t "Can't complete here" try-completion "Can't find completion for \"%s\"" ding "Making completion list..." get-buffer-create "*Completions*" kill-all-local-variables erase-buffer run-hooks temp-buffer-setup-hook display-completion-list all-completions internal-temp-output-buffer-show "Making completion list...%s" "done" buffer-read-only buffer-file-name buffer-undo-list inhibit-modification-hooks inhibit-read-only #2=#:buf standard-output] 5 (#$ . 70255) nil])
#@135 Build variable `php-completion-table' on demand.
The table includes the PHP functions and the tags from the
current `tags-file-name'.
(defalias 'php-completion-table #[nil "\203 \212\306!)\203 	\206U \205 r\307!q\210\310 )\n\311\230\204/ \312\n!\203/ \313\n!\202: \2039 \314!\202: \315\f\204H \204H \316\317!\210\203Q \320\321\"\210\f\211*\207" [tags-file-name php-completion-table php-completion-file php-manual-path php-table tags-table tags-verify-table get-file-buffer etags-tags-completion-table "" file-readable-p php-build-table-from-file php-build-table-from-path nil error "No TAGS file active nor are `php-completion-file' or `php-manual-path' set" mapatoms #[(sym) "\302\303!	\"\207" [sym php-table intern symbol-name] 3]] 3 (#$ . 71516)])
(defalias 'php-build-table-from-file #[(filename) "\303\304\305\"\306!r	q\210eb\210\307\310\311\312#\203$ \313\314\224\314\225{\n\"\210\202 )\315	!\210\n*\207" [filename buf table make-vector 1022 0 find-file-noselect re-search-forward "^\\([-a-zA-Z0-9_.]+\\)\n" nil t intern 1 kill-buffer] 4])
(defalias 'php-build-table-from-path #[(path) "\303\304\305\"\306\307\310#\311\312	\"\210\n*\207" [path files table make-vector 1022 0 directory-files nil "^function\\..+\\.html$" mapc #[(file) "\302\303\"\210\304\305\306\307\310\224\310\225O\311$	\"\207" [file table string-match "\\.\\([-a-zA-Z_0-9]+\\)\\.html$" intern replace-regexp-in-string "-" "_" 1 t] 7]] 5])
(defalias 'php-get-pattern #[nil "\212\300\301!\203 \302u\210\202 \303\301\212\304 \210`)\305#\204' \306\307\212\310\210`)\305#\205? \311\225b\210\312`\313\314!\210\300\315!\203= \302u\210\2021 `\")\207" [looking-at "\\sw\\|\\s_" 1 re-search-backward beginning-of-line t re-search-forward "\\(\\sw\\|\\s_\\)+" nil 0 buffer-substring-no-properties forward-sexp -1 "\\s'"] 4])
(defalias 'php-show-arglist #[nil "\303 \304\305\211#\305r	q\210eb\210\306\307\310\"\305\311#\203$ \312\313\224\313\225\")\n\2031 \314\315\n#\2025 \314\316\"+\207" [tagname buf arglist php-get-pattern find-tag-noselect nil re-search-forward format "function\\s-+%s\\s-*(\\([^{]*\\))" t buffer-substring-no-properties 1 message "Arglist for %s: %s" "Unknown function: %s"] 4 nil nil])
#@203 Function to display PHP documentation in a WWW browser.

If non-nil, this shadows the value of `browse-url-browser-function' when
calling `php-search-documentation' or `php-search-local-documentation'.
(custom-declare-variable 'php-search-documentation-browser-function nil '(#$ . 73732) :type '(choice (const :tag "default" nil) function) :link '(variable-link browse-url-browser-function) :group 'php)
#@117 Browse a documentation URL using the configured browser function.

See `php-search-documentation-browser-function'.
(defalias 'php-browse-documentation-url #[(url) "\206 	\303\n!)\207" [php-search-documentation-browser-function browse-url-browser-function url browse-url] 2 (#$ . 74143)])
#@134 The set (and priority sequence) of documentation file prefixes
under which to search for files in the local documentation directory.
(defvar php-search-local-documentation-types (list "function" "control-structures" "class" "book") (#$ . 74442))
(defvar php-search-local-documentation-words-cache nil)
#@58 Obtain interactive argument for searching documentation.
(defalias 'php--search-documentation-read-arg #[nil "	\n;\205 \n\306\230?\2038 \f\236\2048 \307!\310\311Q\312\313\314\n\315#\"BC\211+\316 \211\203H \317\320\"\202I \321\205S \f\236A\204_ \204o \322\315\211\211\211&\202q .C\207" [php-search-local-documentation-types php-search-local-documentation-words-cache php-manual-path local-manual words-cache types-list "" regexp-opt "\\`" "\\.\\(.+\\)\\.html\\'" mapcar #[(filename) "\302\303\304\305\306	##\207" [pattern filename subst-char-in-string 45 95 replace-regexp-in-string "\\1"] 7] directory-files nil current-word format "Search PHP docs (%s): " "Search PHP docs: " completing-read types-opt pattern collection default prompt current-prefix-arg] 9 (#$ . 74750)])
#@245 Search the local PHP documentation (i.e. in `php-manual-path') for
the word at point.  The function returns t if the requested documentation
exists, and nil otherwise.

With a prefix argument, prompt (with completion) for a word to search for.
(defalias 'php-search-local-documentation #[(word) "\302\303\215\211\205 \304\305\"\203 \202 \305P\306	!\210)\307)\207" [file file-url found (byte-code "\306	:\2032 	@\307\310\n\311\312\313\227##\314\f\"\315!\203* \316\317\"\210*	A\211\202 *\306\207" [php-search-local-documentation-types #1=#:--cl-var-- type word doc-html php-manual-path nil format "%s.%s.html" replace-regexp-in-string "_" "-" expand-file-name file-exists-p throw found file] 8) string-prefix-p "file://" php-browse-documentation-url t] 4 (#$ . 75579) (php--search-documentation-read-arg)])
(defalias 'php-search-web-documentation #[(word) "\302	P!\207" [php-search-url word php-browse-documentation-url] 3])
(byte-code "\300\301\302\303#\207" [put php-search-web-documentation byte-optimizer byte-compile-inline-expand] 4)
#@414 Search PHP documentation for the word at point.

If `php-manual-path' has a non-empty string value then the command
will first try searching the local documentation.  If the requested
documentation does not exist it will fallback to searching the PHP
website.

With a prefix argument, prompt for a documentation word to search
for.  If the local documentation is available, it is used to build
a completion list.
(defalias 'php-search-documentation #[(word) ";\203 \303\230\204 \304	!\206\" 	\305\n	P!)\207	\305\n	P!)\207" [php-manual-path word php-search-url "" php-search-local-documentation php-browse-documentation-url] 3 (#$ . 76648) (php--search-documentation-read-arg)])
#@26 Bring up manual for PHP.
(defalias 'php-browse-manual #[nil "\301!\207" [php-manual-url browse-url] 2 (#$ . 77338) nil])
#@34 Basic highlighting for PHP mode.
(defconst php-font-lock-keywords-1 (byte-code "\301=\203 \302\207\303\304\305\306#\207" [c-version-sym 5\.32\.5 (("\\(\\=\\|\\(\\=\\|[^\\]\\)[\n]\\)\\s-*<\\?\\(\\(?:error\\>\\)\\)\\s +\\(.*\\)$" 4 font-lock-string-face t) ("\\(\\=\\|\\(\\=\\|[^\\]\\)[\n]\\)\\s-*<\\?\\(?:include\\)\\(\\s \\|[\n]\\)*\\(\\(//[^\n]*[\n]\\|/\\*[^*\n]*\\(\\*+[^*\n/][^*\n]*\\)*\\*+/\\|\\\\[\n]\\|\\s!\\S!*\\s!\\)\\(\\s \\|[\n]\\)*\\)*\\(<[^>\n]*>?\\)" (8 font-lock-string-face) (#[(limit) "\304\224\304\225Sf\305=\203+ 	\211\306\211T\307\310$*\210\211\306\211T\307\311$*\210\2025 	\312\n\211T\313#\210)*\314\207" [end beg pos -pos- 8 62 put-text-property category c-<-as-paren-syntax c->-as-paren-syntax remove-text-properties (category nil) nil] 6])) (#[#1=(limit) "\304\300!\305\306	\307#\203m \310\224b\210\311	!\204 \310\225b\210\312 \313\216\314\224\203` \214\315\316\224\316\225\317\320$\210\314\225b\210e	}\210\321 \210\322!\203\\ \315\310\224\310\225\317\323$\210\310\225b\210\321 \210\324f\325=\203\\ \324u\210\2026 )\202i \315\316\224\316\225\317\323$\210*\202 )\324\207" [parse-sexp-lookup-properties limit save-match-data-internal c-symbol-key boundp re-search-forward "\\(\\=\\|\\(\\=\\|[^\\]\\)[\n]\\)\\s-*<\\?define\\(\\(\\s \\|[\n]\\)\\|//[^\n]*[\n]\\|/\\*[^*\n]*\\(\\*+[^*\n/][^*\n]*\\)*\\*+/\\|\\\\[\n]\\|\\s!\\S!*\\s!\\)+\\([[:alpha:]_$][[:alnum:]_$]*\\)\\(\\((\\)\\|\\([^(]\\|$\\)\\)" t 0 c-skip-comments-and-strings match-data ((byte-code "\301\302\"\207" [save-match-data-internal set-match-data evaporate] 3)) 8 put-text-property 6 face font-lock-function-name-face c-forward-sws looking-at font-lock-variable-name-face nil 44] 5]) (#[(limit) "\305\300!	\306=\203: \212\307 \210`)\310\311\n\312#\2039 \313\224b\210\314\n!\204 \313\225b\210\315 \316\216\317\320\224\320\225\321\f$\210*\202 )\310\322\n\312#\203t \313\224b\210\314\n!\204: \313\225b\210\323\225b\210\315 \324\216\313\225\310\311\n\325#\203p \317\320\224\320\225\321\f$\210\202\\ +\202: )\326\207" [parse-sexp-lookup-properties c-font-lock-context limit save-match-data-internal c-preprocessor-face-name boundp in-cpp-expr c-end-of-macro re-search-forward "\\(\\(?:defined\\)\\)\\([^[:alnum:]_$]\\|$\\)" t 0 c-skip-comments-and-strings match-data ((byte-code "\301\302\"\207" [save-match-data-internal set-match-data evaporate] 3)) put-text-property 1 face "\\(\\=\\|\\(\\=\\|[^\\]\\)[\n]\\)\\s-*<\\?\\(\\(?:\\(?:el\\)?if\\)\\)\\([^[:alnum:]_$]\\|$\\)\\(\\\\\\(.\\|[\n]\\)\\|[^\n]\\)*" 3 ((byte-code "\301\302\"\207" [save-match-data-internal set-match-data evaporate] 3)) move nil] 5]) (#[#1# "\304\300!\305\306	\307#\203, \310\224b\210\311	!\204 \310\225b\210\312 \313\216\314\315\224\315\225\316$\210*\202 )\317\207" [parse-sexp-lookup-properties limit save-match-data-internal c-preprocessor-face-name boundp re-search-forward "\\(\\=\\|\\(\\=\\|[^\\]\\)[\n]\\)\\(\\s-*<\\?[[:alnum:]_$]+\\)" t 0 c-skip-comments-and-strings match-data ((byte-code "\301\302\"\207" [save-match-data-internal set-match-data evaporate] 3)) put-text-property 3 face nil] 5]) (eval list #[(limit) "\302\303\304	\305#\211\203 \306\224b\210\307	!\204 \306\225b\210)\207" [res limit nil re-search-forward "\\(\\=\\|\\(\\=\\|[^\\]\\)[\n]\\)\\s-*<\\?if\\(n\\)def\\>" t 0 c-skip-comments-and-strings] 4] 3 c-negation-char-face-name 'append) (eval list "\240" 0 (progn (unless (c-face-name-p 'c-nonbreakable-space-face) (c-make-inverse-face 'font-lock-warning-face 'c-nonbreakable-space-face)) ''c-nonbreakable-space-face))) c-get-lang-constant c-matchers-1 (cc-fonts) php-mode] 4) (#$ . 77466))
#@41 Medium level highlighting for PHP mode.
(defconst php-font-lock-keywords-2 (byte-code "\301=\203 \302\207\303\304\305\306#\207" [c-version-sym 5\.32\.5 (("\\(\\=\\|\\(\\=\\|[^\\]\\)[\n]\\)\\s-*<\\?\\(\\(?:error\\>\\)\\)\\s +\\(.*\\)$" 4 font-lock-string-face t) ("\\(\\=\\|\\(\\=\\|[^\\]\\)[\n]\\)\\s-*<\\?\\(?:include\\)\\(\\s \\|[\n]\\)*\\(\\(//[^\n]*[\n]\\|/\\*[^*\n]*\\(\\*+[^*\n/][^*\n]*\\)*\\*+/\\|\\\\[\n]\\|\\s!\\S!*\\s!\\)\\(\\s \\|[\n]\\)*\\)*\\(<[^>\n]*>?\\)" (8 font-lock-string-face) (#[(limit) "\304\224\304\225Sf\305=\203+ 	\211\306\211T\307\310$*\210\211\306\211T\307\311$*\210\2025 	\312\n\211T\313#\210)*\314\207" [end beg pos -pos- 8 62 put-text-property category c-<-as-paren-syntax c->-as-paren-syntax remove-text-properties (category nil) nil] 6])) (#[#1=(limit) "\304\300!\305\306	\307#\203m \310\224b\210\311	!\204 \310\225b\210\312 \313\216\314\224\203` \214\315\316\224\316\225\317\320$\210\314\225b\210e	}\210\321 \210\322!\203\\ \315\310\224\310\225\317\323$\210\310\225b\210\321 \210\324f\325=\203\\ \324u\210\2026 )\202i \315\316\224\316\225\317\323$\210*\202 )\324\207" [parse-sexp-lookup-properties limit save-match-data-internal c-symbol-key boundp re-search-forward "\\(\\=\\|\\(\\=\\|[^\\]\\)[\n]\\)\\s-*<\\?define\\(\\(\\s \\|[\n]\\)\\|//[^\n]*[\n]\\|/\\*[^*\n]*\\(\\*+[^*\n/][^*\n]*\\)*\\*+/\\|\\\\[\n]\\|\\s!\\S!*\\s!\\)+\\([[:alpha:]_$][[:alnum:]_$]*\\)\\(\\((\\)\\|\\([^(]\\|$\\)\\)" t 0 c-skip-comments-and-strings match-data ((byte-code "\301\302\"\207" [save-match-data-internal set-match-data evaporate] 3)) 8 put-text-property 6 face font-lock-function-name-face c-forward-sws looking-at font-lock-variable-name-face nil 44] 5]) (#[(limit) "\305\300!	\306=\203: \212\307 \210`)\310\311\n\312#\2039 \313\224b\210\314\n!\204 \313\225b\210\315 \316\216\317\320\224\320\225\321\f$\210*\202 )\310\322\n\312#\203t \313\224b\210\314\n!\204: \313\225b\210\323\225b\210\315 \324\216\313\225\310\311\n\325#\203p \317\320\224\320\225\321\f$\210\202\\ +\202: )\326\207" [parse-sexp-lookup-properties c-font-lock-context limit save-match-data-internal c-preprocessor-face-name boundp in-cpp-expr c-end-of-macro re-search-forward "\\(\\(?:defined\\)\\)\\([^[:alnum:]_$]\\|$\\)" t 0 c-skip-comments-and-strings match-data ((byte-code "\301\302\"\207" [save-match-data-internal set-match-data evaporate] 3)) put-text-property 1 face "\\(\\=\\|\\(\\=\\|[^\\]\\)[\n]\\)\\s-*<\\?\\(\\(?:\\(?:el\\)?if\\)\\)\\([^[:alnum:]_$]\\|$\\)\\(\\\\\\(.\\|[\n]\\)\\|[^\n]\\)*" 3 ((byte-code "\301\302\"\207" [save-match-data-internal set-match-data evaporate] 3)) move nil] 5]) (#[#1# "\304\300!\305\306	\307#\203, \310\224b\210\311	!\204 \310\225b\210\312 \313\216\314\315\224\315\225\316$\210*\202 )\317\207" [parse-sexp-lookup-properties limit save-match-data-internal c-preprocessor-face-name boundp re-search-forward "\\(\\=\\|\\(\\=\\|[^\\]\\)[\n]\\)\\(\\s-*<\\?[[:alnum:]_$]+\\)" t 0 c-skip-comments-and-strings match-data ((byte-code "\301\302\"\207" [save-match-data-internal set-match-data evaporate] 3)) put-text-property 3 face nil] 5]) (eval list #[(limit) "\302\303\304	\305#\211\203 \306\224b\210\307	!\204 \306\225b\210)\207" [res limit nil re-search-forward "\\(\\=\\|\\(\\=\\|[^\\]\\)[\n]\\)\\s-*<\\?if\\(n\\)def\\>" t 0 c-skip-comments-and-strings] 4] 3 c-negation-char-face-name 'append) (eval list "\240" 0 (progn (unless (c-face-name-p 'c-nonbreakable-space-face) (c-make-inverse-face 'font-lock-warning-face 'c-nonbreakable-space-face)) ''c-nonbreakable-space-face)) #[#1# "\303\300!\304\305	\306#\203& \307\224b\210\310	!\204 \307\225b\210\311 \312\216\313 \210*\202 )\314\207" [parse-sexp-lookup-properties limit save-match-data-internal boundp re-search-forward ".\\(\\s\"\\|\\s|\\)" t 0 c-skip-comments-and-strings match-data ((byte-code "\301\302\"\207" [save-match-data-internal set-match-data evaporate] 3)) c-font-lock-invalid-string nil] 4] (eval list "\\<\\(\\(?:false\\|null\\|true\\)\\)\\>" 1 c-constant-face-name) ("\\<\\(\\(?:__halt_compiler\\|a\\(?:bstract\\|nd\\|rray\\|s\\)\\|break\\|c\\(?:a\\(?:llable\\|se\\|tch\\(?: all\\)?\\)\\|l\\(?:ass\\|one\\)\\|on\\(?:st\\|tinue\\)\\)\\|d\\(?:e\\(?:clare\\|fault\\)\\|ie\\|o\\)\\|e\\(?:cho\\|lse\\(?:if\\)?\\|mpty\\|n\\(?:coding\\|d\\(?:declare\\|for\\(?:each\\)?\\|if\\|switch\\|while\\)\\)\\|val\\|x\\(?:it\\|tends\\)\\)\\|f\\(?:inal\\(?:ly\\)?\\|or\\(?:each\\)?\\|unction\\)\\|g\\(?:lobal\\|oto\\)\\|i\\(?:f\\|mp\\(?:lements\\|ort\\)\\|n\\(?:clude\\(?:_once\\)?\\|st\\(?:\\(?:ance\\|ead\\)of\\)\\|terface\\)\\|sset\\)\\|list\\|n\\(?:a\\(?:\\(?:mespac\\|tiv\\)e\\)\\|ew\\)\\|or\\|p\\(?:a\\(?:ckage\\|rent\\)\\|r\\(?:i\\(?:nt\\|vate\\)\\|otected\\)\\|ublic\\)\\|re\\(?:quire\\(?:_once\\)?\\|turn\\)\\|s\\(?:elf\\|t\\(?:atic\\|rictfp\\)\\|witch\\|ynchronized\\)\\|t\\(?:h\\(?:is\\|row\\)\\|icks\\|r\\(?:a\\(?:\\(?:i\\|nsien\\)t\\)\\|y\\)\\)\\|u\\(?:nset\\|se\\)\\|v\\(?:ar\\|olatile\\)\\|while\\|xor\\|yield\\)\\)\\([^[:alnum:]_$]\\|$\\)" 1 font-lock-keyword-face) #[#1# "\305\300!\306\307	\310#\203Z \311\224b\210\312	!\204 \311\225b\210\313 \314\216\315\311\224Tb\210`Sf\316=\203R \317u\210\320 \210`\321\315x\311W\203R \322`\323\"\204R \324`\323\f$\210\320 \210\202& +\311\225b\210\202 )\315\207" [parse-sexp-lookup-properties limit save-match-data-internal id-end c-reference-face-name boundp re-search-forward "\\(\\(?:->\\|::\\|\\\\\\)\\)\\(\\s \\|[\n]\\)*\\([[:upper:]][[:alnum:]_$]*\\|\\*\\)" t 0 c-skip-comments-and-strings match-data ((byte-code "\301\302\"\207" [save-match-data-internal set-match-data evaporate] 3)) nil 46 -1 c-backward-sws "[:alnum:]_$" get-text-property face put-text-property] 5] (eval list "\\(!\\)[^=]" 1 c-negation-char-face-name) (eval list #[#1# "\304\300!\305	\n\306#\203I \307\224b\210\310\n!\204 \307\225b\210\311 \312\216\313\314\224\314\225\315\316$\210*\311 \317\216\314\225b\210\320 \210*\311 \321\216\322\n\306\323#\210*\314\225b\210\202 )\323\207" [parse-sexp-lookup-properties c-known-type-key limit save-match-data-internal boundp re-search-forward t 0 c-skip-comments-and-strings match-data ((byte-code "\301\302\"\207" [save-match-data-internal set-match-data evaporate] 3)) put-text-property 1 face font-lock-type-face ((byte-code "\301\302\"\207" [save-match-data-internal set-match-data evaporate] 3)) c-forward-sws ((byte-code "\301\302\"\207" [save-match-data-internal set-match-data evaporate] 3)) c-font-lock-declarators nil] 5]) (#[#1# "\303\300!\304\305	\306#\203: \307\224b\210\310	!\204 \307\225b\210\311 \312\216\313\225b\210\314 \210*\311 \315\216\316	\306\317#\210*\313\225b\210\202 )\317\207" [parse-sexp-lookup-properties limit save-match-data-internal boundp re-search-forward "\\<\\(\\(?:class\\|function\\|interface\\|trait\\)\\)\\>" t 0 c-skip-comments-and-strings match-data ((byte-code "\301\302\"\207" [save-match-data-internal set-match-data evaporate] 3)) 1 c-forward-sws ((byte-code "\301\302\"\207" [save-match-data-internal set-match-data evaporate] 3)) c-font-lock-declarators nil] 4]) c-font-lock-labels (eval list "\\<\\(\\(?:break\\|continue\\|goto\\)\\)\\>\\s *\\([[:alpha:]_$][[:alnum:]_$]*\\)" (list 2 c-label-face-name nil t)) (#[(limit) "\306\301!\307\310!`\311!@\312=\203 `\202 \n)b\210\313\314\315#\203R \316\224b\210\317!\204 \316\225b\210\320 \321\216\315\322\315\323\324!\210`V\203K b\210\325 \210-\202 *\322\207" [BOD-limit parse-sexp-lookup-properties here limit save-match-data-internal c-promote-possible-types boundp c-determine-limit 1000 c-beginning-of-decl-1 same re-search-forward "\\<\\(\\(?:extends\\|i\\(?:mplements\\|nst\\(?:\\(?:ance\\|ead\\)of\\)\\)\\|n\\(?:amespace\\|ew\\)\\|use\\)\\)\\>" t 0 c-skip-comments-and-strings match-data ((byte-code "\301\302\"\207" [save-match-data-internal set-match-data evaporate] 3)) nil c-forward-keyword-clause 1 c-fontify-recorded-types-and-refs c-record-ref-identifiers c-record-type-identifiers] 4]) (eval list "\\<\\(@[a-zA-Z0-9]+\\)\\>" 1 c-annotation-face)) c-get-lang-constant c-matchers-2 (cc-fonts) php-mode] 4) (#$ . 81104))
#@37 Detailed highlighting for PHP mode.
(defconst php-font-lock-keywords-3 (byte-code "\301\302\303=\203\f \304\202 \305\306\307\310#\311\312\313\314\315\316\303=\203! \317\202& \305\320\321\310#!\322P\323B\324\325B\257#\207" [c-version-sym append (("->\\(\\sw+\\)\\s-*(" 1 'default) ("\\$\\(this\\|that\\)" 1 font-lock-constant-face) ("\\(\\$\\|->\\)\\([a-zA-Z0-9_]+\\)" 2 font-lock-variable-name-face) ("\\<function\\s-+&?\\(\\sw+\\)\\s-*(" 1 font-lock-function-name-face) ("\\(\\$\\)\\(\\sw+\\)" 1 'default) ("(\\(array\\))" 1 font-lock-type-face) ("\\sw+::\\(class\\)" 1 font-lock-constant-face)) 5\.32\.5 (("\\(\\=\\|\\(\\=\\|[^\\]\\)[\n]\\)\\s-*<\\?\\(\\(?:error\\>\\)\\)\\s +\\(.*\\)$" 4 font-lock-string-face t) ("\\(\\=\\|\\(\\=\\|[^\\]\\)[\n]\\)\\s-*<\\?\\(?:include\\)\\(\\s \\|[\n]\\)*\\(\\(//[^\n]*[\n]\\|/\\*[^*\n]*\\(\\*+[^*\n/][^*\n]*\\)*\\*+/\\|\\\\[\n]\\|\\s!\\S!*\\s!\\)\\(\\s \\|[\n]\\)*\\)*\\(<[^>\n]*>?\\)" (8 font-lock-string-face) (#[(limit) "\304\224\304\225Sf\305=\203+ 	\211\306\211T\307\310$*\210\211\306\211T\307\311$*\210\2025 	\312\n\211T\313#\210)*\314\207" [end beg pos -pos- 8 62 put-text-property category c-<-as-paren-syntax c->-as-paren-syntax remove-text-properties (category nil) nil] 6])) (#[#1=(limit) "\304\300!\305\306	\307#\203m \310\224b\210\311	!\204 \310\225b\210\312 \313\216\314\224\203` \214\315\316\224\316\225\317\320$\210\314\225b\210e	}\210\321 \210\322!\203\\ \315\310\224\310\225\317\323$\210\310\225b\210\321 \210\324f\325=\203\\ \324u\210\2026 )\202i \315\316\224\316\225\317\323$\210*\202 )\324\207" [parse-sexp-lookup-properties limit save-match-data-internal c-symbol-key boundp re-search-forward "\\(\\=\\|\\(\\=\\|[^\\]\\)[\n]\\)\\s-*<\\?define\\(\\(\\s \\|[\n]\\)\\|//[^\n]*[\n]\\|/\\*[^*\n]*\\(\\*+[^*\n/][^*\n]*\\)*\\*+/\\|\\\\[\n]\\|\\s!\\S!*\\s!\\)+\\([[:alpha:]_$][[:alnum:]_$]*\\)\\(\\((\\)\\|\\([^(]\\|$\\)\\)" t 0 c-skip-comments-and-strings match-data ((byte-code "\301\302\"\207" [save-match-data-internal set-match-data evaporate] 3)) 8 put-text-property 6 face font-lock-function-name-face c-forward-sws looking-at font-lock-variable-name-face nil 44] 5]) (#[(limit) "\305\300!	\306=\203: \212\307 \210`)\310\311\n\312#\2039 \313\224b\210\314\n!\204 \313\225b\210\315 \316\216\317\320\224\320\225\321\f$\210*\202 )\310\322\n\312#\203t \313\224b\210\314\n!\204: \313\225b\210\323\225b\210\315 \324\216\313\225\310\311\n\325#\203p \317\320\224\320\225\321\f$\210\202\\ +\202: )\326\207" [parse-sexp-lookup-properties c-font-lock-context limit save-match-data-internal c-preprocessor-face-name boundp in-cpp-expr c-end-of-macro re-search-forward "\\(\\(?:defined\\)\\)\\([^[:alnum:]_$]\\|$\\)" t 0 c-skip-comments-and-strings match-data ((byte-code "\301\302\"\207" [save-match-data-internal set-match-data evaporate] 3)) put-text-property 1 face "\\(\\=\\|\\(\\=\\|[^\\]\\)[\n]\\)\\s-*<\\?\\(\\(?:\\(?:el\\)?if\\)\\)\\([^[:alnum:]_$]\\|$\\)\\(\\\\\\(.\\|[\n]\\)\\|[^\n]\\)*" 3 ((byte-code "\301\302\"\207" [save-match-data-internal set-match-data evaporate] 3)) move nil] 5]) (#[#1# "\304\300!\305\306	\307#\203, \310\224b\210\311	!\204 \310\225b\210\312 \313\216\314\315\224\315\225\316$\210*\202 )\317\207" [parse-sexp-lookup-properties limit save-match-data-internal c-preprocessor-face-name boundp re-search-forward "\\(\\=\\|\\(\\=\\|[^\\]\\)[\n]\\)\\(\\s-*<\\?[[:alnum:]_$]+\\)" t 0 c-skip-comments-and-strings match-data ((byte-code "\301\302\"\207" [save-match-data-internal set-match-data evaporate] 3)) put-text-property 3 face nil] 5]) (eval list #[(limit) "\302\303\304	\305#\211\203 \306\224b\210\307	!\204 \306\225b\210)\207" [res limit nil re-search-forward "\\(\\=\\|\\(\\=\\|[^\\]\\)[\n]\\)\\s-*<\\?if\\(n\\)def\\>" t 0 c-skip-comments-and-strings] 4] 3 c-negation-char-face-name 'append) (eval list "\240" 0 (progn (unless (c-face-name-p 'c-nonbreakable-space-face) (c-make-inverse-face 'font-lock-warning-face 'c-nonbreakable-space-face)) ''c-nonbreakable-space-face)) #[#1# "\303\300!\304\305	\306#\203& \307\224b\210\310	!\204 \307\225b\210\311 \312\216\313 \210*\202 )\314\207" [parse-sexp-lookup-properties limit save-match-data-internal boundp re-search-forward ".\\(\\s\"\\|\\s|\\)" t 0 c-skip-comments-and-strings match-data ((byte-code "\301\302\"\207" [save-match-data-internal set-match-data evaporate] 3)) c-font-lock-invalid-string nil] 4] (eval list "\\<\\(\\(?:false\\|null\\|true\\)\\)\\>" 1 c-constant-face-name) ("\\<\\(\\(?:__halt_compiler\\|a\\(?:bstract\\|nd\\|rray\\|s\\)\\|break\\|c\\(?:a\\(?:llable\\|se\\|tch\\(?: all\\)?\\)\\|l\\(?:ass\\|one\\)\\|on\\(?:st\\|tinue\\)\\)\\|d\\(?:e\\(?:clare\\|fault\\)\\|ie\\|o\\)\\|e\\(?:cho\\|lse\\(?:if\\)?\\|mpty\\|n\\(?:coding\\|d\\(?:declare\\|for\\(?:each\\)?\\|if\\|switch\\|while\\)\\)\\|val\\|x\\(?:it\\|tends\\)\\)\\|f\\(?:inal\\(?:ly\\)?\\|or\\(?:each\\)?\\|unction\\)\\|g\\(?:lobal\\|oto\\)\\|i\\(?:f\\|mp\\(?:lements\\|ort\\)\\|n\\(?:clude\\(?:_once\\)?\\|st\\(?:\\(?:ance\\|ead\\)of\\)\\|terface\\)\\|sset\\)\\|list\\|n\\(?:a\\(?:\\(?:mespac\\|tiv\\)e\\)\\|ew\\)\\|or\\|p\\(?:a\\(?:ckage\\|rent\\)\\|r\\(?:i\\(?:nt\\|vate\\)\\|otected\\)\\|ublic\\)\\|re\\(?:quire\\(?:_once\\)?\\|turn\\)\\|s\\(?:elf\\|t\\(?:atic\\|rictfp\\)\\|witch\\|ynchronized\\)\\|t\\(?:h\\(?:is\\|row\\)\\|icks\\|r\\(?:a\\(?:\\(?:i\\|nsien\\)t\\)\\|y\\)\\)\\|u\\(?:nset\\|se\\)\\|v\\(?:ar\\|olatile\\)\\|while\\|xor\\|yield\\)\\)\\([^[:alnum:]_$]\\|$\\)" 1 font-lock-keyword-face) #[#1# "\305\300!\306\307	\310#\203Z \311\224b\210\312	!\204 \311\225b\210\313 \314\216\315\311\224Tb\210`Sf\316=\203R \317u\210\320 \210`\321\315x\311W\203R \322`\323\"\204R \324`\323\f$\210\320 \210\202& +\311\225b\210\202 )\315\207" [parse-sexp-lookup-properties limit save-match-data-internal id-end c-reference-face-name boundp re-search-forward "\\(\\(?:->\\|::\\|\\\\\\)\\)\\(\\s \\|[\n]\\)*\\([[:upper:]][[:alnum:]_$]*\\|\\*\\)" t 0 c-skip-comments-and-strings match-data ((byte-code "\301\302\"\207" [save-match-data-internal set-match-data evaporate] 3)) nil 46 -1 c-backward-sws "[:alnum:]_$" get-text-property face put-text-property] 5] (eval list "\\(!\\)[^=]" 1 c-negation-char-face-name) c-font-lock-complex-decl-prepare c-font-lock-declarations c-font-lock-enclosing-decls ("\\<\\(\\(?:bool\\(?:ean\\)?\\|double\\|float\\|int\\(?:eger\\)?\\|object\\|real\\|string\\)\\)\\>" 1 'font-lock-type-face) (eval list "\\<\\(\\(?:break\\|continue\\|goto\\)\\)\\>\\s *\\([[:alpha:]_$][[:alnum:]_$]*\\)" (list 2 c-label-face-name nil t)) (#[(limit) "\306\301!\307\310!`\311!@\312=\203 `\202 \n)b\210\313\314\315#\203R \316\224b\210\317!\204 \316\225b\210\320 \321\216\315\322\315\323\324!\210`V\203K b\210\325 \210-\202 *\322\207" [BOD-limit parse-sexp-lookup-properties here limit save-match-data-internal c-promote-possible-types boundp c-determine-limit 1000 c-beginning-of-decl-1 same re-search-forward "\\<\\(\\(?:extends\\|i\\(?:mplements\\|nst\\(?:\\(?:ance\\|ead\\)of\\)\\)\\|n\\(?:amespace\\|ew\\)\\|use\\)\\)\\>" t 0 c-skip-comments-and-strings match-data ((byte-code "\301\302\"\207" [save-match-data-internal set-match-data evaporate] 3)) nil c-forward-keyword-clause 1 c-fontify-recorded-types-and-refs c-record-ref-identifiers c-record-type-identifiers] 4]) (eval list "\\<\\(@[a-zA-Z0-9]+\\)\\>" 1 c-annotation-face)) c-get-lang-constant c-matchers-3 (cc-fonts) php-mode ("->\\(\\sw+\\)\\s-*(" 1 'default) ("\\(\\$\\|->\\)\\([a-zA-Z0-9_]+\\)" 2 font-lock-variable-name-face) ("\\<\\([A-Z_][A-Z0-9_]+\\)\\>" 1 font-lock-constant-face) ("\\(\\sw+\\)::" 1 font-lock-constant-face) ("\\<as\\s-+\\(\\sw+\\)" 1 font-lock-type-face) regexp-opt ("class" "trait" "interface") c-class-decl-kwds (cc-langs) " \\(\\sw+\\)" (1 font-lock-type-face) "\\(?:%>\\|<[%?]\\|\\?>\\)" (0 font-lock-preprocessor-face)] 13) (#$ . 89198))
#@47 Default expressions to highlight in PHP mode.
(defvar php-font-lock-keywords php-font-lock-keywords-3 (#$ . 97050))
(defalias 'flymake-php-init #[nil "\304\305!\306\307	!\"\310\n\311E*D\207" [temp-file buffer-file-name local-file php-executable flymake-init-create-temp-buffer-copy flymake-create-temp-inplace file-relative-name file-name-directory "-f" "-l"] 4])
(byte-code "\300\301\302\"\210\300\303\304\"\207" [add-to-list flymake-allowed-file-name-masks ("\\.php[345s]?$" flymake-php-init flymake-simple-cleanup flymake-get-real-file-name) flymake-err-line-patterns ("\\(Parse\\|Fatal\\) error: \\(.*?\\) in \\(.*?\\) on line \\([0-9]+\\)" 3 4 nil 2)] 3)
#@109 Send the region between `start' and `end' to PHP for execution.
The output will appear in the buffer *PHP*.
(defalias 'php-send-region #[(start end) "\306\307!	{\310\311\n\312#\203 \n\313\314O\202 \n\315\314\314\316\f&+\207" [start end code php-buffer cleaned-php-code php-executable get-buffer-create "*PHP*" string-prefix-p "<?php" t 5 nil call-process "-r"] 7 (#$ . 97721) "r"])
(custom-declare-face 'php-annotations-annotation-face '((t :inherit font-lock-constant-face)) "Face used to highlight annotations.")
(defconst php-annotations-re "\\(\\s-\\|{\\)\\(@[[:alpha:]]+\\)")
#@44 Return non-nil if POS is inside a comment.
(defalias 'php-annotations-inside-comment-p '(macro . #[(pos) "\301\302\303\304BB\305BB\302\303\306BB\307BBE\207" [pos or eq get-char-property ('face) ('font-lock-comment-face) ('face) ('font-lock-comment-delimiter-face)] 6 (#$ . 98317)]))
(defalias 'php-annotations-font-lock-find-annotation #[(limit) "\300\301\215\211\205 \302!\210\303)\207" [match (byte-code "\303 \304\216\305	\n\306#\205. \307\310\224\311\"\312=\204! \307\310\224\311\"\313=\203 \310\225b\210\314\315\303 \"\210\202 *\207" [save-match-data-internal php-annotations-re limit match-data ((byte-code "\301\302\"\207" [save-match-data-internal set-match-data evaporate] 3)) re-search-forward t get-char-property 0 face font-lock-comment-face font-lock-comment-delimiter-face throw match] 4) set-match-data t] 3])
(defconst php-string-interpolated-variable-regexp "{\\$[^}\n\\\\]*\\(?:\\\\.[^}\n\\\\]*\\)*}\\|\\${\\sw+}\\|\\$\\sw+")
(defalias 'php-string-intepolated-variable-font-lock-find #[(limit) "\303	\304#\203$ \305\306 8\211\203  \n\307\235\203  \310\311\224\311\225\312\313$\210)\202  \314\207" [php-string-interpolated-variable-regexp limit quoted-stuff re-search-forward t 3 syntax-ppss (34 96) put-text-property 0 face font-lock-variable-name-face nil] 6])
(byte-code "\302\303\304\"\210\305\306\307\310\311$\210\312\306!\210\305\313\314\315\311$\210\312\313\311\"\210\316\311\211\2036 	@\317\320\303B\321#\210	A\211\204$ *\322\303!\207" [pattern --dolist-tail-- eval-after-load php-mode #[nil "\300\301\302\"\210\300\301\303\304#\207" [font-lock-add-keywords php-mode ((php-annotations-font-lock-find-annotation (2 'php-annotations-annotation-face t))) ((php-string-intepolated-variable-font-lock-find)) append] 4] ad-add-advice fixup-whitespace (php-mode-fixup-whitespace nil t (advice lambda nil "Remove whitespace before certain characters in PHP mode." (let* ((no-behind-space ";\\|,\\|->\\|::") (no-front-space "->\\|::")) (when (and (eq major-mode 'php-mode) (or (looking-at-p (concat " \\(" no-behind-space "\\)")) (save-excursion (forward-char -2) (looking-at-p no-front-space)))) (delete-char 1))))) after nil ad-activate font-lock-fontify-keywords-region (backslash-as-word nil t (advice lambda nil "Fontify keywords with backslash as word character" (let ((old-syntax (string (char-syntax 92)))) (modify-syntax-entry 92 "w") ad-do-it (modify-syntax-entry 92 old-syntax)))) around ("\\.php[s345t]?\\'" "\\.phtml\\'" "Amkfile" "\\.amk$") add-to-list auto-mode-alist t provide] 6)
