@@ -74,7 +74,7 @@ Here are some predefined candidates:
74
74
75
75
(defmacro xcb-debug:-with-debug-buffer (&rest forms )
76
76
" Evaluate FORMS making sure `xcb-debug:buffer' is correctly updated."
77
- `(with-current-buffer (get-buffer-create xcb-debug:buffer)
77
+ `(with-current-buffer (xcb-debug:-get- buffer)
78
78
(let (windows-eob)
79
79
; ; Note windows whose point is at EOB.
80
80
(dolist (w (get-buffer-window-list xcb-debug:buffer t 'nomini ))
@@ -98,7 +98,7 @@ the passed OBJECTS. See `format' for details."
98
98
(defmacro xcb-debug:backtrace ()
99
99
" Print a backtrace to the `xcb-debug:buffer' ."
100
100
'(xcb-debug:-with-debug-buffer
101
- (let ((standard-output (get-buffer-create xcb-debug:buffer)))
101
+ (let ((standard-output (xcb-debug:-get- buffer)))
102
102
(backtrace ))))
103
103
104
104
(defmacro xcb-debug:backtrace-on-error (&rest forms )
@@ -107,6 +107,14 @@ the passed OBJECTS. See `format' for details."
107
107
(debugger (lambda (&rest _ ) (xcb-debug:backtrace))))
108
108
,@forms ))
109
109
110
+ (defun xcb-debug:-get-buffer ()
111
+ " Get or create `xcb-debug:buffer' ."
112
+ (let ((buffer (get-buffer xcb-debug:buffer)))
113
+ (unless buffer
114
+ (setq buffer (get-buffer-create xcb-debug:buffer))
115
+ (buffer-disable-undo buffer))
116
+ buffer))
117
+
110
118
(defun xcb-debug:clear ()
111
119
" Clear the debug buffer."
112
120
(interactive )
0 commit comments