;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\303\304#\210\300\305\303\304#\207" [require names elisp-mode nil t lisp-mode] 4) #@56 Test if (namespace NAME FORM-A) is the same as FORM-B. (defalias 'names-compare-forms '(macro . #[(name form-a form-b) "\303\304\305\306\307\310 \257DD\304\305\nDDE\207" [name form-a form-b equal macroexpand-all quote define-namespace :global :verbose] 8 (#$ . 523)])) (byte-code "\300\301\302\303#\304\301\305\306#\207" [function-put names-compare-forms lisp-indent-function (lambda (&rest x) 0) put edebug-form-spec (symbolp sexp form)] 5) #@58 Assert if (namespace NAME FORM-A) is the same as FORM-B. (defalias 'names-compare-forms-assert '(macro . #[(name form-a form-b) "\303\304!\303\302!\232\204\305\306\307 \nE\307$\210\307\207" [name form-a form-b macroexpand-all (define-namespace name :global :verbose form-a) cl--assertion-failed (names-compare-forms name form-a form-b) nil] 6 (#$ . 973)])) (byte-code "\300\301\302\303#\304\301\305\306#\207" [function-put names-compare-forms-assert lisp-indent-function (lambda (&rest x) 0) put edebug-form-spec (symbolp sexp form)] 5) #@274 Return the expanded results of (namespace NAME :global :verbose FORMS). Ideal for determining why a specific form isn't being parsed correctly. You may need to set `eval-expression-print-level' and `eval-expression-print-length' to nil in order to see your full expansion. (defalias 'names-print '(macro . #[(name &rest forms) "\302\303\304 BBBB\207" [name forms define-namespace :global :verbose] 5 (#$ . 1520)])) (byte-code "\300\301\302\303#\304\301\305\306#\207" [function-put names-print lisp-indent-function (lambda (&rest x) 0) put edebug-form-spec 0] 5) (defvar names-font-lock '(("^:autoload\\_>" 0 'font-lock-warning-face prepend) ("(\\(\\_\\)[ \n]+\\([^ \n]+\\)" (1 'font-lock-keyword-face) (2 'font-lock-variable-name-face)))) (byte-code "\302\301!\203 \303 \"\302\207" [names-font-lock lisp-el-font-lock-keywords-2 boundp append] 3) #@69 Non-nil if point is at a `define-namespace' form or an alias to it. (defalias 'names--looking-at-namespace #[nil "\300\301!\205 \212\302u\210\3031\304\305\306\307!!!\304\310!\2320\202\210\311)\207" [looking-at "(\\_<" 1 (error) indirect-function intern thing-at-point symbol define-namespace nil] 4 (#$ . 2399)]) #@145 Generate and return a new buffer. NAME is current namespace name. If FORM is provided, also try to use it to decide an informative buffer name. (defalias 'names--generate-new-buffer #[(name &optional form) "\301\302\303\304\242\206\f\305\306!\243\242\206\305\306!#\307Q!\207" [form get-buffer-create " *names " format "%s %s" random 10000 "*"] 7 (#$ . 2724)]) #@197 Call COMMAND, except in a namespace. In a namespace, expand FORM in a separate buffer then execute BODY. If BODY is nil, call COMMAND instead. If KILL is non-nil, kill the temp buffer afterwards. (defalias 'names--wrapped-in-namespace '(macro . #[(command form &optional kill &rest body) "\304\305D\306\307\310 \311\"\203\312\313 DD\202 DD\314BB\315\316\317\320\321\322\323\324\325\326\n\206*\327BBB\330\331 \332BB\333BBE\257E\207" [form command body kill let evaled-form invocation quote commandp t call-interactively function ((entire-namespace (save-excursion (when (names--top-of-namespace) (cdr (read (current-buffer)))))) b keylist spec name expanded-form) if (null entire-namespace) (eval invocation) (setq name (pop entire-namespace)) (while (setq spec (names--next-keyword entire-namespace)) (setq keylist (append keylist spec))) (setq b (names--generate-new-buffer name evaled-form)) unwind-protect with-current-buffer b (cl-letf (((symbol-function #'message) #'ignore)) (erase-buffer) (emacs-lisp-mode) (mapc (lambda (it) (pp it (current-buffer))) (cdr (setq expanded-form (macroexpand `(define-namespace ,name :global :clean-output ,@keylist ,evaled-form))))) (when (fboundp 'font-lock-ensure) (font-lock-ensure))) ((eval invocation)) when and ((buffer-live-p b)) ((kill-buffer b))] 14 (#$ . 3096)])) (byte-code "\300\301\302\303#\304\301\305\306#\207" [function-put names--wrapped-in-namespace lisp-indent-function defun put edebug-form-spec (sexp form form body)] 5) #@119 Move to the top of current namespace, and return non-nil. If not inside a namespace, return nil and don't move point. (defalias 'names--top-of-namespace #[nil "\212\301 \210\3021\303 0\202\210\202\210\304 \205`)\211\205#b\210\305)\207" [top beginning-of-defun (error) backward-up-list names--looking-at-namespace t] 2 (#$ . 4591)]) #@154 Identical to `eval-defun', except it works for forms inside namespaces. Argument EDEBUG-IT is the same as `eval-defun', causes the form to be edebugged. (defalias 'names-eval-defun #[(edebug-it) "\306\307!\210\212\310 \210\311 \210\312p!)\211\313\212\314 \205\312p!A)\315\211\211\211\211\"#$\"\2049\316#!\202\353\"\211A\"\242\"\242\315\211%&\211'\205\233\317'!\205\233\320'(\"\211%\205\233%A@\211%\205\233%T\321)*)*W\203\222\"\211A\"\242&B&)T\211)\202w&*\205\233&\237+\211\203\251\322\f \"\202A\323\n$\"\324\216r q\210\325K+\326\216\325\327M\210\330 \210\331 \210\332\333\334\335\n\336\337\322\f$C\"BBBB!\211A\"\210\340\341!\203\345\341 \210*\316#!*. \207" [form expanded-form name spec keylist b require font-lock end-of-defun beginning-of-defun read (call-interactively #'eval-defun) names--top-of-namespace nil eval keywordp assoc 0 append names--generate-new-buffer #[nil "?\205\302 !\205\303 !\207" [edebug-it b buffer-live-p kill-buffer] 2] message #[nil "\301M\207" [#1=#:old message] 2] ignore erase-buffer emacs-lisp-mode mapc #[(it) "\301p\"\207" [it pp] 3] macroexpand define-namespace :global :clean-output fboundp font-lock-ensure entire-namespace invocation evaled-form n out kar names--keyword-list _ --dotimes-limit-- #1#] 11 (#$ . 4941) "P"]) (byte-code "\300\301\302\303!\203 \303K\202\304K\"\207" [defalias names--preceding-sexp-original fboundp elisp--preceding-sexp preceding-sexp] 4) #@54 Like `elisp--preceding-sexp', but expand namespaces. (defalias 'names--preceding-sexp #[nil "\306 \307\212\310 \205 \311p!A)\312\211\211\211\211 \204(\313!\202\322 \211A\242 \242\312\211!\"\211#\205\205\314#!\205\205\315#$\"\211!\205\205!A@\211!\205\205!T\316%&%&W\203| \211A\242\"B\"%T\211%\202c\"*\205\205\"\237+\211\203\223\317 \n\"\202.\320  \"\321\216r\fq\210\322K'\323\216\322\324M\210\325 \210\326 \210\327\330\331\332 \333\334\317  C\"BBBB!\211A\"\210\335\336!\203\317\336 \210**.\207" [expanded-form name spec keylist b entire-namespace names--preceding-sexp-original (names--preceding-sexp-original) names--top-of-namespace read nil eval keywordp assoc 0 append names--generate-new-buffer #[nil "\301!\205 \302!\207" [b buffer-live-p kill-buffer] 2] message #[nil "\301M\207" [#1=#:old message] 2] ignore erase-buffer emacs-lisp-mode mapc #[(it) "\301p\"\207" [it pp] 3] macroexpand define-namespace :global :clean-output fboundp font-lock-ensure invocation evaled-form n out kar names--keyword-list _ --dotimes-limit-- #1#] 11 (#$ . 6422)]) #@147 Identical to `eval-last-sexp', except it works for forms inside namespaces. Argument EVAL-LAST-SEXP-ARG-INTERNAL is the same as `eval-last-sexp'. (defalias 'names-eval-last-sexp #[(eval-last-sexp-arg-internal) "\303K\304K\305\216\303\306M\210\304\306M\210\307\n!+\207" [#1=#:old #2=#:old eval-last-sexp-arg-internal preceding-sexp elisp--preceding-sexp #[nil "\302M\210\303 M\207" [#1# #2# preceding-sexp elisp--preceding-sexp] 2] names--preceding-sexp eval-last-sexp] 2 (#$ . 7543) "P"]) #@159 Identical to `eval-print-last-sexp', except it works for forms inside namespaces. Argument EVAL-LAST-SEXP-ARG-INTERNAL is the same as `eval-print-last-sexp'. (defalias 'names-eval-print-last-sexp #[(eval-last-sexp-arg-internal) "\303K\304K\305\216\303\306M\210\304\306M\210\307\n!+\207" [#1=#:old #2=#:old eval-last-sexp-arg-internal preceding-sexp elisp--preceding-sexp #[nil "\302M\210\303 M\207" [#1# #2# preceding-sexp elisp--preceding-sexp] 2] names--preceding-sexp eval-print-last-sexp] 2 (#$ . 8042) "P"]) #@58 Pretty-print an expansion of the namespace around point. (defalias 'names-pprint #[nil "\212\301 \205\302p!A\303\304\305B!!))\207" [ns names--top-of-namespace read pp-macroexpand-expression macroexpand names-print] 4 (#$ . 8564) nil]) (byte-code "\300\301\302\303#\210\304\305\306K\"\210\304\307\310K\"\210\304\311\312K\"\210\304\312\313\"\207" [require find-func nil t defalias names--fboundp-original fboundp names--boundp-original boundp names--find-function-read-original find-function-read names--find-function-read] 4) #@71 Identical to `find-function-read', except it works inside namespaces. (defalias 'names--find-function-read #[(&optional type) "p\306\307\212\310 \205\311p!A)\306\211\211\211\211#$%#\204+\312$!\202\366#\211A#\242#\242\306\211&'\211(\205\215\313(!\205\215\314()\"\211&\205\215&A@\211&\205\215&T\315*+*+W\203\204#\211A#\242'B'*T\211*\202i'*\205\215'\237+\211\203\233\316\f \"\2023\317\n%\"\320\216r q\210\321K,\322\216\321\323M\210\324 \210\325 \210\326\327\330\331\n\332\333\316\f%C\"BBBB!\211A\"\210\334\335!\203\327\335 \210*q\210\n-\336K.\334K/\337\216\336\340M\210\334\341M\210\3420!.. \207" [buf expanded-form name spec keylist b nil (names--find-function-read-original type) names--top-of-namespace read eval keywordp assoc 0 append names--generate-new-buffer #[nil "\301!\205 \302!\207" [b buffer-live-p kill-buffer] 2] message #[nil "\301M\207" [#1=#:old message] 2] ignore erase-buffer emacs-lisp-mode mapc #[(it) "\301p\"\207" [it pp] 3] macroexpand define-namespace :global :clean-output fboundp font-lock-ensure boundp #[nil "\302M\210\303 M\207" [#2=#:old #3=#:old boundp fboundp] 2] names--dev-boundp names--dev-fboundp names--find-function-read-original entire-namespace invocation evaled-form n out kar names--keyword-list _ --dotimes-limit-- #1# names--name #2# #3# type] 11 (#$ . 9099)]) (defalias 'names--dev-fboundp #[(sym) "\302!\206\302\303\304\305 #!!\207" [sym names--name names--fboundp-original intern format "%s%s"] 6]) (defalias 'names--dev-boundp #[(sym) "\302!\206\302\303\304\305 #!!\207" [sym names--name names--boundp-original intern format "%s%s"] 6]) (byte-code "\300\301\302\"\210\303\304!\207" [eval-after-load lisp-mode #[nil "\302 \303\304#\210\302 \305\306#\210\302 \307\310#)\207" [emacs-lisp-mode-map map define-key [remap eval-defun] names-eval-defun [remap eval-last-sexp] names-eval-last-sexp [remap eval-print-last-sexp] names-eval-print-last-sexp] 4] provide names-dev] 3)