[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
bug#18139: 24.4.50; called-interactively-p and skip advice:
From: |
raman |
Subject: |
bug#18139: 24.4.50; called-interactively-p and skip advice: |
Date: |
Wed, 30 Jul 2014 06:56:45 -0700 |
User-agent: |
Gnus/5.13 (Gnus v5.13) Emacs/24.4.50 (gnu/linux) |
This should hopefully produce the backtrace --
I'll give two recipes below -- the first is impossible for me to try
1. emacs -q
2. load-library ruby-mode
3. evaluate this form:
(defadvice backward-sexp (around test pre act comp)
(when (called-interactively-p 'interactive)
(message "advice!"))
ad-do-it)
3. Open a ruby file test.rb
4. type
puts "foo"
5. Invoke electric-newline-and-indent -- to trigger the bug.
Recipe 2:
Do the same as above with emacspeak loaded -- and without bothering with
the additional piece of advice.
I'll attach the emacspeak generated backtrace below.
Debugger entered--Lisp error: (quit)
advice--called-interactively-skip(3 (t ad-Advice-backward-sexp #[256
"\211\204\300\262\301[!\207" [1 forward-sexp] 3 2382034 "^p"] 1) (t apply
ad-Advice-backward-sexp #[256 "\211\204\300\262\301[!\207" [1 forward-sexp] 3
2382034 "^p"] 1))
run-hook-with-args-until-success(advice--called-interactively-skip 3 (t
ad-Advice-backward-sexp #[256 "\211\204\300\262\301[!\207" [1 forward-sexp] 3
2382034 "^p"] 1) (t apply ad-Advice-backward-sexp #[256
"\211\204\300\262\301[!\207" [1 forward-sexp] 3 2382034 "^p"] 1))
called-interactively-p(interactive)
ad-Advice-backward-sexp(#[256 "\211\204\300\262\301[!\207" [1 forward-sexp]
3 2382034 "^p"] 1)
apply(ad-Advice-backward-sexp #[256 "\211\204\300\262\301[!\207" [1
forward-sexp] 3 2382034 "^p"] 1)
#[128 "\300\301\302#\207" [apply ad-Advice-backward-sexp #[256
"\211\204\300\262\301[!\207" [1 forward-sexp] 3 2382034 "^p"] nil] 5 nil
"^p"](1)
#[0 "\300\301!\210\302\207" [#[128 "\300\301\302#\207" [apply
ad-Advice-backward-sexp #[256 "\211\204\300\262\301[!\207" [1 forward-sexp] 3
2382034 "^p"] nil] 5 nil "^p"] 1 nil] 2 "\n\n(fn)"]()
funcall(#[0 "\300\301!\210\302\207" [#[128 "\300\301\302#\207" [apply
ad-Advice-backward-sexp #[256 "\211\204\300\262\301[!\207" [1 forward-sexp] 3
2382034 "^p"] nil] 5 nil "^p"] 1 nil] 2 "\n\n(fn)"])
#[0 "\304\242;\205 \306\304\242\"AC\304\307\240\210`\300 \306
\"A\211\204XG\310U\203$\311\312\313\310\314\315\316\301!\317\"\320\321%D\322\312\313\323\324\315\316
!\325\"\326\327%\311EDC\217\210`=\203$\330\331\332`D\"\210\202$\303!\247\204t\302!\247\204l\333\334\335C\"\210\211B\262\202$\203\212\303!\302@!W\203\212A\262\202t\204\266\304\242\203\242\302!\247\203\242\211B\262\202$\330\331\302!\206\253\332`Eb\210\"\210\202$\211\203\313\303!\302@!U\203\313A\262\203\336\302!\247\203#B\262\202#\302!\247\204\361\330\331\307`E\"\210\202#\336!\204\377B\262\202#\211\203
\336@!\203
\330\331\302!\206\332`Eb\210\"\210\202#\211\262\210\266\203\2051\304\307\240\210\202 \207"
[#[nil "`\304`[!\210\305 V\203 \306
\203 \307\310w\210\311\202\364n\203-o\204-\312`\313\"b\210\311\202\364`V\203An\204A\314!\203A\315\202\364\316
\317
\203O\320\nP`Sf\321=\203e\322\323\n\"\203e\313u\210\324\nP\n\325\235\203x\326
\203t\n\202\363\327\202\363\n\330\232\203\224\331 \203\207\332\202\363\333
\203\220\334\202\363\n\202\363\335\n\310\336\322#)\266\203\203\256\337u\210\n\337\310O\202\363\n\340\232\203\312`Sf\341=\203\312\342\343!\203\312\313u\210\344
\202\363\n\345\232\203\362\346 \204\331\n\202\363\212\337v\210\304d!\210`)\305
V\203\356\344 \202\363\311\202\363\n*)\207" [pos dot tok
inhibit-changing-match-data forward-comment line-end-position
ruby-smie--implicit-semi-p " " nil ";" scan-sexps -1
ruby-smie--args-separator-p " @ " smie-default-backward-token
ruby-smie--at-dot-call "." 58 string-match "\\`\\s." ":" ("unless" "if" "while"
"until") ruby-smie--bosp "iuwu-mod" "|" ruby-smie--opening-pipe-p "opening-|"
ruby-smie--closing-pipe-p "closing-|" "\\`|[*&]\\'" t 1 "" 92 looking-at "\n"
ruby-smie--backward-token "do" ruby-smie--redundant-do-p] 7] #[128
"\300\301\302#\207" [apply ad-Advice-backward-sexp #[256
"\211\204\300\262\301[!\207" [1 forward-sexp] 3 2382034 "^p"] nil] 5 nil "^p"]
#<subr car> #[257 "\211A@\207" [] 2 1633439] (nil) smie-grammar assoc nil 0 err
funcall make-byte-code "\300\301!\210\302\207" vconcat vector [1 nil] 2
"\n\n(fn)" scan-error 257
"\3018`X\203 \3028\202 \211\300b\210\303\304\305\306\211`W\203%\307\202&\310\\\"E\"\207"
[2 3 throw return t buffer-substring-no-properties -1 1] 12 "\n\n(fn ERR)"
throw return t signal cl-assertion-failed (numberp (funcall op-forw toklevels))
smie--associative-p] 14 "\n\n(fn)"]()
funcall(#[0 "\304\242;\205 \306\304\242\"AC\304\307\240\210`\300 \306
\"A\211\204XG\310U\203$\311\312\313\310\314\315\316\301!\317\"\320\321%D\322\312\313\323\324\315\316
!\325\"\326\327%\311EDC\217\210`=\203$\330\331\332`D\"\210\202$\303!\247\204t\302!\247\204l\333\334\335C\"\210\211B\262\202$\203\212\303!\302@!W\203\212A\262\202t\204\266\304\242\203\242\302!\247\203\242\211B\262\202$\330\331\302!\206\253\332`Eb\210\"\210\202$\211\203\313\303!\302@!U\203\313A\262\203\336\302!\247\203#B\262\202#\302!\247\204\361\330\331\307`E\"\210\202#\336!\204\377B\262\202#\211\203
\336@!\203
\330\331\302!\206\332`Eb\210\"\210\202#\211\262\210\266\203\2051\304\307\240\210\202 \207"
[#[nil "`\304`[!\210\305 V\203 \306
\203 \307\310w\210\311\202\364n\203-o\204-\312`\313\"b\210\311\202\364`V\203An\204A\314!\203A\315\202\364\316
\317
\203O\320\nP`Sf\321=\203e\322\323\n\"\203e\313u\210\324\nP\n\325\235\203x\326
\203t\n\202\363\327\202\363\n\330\232\203\224\331 \203\207\332\202\363\333
\203\220\334\202\363\n\202\363\335\n\310\336\322#)\266\203\203\256\337u\210\n\337\310O\202\363\n\340\232\203\312`Sf\341=\203\312\342\343!\203\312\313u\210\344
\202\363\n\345\232\203\362\346 \204\331\n\202\363\212\337v\210\304d!\210`)\305
V\203\356\344 \202\363\311\202\363\n*)\207" [pos dot tok
inhibit-changing-match-data forward-comment line-end-position
ruby-smie--implicit-semi-p " " nil ";" scan-sexps -1
ruby-smie--args-separator-p " @ " smie-default-backward-token
ruby-smie--at-dot-call "." 58 string-match "\\`\\s." ":" ("unless" "if" "while"
"until") ruby-smie--bosp "iuwu-mod" "|" ruby-smie--opening-pipe-p "opening-|"
ruby-smie--closing-pipe-p "closing-|" "\\`|[*&]\\'" t 1 "" 92 looking-at "\n"
ruby-smie--backward-token "do" ruby-smie--redundant-do-p] 7] #[128
"\300\301\302#\207" [apply ad-Advice-backward-sexp #[256
"\211\204\300\262\301[!\207" [1 forward-sexp] 3 2382034 "^p"] nil] 5 nil "^p"]
#<subr car> #[257 "\211A@\207" [] 2 1633439] (nil) smie-grammar assoc nil 0 err
funcall make-byte-code "\300\301!\210\302\207" vconcat vector [1 nil] 2
"\n\n(fn)" scan-error 257
"\3018`X\203 \3028\202 \211\300b\210\303\304\305\306\211`W\203%\307\202&\310\\\"E\"\207"
[2 3 throw return t buffer-substring-no-properties -1 1] 12 "\n\n(fn ERR)"
throw return t signal cl-assertion-failed (numberp (funcall op-forw toklevels))
smie--associative-p] 14 "\n\n(fn)"])
smie-next-sexp(#[nil "`\304`[!\210\305 V\203 \306
\203 \307\310w\210\311\202\364n\203-o\204-\312`\313\"b\210\311\202\364`V\203An\204A\314!\203A\315\202\364\316
\317
\203O\320\nP`Sf\321=\203e\322\323\n\"\203e\313u\210\324\nP\n\325\235\203x\326
\203t\n\202\363\327\202\363\n\330\232\203\224\331 \203\207\332\202\363\333
\203\220\334\202\363\n\202\363\335\n\310\336\322#)\266\203\203\256\337u\210\n\337\310O\202\363\n\340\232\203\312`Sf\341=\203\312\342\343!\203\312\313u\210\344
\202\363\n\345\232\203\362\346 \204\331\n\202\363\212\337v\210\304d!\210`)\305
V\203\356\344 \202\363\311\202\363\n*)\207" [pos dot tok
inhibit-changing-match-data forward-comment line-end-position
ruby-smie--implicit-semi-p " " nil ";" scan-sexps -1
ruby-smie--args-separator-p " @ " smie-default-backward-token
ruby-smie--at-dot-call "." 58 string-match "\\`\\s." ":" ("unless" "if" "while"
"until") ruby-smie--bosp "iuwu-mod" "|" ruby-smie--opening-pipe-p "opening-|"
ruby-smie--closing-pipe-p "closing-|" "\\`|[*&]\\'" t 1 "" 92 looking-at "\n"
ruby-smie--backward-token "do" ruby-smie--redundant-do-p] 7] #[128
"\300\301\302#\207" [apply ad-Advice-backward-sexp #[256
"\211\204\300\262\301[!\207" [1 forward-sexp] 3 2382034 "^p"] nil] 5 nil "^p"]
#<subr car> #[257 "\211A@\207" [] 2 1633439] ";")
smie-backward-sexp(";")
smie-indent-keyword()
run-hook-with-args-until-success(smie-indent-keyword)
smie-indent-calculate()
smie-indent-virtual()
smie-indent-after-keyword()
run-hook-with-args-until-success(smie-indent-after-keyword)
smie-indent-calculate()
#[0 "\212\301y\210\302\303w\210`\300\242Y\203 \300\303\240\210\304
\206 \301)\207" [(nil) 0 " " nil smie-indent-calculate] 2 "\n\n(fn)"]()
funcall(#[0 "\212\301y\210\302\303w\210`\300\242Y\203 \300\303\240\210\304
\206 \301)\207" [(nil) 0 " " nil smie-indent-calculate] 2 "\n\n(fn)"])
smie-indent-line()
indent-according-to-mode()
#[0 "\300\301!\210\302\303\301\"\210\304 \207" [delete-horizontal-space t
newline nil indent-according-to-mode] 3 1970172 "*"]()
ad-Advice-newline-and-indent(#[0 "\300\301!\210\302\303\301\"\210\304 \207"
[delete-horizontal-space t newline nil indent-according-to-mode] 3 1970172 "*"])
apply(ad-Advice-newline-and-indent #[0 "\300\301!\210\302\303\301\"\210\304
\207" [delete-horizontal-space t newline nil indent-according-to-mode] 3
1970172 "*"] nil)
newline-and-indent()
electric-newline-and-maybe-indent()
funcall-interactively(electric-newline-and-maybe-indent)
call-interactively(electric-newline-and-maybe-indent nil nil)
command-execute(electric-newline-and-maybe-indent)