;ELC ;;; Compiled ;;; in Emacs version 27.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\302\303\304\305%\210\306\307\302\310\311\312\304\301&\210\306\313\302\314\311\312\304\301&\210\306\315\302\316\311\312\304\301&\210\317\320\321\322#\207" [custom-declare-group expand nil "Make abbreviations more usable." :group abbrev custom-declare-variable expand-load-hook "Hooks run when `expand.el' is loaded." :type hook expand-expand-hook "Hooks run when an abbrev made by `expand-add-abbrevs' is expanded." expand-jump-hook "Hooks run by `expand-jump-to-previous-slot' and `expand-jump-to-next-slot'." put expand-c-for-skeleton no-self-insert t] 8) #@522 For loop skeleton This is a skeleton command (see `skeleton-insert'). Normally the skeleton text is inserted at point, with nothing "inside". If there is a highlighted region, the skeleton text is wrapped around the region text. A prefix argument ARG says to wrap the skeleton around the next ARG words. A prefix argument of -1 says to wrap around region, even if not highlighted. A prefix argument of zero says to wrap around zero words---that is, nothing. This is a way of overriding the use of a highlighted region. (defalias 'expand-c-for-skeleton #[(&optional str arg) "\302\303 #\207" [str arg skeleton-proxy-new ("Loop var: " "for(" str _ @ "=0; " str @ "; " str @ ") {" n @ _ n "}" > n)] 4 (#$ . 990) "*P\nP"]) #@51 Expansions for C mode. See `expand-add-abbrevs'. (defconst expand-c-sample-expand-list '(("if" "if () {\n \n} else {\n \n}" (5 10 21)) ("ifn" "if () {}" (5 8)) ("uns" "unsigned ") ("for" expand-c-for-skeleton) ("switch" "switch () {\n\n}" (9 13)) ("case" "case :\n\nbreak;\n" (6 8 16)) ("do" "do {\n\n} while ();" (6 16)) ("while" "while () {\n\n}" (8 12)) ("default" "default:\n\nbreak;" 10) ("main" "int\nmain(int argc, char * argv[])\n{\n\n}\n" 37)) (#$ . 1718)) #@54 Expansions for Lisp mode. See `expand-add-abbrevs'. (defconst expand-sample-lisp-mode-expand-list (byte-code "\300\301\302\303\304\305\306\307\257E\310\311\303\312\313\314\315\257E\316\317\303\320\321\322FE\323\324\325\326\305\327FE\330\331\303\320\332EE\333\334\335\303\321EE\336\337\302\320DE\340\341\321CE\342\343\325\312DE\257 \207" ["defu" "(defun ()\n \"\"\n (interactive)\n (let* (\n )\n \n ))" 8 11 16 32 43 59 "defs" "(defsubst ()\n \"\"\n (interactive)\n )" 14 19 23 39 "defm" "(defmacro ()\n \"\"\n `( \n ))" 13 18 25 "defa" "(defadvice (around act)\n \"\"\n \n )" 12 22 36 "defc" "(defconst nil\n \"\")\n" 20 "defv" "(defvar nil\n \"\")\n" 9 "let" "(let* (\n)\n " "sav" "(save-excursion\n \n)" "aut" "(autoload ' \"\" t t)\n"] 12) (#$ . 2191)) #@54 Expansions for Perl mode. See `expand-add-abbrevs'. (defconst expand-sample-perl-mode-expand-list (byte-code "\300\301\302\303\304\"\305Q\306\307\310\311\312\313\257E\314\315\316\317DE\320\321\322\323DE\324\325\326\317DE\327\330\322CE\331\332\326CE\333\334\326\335\336EE\337\340\316E\341\342\322CE\343\344\316CE\345\346\316E\347\350\335E\351\352\335\353DE\354\355\316\322DE\356\357\316\353DE\360\361\335CE\257\207" ["sub" "#" make-string 70 45 "\nsub {\n # DESCRIPTION\n # \n # \n # INPUT\n # \n # \n # RETURN\n # \n\n local( $f ) = \"$lib.\";\n local() = @_;\n \n \n}\n" 77 88 120 146 159 176 "for" "for ( )\n{\n\n}" 7 12 "whi" "while ( )\n{\n\n}" 9 15 "iff" "if ( )\n{\n\n}" 6 "loc" "local( $ );" "my" "my( $ );" "ope" "open(,\"\") || die \"$f: Can't open [$]\";" 8 36 "clo" "close ;" "def" "defined " "und" "undef ;" "pr" "print " "pf" "printf " "gre" "grep( //, );" 11 "pus" "push( , );" "joi" "join( '', );" "rtu" "return ;"] 18) (#$ . 3002)) #@831 Add a list of abbreviations to abbrev table TABLE. ABBREVS is a list of abbrev definitions; each abbrev description entry has the form (ABBREV EXPANSION ARG). ABBREV is the abbreviation to replace. EXPANSION is the replacement string or a function which will make the expansion. For example, you could use the DMacros or skeleton packages to generate such functions. ARG is an optional argument which can be a number or a list of numbers. If ARG is a number, point is placed ARG chars from the beginning of the expanded text. If ARG is a list of numbers, point is placed according to the first member of the list, but you can visit the other specified positions cyclically with the functions `expand-jump-to-previous-slot' and `expand-jump-to-next-slot'. If ARG is omitted, point is placed at the end of the expanded text. (defalias 'expand-add-abbrevs #[(table abbrevs) "\204 \207\302 @@@A@\303@8$\210\304 A\"\207" [abbrevs table expand-add-abbrev 2 expand-add-abbrevs] 6 (#$ . 4012)]) #@48 Temporary variable used by the Expand package. (defvar expand-list nil (#$ . 5019)) #@92 If non-nil, stores a vector containing markers to positions defined by the last expansion. (defvar expand-pos nil (#$ . 5109)) (make-variable-buffer-local 'expand-pos) #@48 Index of the last marker used in `expand-pos'. (defvar expand-index 0 (#$ . 5283)) (make-variable-buffer-local 'expand-index) #@29 End of the expanded region. (defvar expand-point nil (#$ . 5415)) (make-variable-buffer-local 'expand-point) #@79 Add one abbreviation and provide the hook to move to the specified positions. (defalias 'expand-add-abbrev #[(table abbrev expansion arg) "9\205\306!?\205 \n\203, \203,\n<\203$G\n@SZ\202-G\nSZ\202-\307\310\f \311 \n<\205C\n??\205C G\nB9\205O\306!\205O$\312$*\207" [expansion string-exp arg position table abbrev fboundp 0 define-abbrev vector expand-abbrev-hook] 9 (#$ . 5530)]) (put 'expand-abbrev-hook 'no-self-insert t) #@128 Abbrev hook used to do the expansion job of expand abbrevs. See `expand-add-abbrevs'. Value is non-nil if expansion was done. (defalias 'expand-abbrev-hook #[nil "l\205D\305 ?\205D`\306hz\307=\205C\310 \205C \2031\311\n!\203(\312 !\210\313 \306#\210\202>\n<\203>\314\315\n!\306\316\317!\210\320)\207" [p expand-point expand-list expand-index expand-pos expand-in-literal nil 119 expand-do-expansion vectorp expand-build-marks indent-region 0 expand-list-to-markers run-hooks expand-expand-hook t] 4 (#$ . 5983)]) (defalias 'expand-do-expansion #[nil "\306G[!\210 J\211\307H\n\310H\n\311H\n\312H \203$ c\210` \203/\313 @ A\"\210\f\203;\f\2068\310[u\210 \203D \210-\314\207" [last-abbrev-text last-abbrev vect text position jump-args delete-char 0 1 2 3 expand-build-list t hook expand-point] 4]) #@31 Test if an abbrev has a hook. (defalias 'expand-abbrev-from-expand #[(word) "\303 \"\203\303 \"K\206\303\n\"\205\303\n\"K\207" [word local-abbrev-table global-abbrev-table intern-soft] 3 (#$ . 6816)]) #@27 Return the previous word. (defalias 'expand-previous-word #[nil "\212`\301v\210`{*\207" [p -1] 2 (#$ . 7033)]) #@128 Move the cursor to the previous slot in the last abbrev expansion. This is used only in conjunction with `expand-add-abbrevs'. (defalias 'expand-jump-to-previous-slot #[nil "\205 S\211\302W\203GS Hb\210\303\304!\207" [expand-pos expand-index 0 run-hooks expand-jump-hook] 3 (#$ . 7153) nil]) #@124 Move the cursor to the next slot in the last abbrev expansion. This is used only in conjunction with `expand-add-abbrevs'. (defalias 'expand-jump-to-next-slot #[nil "\205 T\211GY\203\302 Hb\210\303\304!\207" [expand-pos expand-index 0 run-hooks expand-jump-hook] 3 (#$ . 7461) nil]) #@64 Build a vector of offset positions from the list of positions. (defalias 'expand-build-list #[(len l) "\305 \210\306!\307 G\211\nW\205# \f HSZI\210 T\211\202 *\207" [l expand-list lenlist i len expand-clear-markers vconcat 0] 6 (#$ . 7759)]) #@52 Transform the offsets vector into a marker vector. (defalias 'expand-build-marks #[(p) "\205,\305\306G\307\"GS\211\305Y\203(\n \310\f HZ!I\210 S\211\202)\307\211\207" [expand-list expand-index expand-pos i p 0 make-vector nil copy-marker] 7 (#$ . 8016)]) #@33 Make the markers point nowhere. (defalias 'expand-clear-markers #[nil "\205 GS\211\302Y\203 H\303\211\223\210 S\211\202 )\303\211\207" [expand-pos i 0 nil] 4 (#$ . 8290)]) #@45 Test if we are in a comment or in a string. (defalias 'expand-in-literal #[nil "\212\212\302 \210`)\206 e\303`\"\304 8\203\305\202&\306 8\203%\307\202&\310+\207" [lim state beginning-of-defun parse-partial-sexp 3 string 4 comment nil] 3 (#$ . 8478)]) #@82 Transform a list of markers in reverse order into a vector in the correct order. (defalias 'expand-list-to-markers #[(l) "GS\211\304 T\305\"\n\306Y\2030 \n\307@!\203 @\202$\310@!I\210A\nS\211\202 +\207" [l len loop v make-vector nil 0 markerp copy-marker] 5 (#$ . 8744)]) (defalias 'expand-skeleton-end-hook #[nil "\205\211\207" [skeleton-positions expand-list] 2]) (byte-code "\300\301\302\"\210\303\304!\210\305\306!\207" [add-hook skeleton-end-hook expand-skeleton-end-hook provide expand run-hooks expand-load-hook] 3)