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



(byte-code "\300\301\302\303\304\305\306\307&\210\310\311\312\313\314DD\315\304\301\316\317&\210\310\320\312\313\321DD\322\304\301\316\323&\210\310\324\312\313\325DD\326\304\301\316\327&\210\310\330\312\313\331DD\332\304\301\316\333&\207" [custom-declare-group re-builder nil "Options for the RE Builder." :group lisp :prefix "reb-" custom-declare-variable reb-blink-delay funcall function #[0 "\300\207" [0.5] 1 #1=""] "Seconds to blink cursor for next/previous match in RE Builder." :type number reb-mode-hook #[0 "\300\207" [nil] 1 #1#] "Hooks to run on entering RE Builder mode." hook reb-re-syntax #[0 "\300\207" [read] 1 #1#] "Syntax for the REs in the RE Builder.\nCan either be `read', `string', or `rx'." (choice (const :tag "Read syntax" read) (const :tag "String syntax" string) (const :tag "`rx' syntax" rx)) reb-auto-match-limit #[0 "\300\207" [200] 1 #1#] "Positive integer limiting the matches for RE Builder auto updates.\nSet it to nil if you don't want limits here." (restricted-sexp :match-alternatives (integerp 'nil))] 8)
(custom-declare-face 'reb-match-0 '((((class color) (background light)) :background "lightblue") (((class color) (background dark)) :background "steelblue4") (t :inverse-video t)) "Used for displaying the whole match." :group 're-builder)
(custom-declare-face 'reb-match-1 '((((class color) (background light)) :background "aquamarine") (((class color) (background dark)) :background "blue3") (t :inverse-video t)) "Used for displaying the first matching subexpression." :group 're-builder)
(custom-declare-face 'reb-match-2 '((((class color) (background light)) :background "springgreen") (((class color) (background dark)) :background "chartreuse4") (t :inverse-video t)) "Used for displaying the second matching subexpression." :group 're-builder)
(custom-declare-face 'reb-match-3 '((((min-colors 88) (class color) (background light)) :background "yellow1") (((class color) (background light)) :background "yellow") (((class color) (background dark)) :background "sienna4") (t :inverse-video t)) "Used for displaying the third matching subexpression." :group 're-builder)#@36 Enables the RE Builder minor mode.
(defvar reb-mode nil (#$ . 2207))#@39 Buffer to which the RE is applied to.
(defvar reb-target-buffer nil (#$ . 2281))#@39 Window to which the RE is applied to.
(defvar reb-target-window nil (#$ . 2367))#@33 Last regexp used by RE Builder.
(defvar reb-regexp nil (#$ . 2453))
(make-variable-buffer-local 'reb-regexp)#@111 Last regexp used by RE Builder before processing it.
Except for Lisp syntax this is the same as `reb-regexp'.
(defvar reb-regexp-src nil (#$ . 2568))
(make-variable-buffer-local 'reb-regexp-src)#@37 List of overlays of the RE Builder.
(defvar reb-overlays nil (#$ . 2768))
(make-variable-buffer-local 'reb-overlays)#@27 Old window configuration.
(defvar reb-window-config nil (#$ . 2890))#@43 Indicates whether sub-exp mode is active.
(defvar reb-subexp-mode nil (#$ . 2964))#@36 Indicates which sub-exp is active.
(defvar reb-subexp-displayed nil (#$ . 3052))#@42 String in mode line for additional info.
(defvar reb-mode-string "" (#$ . 3138))#@45 String in mode line showing validity of RE.
(defvar reb-valid-string "" (#$ . 3224))
(put 'reb-valid-string 'risky-local-variable t)#@35 Buffer to use for the RE Builder.
(defconst reb-buffer "*RE-Builder*" (#$ . 3362))#@32 Keymap used by the RE Builder.
(defvar reb-mode-map (define-keymap "C-c C-c" 'reb-toggle-case "C-c C-q" 'reb-quit "C-c C-w" 'reb-copy "C-c C-s" 'reb-next-match "C-c C-r" 'reb-prev-match "C-c C-i" 'reb-change-syntax "C-c C-e" 'reb-enter-subexp-mode "C-c C-b" 'reb-change-target-buffer "C-c C-u" 'reb-force-update) (#$ . 3450))#@26 Menu for the RE Builder.
(defvar reb-mode-menu nil (#$ . 3781))
(easy-menu-do-define 'reb-mode-menu reb-mode-map "Menu for the RE Builder." '("Re-Builder" ["Copy current RE" reb-copy :help "Copy current RE into the kill ring for later insertion"] "---" ["Go to previous match" reb-prev-match :help "Go to previous match in the RE Builder target window"] ["Go to next match" reb-next-match :help "Go to next match in the RE Builder target window"] ["Force update" reb-force-update :help "Force an update in the RE Builder target window without a match limit"] ["Enter subexpression mode" reb-enter-subexp-mode :help "Enter the subexpression mode in the RE Builder"] "---" ["Change syntax..." reb-change-syntax :help "Change the syntax used by the RE Builder"] ["Change target buffer..." reb-change-target-buffer :help "Change the target buffer and display it in the target window"] ["Case sensitive" reb-toggle-case :style toggle :selected (with-current-buffer reb-target-buffer (null case-fold-search)) :help "Toggle case sensitivity of searches for RE Builder target buffer"] "---" ["Quit" reb-quit :help "Quit the RE Builder mode"]))
(defvar reb-mode-hook nil)
(byte-code "\300\301N\204\f \302\300\301\303#\210\304\305!\204 \302\305\306\307#\210\300\207" [reb-mode-hook variable-documentation put "Hook run after entering RE Builder mode.\nNo problems result if this variable is not bound.\n`add-hook' automatically binds it.  (This is true for all hook variables.)" boundp reb-mode-map definition-name reb-mode] 4)
(defvar reb-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\313#\207" [reb-mode-abbrev-table reb-mode-map variable-documentation put purecopy "Keymap for `reb-mode'." boundp reb-mode-syntax-table definition-name reb-mode defvar-1 nil make-syntax-table "Syntax table for `reb-mode'." define-abbrev-table "Abbrev table for `reb-mode'." derived-mode-parent] 5)#@175 Major mode for interactively building Regular Expressions.

This mode runs the hook `reb-mode-hook', as the final or penultimate
step during initialization.

\{reb-mode-map}
(defalias 'reb-mode #[0 "\306\300!\210\307\310 \210\311\312\313!\210\314\f!\210\306\315!\210\316\317 )\210\320\321!\207" [delay-mode-hooks major-mode mode-name reb-mode-map reb-mode-syntax-table reb-mode-abbrev-table make-local-variable t kill-all-local-variables reb-mode "RE Builder" use-local-map set-syntax-table blink-matching-paren nil reb-mode-common run-mode-hooks reb-mode-hook local-abbrev-table] 2 (#$ . 5969) nil])
(defvar reb-lisp-mode-map (byte-code "\301\302\303\302\"\"\207" [reb-mode-map define-keymap "C-c" keymap-lookup] 5))
(defvar reb-lisp-mode-hook nil)
(byte-code "\300\301N\204\f \302\300\301\303#\210\304\305!\204 \302\305\306\307#\210\300\207" [reb-lisp-mode-hook variable-documentation put "Hook run after entering RE Builder Lisp mode.\nNo problems result if this variable is not bound.\n`add-hook' automatically binds it.  (This is true for all hook variables.)" boundp reb-lisp-mode-map definition-name reb-lisp-mode] 4)
(defvar reb-lisp-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" [reb-lisp-mode-abbrev-table reb-lisp-mode-map variable-documentation put purecopy "Keymap for `reb-lisp-mode'." boundp reb-lisp-mode-syntax-table definition-name reb-lisp-mode defvar-1 nil make-syntax-table "Syntax table for `reb-lisp-mode'." define-abbrev-table "Abbrev table for `reb-lisp-mode'." derived-mode-parent emacs-lisp-mode] 5)#@269 Major mode for interactively building symbolic Regular Expressions.

In addition to any hooks its parent mode `emacs-lisp-mode' might have
run, this mode runs the hook `reb-lisp-mode-hook', as the final or
penultimate step during initialization.

\{reb-lisp-mode-map}
(defalias 'reb-lisp-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\331=\203h \332\331!\210\333 )\210\334\335!\207" [delay-mode-hooks major-mode mode-name reb-lisp-mode-map reb-lisp-mode-syntax-table reb-lisp-mode-abbrev-table make-local-variable t emacs-lisp-mode reb-lisp-mode "RE Builder Lisp" 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 rx require reb-mode-common run-mode-hooks reb-lisp-mode-hook local-abbrev-table reb-re-syntax] 5 (#$ . 7830) nil])#@59 Keymap used by the RE Builder for the subexpression mode.
(defvar reb-subexp-mode-map (byte-code "\301\302\303\304\303\305\306\305\"\307\310\311\312\313\312\314\312\315\312\316\312\317\312\320\312\321\312\322\312\323\312&\207" [reb-mode-map define-keymap :full t :suppress "C-c" keymap-lookup "q" reb-quit-subexp-mode "0" reb-display-subexp "1" "2" "3" "4" "5" "6" "7" "8" "9"] 29) (#$ . 8922))#@69 Setup functions common to functions `reb-mode' and `reb-lisp-mode'.
(defalias 'reb-mode-common #[0 "\303\211\304\305 \210\306\307\310\311\312$\210\306\313\314\311\312$\210\310\311\211\211#\207" [reb-mode-string reb-valid-string mode-line-buffer-identification "" (25 "%b" reb-mode-string reb-valid-string) reb-update-modestring add-hook after-change-functions reb-auto-update nil t kill-buffer-hook reb-kill-buffer] 6 (#$ . 9324)])#@54 Return t if display is capable of displaying colors.
(defalias 'reb-color-display-p #[0 "\300\301\302\"\303=\207" [frame-parameter nil display-type color] 3 (#$ . 9764)])#@48 Return non-nil if RE Builder uses `rx' syntax.
(defalias 'reb-lisp-syntax-p #[0 "\301=\207" [reb-re-syntax rx] 2 (#$ . 9940)])#@73 Return binding for SYMBOL in the RE Builder target buffer.

(fn SYMBOL)
(defalias 'reb-target-value #[257 "\301\"\207" [reb-target-buffer buffer-local-value] 4 (#$ . 10073)])#@55 Initialize the current buffer as a RE Builder buffer.
(defalias 'reb-initialize-buffer #[0 "\300 \210\301 \210\302e\\b\210\303 \203 \304 \210\202 \305 \210\306 \210\3071$ \310 0\207\210\311\207" [erase-buffer reb-insert-regexp 2 reb-lisp-syntax-p reb-lisp-mode reb-mode reb-restart-font-lock (error) reb-do-update nil] 2 (#$ . 10255)])#@62 Return non-nil if the current buffer is a RE Builder buffer.
(defalias 'reb-mode-buffer-p #[0 "\301>\207" [major-mode (reb-mode reb-lisp-mode)] 2 (#$ . 10598)])
(defalias 'regexp-builder 're-builder)#@575 Construct a regexp interactively.
This command makes the current buffer the "target" buffer of
the regexp builder.  It displays a buffer named "*RE-Builder*"
in another window, initially containing an empty regexp.

As you edit the regexp in the "*RE-Builder*" buffer, the
matching parts of the target buffer will be highlighted.

Case-sensitivity can be toggled with \[reb-toggle-case].  The
regexp builder supports three different forms of input which can
be set with \[reb-change-syntax].  More options and details are
provided in the Commentary section of this library.
(defalias 're-builder #[0 "\304 \230\203 \305 \203 \306\307!\207	\203 \310 \210p\311 \312\313!\206@ \314\315\316\"\203. \317\202/ \320\321 \322\323!\324\325B\326BB\"\262!\210\327\330!\210\331 \207" [reb-buffer reb-target-buffer reb-target-window reb-window-config buffer-name reb-mode-buffer-p message "Already in the RE Builder" reb-delete-overlays selected-window select-window get-buffer-window window-parameter nil window-side bottom down current-window-configuration display-buffer get-buffer-create (display-buffer-in-direction) direction ((dedicated . t) (window-height . fit-window-to-buffer)) font-lock-mode 1 reb-initialize-buffer] 7 (#$ . 10805) nil])#@73 Change the target buffer and display it in the target window.

(fn BUF)
(defalias 'reb-change-target-buffer #[257 "\303!\211\204 \304\305!\207\306 \210\211\307	\205 \n!\210\310 \207" [reb-target-buffer reb-subexp-mode reb-subexp-displayed get-buffer error "No such buffer" reb-delete-overlays reb-do-update reb-update-modestring] 4 (#$ . 12058) "bSet target buffer to: "])#@72 Force an update in the RE Builder target window without a match limit.
(defalias 'reb-force-update #[0 "\303\304	\205 \n!)\207" [reb-auto-match-limit reb-subexp-mode reb-subexp-displayed nil reb-update-overlays] 2 (#$ . 12440) nil])#@27 Quit the RE Builder mode.
(defalias 'reb-quit #[0 "\303\211\304 \210\305 \210\306\n!\207" [reb-subexp-mode reb-subexp-displayed reb-window-config nil reb-delete-overlays bury-buffer set-window-configuration] 3 (#$ . 12680) nil])#@51 Go to next match in the RE Builder target window.
(defalias 'reb-next-match #[0 "\304 \210\305!r\306\307\"\216\310@\311\"\210\312	d\313#\204  \314\315!\202, \316\n\203) \206* \317\313\"*\207" [reb-target-window reb-regexp reb-subexp-mode reb-subexp-displayed reb-assert-buffer-in-window internal--before-with-selected-window make-closure #[0 "\301\300!\207" [V0 internal--after-with-selected-window] 2] select-window norecord re-search-forward t message "No more matches" reb-show-subexp 0] 5 (#$ . 12916) nil])#@55 Go to previous match in the RE Builder target window.
(defalias 'reb-prev-match #[0 "\304 \210\305!r\306\307\"\216\310@\311\"\210`\211Sb\210\312	e\313#\203. \314\n\203( \206) \315\313\"\2024 \211b\210\316\317!*\207" [reb-target-window reb-regexp reb-subexp-mode reb-subexp-displayed reb-assert-buffer-in-window internal--before-with-selected-window make-closure #[0 "\301\300!\207" [V0 internal--after-with-selected-window] 2] select-window norecord re-search-backward t reb-show-subexp 0 message "No more matches"] 6 (#$ . 13437) nil])#@67 Toggle case sensitivity of searches for RE Builder target buffer.
(defalias 'reb-toggle-case #[0 "rq\210	?)\302 \210\303\304\211\211\305$\207" [reb-target-buffer case-fold-search reb-update-modestring reb-auto-update nil t] 5 (#$ . 13983) nil])#@57 Copy current RE into the kill ring for later insertion.
(defalias 'reb-copy #[0 "\301 \210\302\303\304\"\305\216\306\307\310!!)\210rq\210\311 +\211\312GSO\262\313\314\315#\262\316!\210\317\320\"\207" [standard-output reb-update-regexp generate-new-buffer " *string-output*" t #[0 "\301!\207" [standard-output kill-buffer] 2] print reb-target-value reb-regexp buffer-string 1 string-replace "\n" "\\n" kill-new message "Copied regexp `%s' to kill-ring"] 5 (#$ . 14235) nil])#@49 Enter the subexpression mode in the RE Builder.
(defalias 'reb-enter-subexp-mode #[0 "\302\303 \210\304	!\210\305\306\307!!\207" [reb-subexp-mode reb-subexp-mode-map t reb-update-modestring use-local-map message substitute-command-keys "\\`0'-\\`9' to display subexpressions  \\`q' to quit subexp mode"] 3 (#$ . 14725) nil])#@340 Visually show limit of subexpression SUBEXP of recent search.
On color displays this just puts point to the end of the expression as
the match should already be marked by an overlay.
On other displays jump to the beginning and the end of it.
If the optional PAUSE is non-nil then pause at the end in any case.

(fn SUBEXP &optional PAUSE)
(defalias 'reb-show-subexp #[513 "\302!r\303\304\"\216\305@\306\"\210\307 \204 \224b\210\310	!\210\225b\210\307 \203) \205, \310	!*\207" [reb-target-window reb-blink-delay internal--before-with-selected-window make-closure #[0 "\301\300!\207" [V0 internal--after-with-selected-window] 2] select-window norecord reb-color-display-p sit-for] 6 (#$ . 15057)])#@48 Quit the subexpression mode in the RE Builder.
(defalias 'reb-quit-subexp-mode #[0 "\303\211\304 \210\305\n!\210\306 \207" [reb-subexp-mode reb-subexp-displayed reb-mode-map nil reb-update-modestring use-local-map reb-do-update] 3 (#$ . 15765) nil])
(defvar reb-change-syntax-hist nil)#@138 Change the syntax used by the RE Builder.
Optional argument SYNTAX must be specified if called non-interactively.

(fn &optional SYNTAX)
(defalias 'reb-change-syntax #[256 "\211\302>\203 \303!\211\205 r\211q\210\304 )\210\305\306	\"\207\307\310\"\207" [reb-buffer reb-re-syntax (read string rx) get-buffer reb-initialize-buffer message "Switched syntax to `%s'" error "Invalid syntax: %s"] 5 (#$ . 16059) (byte-code "\301\302\303\304\"\305\306\307\306\211\310!\311&!C\207" [reb-re-syntax intern completing-read format-prompt "Select syntax" (read string rx) nil t symbol-name reb-change-syntax-hist] 10)])#@138 Update matches in the RE Builder target window.
If SUBEXP is non-nil mark only the corresponding sub-expressions.

(fn &optional SUBEXP)
(defalias 'reb-do-update #[256 "\300 \210\301 \210\302!\207" [reb-assert-buffer-in-window reb-update-regexp reb-update-overlays] 3 (#$ . 16680)])#@256 Called from `after-change-functions' to update the display.
BEG, END and LENOLD are passed in from the hook.
An actual update is only done if the regexp has changed or if the
optional fourth argument FORCE is non-nil.

(fn BEG END LENOLD &optional FORCE)
(defalias 'reb-auto-update #[1027 "\3011 \302 \204 \203 \303 \210\3040\202: \305\306\307A:\2032 A@;\2032 \306\310@A@#\2024 @\"\311\312#\262\211\313 \210\314 \205S \230?\205S \304\230\205S \315 \207" [reb-valid-string (error) reb-update-regexp reb-do-update "" propertize format " %s" "%s: %s" face font-lock-warning-face force-mode-line-update reb-lisp-syntax-p reb-delete-overlays] 13 (#$ . 16970)])#@67 Delete all RE Builder overlays in the `reb-target-buffer' buffer.
(defalias 'reb-delete-overlays #[0 "\302!\205 rq\210\303\304	\"\210\305\211)\207" [reb-target-buffer reb-overlays buffer-live-p mapc delete-overlay nil] 3 (#$ . 17647)])#@70 Assert that `reb-target-buffer' is displayed in `reb-target-window'.
(defalias 'reb-assert-buffer-in-window #[0 "\302	!=?\205 \303	\"\207" [reb-target-buffer reb-target-window window-buffer set-window-buffer] 3 (#$ . 17892)])#@67 Update the variable `reb-mode-string' displayed in the mode line.
(defalias 'reb-update-modestring #[0 "\203 \303\304	\206 \305\"\202 \306\307\310!\204 \311\202 \306P\312 \207" [reb-subexp-mode reb-subexp-displayed reb-mode-string format " (subexp %s)" "-" "" reb-target-value case-fold-search " Case" force-mode-line-update] 3 (#$ . 18126)])#@79 Highlight only subexpression SUBEXP in the RE Builder.

(fn &optional SUBEXP)
(defalias 'reb-display-subexp #[256 "\211\206\n \302\303\304\"!\305 \210\306	!\207" [last-command-event reb-subexp-displayed string-to-number format "%c" reb-update-modestring reb-do-update] 5 (#$ . 18481) nil])#@73 When the RE Builder buffer is killed make sure no overlays stay around.
(defalias 'reb-kill-buffer #[0 "\300 \205 \301 \207" [reb-mode-buffer-p reb-delete-overlays] 1 (#$ . 18778)])#@18 Read current RE.
(defalias 'reb-read-regexp #[0 "\212\301\267\202( eb\210\302p!\202/ eb\210\303\304!\210`db\210\305\304!\210\306`\"\262\202/ \307 \205/ \310 )\207" [reb-re-syntax #s(hash-table size 2 test eq rehash-size 1.5 rehash-threshold 0.8125 purecopy t data (read 7 string 16)) read re-search-forward "\"" re-search-backward buffer-substring-no-properties reb-lisp-syntax-p buffer-string] 4 (#$ . 18966)])#@37 Return empty RE for current syntax.
(defalias 'reb-empty-regexp #[0 "\300 \203 \301\207\302\207" [reb-lisp-syntax-p "'()" ""] 1 (#$ . 19386)])#@20 Insert current RE.
(defalias 'reb-insert-regexp #[0 "\301\302!\206 \303 \304\267\202 \305p\"\207\306\307\261\207\310 \205' \301\311!\206& \303 c\207" [reb-re-syntax reb-target-value reb-regexp reb-empty-regexp #s(hash-table size 2 test eq rehash-size 1.5 rehash-threshold 0.8125 purecopy t data (read 14 string 19)) print "\n\"" "\"" reb-lisp-syntax-p reb-regexp-src] 4 (#$ . 19535)])#@70 Return RE after processing it according to `reb-re-syntax'.

(fn RE)
(defalias 'reb-cook-regexp #[257 "\301=\203 \302\303\304!@!!\207\207" [reb-re-syntax rx rx-to-string eval read-from-string] 5 (#$ . 19931)])#@87 Update the regexp for the target buffer.
Return t if the (cooked) expression changed.
(defalias 'reb-update-regexp #[0 "\303 \304!rq\210	\211\230?)\207" [reb-target-buffer reb-regexp reb-regexp-src reb-read-regexp reb-cook-regexp] 5 (#$ . 20149)])#@61 Return number of sub-expressions in the regexp RE.

(fn RE)
(defalias 'reb-count-subexps #[257 "\300\211\301\302#\203 T\262\300\225\262\202 \207" [0 string-match "\\\\("] 7 (#$ . 20409)])#@158 Switch to `reb-target-buffer' and mark all matches of `reb-regexp'.
If SUBEXP is non-nil mark only the corresponding sub-expressions.

(fn &optional SUBEXP)
(defalias 'reb-update-overlays #[256 "\304\305!\306!\307\211\310\211\211rq\210	\203* \311	!r\312\313\"\216\314@\315\"\210\316 *\262\202+ `\262\317 \210eb\210m\204\356 \320d\321#\203\356 \n\203J \nW\203\356 \322\307!G\307U\203Z m\204Z \323u\210\307\310\211T\262	X\203\351 \n\203u \nU\203\342 \224\203\342 \324\224\225\"\203\235 U\203\220 \323\262\202\224 T\262\325\326\327\"!\202\263 \325\326\327\"!\206\263 S\211\262\205\263 \323\262\330\204\274 \331 \262\204\313 `V\203\313 \331 \262BT\262	\332\333#\210\332\334#\266T\262\202b \266\2023 )\203\370 \202\371 \335\336\307U\203\337\202\340!\203\341\202\342\323U\203\342\202\343\n\203,\nU\203,\344\202-\342%\266\205D\345\206:!\210\346\206C\307!\207" [reb-target-buffer reb-target-window reb-auto-match-limit reb-overlays reb-target-value reb-regexp reb-count-subexps 0 nil internal--before-with-selected-window make-closure #[0 "\301\300!\207" [V0 internal--after-with-selected-window] 2] select-window norecord window-point reb-delete-overlays re-search-forward t match-string 1 make-overlay intern-soft format "reb-match-%d" reb-match-1 match-data overlay-put face priority message "%s %smatch%s%s" "No" int-to-string "subexpression " "" "es" " (limit reached)" store-match-data reb-show-subexp] 17 (#$ . 20611)])#@32 Unload the RE Builder library.
(defalias 're-builder-unload-function #[0 "\301\302!!\203! rq\210\303\304\305\306#\210\303\307\310\306#\210\311 \203  \312 \210)\313\207" [reb-buffer buffer-live-p get-buffer remove-hook after-change-functions reb-auto-update t kill-buffer-hook reb-kill-buffer reb-mode-buffer-p reb-delete-overlays nil] 4 (#$ . 22123)])#@14 

(fn BOUND)
(defalias 'reb-fontify-string-re #[257 "\3012A \302>\205@ \303\304=\203 \305\202 \306\307#\205@ \310\224\204\n \311`S\312\"\211<\2031 \313>\2047 \211\313=\203< \314\301\307\"\210\210\202\n 0\207" [reb-re-syntax found (read string) re-search-forward read "\\(\\\\\\\\\\)\\(?:\\(\\\\\\\\\\)\\|\\((\\(?:\\?[0-9]*:\\)?\\|[|)]\\)\\)" "\\(\\\\\\)\\(?:\\(\\\\\\)\\|\\((\\(?:\\?[0-9]*:\\)?\\|[|)]\\)\\)" t 2 get-text-property face font-lock-string-face throw] 5 (#$ . 22482)])
(custom-declare-face 'reb-regexp-grouping-backslash '((t :inherit font-lock-keyword-face :weight bold :underline t)) "Font Lock mode face for backslashes in Lisp regexp grouping constructs." :group 're-builder)
(custom-declare-face 'reb-regexp-grouping-construct '((t :inherit font-lock-keyword-face :weight bold :underline t)) "Font Lock mode face used to highlight grouping constructs in Lisp regexps." :group 're-builder)
(defconst reb-string-font-lock-keywords '(((reb-fontify-string-re (1 'reb-regexp-grouping-backslash prepend) (3 'reb-regexp-grouping-construct prepend)) (reb-mark-non-matching-parenthesis)) nil))#@28 

(fn LIMIT CURRENT WHERE)
(defalias 'reb-while #[771 "W\203	 T\207\300\301#\210\302\207" [message "Reached (while limit=%s, where=%s)" nil] 7 (#$ . 23596)])
(byte-code "\300\301\302\303#\304\301\305\306#\207" [function-put reb-while speed -1 put byte-optimizer byte-compile-inline-expand] 5)#@14 

(fn BOUND)
(defalias 'reb-mark-non-matching-parenthesis #[257 "\211dY\205\241 \300\301\211eb\210\302\303W\203 T\266\203\202$ \304\305#\266\301\211\262\203\207 m\204\207 \306\301w\210m\204\f \307`\310\"\262\211\311=\204M \211<\203\201 \311>\203\201 \301f\312=\203\\ `B\262\202\201 \301f\313=\203y \203n A\262\202\201 \314``T\310\315$\210\202\201 \304\316\317\301f!\"\210\301u\210\202\f \211\205\235 \211@\314\211T\310\315$\210A\266\202\202\210 \262\266\203\207" [0 nil 100 "mark-par" message "Reached (while limit=%s, where=%s)" "^()" get-text-property face reb-regexp-grouping-construct 40 41 put-text-property font-lock-warning-face "markpar: char-after=%s" char-to-string] 11 (#$ . 23899)])
(require 'rx)
(defconst reb-rx-font-lock-keywords (byte-code "\303\304\"\303\305	\"\303\306\n\"\307\310\311C\312\"\313Q\314B\307\310\315C\312\"\313Q\316B\317\310\312\"\320Q\321B\322\310\312\"\320Q\323B\307\310\312\"P\324B\257\207" [rx--builtin-forms rx--syntax-codes rx--categories mapcar symbol-name #[257 "\300@!\207" [symbol-name] 3 "\n\n(fn REC)"] #[257 "\300@!\207" [symbol-name] 3 "\n\n(fn REC)"] "(" regexp-opt "rx-to-string" t "[[:space:]]" ((1 font-lock-function-name-face)) "rx" ((1 font-lock-preprocessor-face)) "(category[[:space:]]+" ")" ((1 font-lock-variable-name-face)) "(syntax[[:space:]]+" ((1 font-lock-type-face)) ((1 font-lock-keyword-face))] 11))#@56 Restart `font-lock-mode' to fit current regexp format.
(defalias 'reb-restart-font-lock #[0 "r\305!q\210	\301\306!\210\307\310!\210\n\311\267\202 \202 \312\202 \313\211\205& \301\314!)\207" [reb-buffer font-lock-mode reb-re-syntax reb-string-font-lock-keywords font-lock-defaults get-buffer -1 kill-local-variable font-lock-set-defaults #s(hash-table size 3 test eq rehash-size 1.5 rehash-threshold 0.8125 purecopy t data (read 21 string 21 rx 25)) (reb-rx-font-lock-keywords nil) nil 1] 3 (#$ . 25297)])
(provide 're-builder)
