;ELC ;;; Compiled ;;; in Emacs version 26.3 ;;; with all optimizations. ;;; This file uses dynamic docstrings, first added in Emacs 19.29. ;;; This file does not contain utf-8 non-ASCII characters, ;;; and so can be loaded in Emacs versions earlier than 23. ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; (byte-code "\300\301!\210\300\302!\210\303\304\305\306\307\310\311\312&\210\303\313\305\314\311\304\311\315&\210\316\317\320\321\311\313%\210\316\322\323\324\311\313%\207" [require cl-lib jit-lock custom-declare-group flylisp nil "Color unbalanced parentheses and parentheses inconsistent with indentation." :prefix "flylisp-" :group paren-matching flylisp-faces "Faces for flylisp package. " faces custom-declare-face fl-inconsistent-face ((((class color) (background light)) :foreground "dark orange") (((class color) (background dark)) :foreground "orange")) "Face applied to matching open and close parens whose placement\nis inconsistent with indentation." fl-mismatched-face ((((class color) (background light)) :foreground "dark red") (((class color) (background dark)) :foreground "red")) "Face applied to a paren who has no match."] 8) #@67 compiler-macro for inlining `fl--Open-p'. (fn CL-WHOLE-ARG CL-X) (defalias 'fl--Open-p--cmacro #[514 "\300\301\302\303\211\211&\207" [cl--defsubst-expand (cl-x) (cl-block fl--Open-p (and (memq (type-of cl-x) cl-struct-fl--Open-tags) t)) nil] 9 (#$ . 1255)]) (put 'fl--Open-p 'compiler-macro 'fl--Open-p--cmacro) #@13 (fn CL-X) (defalias 'fl--Open-p #[257 "\301!>\205 \302\207" [cl-struct-fl--Open-tags type-of t] 3 (#$ . 1577)]) (byte-code "\300\301\302\303#\304\305\306\301#\207" [function-put fl--Open-p side-effect-free error-free put fl--Open cl-deftype-satisfies] 5) #@74 compiler-macro for inlining `fl--Open-position'. (fn CL-WHOLE-ARG CL-X) (defalias 'fl--Open-position--cmacro #[514 "\300\301\302\303\211\211&\207" [cl--defsubst-expand (cl-x) (cl-block fl--Open-position (or (fl--Open-p cl-x) (signal 'wrong-type-argument (list 'fl--Open cl-x))) (aref cl-x 1)) nil] 9 (#$ . 1843)]) (put 'fl--Open-position 'compiler-macro 'fl--Open-position--cmacro) #@62 Access slot "position" of `fl--Open' struct CL-X. (fn CL-X) (defalias 'fl--Open-position #[257 "\301!>\204\302\303\304D\"\210\211\305H\207" [cl-struct-fl--Open-tags type-of signal wrong-type-argument fl--Open 1] 5 (#$ . 2235)]) (byte-code "\300\301\302\303#\300\207" [function-put fl--Open-position side-effect-free t] 4) #@71 compiler-macro for inlining `fl--Open-close'. (fn CL-WHOLE-ARG CL-X) (defalias 'fl--Open-close--cmacro #[514 "\300\301\302\303\211\211&\207" [cl--defsubst-expand (cl-x) (cl-block fl--Open-close (or (fl--Open-p cl-x) (signal 'wrong-type-argument (list 'fl--Open cl-x))) (aref cl-x 2)) nil] 9 (#$ . 2569)]) (put 'fl--Open-close 'compiler-macro 'fl--Open-close--cmacro) #@59 Access slot "close" of `fl--Open' struct CL-X. (fn CL-X) (defalias 'fl--Open-close #[257 "\301!>\204\302\303\304D\"\210\211\305H\207" [cl-struct-fl--Open-tags type-of signal wrong-type-argument fl--Open 2] 5 (#$ . 2946)]) (byte-code "\300\301\302\303#\300\207" [function-put fl--Open-close side-effect-free t] 4) #@72 compiler-macro for inlining `fl--Open-column'. (fn CL-WHOLE-ARG CL-X) (defalias 'fl--Open-column--cmacro #[514 "\300\301\302\303\211\211&\207" [cl--defsubst-expand (cl-x) (cl-block fl--Open-column (or (fl--Open-p cl-x) (signal 'wrong-type-argument (list 'fl--Open cl-x))) (aref cl-x 3)) nil] 9 (#$ . 3271)]) (put 'fl--Open-column 'compiler-macro 'fl--Open-column--cmacro) #@60 Access slot "column" of `fl--Open' struct CL-X. (fn CL-X) (defalias 'fl--Open-column #[257 "\301!>\204\302\303\304D\"\210\211\305H\207" [cl-struct-fl--Open-tags type-of signal wrong-type-argument fl--Open 3] 5 (#$ . 3653)]) (byte-code "\300\301\302\303#\300\207" [function-put fl--Open-column side-effect-free t] 4) #@78 compiler-macro for inlining `fl--Open-inconsistent'. (fn CL-WHOLE-ARG CL-X) (defalias 'fl--Open-inconsistent--cmacro #[514 "\300\301\302\303\211\211&\207" [cl--defsubst-expand (cl-x) (cl-block fl--Open-inconsistent (or (fl--Open-p cl-x) (signal 'wrong-type-argument (list 'fl--Open cl-x))) (aref cl-x 4)) nil] 9 (#$ . 3981)]) (put 'fl--Open-inconsistent 'compiler-macro 'fl--Open-inconsistent--cmacro) #@66 Access slot "inconsistent" of `fl--Open' struct CL-X. (fn CL-X) (defalias 'fl--Open-inconsistent #[257 "\301!>\204\302\303\304D\"\210\211\305H\207" [cl-struct-fl--Open-tags type-of signal wrong-type-argument fl--Open 4] 5 (#$ . 4393)]) (byte-code "\300\301\302\303#\304\305\306\"\207" [function-put fl--Open-inconsistent side-effect-free t defalias copy-fl--Open copy-sequence] 4) #@111 compiler-macro for inlining `make-fl--Open'. (fn CL-WHOLE &cl-quote &key POSITION CLOSE COLUMN INCONSISTENT) (defalias 'make-fl--Open--cmacro #[385 "\300\301\"A@\300\302\"A@\300\303\"A@\300\304\"A@\211\203D\211@\305>\203,\211AA\262\202\306>A@\203;\307\262\202\310\311@\"\210\202\210\312\313\314\307 \307    & \207" [plist-member :position :close :column :inconsistent (:position :close :column :inconsistent :allow-other-keys) :allow-other-keys nil error "Keyword argument %s not one of (:position :close :column :inconsistent)" cl--defsubst-expand (position close column inconsistent) (cl-block make-fl--Open (record 'fl--Open position close column inconsistent))] 16 (#$ . 4787)]) (put 'make-fl--Open 'compiler-macro 'make-fl--Open--cmacro) #@91 Constructor for objects of type `fl--Open'. (fn &key POSITION CLOSE COLUMN INCONSISTENT) (defalias 'make-fl--Open #[128 "\300\301\"A@\300\302\"A@\300\303\"A@\300\304\"A@\211\203D\211@\305>\203,\211AA\262\202\306>A@\203;\307\262\202\310\311@\"\210\202\210\312\313%\207" [plist-member :position :close :column :inconsistent (:position :close :column :inconsistent :allow-other-keys) :allow-other-keys nil error "Keyword argument %s not one of (:position :close :column :inconsistent)" record fl--Open] 11 (#$ . 5561)]) (byte-code "\300\301\302\303#\304\305\306\307\310\306\311\312\305\303& \207" [function-put make-fl--Open side-effect-free t cl-struct-define fl--Open nil cl-structure-object record ((cl-tag-slot) (position) (close) (column) (inconsistent)) cl-struct-fl--Open-tags] 11) #@64 Colorize the fl--Open OPEN-OBJ as inconsistent. (fn OPEN-OBJ) (defalias 'fl--colorize-inconsistent #[257 "\301\302!>\204\303\304\305D\"\210\306H\302!>\204\"\303\304\305D\"\210\306HT\307\302!>\2047\303\304\305D\"\210\310H\311BB#\210\301\302!>\204O\303\304\305D\"\210\312H\302!>\204a\303\304\305D\"\210\312HT\313#\207" [cl-struct-fl--Open-tags add-text-properties type-of signal wrong-type-argument fl--Open 1 fl-inconsistency 4 (font-lock-face fl-inconsistent-face rear-nonsticky t) 2 (font-lock-face fl-inconsistent-face rear-nonsticky t)] 9 (#$ . 6377)]) (put 'fl--colorize-inconsistent 'byte-optimizer 'byte-compile-inline-expand) #@392 Check fl--Open objects of the OPEN-STACK list for consistency. The inconsistent==nil elements of OPEN-STACK must have columns that are strictly decreasing moving towards the tail (a necessary but not sufficient condition for being consistent). The implementation optimizes on this assumption. Call with point on the line being checked; puts point on the next line or EOB. (fn OPEN-STACK) (defalias 'fl--line-check-opens #[257 "\301 \210`i\302\210`=\204\244\203\244\303@!>\204%\304\305\306@D\"\210@\307H\204G\303@!>\204?\304\305\306@D\"\210@\310HX\203\244\303@!>\204Y\304\305\306@D\"\210@\307H\204\233\310\311!8\204\233\303@!>\204z\304\305\306@D\"\210@\211\307\303@!>\204\222\304\305\306\n@D\"\210@\312HZI\266\211A\262\210\202\211Tb\207" [cl-struct-fl--Open-tags back-to-indentation nil type-of signal wrong-type-argument fl--Open 4 3 syntax-ppss 1] 12 (#$ . 7045)]) (put 'fl--line-check-opens 'byte-optimizer 'byte-compile-inline-expand) #@430 Check inputted parens in a region for inconsistency, first going down in sexp depth then up per the DOWNWARD-OBJS and UPWARD-OBJS. Point must be at the start of the region to process and will end up near the end. DOWNWARD-OBJS is a list of fl--Open objects. Each must be a parent of the next in the list. UPWARD-OBJS is a list of fl--Open objects. Each must be a child of the next in the list. (fn DOWNWARD-OBJS UPWARD-OBJS) (defalias 'fl--region-check-opens #[514 "\203\331\211\301 \210`i\302\210`=\204\251\203\251\303@!>\204*\304\305\306@D\"\210@\307H\204L\303@!>\204D\304\305\306@D\"\210@\310HX\203\251\303@!>\204^\304\305\306@D\"\210@\307H\204\240\310\311!8\204\240\303@!>\204\304\305\306@D\"\210@\211\307\303@!>\204\227\304\305\306\n@D\"\210@\312HZI\266\211A\262\210\202\211Tb\266\203\303@!>\204\303\304\305\306@D\"\210@\312H`W\203\211A\262\242B\262\202\256\211\205\341\313\303@!>\204\357\304\305\306@D\"\210@\314H!\205\341\211\301 \210`i\302\210`=\204\234\203\234\303@!>\204\304\305\306@D\"\210@\307H\204?\303@!>\2047\304\305\306@D\"\210@\310HX\203\234\303@!>\204Q\304\305\306@D\"\210@\307H\204\223\310\311!8\204\223\303@!>\204r\304\305\306@D\"\210@\211\307\303@!>\204\212\304\305\306\n@D\"\210@\312HZI\266\211A\262\210\202\211Tb\266\211\203\331\313\303@!>\204\267\304\305\306@D\"\210@\314H!\203\331\303@!>\204\320\304\305\306@D\"\210\211@\314H`W\203\331\211A\266\202\202\241\207" [cl-struct-fl--Open-tags back-to-indentation nil type-of signal wrong-type-argument fl--Open 4 3 syntax-ppss 1 number-or-marker-p 2] 14 (#$ . 8042)]) (put 'fl--region-check-opens 'byte-optimizer 'byte-compile-inline-expand) #@204 Sets the close attribute of each element of OPEN-OBJ-LIST. OPEN-OBJ-LIST is a list of fl--Open. Each must be a child of the next in the list. This is used to scan-lists efficiently. (fn OPEN-OBJ-LIST) (defalias 'fl--set-closes #[257 "\211\205\301@!>\204\302\303\304@D\"\210\211@\305HT\211\205\\\211@\2036\30612\307\305\211#0\2024\210\310\262\301!>\204E\302\303\304D\"\210\211\211\311\203QS\202R\312I\266A\266\202\202\262\207" [cl-struct-fl--Open-tags type-of signal wrong-type-argument fl--Open 1 (scan-error) scan-lists nil 2 mismatched] 8 (#$ . 9804)]) (put 'fl--set-closes 'byte-optimizer 'byte-compile-inline-expand) #@18 (fn START END) (defalias 'fl-propertize-region #[514 "\212\304\"\210\305 C\306!\3078\310\305 B\262\211\2031\211@\311\312\313b\210i$B\262A\266\202\202\210\305 B\262\310B\211A\310\203\201\314\315@!>\204U\316\317\320@D\"\210@\321H\322\"\211\205v\315@!>\204p\316\317\320@D\"\210@\321H\\\211\203k\204\347\211\205\232\315@!>\204\225\316\317\320@D\"\210\211@\321HT\211\205\334\211@\203\266\3231\262\324\321\211#0\202\264\210\310\262\315!>\204\305\316\317\320D\"\210\211\211\325\203\321S\202\322\326I\266A\266\202\202\233\262\266\327\211\262\203k\315@!>\204\371\316\317\320@D\"\210@\321HW\203s\330\315@!>\204\316\317\320@D\"\210@\325H!\203s\211\315@!>\2040\316\317\320@D\"\210@\325HX\203s\211b\210@C\331 \210`i\310\210`=\204\342\203\342\315@!>\204c\316\317\320@D\"\210@\332H\204\205\315@!>\204}\316\317\320@D\"\210@\333HX\203\342\315@!>\204\227\316\317\320@D\"\210@\332H\204\331\333\306!8\204\331\315@!>\204\270\316\317\320@D\"\210@\211\332\315@!>\204\320\316\317\320\n@D\"\210@\321HZI\266\211A\262\210\202M\211Tb\266\315@!>\204\371\316\317\320@D\"\210@\332H\203s@\334\315!>\204\316\317\320D\"\210\321H\315!>\204$\316\317\320D\"\210\321HT\322\315!>\2049\316\317\320D\"\210\332H\335BB#\210\334\315!>\204Q\316\317\320D\"\210\325H\315!>\204c\316\317\320D\"\210\325HT\336#\266A\241\210\202wA\262\211A\262\266\202?A\266\204\262\305 B\262\211\203\220\337!\315@!>\204\245\316\317\320@D\"\210\211@\321Hb\210\211\310\203\206\211\331 \210`i\310\210`=\204V\203V\315@!>\204\327\316\317\320@D\"\210@\332H\204\371\315@!>\204\361\316\317\320@D\"\210@\333HX\203V\315@!>\204 \316\317\320@D\"\210@\332H\204M\333\306!8\204M\315@!>\204,\316\317\320@D\"\210@\211\332\315@!>\204D\316\317\320\n@D\"\210@\321HZI\266\211A\262\210\202\301\211Tb\266\203\255\315@!>\204p\316\317\320@D\"\210@\321H`W\203\255\211A\262\242B\262\202[\211\205\216\330\315@!>\204\234\316\317\320@D\"\210@\325H!\205\216\211\331 \210`i\310\210`=\204I\203I\315@!>\204\312\316\317\320@D\"\210@\332H\204\354\315@!>\204\344\316\317\320@D\"\210@\333HX\203I\315@!>\204\376\316\317\320@D\"\210@\332H\204@\333\306!8\204@\315@!>\204\316\317\320@D\"\210@\211\332\315@!>\2047\316\317\320\n@D\"\210@\321HZI\266\211A\262\210\202\264\211Tb\266\211\203\206\330\315@!>\204d\316\317\320@D\"\210@\325H!\203\206\315@!>\204}\316\317\320@D\"\210\211@\325H`W\203\206\211A\266\202\202N\266\305 B\262b\210\340Z\310\"`W\203C\331 \210`i\306 \310\210`=\204;\3338\204;\3078\211\203:\211@\fX\2033ZH\206\360\311\312\313b\210i$B\262Z @I\315!>\204\316\317\320D\"\210\333HX\2032\315!>\204\316\317\320D\"\210\211\211\332 \315!>\204+\316\317\320D\"\210\321HZI\266\210A\266\202\202\301\210\211Tb\266\202\240\305 B\262\307\306!8\310\211\203\211\211@\nX\203\202\fZH\206~\311\312\313b\210i$B\262\fZ@IB\262A\266\202\202Q\210\305 B\262\211\211\205\254\315@!>\204\247\316\317\320@D\"\210\211@\321HT\211\205\356\211@\203\310\3231\304\324\321\211#0\202\306\210\310\262\315!>\204\327\316\317\320D\"\210\211\211\325\203\343S\202\344\326I\266A\266\202\202\255\262\266\305 B\262b\210\310\203\330\211\331 \210`i\310\210`=\204\250\203\250\315@!>\204)\316\317\320@D\"\210@\332H\204K\315@!>\204C\316\317\320@D\"\210@\333HX\203\250\315@!>\204]\316\317\320@D\"\210@\332H\204\237\333\306!8\204\237\315@!>\204~\316\317\320@D\"\210@\211\332\315@!>\204\226\316\317\320\n@D\"\210@\321HZI\266\211A\262\210\202\211Tb\266\203\377\315@!>\204\302\316\317\320@D\"\210@\321H`W\203\377\211A\262\242B\262\202\255\211\205\340\330\315@!>\204\356\316\317\320@D\"\210@\325H!\205\340\211\331 \210`i\310\210`=\204\233\203\233\315@!>\204\316\317\320@D\"\210@\332H\204>\315@!>\2046\316\317\320@D\"\210@\333HX\203\233\315@!>\204P\316\317\320@D\"\210@\332H\204\222\333\306!8\204\222\315@!>\204q\316\317\320@D\"\210@\211\332\315@!>\204\211\316\317\320\n@D\"\210@\321HZI\266\211A\262\210\202\211Tb\266\211\203\330\330\315@!>\204\266\316\317\320@D\"\210@\325H!\203\330\315@!>\204\317\316\317\320@D\"\210\211@\325H`W\203\330\211A\266\202\202\240\266\305 B\262\211\203X \211@\315!>\204\376\316\317\320D\"\210\211\325H\204;\315!>\204\316\317\320D\"\210\211\211\325\34116\324\315!>\204+\316\317\320D\"\210\321H\321\342#S0\2028\210\326I\266\343 \327\211\327\344\342\345\346\347!\350\"\325$\216\315!>\204^\316\317\320D\"\210\325H\326=\203\223\334\315!>\204v\316\317\320D\"\210\321H\315!>\204\211\316\317\320D\"\210\321HT\351#\210\202O \315!>\204\242\316\317\320D\"\210\332H\203 \334\315!>\204\271\316\317\320D\"\210\321H\315!>\204\313\316\317\320D\"\210\321HT\322\315!>\204\340\316\317\320D\"\210\332H\335BB#\210\334\315!>\204\370\316\317\320D\"\210\325H\315!>\204\n \316\317\320D\"\210\325HT\336#\266\202O \315!>\204$ \316\317\320D\"\210\321H\315!>\2046 \316\317\320D\"\210\325HD\211\203N \211@\352\211T\353#\210A\266\202\202: \210,\210A\266\202\202\351\210\305 B\211\262\262\266\204)\207" [cl-struct-fl--Open-tags buffer-undo-list inhibit-read-only inhibit-modification-hooks fl-unpropertize-region current-time syntax-ppss 9 nil make-fl--Open :position :column get-text-property type-of signal wrong-type-argument fl--Open 1 fl-inconsistency (scan-error) scan-lists 2 mismatched t number-or-marker-p back-to-indentation 4 3 add-text-properties (font-lock-face fl-inconsistent-face rear-nonsticky t) (font-lock-face fl-inconsistent-face rear-nonsticky t) reverse make-vector (scan-error) 0 buffer-modified-p make-byte-code "\300?\205\301\302!\207" vconcat vector [restore-buffer-modified-p nil] (font-lock-face fl-mismatched-face rear-nonsticky t) remove-text-properties (fl-inconsistency nil font-lock-face nil rear-nonsticky nil)] 25 (#$ . 10461)]) #@18 (fn START END) (defalias 'fl-unpropertize-region #[514 "b\210dS^`W\205\300\301\"\210\302``T\303#\210\304u\210\202\207" [skip-syntax-forward "^()" remove-text-properties (fl-inconsistency nil font-lock-face nil rear-nonsticky nil) 1] 7 (#$ . 16659)]) #@26 (fn START END OLD-LEN) (defalias 'flylisp-extend-region-after-change #[771 "\212\301\302!!\206\n\211)\207" [jit-lock-start syntax-ppss-toplevel-pos syntax-ppss] 6 (#$ . 16925)]) (put 'flylisp-extend-region-after-change 'byte-optimizer 'byte-compile-inline-expand) #@93 Non-nil if Flylisp mode is enabled. Use the command `flylisp-mode' to change this variable. (defvar flylisp-mode nil (#$ . 17201)) (make-variable-buffer-local 'flylisp-mode) #@99 Color unbalanced parentheses and parentheses inconsistent with indentation. (fn &optional ARG) (defalias 'flylisp-mode #[256 "\301 \302=\203 ?\202\303!\304V\211\203&\305\306\307\"\210\310\311\312\313\307$\210\2027\314\311\312\307#\210\315\306!\210\212\316ed\"\210)\317\320\203A\321\202B\322\"\210\323\324!\203f\301 \203V\211\301 \232\203f\325\326\327\203a\330\202b\331#\266\210\332 \210\207" [flylisp-mode current-message toggle prefix-numeric-value 0 jit-lock-register fl-propertize-region t add-hook jit-lock-after-change-extend-region-functions flylisp-extend-region-after-change nil remove-hook jit-lock-unregister fl-unpropertize-region run-hooks flylisp-mode-hook flylisp-mode-on-hook flylisp-mode-off-hook called-interactively-p any " in current buffer" message "Flylisp mode %sabled%s" "en" "dis" force-mode-line-update] 8 (#$ . 17381) (byte-code "\206\301C\207" [current-prefix-arg toggle] 1)]) (defvar flylisp-mode-hook nil) (byte-code "\301\302N\204\f\303\301\302\304#\210\305\306\307\310\300!\205\307\211%\210\311\312!\207" [flylisp-mode-map flylisp-mode-hook variable-documentation put "Hook run after entering or leaving `flylisp-mode'.\nNo problems result if this variable is not bound.\n`add-hook' automatically binds it. (This is true for all hook variables.)" add-minor-mode flylisp-mode nil boundp provide flylisp] 6)