Closed kljohann closed 7 years ago
I'm not sure this isn't smartparen's fault. Will check, thanks for reporting.
I got this error as well when compiling with C-c C-k
. Here is the backtrace:
Debugger entered--Lisp error: (error "Unknown button type `show-pair'")
signal(error ("Unknown button type `show-pair'"))
error("Unknown button type `%s'" show-pair)
button-type-get(show-pair supertype)
button-type-subtype-p(show-pair sly-in-buffer-note)
sly-remove-notes(1 8590)
sly-highlight-notes(nil)
sly-compilation-finished((slynk::compilation-result nil t 0.12700000405311584 t "/home/hoangtu/workspace/study/nand2tetris/projects/06/assembler.fasl") #<buffer assembler.lisp>)
#[257 "\300p\"\207" [sly-compilation-finished] 4 "\n\n(fn RESULT)"]((slynk::compilation-result nil t 0.12700000405311584 t "/home/hoangtu/workspace/study/nand2tetris/projects/06/assembler.fasl"))
#[257 "\211\211@A\302\303\"\203/
It's true that when smartparens-mode
is disabled, the error does not happen anymore. I think this should be higher priority since smartparens
is a popular package.
Disable then enable smartparens-mode
also fixed the problem.
I think this should be higher priority since smartparens is a popular package.
I agree, though I don't like smartparens myself.
Unfortunately I'm very busy with other stuff at the moment. Keep posting whatever information you come across, or submit a pull request. Otherwise I'll be back in one or two weeks.
I'm having trouble reproducing this. Here's what I tried, from an emacs -Q session:
(require 'package)
(add-to-list 'package-archives
'("melpa" . "http://melpa.org/packages/"))
(package-initialize)
(package-install 'smartparens)
(smartparens-global-mode)
(add-to-list 'load-path "z:/Source/Emacs/sly")
(require 'sly-autoloads)
Then I M-x sly
, navigated to a lisp file, compiled the whole file or just an expressions. Navigated buttons, etc... I don't see the error.
Can you post an similarly minimal reproduction recipe???
FWIW, I used to hit this bug, but since a while a back I'm unable too. Maybe a change in smart parens?
I pushed a proactive fix, meaning I never got to reproduce the actual problem, but understood more or less why it happened from the backtrace. It shouldn't happen again. If it does, i'll reopen.
I've encountered this again while compiling the whole file, however after-pressing q and recompiling I was unable to reproduce the issue. Here is the backtrace
Debugger entered--Lisp error: (error "Unknown button type `pair'")
signal(error ("Unknown button type `pair'"))
error("Unknown button type `%s'" pair)
button-type-get(pair supertype)
button-type-subtype-p(pair sly-button)
#[(button) "\302\303\304\")\305\"\205 ?\206 !\207" [button filter button-type-subtype-p button-get type sly-button] 4](#<overlay from 53 to 70 in range.lisp>)
cl-remove(nil (#<overlay from 53 to 70 in range.lisp> #<overlay from 2448 to 2453 in range.lisp> #<overlay from 2448 to 2453 in range.lisp>) :if-not #[(button) "\302\303\304\")\305\"\205 ?\206 !\207" [button filter button-type-subtype-p button-get type sly-button] 4])
apply(cl-remove nil (#<overlay from 53 to 70 in range.lisp> #<overlay from 2448 to 2453 in range.lisp> #<overlay from 2448 to 2453 in range.lisp>) :if-not #[(button) "\302\303\304\")\305\"\205 ?\206 !\207" [button filter button-type-subtype-p button-get type sly-button] 4] nil)
cl-remove-if-not(#[(button) "\302\303\304\")\305\"\205 ?\206 !\207" [button filter button-type-subtype-p button-get type sly-button] 4] (#<overlay from 53 to 70 in range.lisp> #<overlay from 2448 to 2453 in range.lisp> #<overlay from 2448 to 2453 in range.lisp>))
sly-button--overlays-in(1 2597 sly-stickers--sticker-id)
sly-button--overlays-between(1 2597 sly-stickers--sticker-id)
sly-stickers--stickers-between(1 2597)
sly-stickers-after-buffer-compilation(t ((:message "The variable START is defined but never used." :severity :style-warning :location (:location (:file "/home/puercopop/quicklisp/local-projects/python-iterators/src/iterators/range.lisp") (:position 2447) nil) :references nil :source-context "--> PROGN SB-IMPL::%DEFUN SB-IMPL::%DEFUN SB-INT:NAMED-LAMBDA \n==>\n #'(SB-INT:NAMED-LAMBDA PYTHON-ITERATORS/RANGE::MAKE-RANGE\n (PYTHON-ITERATORS/RANGE::START &OPTIONAL\n (PYTHON-ITERATORS/RANGE::END PYTHON-ITERATORS/RANGE:+UNBOUNDED+)\n (STEP 1))\n (BLOCK PYTHON-ITERATORS/RANGE::MAKE-RANGE\n (IF (PLUSP STEP)\n (MAKE-INSTANCE 'PYTHON-ITERATORS/RANGE::INCREMENT)\n (MAKE-INSTANCE 'PYTHON-ITERATORS/RANGE::DECREMENT))))\n") (:message "The variable END is defined but never used." :severity :style-warning :location (:location (:file "/home/puercopop/quicklisp/local-projects/python-iterators/src/iterators/range.lisp") (:position 2447) nil) :references nil :source-context "--> PROGN SB-IMPL::%DEFUN SB-IMPL::%DEFUN SB-INT:NAMED-LAMBDA \n==>\n #'(SB-INT:NAMED-LAMBDA PYTHON-ITERATORS/RANGE::MAKE-RANGE\n (PYTHON-ITERATORS/RANGE::START &OPTIONAL\n (PYTHON-ITERATORS/RANGE::END PYTHON-ITERATORS/RANGE:+UNBOUNDED+)\n (STEP 1))\n (BLOCK PYTHON-ITERATORS/RANGE::MAKE-RANGE\n (IF (PLUSP STEP)\n (MAKE-INSTANCE 'PYTHON-ITERATORS/RANGE::INCREMENT)\n (MAKE-INSTANCE 'PYTHON-ITERATORS/RANGE::DECREMENT))))\n")) #<buffer range.lisp> t)
run-hook-with-args(sly-stickers-after-buffer-compilation t ((:message "The variable START is defined but never used." :severity :style-warning :location (:location (:file "/home/puercopop/quicklisp/local-projects/python-iterators/src/iterators/range.lisp") (:position 2447) nil) :references nil :source-context "--> PROGN SB-IMPL::%DEFUN SB-IMPL::%DEFUN SB-INT:NAMED-LAMBDA \n==>\n #'(SB-INT:NAMED-LAMBDA PYTHON-ITERATORS/RANGE::MAKE-RANGE\n (PYTHON-ITERATORS/RANGE::START &OPTIONAL\n (PYTHON-ITERATORS/RANGE::END PYTHON-ITERATORS/RANGE:+UNBOUNDED+)\n (STEP 1))\n (BLOCK PYTHON-ITERATORS/RANGE::MAKE-RANGE\n (IF (PLUSP STEP)\n (MAKE-INSTANCE 'PYTHON-ITERATORS/RANGE::INCREMENT)\n (MAKE-INSTANCE 'PYTHON-ITERATORS/RANGE::DECREMENT))))\n") (:message "The variable END is defined but never used." :severity :style-warning :location (:location (:file "/home/puercopop/quicklisp/local-projects/python-iterators/src/iterators/range.lisp") (:position 2447) nil) :references nil :source-context "--> PROGN SB-IMPL::%DEFUN SB-IMPL::%DEFUN SB-INT:NAMED-LAMBDA \n==>\n #'(SB-INT:NAMED-LAMBDA PYTHON-ITERATORS/RANGE::MAKE-RANGE\n (PYTHON-ITERATORS/RANGE::START &OPTIONAL\n (PYTHON-ITERATORS/RANGE::END PYTHON-ITERATORS/RANGE:+UNBOUNDED+)\n (STEP 1))\n (BLOCK PYTHON-ITERATORS/RANGE::MAKE-RANGE\n (IF (PLUSP STEP)\n (MAKE-INSTANCE 'PYTHON-ITERATORS/RANGE::INCREMENT)\n (MAKE-INSTANCE 'PYTHON-ITERATORS/RANGE::DECREMENT))))\n")) #<buffer range.lisp> t)
sly-compilation-finished((slynk::compilation-result ((:message "The variable START is defined but never used." :severity :style-warning :location (:location (:file "/home/puercopop/quicklisp/local-projects/python-iterators/src/iterators/range.lisp") (:position 2447) nil) :references nil :source-context "--> PROGN SB-IMPL::%DEFUN SB-IMPL::%DEFUN SB-INT:NAMED-LAMBDA \n==>\n #'(SB-INT:NAMED-LAMBDA PYTHON-ITERATORS/RANGE::MAKE-RANGE\n (PYTHON-ITERATORS/RANGE::START &OPTIONAL\n (PYTHON-ITERATORS/RANGE::END PYTHON-ITERATORS/RANGE:+UNBOUNDED+)\n (STEP 1))\n (BLOCK PYTHON-ITERATORS/RANGE::MAKE-RANGE\n (IF (PLUSP STEP)\n (MAKE-INSTANCE 'PYTHON-ITERATORS/RANGE::INCREMENT)\n (MAKE-INSTANCE 'PYTHON-ITERATORS/RANGE::DECREMENT))))\n") (:message "The variable END is defined but never used." :severity :style-warning :location (:location (:file "/home/puercopop/quicklisp/local-projects/python-iterators/src/iterators/range.lisp") (:position 2447) nil) :references nil :source-context "--> PROGN SB-IMPL::%DEFUN SB-IMPL::%DEFUN SB-INT:NAMED-LAMBDA \n==>\n #'(SB-INT:NAMED-LAMBDA PYTHON-ITERATORS/RANGE::MAKE-RANGE\n (PYTHON-ITERATORS/RANGE::START &OPTIONAL\n (PYTHON-ITERATORS/RANGE::END PYTHON-ITERATORS/RANGE:+UNBOUNDED+)\n (STEP 1))\n (BLOCK PYTHON-ITERATORS/RANGE::MAKE-RANGE\n (IF (PLUSP STEP)\n (MAKE-INSTANCE 'PYTHON-ITERATORS/RANGE::INCREMENT)\n (MAKE-INSTANCE 'PYTHON-ITERATORS/RANGE::DECREMENT))))\n")) t 0.09799999743700027 t "/home/puercopop/quicklisp/local-projects/python-iterators/src/iterators/range.fasl") #<buffer range.lisp>)
#[257 "\300p\"\207" [sly-compilation-finished] 4 "\n\n(fn RESULT)"]((slynk::compilation-result ((:message "The variable START is defined but never used." :severity :style-warning :location (:location (:file "/home/puercopop/quicklisp/local-projects/python-iterators/src/iterators/range.lisp") (:position 2447) nil) :references nil :source-context "--> PROGN SB-IMPL::%DEFUN SB-IMPL::%DEFUN SB-INT:NAMED-LAMBDA \n==>\n #'(SB-INT:NAMED-LAMBDA PYTHON-ITERATORS/RANGE::MAKE-RANGE\n (PYTHON-ITERATORS/RANGE::START &OPTIONAL\n (PYTHON-ITERATORS/RANGE::END PYTHON-ITERATORS/RANGE:+UNBOUNDED+)\n (STEP 1))\n (BLOCK PYTHON-ITERATORS/RANGE::MAKE-RANGE\n (IF (PLUSP STEP)\n (MAKE-INSTANCE 'PYTHON-ITERATORS/RANGE::INCREMENT)\n (MAKE-INSTANCE 'PYTHON-ITERATORS/RANGE::DECREMENT))))\n") (:message "The variable END is defined but never used." :severity :style-warning :location (:location (:file "/home/puercopop/quicklisp/local-projects/python-iterators/src/iterators/range.lisp") (:position 2447) nil) :references nil :source-context "--> PROGN SB-IMPL::%DEFUN SB-IMPL::%DEFUN SB-INT:NAMED-LAMBDA \n==>\n #'(SB-INT:NAMED-LAMBDA PYTHON-ITERATORS/RANGE::MAKE-RANGE\n (PYTHON-ITERATORS/RANGE::START &OPTIONAL\n (PYTHON-ITERATORS/RANGE::END PYTHON-ITERATORS/RANGE:+UNBOUNDED+)\n (STEP 1))\n (BLOCK PYTHON-ITERATORS/RANGE::MAKE-RANGE\n (IF (PLUSP STEP)\n (MAKE-INSTANCE 'PYTHON-ITERATORS/RANGE::INCREMENT)\n (MAKE-INSTANCE 'PYTHON-ITERATORS/RANGE::DECREMENT))))\n")) t 0.09799999743700027 t "/home/puercopop/quicklisp/local-projects/python-iterators/src/iterators/range.fasl"))
#[0 "\300\301!\207" [#[257 "\300p\"\207" [sly-compilation-finished] 4 "\n\n(fn RESULT)"] (slynk::compilation-result ((:message "The variable START is defined but never used." :severity :style-warning :location (:location (:file "/home/puercopop/quicklisp/local-projects/python-iterators/src/iterators/range.lisp") (:position 2447) nil) :references nil :source-context "--> PROGN SB-IMPL::%DEFUN SB-IMPL::%DEFUN SB-INT:NAMED-LAMBDA \n==>\n #'(SB-INT:NAMED-LAMBDA PYTHON-ITERATORS/RANGE::MAKE-RANGE\n (PYTHON-ITERATORS/RANGE::START &OPTIONAL\n (PYTHON-ITERATORS/RANGE::END PYTHON-ITERATORS/RANGE:+UNBOUNDED+)\n (STEP 1))\n (BLOCK PYTHON-ITERATORS/RANGE::MAKE-RANGE\n (IF (PLUSP STEP)\n (MAKE-INSTANCE 'PYTHON-ITERATORS/RANGE::INCREMENT)\n (MAKE-INSTANCE 'PYTHON-ITERATORS/RANGE::DECREMENT))))\n") (:message "The variable END is defined but never used." :severity :style-warning :location (:location (:file "/home/puercopop/quicklisp/local-projects/python-iterators/src/iterators/range.lisp") (:position 2447) nil) :references nil :source-context "--> PROGN SB-IMPL::%DEFUN SB-IMPL::%DEFUN SB-INT:NAMED-LAMBDA \n==>\n #'(SB-INT:NAMED-LAMBDA PYTHON-ITERATORS/RANGE::MAKE-RANGE\n (PYTHON-ITERATORS/RANGE::START &OPTIONAL\n (PYTHON-ITERATORS/RANGE::END PYTHON-ITERATORS/RANGE:+UNBOUNDED+)\n (STEP 1))\n (BLOCK PYTHON-ITERATORS/RANGE::MAKE-RANGE\n (IF (PLUSP STEP)\n (MAKE-INSTANCE 'PYTHON-ITERATORS/RANGE::INCREMENT)\n (MAKE-INSTANCE 'PYTHON-ITERATORS/RANGE::DECREMENT))))\n")) t 0.09799999743700027 t "/home/puercopop/quicklisp/local-projects/python-iterators/src/iterators/range.fasl")] 2 "\n\n(fn)"]()
funcall(#[0 "\300\301!\207" [#[257 "\300p\"\207" [sly-compilation-finished] 4 "\n\n(fn RESULT)"] (slynk::compilation-result ((:message "The variable START is defined but never used." :severity :style-warning :location (:location (:file "/home/puercopop/quicklisp/local-projects/python-iterators/src/iterators/range.lisp") (:position 2447) nil) :references nil :source-context "--> PROGN SB-IMPL::%DEFUN SB-IMPL::%DEFUN SB-INT:NAMED-LAMBDA \n==>\n #'(SB-INT:NAMED-LAMBDA PYTHON-ITERATORS/RANGE::MAKE-RANGE\n (PYTHON-ITERATORS/RANGE::START &OPTIONAL\n (PYTHON-ITERATORS/RANGE::END PYTHON-ITERATORS/RANGE:+UNBOUNDED+)\n (STEP 1))\n (BLOCK PYTHON-ITERATORS/RANGE::MAKE-RANGE\n (IF (PLUSP STEP)\n (MAKE-INSTANCE 'PYTHON-ITERATORS/RANGE::INCREMENT)\n (MAKE-INSTANCE 'PYTHON-ITERATORS/RANGE::DECREMENT))))\n") (:message "The variable END is defined but never used." :severity :style-warning :location (:location (:file "/home/puercopop/quicklisp/local-projects/python-iterators/src/iterators/range.lisp") (:position 2447) nil) :references nil :source-context "--> PROGN SB-IMPL::%DEFUN SB-IMPL::%DEFUN SB-INT:NAMED-LAMBDA \n==>\n #'(SB-INT:NAMED-LAMBDA PYTHON-ITERATORS/RANGE::MAKE-RANGE\n (PYTHON-ITERATORS/RANGE::START &OPTIONAL\n (PYTHON-ITERATORS/RANGE::END PYTHON-ITERATORS/RANGE:+UNBOUNDED+)\n (STEP 1))\n (BLOCK PYTHON-ITERATORS/RANGE::MAKE-RANGE\n (IF (PLUSP STEP)\n (MAKE-INSTANCE 'PYTHON-ITERATORS/RANGE::INCREMENT)\n (MAKE-INSTANCE 'PYTHON-ITERATORS/RANGE::DECREMENT))))\n")) t 0.09799999743700027 t "/home/puercopop/quicklisp/local-projects/python-iterators/src/iterators/range.fasl")] 2 "\n\n(fn)"])
(let nil (funcall (quote #[0 "\300\301!\207" [#[257 "\300p\"\207" [sly-compilation-finished] 4 "\n\n(fn RESULT)"] (slynk::compilation-result ((:message "The variable START is defined but never used." :severity :style-warning :location ... :references nil :source-context "--> PROGN SB-IMPL::%DEFUN SB-IMPL::%DEFUN SB-INT:NAMED-LAMBDA \n==>\n #'(SB-INT:NAMED-LAMBDA PYTHON-ITERATORS/RANGE::MAKE-RANGE\n (PYTHON-ITERATORS/RANGE::START &OPTIONAL\n (PYTHON-ITERATORS/RANGE::END PYTHON-ITERATORS/RANGE:+UNBOUNDED+)\n (STEP 1))\n (BLOCK PYTHON-ITERATORS/RANGE::MAKE-RANGE\n (IF (PLUSP STEP)\n (MAKE-INSTANCE 'PYTHON-ITERATORS/RANGE::INCREMENT)\n (MAKE-INSTANCE 'PYTHON-ITERATORS/RANGE::DECREMENT))))\n") (:message "The variable END is defined but never used." :severity :style-warning :location ... :references nil :source-context "--> PROGN SB-IMPL::%DEFUN SB-IMPL::%DEFUN SB-INT:NAMED-LAMBDA \n==>\n #'(SB-INT:NAMED-LAMBDA PYTHON-ITERATORS/RANGE::MAKE-RANGE\n (PYTHON-ITERATORS/RANGE::START &OPTIONAL\n (PYTHON-ITERATORS/RANGE::END PYTHON-ITERATORS/RANGE:+UNBOUNDED+)\n (STEP 1))\n (BLOCK PYTHON-ITERATORS/RANGE::MAKE-RANGE\n (IF (PLUSP STEP)\n (MAKE-INSTANCE 'PYTHON-ITERATORS/RANGE::INCREMENT)\n (MAKE-INSTANCE 'PYTHON-ITERATORS/RANGE::DECREMENT))))\n")) t 0.09799999743700027 t "/home/puercopop/quicklisp/local-projects/python-iterators/src/iterators/range.fasl")] 2 "\n\n(fn)"])))
eval((let nil (funcall (quote #[0 "\300\301!\207" [#[257 "\300p\"\207" [sly-compilation-finished] 4 "\n\n(fn RESULT)"] (slynk::compilation-result ((:message "The variable START is defined but never used." :severity :style-warning :location ... :references nil :source-context "--> PROGN SB-IMPL::%DEFUN SB-IMPL::%DEFUN SB-INT:NAMED-LAMBDA \n==>\n #'(SB-INT:NAMED-LAMBDA PYTHON-ITERATORS/RANGE::MAKE-RANGE\n (PYTHON-ITERATORS/RANGE::START &OPTIONAL\n (PYTHON-ITERATORS/RANGE::END PYTHON-ITERATORS/RANGE:+UNBOUNDED+)\n (STEP 1))\n (BLOCK PYTHON-ITERATORS/RANGE::MAKE-RANGE\n (IF (PLUSP STEP)\n (MAKE-INSTANCE 'PYTHON-ITERATORS/RANGE::INCREMENT)\n (MAKE-INSTANCE 'PYTHON-ITERATORS/RANGE::DECREMENT))))\n") (:message "The variable END is defined but never used." :severity :style-warning :location ... :references nil :source-context "--> PROGN SB-IMPL::%DEFUN SB-IMPL::%DEFUN SB-INT:NAMED-LAMBDA \n==>\n #'(SB-INT:NAMED-LAMBDA PYTHON-ITERATORS/RANGE::MAKE-RANGE\n (PYTHON-ITERATORS/RANGE::START &OPTIONAL\n (PYTHON-ITERATORS/RANGE::END PYTHON-ITERATORS/RANGE:+UNBOUNDED+)\n (STEP 1))\n (BLOCK PYTHON-ITERATORS/RANGE::MAKE-RANGE\n (IF (PLUSP STEP)\n (MAKE-INSTANCE 'PYTHON-ITERATORS/RANGE::INCREMENT)\n (MAKE-INSTANCE 'PYTHON-ITERATORS/RANGE::DECREMENT))))\n")) t 0.09799999743700027 t "/home/puercopop/quicklisp/local-projects/python-iterators/src/iterators/range.fasl")] 2 "\n\n(fn)"]))))
#[257 "\211\211@A\303\304\"\203j \211\211G\305U\203 \211@\202 \306\307\310GD\"\301\205e \302q\210\311\312\300\"\311\313\300\"\314\315\316\317\320\301\"\321\"\322\323%\310\203X \211A\262\242\324\211A\262\242DDB\262\202>
When running sly with smartparens, I get
when pressing C-c-C-c while I'm on an opening paren (such that the closing paren is highlighted). The reason is that smartparens uses
(overlay-put ... 'type 'show-pair)
, so when processing the output ofoverlay-in
insly-buttons.el
orsly.el
,button-type-subtype-p
will complain that no show-pair button type has been registered. One work-around is to wrap the two calls tobutton-type-subtype-p
inignore-errors
, but maybe there is a better approach.