Current File : //proc/self/root/kunden/usr/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'