%PDF- %PDF-
Direktori : /usr/local/share/emacs/27.2/lisp/emacs-lisp/ |
Current File : //usr/local/share/emacs/27.2/lisp/emacs-lisp/unsafep.elc |
;ELC ;;; Compiled ;;; in Emacs version 27.2 ;;; 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!\210\304\305\306\307\310\311\312\313&\207" [provide unsafep require byte-opt custom-declare-variable safe-functions nil "A list of assumed-safe functions, or t to disable `unsafep'." :group lisp :type (choice (const :tag "No" nil) (const :tag "Yes" t) hook)] 8) #@87 Dynamically-bound list of variables with lexical bindings at this point in the parse. (defvar unsafep-vars nil (#$ . 705)) (byte-code "\302\303\304\305#\210\306\307\211\203 @\302\310\305#\210 A\211\204 *\307\207" [x --dolist-tail-- put unsafep-vars risky-local-variable t (and catch if or prog1 prog2 progn while unwind-protect ding error random signal sleep-for string-match throw caar cadr cdar cddr save-match-data unless when split-string replace-regexp-in-string play-sound-file) nil safe-function] 5) #@166 Return nil if evaluating FORM couldn't possibly do any harm. Otherwise result is a reason why FORM is unsafe. UNSAFEP-VARS is a list of symbols with local bindings. (defalias 'unsafep #[(form &optional unsafep-vars) "\3062\257\307=\204 :\204 \310\306\311\"\210 @\312\n!\311\204( \313 A!\202\255\n\314\267\202\254\311\202\255 A@\211\242\315>\203F \312\fA@!\202Y \f\242\316=\203U \306\f \"\202Y \317\fD\206\255\313 AA!\202\255\320\321 A@\"\210\313 AA!\202\255\322\323 A@\" \244\313 AA!\202\255 A@\311\211\203\246 @\323! BA\211\204\221 *\313 AA!\202\255 A\211\205\255\324\f@\311\"\206\304 \306\fA@ \"\211\203\316 \310\306\"\210\fAA\211\202\263 \202\255\324 A@\311\"\202\255\306 A@ \"\206\255\324\325 8\311\"\202\255 A@\211\242\326=\204\317\fD\202\255\324\fA@\311\"\206\255\313 AA!\202\255 A\311\211\205>@\313!\211\2034\310\306\"\210A\211\204!\311*\202\255 A@\313\fA!\206\255\f@ B\313 AA!)\202\255\324 A@\307\"\206\255\306\325 8 \"\206\255 A@ B\327 \233\311\211\205\235@\313A!\211\203\223\310\306\"\210A\211\204\311+\202\255\306\330 A@!A!\202\255+0\207" [safe-functions form fun reason arg unsafep-vars unsafep t throw nil unsafep-function unsafep-progn #s(hash-table size 17 test eq rehash-size 1.5 rehash-threshold 0.8125 purecopy t data (quote 46 apply 50 mapc 50 mapcar 50 mapconcat 50 lambda 101 let 116 let* 133 setq 175 pop 217 push 226 add-to-list 244 cond 278 dolist 322 dotimes 322 condition-case 347 \` 417)) 'function lambda unquoted mapc #[(x) "\303>\206 \304\305\"\211\203 \306\307 \"\210\nB\211)\207" [x y unsafep-vars (&optional &rest) unsafep-variable t throw unsafep] 4] mapcar unsafep-let unsafep-variable 2 quote 3 backquote-process x --dolist-tail--] 4 (#$ . 1227)]) #@137 Return nil if FUN is a safe function. (Either a safe lambda or a symbol that names a safe function). Otherwise result is a reason code. (defalias 'unsafep-function #[(fun) "\242\303=\203\f \304 \"\2079\205( \305N\206( \306N\307=\206( \n\307=\206( \n>?\205/ \310D\207" [fun unsafep-vars safe-functions lambda unsafep side-effect-free safe-function t function] 3 (#$ . 3028)]) #@94 Return nil if all forms in LIST are safe. Else, return the reason for the first unsafe form. (defalias 'unsafep-progn #[(list) "\3052) \306 \306\211\205' @\307\n\f\"\211\203 \310\305\"\210A\211\204 \306+0\207" [reason list x --dolist-tail-- unsafep-vars unsafep-progn nil unsafep throw] 4 (#$ . 3416)]) #@160 Check the safety of a let binding. CLAUSE is a let-binding, either SYM or (SYM) or (SYM VAL). Check VAL and throw a reason to `unsafep' if unsafe. Return SYM. (defalias 'unsafep-let #[(clause) "\304\211\n:\204 \n\202 \n@\305\nA@\"\306\307\"\206 \211\203* \310\305 \"\210*\207" [sym reason clause unsafep-vars nil unsafep unsafep-variable t throw] 4 (#$ . 3737)]) #@169 Return nil if SYM is safe to set or bind, or a reason why not. If TO-BIND is nil, check whether SYM is safe to set. If TO-BIND is t, check whether SYM is safe to bind. (defalias 'unsafep-variable #[(sym to-bind) "9\204 \303D\207\304\305\"\203 \306D\207 \206! \n>\206! \307!?\205( \310D\207" [sym to-bind unsafep-vars variable risky-local-variable-p nil risky-local-variable local-variable-p global-variable] 3 (#$ . 4120)])