;ELC   
;;; Compiled
;;; in Emacs version 29.4
;;; with all optimizations.



(byte-code "\300\301!\210\302\303\304\305\306\307%\207" [require ert custom-declare-group erts-mode nil "Major mode for editing Emacs test files." :group lisp] 6)
(custom-declare-face 'erts-mode-specification-name '((((class color) (background dark)) :foreground "green") (((class color) (background light)) :foreground "cornflower blue") (t :bold t)) "Face used for displaying specification names." :group 'erts-mode)
(custom-declare-face 'erts-mode-specification-value '((((class color) (background dark)) :foreground "DeepSkyBlue1") (((class color) (background light)) :foreground "blue") (t :bold t)) "Face used for displaying specification values." :group 'erts-mode)
(custom-declare-face 'erts-mode-start-test '((t :inherit font-lock-keyword-face)) "Face used for displaying specification test start markers." :group 'erts-mode)
(custom-declare-face 'erts-mode-end-test '((t :inherit font-lock-comment-face)) "Face used for displaying specification test start markers." :group 'erts-mode)
(defvar erts-mode-map (define-keymap :parent prog-mode-map "C-c C-r" 'erts-tag-region "C-c C-c" 'erts-run-test))
(defvar erts-mode-font-lock-keywords '((erts-mode--match-not-in-test ("^\\([^ 	\n:]+:\\)[ 	]*\\(.*\\(\n[ 	].*\\)*\\)\n?" (progn (goto-char (match-beginning 0)) (match-end 0)) nil (1 'erts-mode-specification-name) (2 'erts-mode-specification-value))) ("^=-=$" 0 'erts-mode-start-test) ("^=-=-=$" 0 'erts-mode-end-test)))#@14 

(fn LIMIT)
(defalias 'erts-mode--match-not-in-test #[257 "\300`!\203	 \301 \210`\302\303\304\305#\203 \306\224\202 db\210`W?\205( \307`D!\210`\207" [erts-mode--in-test-p erts-mode--end-of-test re-search-forward "^=-=$" nil t 0 set-match-data] 6 (#$ . 1511)])
(defalias 'erts-mode--end-of-test #[0 "\300\301\302\303#\207" [search-forward "^=-=-=\n" nil t] 4])#@45 Say whether POINT is in a test.

(fn POINT)
(defalias 'erts-mode--in-test-p #[257 "\212\211b\210\300 \210\301\302!\203 \303\202- \212\304\305\306\303#)\211\205+ \304\307\306\303#\211?\206) V\262\262)\207" [beginning-of-line looking-at "=-=\\(-=\\)?$" t re-search-backward "^=-=\n" nil "^=-=-=\n"] 6 (#$ . 1881)])
(defvar erts-mode-hook nil)
(byte-code "\300\301N\204\f \302\300\301\303#\210\304\305!\204 \302\305\306\307#\210\300\207" [erts-mode-hook variable-documentation put "Hook run after entering erts mode.\nNo problems result if this variable is not bound.\n`add-hook' automatically binds it.  (This is true for all hook variables.)" boundp erts-mode-map definition-name erts-mode] 4)
(defvar erts-mode-map (make-sparse-keymap))
(byte-code "\301\302N\204 \303\301\302\304\305!#\210\306\307!\204* \303\307\310\311#\210\312\307\306\307!\203& \313\202( \314 \"\210\307\302N\2048 \303\307\302\304\315!#\210\306\300!\204X \303\300\310\311#\210\312\300\306\300!\203P \313\202V \316\300\313\"\210\"\210\300\302N\204f \303\300\302\304\317!#\210\303\311\320\321#\207" [erts-mode-abbrev-table erts-mode-map variable-documentation put purecopy "Keymap for `erts-mode'." boundp erts-mode-syntax-table definition-name erts-mode defvar-1 nil make-syntax-table "Syntax table for `erts-mode'." define-abbrev-table "Abbrev table for `erts-mode'." derived-mode-parent prog-mode] 5)#@283 Major mode for editing erts (Emacs testing) files.
This mode mainly provides some font locking.

\{erts-mode-map}

In addition to any hooks its parent mode `prog-mode' might have run,
this mode runs the hook `erts-mode-hook', as the final or penultimate
step during initialization.
(defalias 'erts-mode #[0 "\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\2035 \211\321 =\203; \322\f\323 \"\210\210\324\325\"\204R =\204R \326\325C#\210\327!\210\330\f!\210\306\331!\210\332)\333\334!\207" [delay-mode-hooks major-mode mode-name erts-mode-map erts-mode-syntax-table erts-mode-abbrev-table make-local-variable t prog-mode erts-mode "erts" 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 font-lock-defaults (erts-mode-font-lock-keywords t) run-mode-hooks erts-mode-hook local-abbrev-table] 5 (#$ . 3267) nil])#@246 Tag the region between START and END as a test.
Interactively, this is the region.

NAME should be a string appropriate for output by ert if the test fails.
If NAME is nil or the empty string, a name will be auto-generated.

(fn START END NAME)
(defalias 'erts-tag-region #[771 "\211G\300U\203V \212eb\210\301\302\303\301\304#\203& \305\306!\307`!\204\" \211B\262\210\202\f \310\311 !\306\301\211\211\211\312\313#\262\235\204I \262\301\211\262\203S T\262\301\262\202/ \266\207)\212b\210n\204a \314c\210\315c\210b\210\316\317\261\210\320c)\207" [0 nil re-search-forward "^Name:[ 	]*\\(.*\\)" t match-string 1 erts-mode--in-test-p file-name-sans-extension buffer-name format "%s%d" "\n" "=-=-=\n" "Name: " "\n\n" "=-=\n"] 14 (#$ . 4328) ["r\nsTest name: " (erts-mode)]])#@13 

(fn NAME)
(defalias 'erts-mode--preceding-spec #[257 "\212\300\301\302\"\303\304#\203 \305`!\204 \305`!?\205. \306\307\303\304#\205. \310\224b\210\311\227!\312`!\236A)\207" [re-search-backward format "^%s:" nil t erts-mode--in-test-p re-search-forward "^=-=$" 0 intern ert--erts-specifications] 5 (#$ . 5122)])#@278 Run the current test.
If the current erts file doesn't define a test function, the user
will be prompted for one.

If VERBOSE (interactively, the prefix), display a diff of the
expected results and the actual results in a separate buffer.

(fn TEST-FUNCTION &optional VERBOSE)
(defalias 'erts-run-test #[513 "\212\300 \210\3011$ \302\303\304B\305\306!@B\307\310\311!BE\312 \"0\313\314!\262\202n \2045 \313\315\316A@A@!\"\202l \313\317!\210\320C\320C\321\322#\216r\323\324!\240q\210A@A@c)\210r\211\323\325!\240q\210\326A@8c)\210\327\242\242\")\266\202\262)\207" [erts-mode--goto-start-of-test (ert-test-failed) ert-test--erts-test dummy t code read-from-string point-char erts-mode--preceding-spec "Point-Char" buffer-file-name message "Test successful" "Test failure; result: \n%s" substring-no-properties "Test failure" nil make-closure #[0 "\302\301\242!\210\302\300\242!\207" [V0 V1 kill-buffer] 2] generate-new-buffer "erts expected" "erts results" 2 diff-buffers] 9 (#$ . 5445) [(byte-code "\301\302!\206	 \303\304!D\207" [current-prefix-arg erts-mode--preceding-spec "Code" read-string "Transformation function: "] 2) (erts-mode)]])
(defalias 'erts-mode--goto-start-of-test #[0 "\300`!\204\f \301\302\303\304#\207\305\302\303\304#\210\306\225\212\305\302\303\304#)\205  \306\225\211\203; \212\305\307\303\304#)\211\2035 V\2038 b\207b\207b\207" [erts-mode--in-test-p re-search-forward "^=-=\n" nil t re-search-backward 0 "^=-=-=\n"] 6])
(provide 'erts-mode)
