%PDF- <> %âãÏÓ endobj 2 0 obj <> endobj 3 0 obj <>/ExtGState<>/ProcSet[/PDF/Text/ImageB/ImageC/ImageI] >>/Annots[ 28 0 R 29 0 R] /MediaBox[ 0 0 595.5 842.25] /Contents 4 0 R/Group<>/Tabs/S>> endobj ºaâÚÎΞ-ÌE1ÍØÄ÷{òò2ÿ ÛÖ^ÔÀá TÎ{¦?§®¥kuµùÕ5sLOšuY>endobj 2 0 obj<>endobj 2 0 obj<>endobj 2 0 obj<>endobj 2 0 obj<> endobj 2 0 obj<>endobj 2 0 obj<>es 3 0 R>> endobj 2 0 obj<> ox[ 0.000000 0.000000 609.600000 935.600000]/Fi endobj 3 0 obj<> endobj 7 1 obj<>/ProcSet[/PDF/Text/ImageB/ImageC/ImageI]>>/Subtype/Form>> stream
;ELC ;;; Compiled ;;; in Emacs version 25.2.1 ;;; 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\302\303\304\305\306DD\307\310\311\312\313\314\315& \210\302\316\304\305\317DD\320\310\321\312\313\314\322& \210\302\323\304\305\324DD\325\310\311\312\313\314\326& \210\302\327\304\305\330DD\331\310\321\312\313\314\332& \210\302\333\304\305\334DD\335\310\321\312\313\314\336& \210\302\337\304\305\340DD\341\310\321\312\313\314\342& \210\302\343\304\305\344DD\345\310\321\312\313\314\346& \210\302\347\304\305\350DD\351\310\321\312\313\314\352& \210\302\353\304\305\354DD\355\310\321\312\313\314\356& \207" [require electric custom-declare-variable electric-pair-pairs funcall function #[0 "\300\207" [((34 . 34))] 1] "Alist of pairs that should be used regardless of major mode.\n\nPairs of delimiters in this list are a fallback in case they have\nno syntax relevant to `electric-pair-mode' in the mode's syntax\ntable.\n\nSee also the variable `electric-pair-text-pairs'." :version "24.1" :group electricity :type (repeat (cons character character)) electric-pair-text-pairs #[0 "\300\207" [((34 . 34))] 1] "Alist of pairs that should always be used in comments and strings.\n\nPairs of delimiters in this list are a fallback in case they have\nno syntax relevant to `electric-pair-mode' in the syntax table\ndefined in `electric-pair-text-syntax-table'" "24.4" (repeat (cons character character)) electric-pair-skip-self #[0 "\300\207" [electric-pair-default-skip-self] 1] "If non-nil, skip char instead of inserting a second closing paren.\n\nWhen inserting a closing paren character right before the same character,\njust skip that character instead, so that hitting ( followed by ) results\nin \"()\" rather than \"())\".\n\nThis can be convenient for people who find it easier to hit ) than C-f.\n\nCan also be a function of one argument (the closer char just\ninserted), in which case that function's return value is\nconsidered instead." (choice (const :tag "Never skip" nil) (const :tag "Help balance" electric-pair-default-skip-self) (const :tag "Always skip" t) function) electric-pair-inhibit-predicate #[0 "\300\207" [electric-pair-default-inhibit] 1] "Predicate to prevent insertion of a matching pair.\n\nThe function is called with a single char (the opening char just inserted).\nIf it returns non-nil, then `electric-pair-mode' will not insert a matching\ncloser." (choice (const :tag "Conservative" electric-pair-conservative-inhibit) (const :tag "Help balance" electric-pair-default-inhibit) (const :tag "Always pair" ignore) function) electric-pair-preserve-balance #[0 "\300\207" [t] 1] "Non-nil if default pairing and skipping should help balance parentheses.\n\nThe default values of `electric-pair-inhibit-predicate' and\n`electric-pair-skip-self' check this variable before delegating to other\npredicates responsible for making decisions on whether to pair/skip some\ncharacters based on the actual state of the buffer's parentheses and\nquotes." boolean electric-pair-delete-adjacent-pairs #[0 "\300\207" [t] 1] "If non-nil, backspacing an open paren also deletes adjacent closer.\n\nCan also be a function of no arguments, in which case that function's\nreturn value is considered instead." (choice (const :tag "Yes" t) (const :tag "No" nil) function) electric-pair-open-newline-between-pairs #[0 "\300\207" [t] 1] "If non-nil, a newline between adjacent parentheses opens an extra one.\n\nCan also be a function of no arguments, in which case that function's\nreturn value is considered instead." (choice (const :tag "Yes" t) (const :tag "No" nil) function) electric-pair-skip-whitespace #[0 "\300\207" [t] 1] "If non-nil skip whitespace when skipping over closing parens.\n\nThe specific kind of whitespace skipped is given by the variable\n`electric-pair-skip-whitespace-chars'.\n\nThe symbol `chomp' specifies that the skipped-over whitespace\nshould be deleted.\n\nCan also be a function of no arguments, in which case that function's\nreturn value is considered instead." (choice (const :tag "Yes, jump over whitespace" t) (const :tag "Yes, and delete whitespace" chomp) (const :tag "No, no whitespace skipping" nil) function) electric-pair-skip-whitespace-chars #[0 "\300\301\302E\207" [9 32 10] 3] "Whitespace characters considered by `electric-pair-skip-whitespace'." (choice (set (const :tag "Space" 32) (const :tag "Tab" 9) (const :tag "Newline" 10)) (list character))] 10) #@69 Skip whitespace forward, not crossing comment or string boundaries. (defalias 'electric-pair--skip-whitespace #[0 "`\301\302 8\303\304\"\305w\210\211\301\302 8=?\205 b\207" [electric-pair-skip-whitespace-chars 8 syntax-ppss apply string nil] 5 (#$ . 4750)]) #@227 Syntax table used when pairing inside comments and strings. `electric-pair-mode' considers this syntax table only when point in inside quotes or comments. If lookup fails here, `electric-pair-text-pairs' will be considered. (defvar electric-pair-text-syntax-table prog-mode-syntax-table (#$ . 5018)) (defalias 'electric-pair-conservative-inhibit #[257 "\211\300f=\206 \211`Sf=\203 \211`S\206 `Sf=\206 gz\301=\207" [nil 119] 3 "\n\n(fn CHAR)"]) #@363 Calculate a list (SYNTAX PAIR UNCONDITIONAL STRING-OR-COMMENT-START). SYNTAX is COMMAND-EVENT's syntax character. PAIR is COMMAND-EVENT's pair. UNCONDITIONAL indicates the variables `electric-pair-pairs' or `electric-pair-text-pairs' were used to lookup syntax. STRING-OR-COMMENT-START indicates that point is inside a comment or string. (fn COMMAND-EVENT) (defalias 'electric-pair-syntax-info #[257 "o\206\f \303\212\304`S!)8\303\304`!8\211\205 \211\203 \202 \305 \305 p\306\307\310\311\312\"\313\"\314$\216\315!\210z\316!\206B )D\266\202\203Q \317 \n\"\202R \n\236\320\"@\321>\203l \317\322D\"\202\227 \203\214 @A=\203\202 \323 \324F\202\227 \325A\324F\202\227 \211\205\227 \326@\324F\207" [electric-pair-text-syntax-table electric-pair-text-pairs electric-pair-pairs 8 syntax-ppss syntax-table make-byte-code 0 "r\301q\210\302\300!)\207" vconcat vector [set-syntax-table] 2 set-syntax-table matching-paren append rassq (34 40 41 36) nil 34 t 40 41] 14 (#$ . 5475)]) (defalias 'electric-pair--insert #[257 "\211\303\211\304\305!+\207" [electric-pair-mode blink-matching-paren last-command-event nil self-insert-command 1] 4 "\n\n(fn CHAR)"]) #@200 Like `syntax-ppss', but sometimes fallback to `parse-partial-sexp'. WHERE is a list defaulting to '(string comment) and indicates when to fallback to `parse-partial-sexp'. (fn &optional POS WHERE) (defalias 'electric-pair--syntax-ppss #[512 "\206 `\206\n \302\303!\3048\205 \305>\3068\205 \307>\203* \3108T\202= \211\205= \3108b\210\311d[!\210\312\313!\210`\211\203b \314 p\315\316\317\320\321\"\322\"\323$\216\324!\210\325 \")\266\202\202q \326>\203p \325e\"\202q \207" [electric-pair-text-syntax-table major-mode (string comment) syntax-ppss 3 string 4 comment 8 forward-comment skip-syntax-forward " >!" syntax-table make-byte-code 0 "r\301q\210\302\300!)\207" vconcat vector [set-syntax-table] 2 set-syntax-table parse-partial-sexp (c-mode c++ mode)] 17 (#$ . 6673)]) #@512 Examine lists forward or backward according to DIRECTION's sign. STRING-OR-COMMENT is info suitable for running `parse-partial-sexp'. Return a cons of two descriptions (MATCHED-P . PAIR) for the innermost and outermost lists that enclose point. The outermost list enclosing point is either the first top-level or first mismatched list found by listing up. If the outermost list is matched, don't rely on its PAIR. If point is not enclosed by any lists, return ((t) . (t)). (fn DIRECTION STRING-OR-COMMENT) (defalias 'electric-pair--balance-info #[514 "\301C\301C\203\f \202 \302 \303\304\212\242\204\201 \3051N \302 p\306\307\310\311\312\"\313\"\314$\216\315!\210\316`\n\307V\203= d\202? d[\"\210\")\266\2020\202} \317\320A@\"\203c \203l \321\322 8\204l \"\202{ \3238b\210$\262\210\202 )\242\242B\207" [electric-pair-text-syntax-table nil syntax-table #[514 "\211\300C\240\210\242?\205 \300C\240\207" [t] 4 "\n\n(fn INNERMOST OUTERMOST)"] #[1028 "`\212\300W\203= \30118 \211f\302 p\303\300\304\305\306\"\307\"\310$\216\311!\210\312\313`\314\"\206- `Sf!)\266\202=0\202x \210\315\202x \316`S!\317\3208!@\211f\205v \206R `Sf\302 p\303\300\304\305\306\"\321\"\310$\216\311!\210\312!)\266\202\206u =\266\203)\300V\203\211 `\206\204 `Sf\202\213 `f\242\204\226 B\240\210?\205\240 B\240\207" [0 (scan-error) syntax-table make-byte-code "r\301q\210\302\300!)\207" vconcat vector [set-syntax-table] 2 set-syntax-table matching-paren scan-sexps 1 nil electric-pair--syntax-ppss last 9 [set-syntax-table]] 18 "\n\n(fn DIRECTION INNERMOST OUTERMOST TABLE)"] (scan-error) make-byte-code 0 "r\301q\210\302\300!)\207" vconcat vector [set-syntax-table] 2 set-syntax-table scan-sexps string-match "ends prematurely" 8 syntax-ppss 3] 16 (#$ . 7478)]) #@271 Next buffer position where strings are syntactically unexpected. Value is a function called with no arguments and returning a buffer position. Major modes should set this variable buffer-locally if they experience slowness with `electric-pair-mode' when pairing quotes. (defvar electric-pair-string-bound-function 'point-max (#$ . 9288)) #@76 Return non-nil if there are unbalanced strings started by CHAR. (fn CHAR) (defalias 'electric-pair--unbalanced-strings-p #[257 "\301 \212\3028\203 \303\3048b\210\305d!\210\306\307!\210`!\202 \301 !)\3108\211\311=\206- =\207" [electric-pair-string-bound-function syntax-ppss 4 electric-pair--syntax-ppss 8 forward-comment skip-syntax-backward " >!" 3 t] 6 (#$ . 9632)]) #@210 Return non-nil if point is inside a string started by CHAR. A comments text is parsed with `electric-pair-text-syntax-table'. Also consider strings within comments, but not strings within strings. (fn CHAR) (defalias 'electric-pair--inside-string-p #[257 "\300`\301\"\3028\303D>\207" [electric-pair--syntax-ppss (comment) 3 t] 5 (#$ . 10017)]) #@231 Return non-nil if auto-pairing of CHAR would hurt parentheses' balance. Works by first removing the character from the buffer, then doing some list calculations, finally restoring the situation as if nothing happened. (fn CHAR) (defalias 'electric-pair-inhibit-if-helps-balance #[257 "\300!\211:\205r \211@A\211:\205p \211@A\211:\205n \211A\211:\205l \211@A\211?\205j \301\302\303\304\305!\306\"\307$\216\310\311!\210\211\312=\203] \313\314\"\211A\211@\203T \315\202X \211A=\266\202\202g \211\316=\205g \317\f!)\266\203\266\202\262\266\202\266\202\207" [electric-pair-syntax-info make-byte-code 0 "\301\300!\207" vconcat vector [insert-char] 2 delete-char -1 40 electric-pair--balance-info 1 nil 34 electric-pair--unbalanced-strings-p] 18 (#$ . 10372)]) #@227 Return non-nil if skipping CHAR would benefit parentheses' balance. Works by first removing the character from the buffer, then doing some list calculations, finally restoring the situation as if nothing happened. (fn CHAR) (defalias 'electric-pair-skip-if-helps-balance #[257 "\300!\211:\205{ \211@A\211:\205y \211@A\211:\205w \211A\211:\205u \211@A\211?\205s \301\302\303\304\305!\306\"\307$\216\310\311!\210\211\312=\203f \313\311\"\211@A\211@\203W @\202a @\205a \211A=?\266\203\202p \211\314=\205p \315\f!)\266\203\266\202\262\266\202\266\202\207" [electric-pair-syntax-info make-byte-code 0 "\301\300!\207" vconcat vector [insert-char] 2 delete-char -1 41 electric-pair--balance-info 34 electric-pair--inside-string-p] 18 (#$ . 11149)]) (defalias 'electric-pair-default-skip-self #[257 "\203 \301!\207\302\207" [electric-pair-preserve-balance electric-pair-skip-if-helps-balance t] 3 "\n\n(fn CHAR)"]) (defalias 'electric-pair-default-inhibit #[257 "\203 \301!\207\302!\207" [electric-pair-preserve-balance electric-pair-inhibit-if-helps-balance electric-pair-conservative-inhibit] 3 "\n\n(fn CHAR)"]) (defalias 'electric-pair-post-self-insert-function #[0 "\205 \306 \307\310 !\311:\203C@A\211:\203<\211@A\211:\2035\211@A\211:\203-\211A\211\204% \204>