%PDF- %PDF-
Direktori : /usr/local/share/emacs/27.2/lisp/emacs-lisp/ |
Current File : //usr/local/share/emacs/27.2/lisp/emacs-lisp/edebug.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\300\302!\210\300\303!\210\304\305\306\307\310\311%\210\312\313\314\315\316\317%\210\312\320\321\322\316\317%\210\323\324\325\326\327DD\330\331\332%\210\323\333\325\326\334DD\335\331\336%\210\323\337\325\326\340DD\341\331\336%\210\323\342\325\326\343DD\344\331\336%\210\323\345\325\326\346DD\347\331\350\316\351&\210\323\352\325\326\353DD\354\331\355%\210\323\356\325\326\357DD\360\331\336%\210\323\361\325\326\362DD\363\331\364%\210\323\365\325\326\366DD\367\331\336%\210\323\370\325\326\371DD\372\331\336%\210\323\373\325\326\374DD\375\331\336%\210\323\376\325\326\377DD\201@ \331\201A %\210\323\201B \325\326\201C DD\201D \331\201E %\210\323\201F \325\326\201G DD\201H \331\336%\210\323\201I \325\326\201J DD\201K \331\336%\210\323\201L \325\326\201M DD\201N \331\201O %\210\323\201P \325\326\201Q DD\201R \331\336%\210\323\201S \325\326\201T DD\201U \331\201V \201W \201X &\210\323\201Y \325\326\201Z DD\201[ \331\201\\ %\210\323\201] \325\326\201^ DD\201_ \331\336\316\351&\207" [require backtrace macroexp cl-lib custom-declare-group edebug nil "A source-level debugger for Emacs Lisp." :group lisp custom-declare-face edebug-enabled-breakpoint ((t :inherit highlight)) "Face used to mark enabled breakpoints." :version "27.1" edebug-disabled-breakpoint ((((class color) (min-colors 88) (background light)) :background "#ddffdd" :extend t) (((class color) (min-colors 88) (background dark)) :background "#335533" :extend t)) "Face used to mark disabled breakpoints." custom-declare-variable edebug-setup-hook funcall function #[0 "\300\207" [nil] 1] "Functions to call before edebug is used.\nEach time it is set to a new value, Edebug will call those functions\nonce and then reset `edebug-setup-hook' to nil. You could use this\nto load up Edebug specifications associated with a package you are\nusing, but only when you also use Edebug." :type hook edebug-all-defs #[0 "\300\207" [nil] 1] "If non-nil, evaluating defining forms instruments for Edebug.\nThis applies to `eval-defun', `eval-region', `eval-buffer', and\n`eval-current-buffer'. `eval-region' is also called by\n`eval-last-sexp', and `eval-print-last-sexp'.\n\nYou can use the command `edebug-all-defs' to toggle the value of this\nvariable. You may wish to make it local to each buffer with\n(make-local-variable \\='edebug-all-defs) in your\n`emacs-lisp-mode-hook'." boolean edebug-all-forms #[0 "\300\207" [nil] 1] "Non-nil means evaluation of all forms will instrument for Edebug.\nThis doesn't apply to loading or evaluations in the minibuffer.\nUse the command `edebug-all-forms' to toggle the value of this option." edebug-eval-macro-args #[0 "\300\207" [nil] 1] "Non-nil means all macro call arguments may be evaluated.\nIf this variable is nil, the default, Edebug will *not* wrap\nmacro call arguments as if they will be evaluated.\nFor each macro, an `edebug-form-spec' overrides this option.\nSo to specify exceptions for macros that have some arguments evaluated\nand some not, use `def-edebug-spec' to specify an `edebug-form-spec'." edebug-max-depth #[0 "\300\207" [150] 1] "Maximum recursion depth when instrumenting code.\nThis limit is intended to stop recursion if an Edebug specification\ncontains an infinite loop. When Edebug is instrumenting code\ncontaining very large quoted lists, it may reach this limit and give\nthe error message \"Too deep - perhaps infinite loop in spec?\".\nMake this limit larger to countermand that, but you may also need to\nincrease `max-lisp-eval-depth' and `max-specpdl-size'." integer "26.1" edebug-save-windows #[0 "\300\207" [t] 1] "If non-nil, Edebug saves and restores the window configuration.\nThat takes some time, so if your program does not care what happens to\nthe window configurations, it is better to set this variable to nil.\n\nIf the value is a list, only the listed windows are saved and\nrestored.\n\n`edebug-toggle-save-windows' may be used to change this variable." (choice boolean (repeat string)) edebug-save-displayed-buffer-points #[0 "\300\207" [nil] 1] "If non-nil, save and restore point in all displayed buffers.\n\nSaving and restoring point in other buffers is necessary if you are\ndebugging code that changes the point of a buffer that is displayed\nin a non-selected window. If Edebug or the user then selects the\nwindow, the buffer's point will be changed to the window's point.\n\nSaving and restoring point in all buffers is expensive, since it\nrequires selecting each window twice, so enable this only if you\nneed it." edebug-initial-mode #[0 "\300\207" [step] 1] "Initial execution mode for Edebug, if non-nil.\nIf this variable is non-nil, it specifies the initial execution mode\nfor Edebug when it is first activated. Possible values are step, next,\ngo, Go-nonstop, trace, Trace-fast, continue, and Continue-fast." (choice (const step) (const next) (const go) (const Go-nonstop) (const trace) (const Trace-fast) (const continue) (const Continue-fast)) edebug-trace #[0 "\300\207" [nil] 1] "Non-nil means display a trace of function entry and exit.\nTracing output is displayed in a buffer named `*edebug-trace*', one\nfunction entry or exit per line, indented by the recursion level.\n\nYou can customize by replacing functions `edebug-print-trace-before'\nand `edebug-print-trace-after'." edebug-test-coverage #[0 "\300\207" [nil] 1] "If non-nil, Edebug tests coverage of all expressions debugged.\nThis is done by comparing the result of each expression with the\nprevious result. Coverage is considered OK if two different\nresults are found.\n\nUse `edebug-display-freq-count' to display the frequency count and\ncoverage information for a definition." edebug-continue-kbd-macro #[0 "\300\207" [nil] 1] "If non-nil, continue defining or executing any keyboard macro.\nUse this with caution since it is not debugged." edebug-print-length #[0 "\300\207" [50] 1] "If non-nil, default value of `print-length' for printing results in Edebug." (choice integer (const nil)) edebug-print-level #[0 "\300\207" [50] 1] "If non-nil, default value of `print-level' for printing results in Edebug." (choice integer (const nil)) edebug-print-circle #[0 "\300\207" [t] 1] "If non-nil, default value of `print-circle' for printing results in Edebug." edebug-unwrap-results #[0 "\300\207" [nil] 1] "Non-nil if Edebug should unwrap results of expressions.\nThat is, Edebug will try to remove its own instrumentation from the result.\nThis is useful when debugging macros where the results of expressions\nare instrumented expressions." edebug-on-error #[0 "\300\207" [t] 1] "Value bound to `debug-on-error' while Edebug is active.\n\nIf `debug-on-error' is non-nil, that value is still used.\n\nIf the value is a list of signal names, Edebug will stop when any of\nthese errors are signaled from Lisp code whether or not the signal is\nhandled by a `condition-case'. This option is useful for debugging\nsignals that *are* handled since they would otherwise be missed.\nAfter execution is resumed, the error is signaled again." (choice (const :tag "off") (repeat :menu-tag "When" :value (nil) (symbol :format "%v")) (const :tag "always" t)) edebug-on-quit #[0 "\300\207" [t] 1] "Value bound to `debug-on-quit' while Edebug is active." edebug-global-break-condition #[0 "\300\207" [nil] 1] "If non-nil, an expression to test for at every stop point.\nIf the result is non-nil, then break. Errors are ignored." sexp :risky t edebug-sit-for-seconds #[0 "\300\207" [1] 1] "Number of seconds to pause when execution mode is `trace' or `continue'." number edebug-sit-on-break #[0 "\300\207" [t] 1] "Whether or not to pause for `edebug-sit-for-seconds' on reaching a break."] 8) #@15 (fn SYMBOL) (defalias 'get-edebug-spec #[257 "\300\2119\203 \301\302\303#\211\262\203 \211\262\202 \207" [nil function-get edebug-form-spec macro] 7 (#$ . 8077)]) #@156 Return t if SPEC uses only extant spec symbols. An extant spec symbol is a symbol that is not a function and has a `edebug-form-spec' property. (fn SPEC) (defalias 'edebug-basic-spec #[257 "\211<\203# \30027 \211\203 \301@!\204 \302\300\303\"\210\211A\262\202 \3040\207\2119\2057 \305!?\2057 \306\307\"\2057 \304\207" [basic edebug-basic-spec throw nil t functionp function-get edebug-form-spec] 4 (#$ . 8257)]) #@115 Return t if OBJECT is a lambda list keyword. A lambda list keyword is a symbol that starts with `&'. (fn OBJECT) (defalias 'edebug-lambda-list-keywordp #[257 "\2119\205\f \300!\301H\302U\207" [symbol-name 0 38] 3 (#$ . 8684)]) (defalias 'edebug-last-sexp #[0 "\300\212\301\302!\210`)`{!@\207" [read-from-string forward-sexp -1] 3]) #@54 Return a list of windows, in order of `next-window'. (defalias 'edebug-window-list #[0 "\300C\301\302\303\304\305\306!\307\"\310\311%!\210\211\242\237\207" [nil walk-windows make-byte-code 257 "\300\300\242B\240\207" vconcat vector [] 4 "\n\n(fn W)"] 8 (#$ . 9024)]) #@23 (fn ALIST FUNCTION) (defalias 'edebug-sort-alist #[514 "\300\301\302\303\304\305!\306\"\307\310%\"\207" [sort make-byte-code 514 "\300@@\"\207" vconcat vector [] 5 "\n\n(fn E1 E2)"] 10 (#$ . 9300)]) #@42 Name of the buffer to put trace info in. (defconst edebug-trace-buffer "*edebug-trace*" (#$ . 9512)) #@32 (fn BUFFER &optional WINDOW) (defalias 'edebug-pop-to-buffer #[513 "\301!\203 \302!=\203 \211\202n \302 =\203 \303 \202n \304\305\"\206n \306\307!\2032 \310\311 !\202n \304!\3122e \313\314\307\"\211\205b \211@\211\303 =\204[ \211=\204[ \315!\204[ \316\312\"\210A\266\202\202= \2620\262\206n \310\311 !\262\317\"\210\320!\210\321\322 !\323>\204\207 \324\322 !\210\325\305\"\207" [edebug-trace-buffer edebug-window-live-p window-buffer selected-window get-buffer-window 0 one-window-p nomini split-window minibuffer-selected-window found window-list nil window-dedicated-p throw set-window-buffer select-window framep selected-frame (nil t pc) x-focus-frame set-window-hscroll] 8 (#$ . 9619)]) (defalias 'edebug-get-displayed-buffer-points #[0 "\300C\301\302\303\304\305\306!\307\"\310\311%!\210\211\242\207" [nil walk-windows make-byte-code 257 "\211\301 =?\205 \300\302!\303!B\300\242B\240\207" vconcat vector [selected-window window-buffer window-point] 5 "\n\n(fn W)"] 8]) #@22 (fn BUFFER-POINTS) (defalias 'edebug-set-buffer-points #[257 "r\300\301\")\207" [mapcar #[257 "\300@!\205 \211@q\210\211Ab\207" [buffer-live-p] 3 "\n\n(fn BUF-POINT)"]] 4 (#$ . 10627)]) #@22 (fn WHICH-WINDOWS) (defalias 'edebug-current-windows #[257 "\211<\203\n \300\301\"\207\302 \207" [mapcar #[257 "\300!\205 \211\301!\302!\303!\304!\257\207" [edebug-window-live-p window-buffer window-point window-start window-hscroll] 7 "\n\n(fn WINDOW)"] current-window-configuration] 4 (#$ . 10824)]) #@20 (fn WINDOW-INFO) (defalias 'edebug-set-windows #[257 "\211<\203\n \300\301\"\207\302!\207" [mapcar #[257 "\211\205 \300\301\"\207" [apply #[1285 "\300!\205 \301\"\210\302\"\210\303\"\210\304\"\207" [edebug-window-live-p set-window-buffer set-window-point set-window-start set-window-hscroll] 8 "\n\n(fn WINDOW BUFFER POINT START HSCROLL)"]] 4 "\n\n(fn ONE-WINDOW-INFO)"] set-window-configuration] 4 (#$ . 11142)]) #@773 Read one Lisp expression as text from STREAM, return as Lisp object. If STREAM is nil, use the value of `standard-input' (which see). STREAM or the value of `standard-input' may be: a buffer (read from point and advance it) a marker (read from where it points and advance it) a function (call it with no arguments for each character, call it with a char as argument to push a char back) a string (takes text from string, starting at the beginning) t (read text line using minibuffer and use it). This version, from Edebug, maybe instruments the expression. But the STREAM must be the current buffer to do so. Whether it instruments is also dependent on the values of the option `edebug-all-defs' and the option `edebug-all-forms'. (fn ORIG &optional STREAM) (defalias 'edebug--read #[513 "\211\204 \262\211p=\203 \301 \207\206 \302!\207" [standard-input edebug-read-and-maybe-wrap-form read] 4 (#$ . 11579)]) #@914 Evaluate the top-level form containing point, or after point. If the current defun is actually a call to `defvar', then reset the variable using its initial value expression even if the variable already has some other value. (Normally `defvar' does not change the variable's value if it already has a value.) Treat `defcustom' similarly. Reinitialize the face according to `defface' specification. With a prefix argument, instrument the code for Edebug. Setting option `edebug-all-defs' to a non-nil value reverses the meaning of the prefix argument. Code is then instrumented when this function is invoked without a prefix argument. If acting on a `defun' for FUNCTION, and the function was instrumented, `Edebug: FUNCTION' is printed in the minibuffer. If not instrumented, just FUNCTION is printed. If not acting on a `defun', the result of evaluation is displayed in the minibuffer. (fn EDEBUG-IT) (defalias 'edebug-eval-defun #[257 "\211??=?\305\211?=\306 *\211@\307=\203( \211\243\243\203( \310A@!\210\202\217 \211@\311=\203F \312A@!\203F \313A@\314\3158\"\"\210\202\217 \211@\316=\203\217 \317A@\f\"\320A@\321\305#\210\320A@\322\3238#\210\324\320\325A@D\326\325A@\327NDF\320\325A@D\330\3158FF\320A@\327\305#\210\262\314\331!\"\204\254 \332 !\333 !\211\203\250 \334!\210\210\202\255 )\207" [edebug-all-defs edebug-result edebug-all-forms lexical-binding face-new-frame-defaults nil edebug-read-top-level-form defvar makunbound defcustom default-boundp set-default eval 2 defface assq-delete-all put face-defface-spec face-documentation 3 prog1 quote 'saved-face saved-face 'customized-face eval-sexp-add-defvars prin1 eval-expression-print-format princ] 11 (#$ . 12516) "P"]) (defalias 'edebug-defun 'edebug-eval-top-level-form) #@813 Evaluate the top level form point is in, stepping through with Edebug. This is like `eval-defun' except that it steps the code for Edebug before evaluating it. It displays the value in the echo area using `eval-expression' (which see). If you do this on a function definition such as a defun or defmacro, it defines the function and instruments its definition for Edebug, so it will do Edebug stepping when called later. It displays `Edebug: FUNCTION' in the echo area to indicate that FUNCTION is now instrumented for Edebug. If the current defun is actually a call to `defvar' or `defcustom', evaluating it this way resets the variable using its initial value expression even if the variable already has some other value. (Normally `defvar' and `defcustom' do not alter the value if there already is one.) (defalias 'edebug-eval-top-level-form #[0 "\302\303\211\304\305 !*!\207" [edebug-all-defs edebug-all-forms eval-expression t eval-sexp-add-defvars edebug-read-top-level-form] 3 (#$ . 14300) nil]) (defvar edebug-active nil) (defalias 'edebug-read-top-level-form #[0 "`\301\302 \210\303 \210\304 b\210)\207" [edebug-active t end-of-defun beginning-of-defun edebug-read-and-maybe-wrap-form] 3]) (defalias 'edebug-all-defuns 'edebug-all-defs) #@39 Toggle edebugging of all definitions. (defalias 'edebug-all-defs #[0 "?\301\302\203 \303\202 \304\"\207" [edebug-all-defs message "Edebugging all definitions is %s." "on" "off"] 3 (#$ . 15561) nil]) #@33 Toggle edebugging of all forms. (defalias 'edebug-all-forms #[0 "?\301\302\203 \303\202 \304\"\207" [edebug-all-forms message "Edebugging all forms is %s." "on" "off"] 3 (#$ . 15771) nil]) (defalias 'edebug-install-read-eval-functions #[0 "\300\301\302\303B\304\305$\210\306\307\310\311#\207" [advice--add-function :around #[0 "\300\301!\207" [default-value load-read-function] 2] #[257 "\300\301\"\207" [set-default load-read-function] 4 "\n\n(fn GV--VAL)"] edebug--read nil advice-add eval-defun :override edebug-eval-defun] 5 nil nil]) (defalias 'edebug-uninstall-read-eval-functions #[0 "\300\301\302!\303\"\211\301\302!=\204 \304\302\"\210\210\305\306\307\"\207" [advice--remove-function default-value load-read-function edebug--read set-default advice-remove eval-defun edebug-eval-defun] 4 nil nil]) #@481 A list of entries associating symbols with buffer regions. Each entry is an `edebug--form-data' struct with fields: SYMBOL, BEGIN-MARKER, and END-MARKER. The markers are at the beginning and end of an entry level form and SYMBOL is a symbol that holds all edebug related information for the form on its property list. In the future (haha!), the symbol will be irrelevant and edebug data will be stored in the definitions themselves rather than in the property list of a symbol. (defvar edebug-form-data nil (#$ . 16593)) (make-variable-buffer-local 'edebug-form-data) #@79 compiler-macro for inlining `edebug--form-data-name'. (fn CL-WHOLE-ARG CL-X) (defalias 'edebug--form-data-name--cmacro #[514 "\300\301\302\303\211\211&\207" [cl--defsubst-expand (cl-x) (cl-block edebug--form-data-name (progn (car cl-x))) nil] 9 (#$ . 17169)]) (put 'edebug--form-data-name 'compiler-macro 'edebug--form-data-name--cmacro) #@67 Access slot "name" of `edebug--form-data' struct CL-X. (fn CL-X) (defalias 'edebug--form-data-name #[257 "\211@\207" [] 2 (#$ . 17517)]) (byte-code "\300\301\302\303#\300\207" [function-put edebug--form-data-name side-effect-free t] 4) #@80 compiler-macro for inlining `edebug--form-data-begin'. (fn CL-WHOLE-ARG CL-X) (defalias 'edebug--form-data-begin--cmacro #[514 "\300\301\302\303\211\211&\207" [cl--defsubst-expand (cl-x) (cl-block edebug--form-data-begin (progn (nth 1 cl-x))) nil] 9 (#$ . 17760)]) (put 'edebug--form-data-begin 'compiler-macro 'edebug--form-data-begin--cmacro) #@68 Access slot "begin" of `edebug--form-data' struct CL-X. (fn CL-X) (defalias 'edebug--form-data-begin #[257 "\211A@\207" [] 2 (#$ . 18115)]) (byte-code "\300\301\302\303#\300\207" [function-put edebug--form-data-begin side-effect-free t] 4) #@78 compiler-macro for inlining `edebug--form-data-end'. (fn CL-WHOLE-ARG CL-X) (defalias 'edebug--form-data-end--cmacro #[514 "\300\301\302\303\211\211&\207" [cl--defsubst-expand (cl-x) (cl-block edebug--form-data-end (progn (nth 2 cl-x))) nil] 9 (#$ . 18362)]) (put 'edebug--form-data-end 'compiler-macro 'edebug--form-data-end--cmacro) #@66 Access slot "end" of `edebug--form-data' struct CL-X. (fn CL-X) (defalias 'edebug--form-data-end #[257 "\3008\207" [2] 3 (#$ . 18707)]) (byte-code "\300\301\302\303#\300\207" [function-put edebug--form-data-end side-effect-free t] 4) #@95 compiler-macro for inlining `edebug--make-form-data-entry'. (fn CL-WHOLE-ARG NAME BEGIN END) (defalias 'edebug--make-form-data-entry--cmacro #[1028 "\300\301\302\303\211\211&\207" [cl--defsubst-expand (name begin end) (cl-block edebug--make-form-data-entry (list name begin end)) nil] 13 (#$ . 18949)]) (put 'edebug--make-form-data-entry 'compiler-macro 'edebug--make-form-data-entry--cmacro) #@75 Constructor for objects of type `edebug--form-data'. (fn NAME BEGIN END) (defalias 'edebug--make-form-data-entry #[771 "E\207" [] 6 (#$ . 19356)]) (byte-code "\300\301\302\303#\304\305\306\211\307\306\310\311\305\306& \207" [function-put edebug--make-form-data-entry side-effect-free t cl-struct-define edebug--form-data nil list ((name) (begin) (end)) cl-struct-edebug--form-data-tags] 11) #@29 (fn ENTRY NAME BEGIN END) (defalias 'edebug-set-form-data-entry #[1028 "\211\240\266A@\300\223\210\3018\300\223\207" [nil 2] 7 (#$ . 19757)]) (put 'edebug-set-form-data-entry 'byte-optimizer 'byte-compile-inline-expand) #@32 (fn PNT &optional END-POINT) (defalias 'edebug-get-form-data-entry #[513 "\301\302\203H \303W\203H @\211A@ZA\262\303X\203C \211W\203C \2034 \3048U\203C \3048X\203C \211\262\262\266\202 \207" [edebug-form-data nil 999999 0 2] 11 (#$ . 19992)]) #@123 Return the edebug data symbol of the form where point is in. If point is not inside an edebuggable form, signal an error. (defalias 'edebug-form-data-symbol #[0 "\300`!\211@\262\206 \301\302!\207" [edebug-get-form-data-entry error "Not inside instrumented form"] 2 (#$ . 20269)]) #@18 (fn NEW-ENTRY) (defalias 'edebug-make-top-form-data-entry #[257 "\301!\210\211B\211\207" [edebug-form-data edebug-clear-form-data-entry] 3 (#$ . 20557)]) #@124 If non-nil, clear ENTRY out of the form data. Maybe clear the markers and delete the symbol's edebug property? (fn ENTRY) (defalias 'edebug-clear-form-data-entry #[257 "\211\205\n \301\"\211\207" [edebug-form-data delq] 4 (#$ . 20723)]) #@19 (fn &rest ARGS) (defalias 'edebug-syntax-error #[128 "\300\301\"\207" [signal invalid-read-syntax] 4 (#$ . 20970)]) (defconst edebug-read-syntax-table (byte-code "\300\301\302\"\303\211\304W\203 \305I\210\211T\262\202 \306\307I\210\310\311I\210\312\313I\210\314\315I\210\316\317I\210\320\321I\210\322\323I\210\324\325I\210\326\327I\210\330\331I\210\332\333I\210\207" [make-char-table syntax-table symbol 0 33 space 40 lparen 41 rparen 39 quote 96 backquote 44 comma 34 string 63 char 91 lbracket 93 rbracket 46 dot 35 hash] 5)) (defalias 'edebug-next-token-class #[0 "\301 \210g\302=\203% \212\303u\210gH\304=\203 g\305U?\206 g\306>)\203% \304\207gH\207" [edebug-read-syntax-table edebug-skip-whitespace 46 1 symbol 59 (44 46)] 2]) (defalias 'edebug-skip-whitespace #[0 "\300\301w\210g\302U\205 \303\301w\210\300\301w\210\202 \207" [" \n\f" nil 59 "^\n"] 2]) (defalias 'edebug-read-sexp #[0 "\300 \211\301\267\2022 \302p!\2025 \302p!\2025 \303u\210\304\305 D\2025 \303u\210\306\305 D\2025 \303u\210\307\305 D\2025 \302p!\207" [edebug-next-token-class #s(hash-table size 5 test eq rehash-size 1.5 rehash-threshold 0.8125 purecopy t data (symbol 8 string 14 quote 20 backquote 30 comma 40)) read 1 quote edebug-read-sexp \` \,] 3]) (defvar edebug-offsets nil) (defvar edebug-offsets-stack nil) (defvar edebug-current-offset nil) (defvar edebug-read-objects nil) (defvar edebug-read-dotted-list nil) (defalias 'edebug-initialize-offsets #[0 "\301\211\207" [edebug-current-offset nil] 2]) (put 'edebug-initialize-offsets 'byte-optimizer 'byte-compile-inline-expand) #@14 (fn POINT) (defalias 'edebug-store-before-offset #[257 "\211C\203 AB\241\210\202 \211\304\211\211\nB\211\211\207" [edebug-current-offset edebug-offsets edebug-offsets-stack edebug-read-dotted-list nil] 6 (#$ . 22567)]) #@14 (fn POINT) (defalias 'edebug-store-after-offset #[257 "\204 \211A\237\241\210\202 \303 \211AA\237 A@A\244\241\210 \244\nA\211@\211\207" [edebug-read-dotted-list edebug-current-offset edebug-offsets-stack nil] 5 (#$ . 22805)]) (defalias 'edebug-ignore-offset #[0 "\211AA\241\207" [edebug-current-offset] 2]) #@25 (fn POINT &rest BODY) (defalias 'edebug-storing-offsets '(macro . #[385 "\300\301\302DBB\303BB\207" [unwind-protect progn edebug-store-before-offset ((edebug-store-after-offset (point)))] 6 (#$ . 23130)])) (byte-code "\300\301\302\303#\210\304\301\305\306#\300\207" [put edebug-storing-offsets edebug-form-spec (form body) function-put lisp-indent-function 1] 4) (defconst edebug-read-alist '((symbol . edebug-read-symbol) (lparen . edebug-read-list) (string . edebug-read-string) (quote . edebug-read-quote) (backquote . edebug-read-backquote) (comma . edebug-read-comma) (lbracket . edebug-read-vector) (hash . edebug-read-special))) #@15 (fn STREAM) (defalias 'edebug-read-storing-offsets #[257 "\302\303\216\304`!\210\305 \236A\206 \306!*\207" [edebug-read-dotted-list edebug-read-alist nil #[0 "\300`!\207" [edebug-store-after-offset] 2] edebug-store-before-offset edebug-next-token-class read] 3 (#$ . 23776)]) (byte-code "\300\301\302\"\210\300\303\302\"\207" [defalias edebug-read-symbol read edebug-read-string] 3) #@15 (fn STREAM) (defalias 'edebug-read-quote #[257 "\300u\210\301\216\302`S!\210)\303\304!D\207" [1 #[0 "\300`!\207" [edebug-store-after-offset] 2] edebug-store-before-offset quote edebug-read-storing-offsets] 4 (#$ . 24171)]) #@15 (fn STREAM) (defalias 'edebug-read-backquote #[257 "\300u\210\301\216\302`S!\210)\303\304!D\207" [1 #[0 "\300`!\207" [edebug-store-after-offset] 2] edebug-store-before-offset \` edebug-read-storing-offsets] 4 (#$ . 24403)]) #@15 (fn STREAM) (defalias 'edebug-read-comma #[257 "`\300u\210\301g\302=\203 \303\262\300u\210\202 g\304=\203 \305\262\300u\210\306\216\307!\210)\211\310!D\262\207" [1 \, 46 \,\. 64 \,@ #[0 "\300`!\207" [edebug-store-after-offset] 2] edebug-store-before-offset edebug-read-storing-offsets] 6 (#$ . 24636)]) #@181 Read from STREAM a Lisp object beginning with #. Turn #'thing into (function thing) and handle the read syntax for circular objects. Let `read' read everything else. (fn STREAM) (defalias 'edebug-read-special #[257 "\3022\233 \303u\210`g\304=\203&