bug-gnu-emacs
[Top][All Lists]
Advanced

[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\"address@hidden"address@hidden"\210\202#\336!\204\377B\262\202#\211\203
 address@hidden 
\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 "address@hidden" [] 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\"address@hidden"address@hidden"\210\202#\336!\204\377B\262\202#\211\203
 address@hidden 
\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 "address@hidden" [] 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 "address@hidden" [] 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)

      





reply via email to

[Prev in Thread] Current Thread [Next in Thread]