[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
bug#27117: 26.0.50; Setting cl-print-compiled to `static' has problems i
From: |
npostavs |
Subject: |
bug#27117: 26.0.50; Setting cl-print-compiled to `static' has problems if print-circle isn't set |
Date: |
Sun, 28 May 2017 10:56:45 -0400 |
Perhap this is just expected behaviour when `print-circle' is nil, but
using 'prin1' instead of 'cl-prin1' doesn't have this problem.
The setup is a bit convoluted (adapted from #15789) because I don't
understand what circumstances are needed to produce a bytecode function
with loops.
Evaluate the following from 'emacs -Q':
(require 'tmm)
(defvar frame-with-circle nil)
(defadvice tmm-add-prompt (before emacspeak pre act comp)
"Speaks the list of completions we have available."
(setq frame-with-circle (backtrace-frame 4)))
(tmm-menubar) ; then C-g
(let ((cl-print-compiled 'static))
(cl-prin1 (nth 1 frame-with-circle) (current-buffer)))
Prints into the buffer
#f(compiled-function () #<bytecode> [tmm-add-prompt
(#f(compiled-function () #<bytecode> [tmm-add-prompt
(#f(compiled-function () #<bytecode> [tmm-add-prompt
(#f(compiled-function () #<bytecode> [tmm-add-prompt
...
and
Debugger entered--Lisp error: (error "Lisp nesting exceeds
‘max-lisp-eval-depth’")
Replacing 'cl-prin1' with 'prin1' gives:
#[0 "\302\303\301\242\"\210\300 \207" [tmm-add-prompt (#0) remove-hook
minibuffer-setup-hook] 3]
- bug#27117: 26.0.50; Setting cl-print-compiled to `static' has problems if print-circle isn't set,
npostavs <=