diff options
Diffstat (limited to 'lisp')
| -rw-r--r-- | lisp/emacs-lisp/edebug.el | 12 |
1 files changed, 12 insertions, 0 deletions
diff --git a/lisp/emacs-lisp/edebug.el b/lisp/emacs-lisp/edebug.el index 0aa6caa37e1..85cc8c8e7ad 100644 --- a/lisp/emacs-lisp/edebug.el +++ b/lisp/emacs-lisp/edebug.el | |||
| @@ -1714,6 +1714,7 @@ contains a circular object." | |||
| 1714 | (cl-macrolet-body . edebug-match-cl-macrolet-body) | 1714 | (cl-macrolet-body . edebug-match-cl-macrolet-body) |
| 1715 | (¬ . edebug-match-¬) | 1715 | (¬ . edebug-match-¬) |
| 1716 | (&key . edebug-match-&key) | 1716 | (&key . edebug-match-&key) |
| 1717 | (&error . edebug-match-&error) | ||
| 1717 | (place . edebug-match-place) | 1718 | (place . edebug-match-place) |
| 1718 | (gate . edebug-match-gate) | 1719 | (gate . edebug-match-gate) |
| 1719 | ;; (nil . edebug-match-nil) not this one - special case it. | 1720 | ;; (nil . edebug-match-nil) not this one - special case it. |
| @@ -1847,6 +1848,15 @@ contains a circular object." | |||
| 1847 | (car (cdr pair)))) | 1848 | (car (cdr pair)))) |
| 1848 | specs)))) | 1849 | specs)))) |
| 1849 | 1850 | ||
| 1851 | (defun edebug-match-&error (cursor specs) | ||
| 1852 | ;; Signal an error, using the following string in the spec as argument. | ||
| 1853 | (let ((error-string (car specs)) | ||
| 1854 | (edebug-error-point (edebug-before-offset cursor))) | ||
| 1855 | (goto-char edebug-error-point) | ||
| 1856 | (error "%s" | ||
| 1857 | (if (stringp error-string) | ||
| 1858 | error-string | ||
| 1859 | "String expected after &error in edebug-spec")))) | ||
| 1850 | 1860 | ||
| 1851 | (defun edebug-match-gate (_cursor) | 1861 | (defun edebug-match-gate (_cursor) |
| 1852 | ;; Simply set the gate to prevent backtracking at this level. | 1862 | ;; Simply set the gate to prevent backtracking at this level. |
| @@ -2216,6 +2226,8 @@ into `edebug--cl-macrolet-defs' which is checked in `edebug-list-form-args'." | |||
| 2216 | 2226 | ||
| 2217 | (def-edebug-spec nested-backquote-form | 2227 | (def-edebug-spec nested-backquote-form |
| 2218 | (&or | 2228 | (&or |
| 2229 | ("`" &error "Triply nested backquotes (without commas \"between\" them) \ | ||
| 2230 | are too difficult to instrument") | ||
| 2219 | ;; Allow instrumentation of any , or ,@ contained within the (\, ...) or | 2231 | ;; Allow instrumentation of any , or ,@ contained within the (\, ...) or |
| 2220 | ;; (\,@ ...) matched on the next line. | 2232 | ;; (\,@ ...) matched on the next line. |
| 2221 | ([&or "," ",@"] backquote-form) | 2233 | ([&or "," ",@"] backquote-form) |