Skip to content

Commit 4b1682e

Browse files
committed
Use the base argument of backtrace-frame
Instead of discarding all frames before `buttercup--debugger', use the base argument of `backtrace-frame' to start at the frame after `buttercup--debugger'.
1 parent dfbef21 commit 4b1682e

File tree

1 file changed

+7
-13
lines changed

1 file changed

+7
-13
lines changed

buttercup.el

Lines changed: 7 additions & 13 deletions
Original file line numberDiff line numberDiff line change
@@ -2116,19 +2116,13 @@ ARGS according to `debugger'."
21162116

21172117
(defun buttercup--backtrace ()
21182118
"Create a backtrace, a list of frames returned from `backtrace-frame'."
2119-
;; Read the backtrace frames from 0 (the closest) upward.
2120-
(cl-do* ((n 0 (1+ n))
2121-
(frame (backtrace-frame n) (backtrace-frame n))
2122-
(frame-list nil)
2123-
(in-program-stack nil))
2119+
;; Read the backtrace frames from `buttercup--debugger' + 1 upward.
2120+
(cl-do* ((n 1 (1+ n))
2121+
(frame (backtrace-frame n #'buttercup--debugger)
2122+
(backtrace-frame n #'buttercup--debugger))
2123+
(frame-list nil))
21242124
((not frame) frame-list)
2125-
;; discard frames until (and including) `buttercup--debugger', they
2126-
;; only contain buttercup code
2127-
(when in-program-stack
2128-
(push frame frame-list))
2129-
(when (eq (elt frame 1)
2130-
'buttercup--debugger)
2131-
(setq in-program-stack t))
2125+
(push frame frame-list)
21322126
;; keep frames until one of the known functions are found, after
21332127
;; this is just the buttercup framework and not interesting for
21342128
;; users (incorrect for testing buttercup). Some frames before the
@@ -2149,7 +2143,7 @@ ARGS according to `debugger'."
21492143
;; The buttercup--mark-stackframe should only be in wrapped expressions,
21502144
;; optimize by checking if it is a wrapped expression?
21512145
;; Will we even need the marker if we can check that?
2152-
(when (and in-program-stack (tree-find 'buttercup--mark-stackframe frame))
2146+
(when (tree-find 'buttercup--mark-stackframe frame)
21532147
(pop frame-list)
21542148
(cl-return frame-list)))))
21552149

0 commit comments

Comments
 (0)