Subject: 25.0.50; Unable to edebug diff-goto-source

From: Kaushal Modi <[email-masked]>
Date: Fri, 6 Nov 2015 18:27:53 -0500

I am unable to edebug certain functions. I have seen this for a while
but this time I am filing a report. I can consistently recreate this
issue in emacs -Q session.

STEPS:

- Open the lisp/vc/diff-mode.el file
- Navigate to diff-goto-source function (C-s defun diff-goto-source RET)
- C-M-x (or M-x edebug-defun)

You will get this error:

pcase--macroexpand: Unknown edebug-enter pattern: (edebug-enter (quote
diff-goto-source) nil (function (lambda nil (edebug-after 0 22
switched))))

==== BACKTRACE

Debugger entered--Lisp error: (error "Unknown edebug-enter pattern:
(edebug-enter (quote diff-goto-source) nil (function (lambda nil
(edebug-after 0 22 switched))))")
  signal(error ("Unknown edebug-enter pattern: (edebug-enter (quote
diff-goto-source) nil (function (lambda nil (edebug-after 0 22
switched))))"))
  error("Unknown %s pattern: %S" edebug-enter (edebug-enter (quote
diff-goto-source) nil (function (lambda nil (edebug-after 0 22
switched)))))
  pcase--macroexpand((edebug-enter (quote diff-goto-source) nil
(function (lambda nil (edebug-after 0 22 switched)))))
  pcase--macroexpand((\` (\, (edebug-enter (quote diff-goto-source)
nil (function (lambda nil (edebug-after 0 22 switched)))))))
  pcase--macroexpand((app car (\` (\, (edebug-enter (quote
diff-goto-source) nil (function (lambda nil (edebug-after 0 22
switched))))))))
  mapcar(pcase--macroexpand ((pred consp) (app car (\` (\,
(edebug-enter (quote diff-goto-source) nil (function (lambda nil
(edebug-after 0 22 switched))))))) (app cdr (\` nil))))
  pcase--macroexpand((and (pred consp) (app car (\` (\, (edebug-enter
(quote diff-goto-source) nil (function (lambda nil (edebug-after 0 22
switched))))))) (app cdr (\` nil))))
  pcase--macroexpand((\` ((\, (edebug-enter (quote diff-goto-source)
nil (function (lambda nil (edebug-after 0 22 switched))))))))
  pcase--macroexpand((app cdr (\` ((\, (edebug-enter (quote
diff-goto-source) nil (function (lambda nil (edebug-after 0 22
switched)))))))))
  mapcar(pcase--macroexpand ((pred consp) (app car (\` (\, _dst)))
(app cdr (\` ((\, (edebug-enter (quote diff-goto-source) nil (function
(lambda nil ...)))))))))
  pcase--macroexpand((and (pred consp) (app car (\` (\, _dst))) (app
cdr (\` ((\, (edebug-enter (quote diff-goto-source) nil (function
(lambda nil ...)))))))))
  pcase--macroexpand((\` ((\, _dst) (\, (edebug-enter (quote
diff-goto-source) nil (function (lambda nil (edebug-after 0 22
switched))))))))
  pcase--macroexpand((app cdr (\` ((\, _dst) (\, (edebug-enter (quote
diff-goto-source) nil (function (lambda nil (edebug-after 0 22
switched)))))))))
  mapcar(pcase--macroexpand ((pred consp) (app car (\` (\, src))) (app
cdr (\` ((\, _dst) (\, (edebug-enter (quote diff-goto-source) nil
(function (lambda nil ...)))))))))
  pcase--macroexpand((and (pred consp) (app car (\` (\, src))) (app
cdr (\` ((\, _dst) (\, (edebug-enter (quote diff-goto-source) nil
(function (lambda nil ...)))))))))
  pcase--macroexpand((\` ((\, src) (\, _dst) (\, (edebug-enter (quote
diff-goto-source) nil (function (lambda nil (edebug-after 0 22
switched))))))))
  pcase--macroexpand((app cdr (\` ((\, src) (\, _dst) (\,
(edebug-enter (quote diff-goto-source) nil (function (lambda nil
(edebug-after 0 22 switched)))))))))
  mapcar(pcase--macroexpand ((pred consp) (app car (\` (\, pos))) (app
cdr (\` ((\, src) (\, _dst) (\, (edebug-enter (quote diff-goto-source)
nil (function (lambda nil ...)))))))))
  pcase--macroexpand((and (pred consp) (app car (\` (\, pos))) (app
cdr (\` ((\, src) (\, _dst) (\, (edebug-enter (quote diff-goto-source)
nil (function (lambda nil ...)))))))))
  pcase--macroexpand((\` ((\, pos) (\, src) (\, _dst) (\,
(edebug-enter (quote diff-goto-source) nil (function (lambda nil
(edebug-after 0 22 switched))))))))
  pcase--macroexpand((app cdr (\` ((\, pos) (\, src) (\, _dst) (\,
(edebug-enter (quote diff-goto-source) nil (function (lambda nil
(edebug-after 0 22 switched)))))))))
  mapcar(pcase--macroexpand ((pred consp) (app car (\` (\,
line-offset))) (app cdr (\` ((\, pos) (\, src) (\, _dst) (\,
(edebug-enter (quote diff-goto-source) nil (function (lambda nil
...)))))))))
  pcase--macroexpand((and (pred consp) (app car (\` (\, line-offset)))
(app cdr (\` ((\, pos) (\, src) (\, _dst) (\, (edebug-enter (quote
diff-goto-source) nil (function (lambda nil ...)))))))))
  pcase--macroexpand((\` ((\, line-offset) (\, pos) (\, src) (\, _dst)
(\, (edebug-enter (quote diff-goto-source) nil (function (lambda nil
(edebug-after 0 22 switched))))))))
  pcase--macroexpand((app cdr (\` ((\, line-offset) (\, pos) (\, src)
(\, _dst) (\, (edebug-enter (quote diff-goto-source) nil (function
(lambda nil (edebug-after 0 22 switched)))))))))
  mapcar(pcase--macroexpand ((pred consp) (app car (\` (\, buf))) (app
cdr (\` ((\, line-offset) (\, pos) (\, src) (\, _dst) (\,
(edebug-enter (quote diff-goto-source) nil (function (lambda nil
...)))))))))
  pcase--macroexpand((and (pred consp) (app car (\` (\, buf))) (app
cdr (\` ((\, line-offset) (\, pos) (\, src) (\, _dst) (\,
(edebug-enter (quote diff-goto-source) nil (function (lambda nil
...)))))))))
  pcase--macroexpand((\` ((\, buf) (\, line-offset) (\, pos) (\, src)
(\, _dst) (\, (edebug-enter (quote diff-goto-source) nil (function
(lambda nil (edebug-after 0 22 switched))))))))
  #[257 "\303\300\304 @!\"\305\306\307\310\311\301\302  #\312\"\313\314%D\207"
[val #[514 "\211C \301\242\236\211\204
\302  \242\"\301  \242 E\301\242B\240\210\211\262 \202\202
\211@ A\211@ A\211@\2119\204`
\303\304\305\300\242G\"!\300 \306\307\310  \"
BBD\300\242B\240\210 \311\240\210  \307\312  \"B\241\210  AA
\240\210\262   \313  \242!\240\210\307\314\315\316\317\320
\f!\321\"\322\323% \"\311  BB\262 \266\205\262 \207"
[(nil) (nil) pcase-codegen make-symbol format "pcase-%d" lambda mapcar
car funcall cdr copy-sequence make-byte-code 257
"\211@\300\242\236\300\301 \300\242\"\240\210\211A\207" vconcat vector
[delq] 6 "\n\n(fn PA)"] 16 "\n\n(fn CODE VARS)"] (nil) pcase--match
pcase--macroexpand make-byte-code 257 "\302\301\242>\204
\301\302\301\242B\240\210\303\302A!\203  \304\202  \300\302A \"\207"
vconcat vector [pcase--small-branch-p pcase-codegen] 4 "\n\n(fn
VARS)"] 10 "\n\n(fn CASE)"](((\` ((\, buf) (\, line-offset) (\, pos)
(\, src) (\, _dst) (\, (edebug-enter (quote diff-goto-source) nil
(function (lambda nil (edebug-after 0 22 switched))))))) (progn
(edebug-after (edebug-before 27) 29 (pop-to-buffer (edebug-after 0 28
buf))) (edebug-after (edebug-before 30) 39 (goto-char (edebug-after
(edebug-before 31) 38 (+ (edebug-after (edebug-before 32) 34 (car
...)) (edebug-after (edebug-before 35) 37 (cdr ...)))))) (edebug-after
(edebug-before 40) 46 (diff-hunk-status-msg (edebug-after 0 41
line-offset) (edebug-after (edebug-before 42) 45 (diff-xor
(edebug-after 0 43 rev) (edebug-after 0 44 switched))) t)))))
  mapcar(#[257 "\303\300\304 @!\"\305\306\307\310\311\301\302
#\312\"\313\314%D\207"
[val #[514 "\211C \301\242\236\211\204
\302  \242\"\301  \242 E\301\242B\240\210\211\262 \202\202
\211@ A\211@ A\211@\2119\204`
\303\304\305\300\242G\"!\300 \306\307\310  \"
BBD\300\242B\240\210 \311\240\210  \307\312  \"B\241\210  AA
\240\210\262   \313  \242!\240\210\307\314\315\316\317\320
\f!\321\"\322\323% \"\311  BB\262 \266\205\262 \207"
[(nil) (nil) pcase-codegen make-symbol format "pcase-%d" lambda mapcar
car funcall cdr copy-sequence make-byte-code 257
"\211@\300\242\236\300\301 \300\242\"\240\210\211A\207" vconcat vector
[delq] 6 "\n\n(fn PA)"] 16 "\n\n(fn CODE VARS)"] (nil) pcase--match
pcase--macroexpand make-byte-code 257 "\302\301\242>\204
\301\302\301\242B\240\210\303\302A!\203  \304\202  \300\302A \"\207"
vconcat vector [pcase--small-branch-p pcase-codegen] 4 "\n\n(fn
VARS)"] 10 "\n\n(fn CASE)"] (((\` ((\, buf) (\, line-offset) (\, pos)
(\, src) (\, _dst) (\, (edebug-enter (quote diff-goto-source) nil
(function (lambda nil ...)))))) (progn (edebug-after (edebug-before
27) 29 (pop-to-buffer (edebug-after 0 28 buf))) (edebug-after
(edebug-before 30) 39 (goto-char (edebug-after (edebug-before 31) 38
(+ (edebug-after ... 34 ...) (edebug-after ... 37 ...)))))
(edebug-after (edebug-before 40) 46 (diff-hunk-status-msg
(edebug-after 0 41 line-offset) (edebug-after (edebug-before 42) 45
(diff-xor (edebug-after 0 43 rev) (edebug-after 0 44 switched))) t))))
(pcase--dontcare nil)))
  pcase--expand((edebug-after (edebug-before 23) 26
(diff-find-source-location (edebug-after 0 24 other-file)
(edebug-after 0 25 rev))) (((\` ((\, buf) (\, line-offset) (\, pos)
(\, src) (\, _dst) (\, (edebug-enter (quote diff-goto-source) nil
(function (lambda nil ...)))))) (progn (edebug-after (edebug-before
27) 29 (pop-to-buffer (edebug-after 0 28 buf))) (edebug-after
(edebug-before 30) 39 (goto-char (edebug-after (edebug-before 31) 38
(+ (edebug-after ... 34 ...) (edebug-after ... 37 ...)))))
(edebug-after (edebug-before 40) 46 (diff-hunk-status-msg
(edebug-after 0 41 line-offset) (edebug-after (edebug-before 42) 45
(diff-xor (edebug-after 0 43 rev) (edebug-after 0 44 switched))) t))))
(pcase--dontcare nil)))
  pcase--let*((((\` ((\, buf) (\, line-offset) (\, pos) (\, src) (\,
_dst) (\, (edebug-enter (quote diff-goto-source) nil (function (lambda
nil ...)))))) (edebug-after (edebug-before 23) 26
(diff-find-source-location (edebug-after 0 24 other-file)
(edebug-after 0 25 rev))))) ((edebug-after (edebug-before 27) 29
(pop-to-buffer (edebug-after 0 28 buf))) (edebug-after (edebug-before
30) 39 (goto-char (edebug-after (edebug-before 31) 38 (+ (edebug-after
(edebug-before 32) 34 (car (edebug-after 0 33 pos))) (edebug-after
(edebug-before 35) 37 (cdr (edebug-after 0 36 src))))))) (edebug-after
(edebug-before 40) 46 (diff-hunk-status-msg (edebug-after 0 41
line-offset) (edebug-after (edebug-before 42) 45 (diff-xor
(edebug-after 0 43 rev) (edebug-after 0 44 switched))) t))))
  #[385 "\301  \"\211@ \232\203  \211A\202
\302  \"\303   B #\210\211\262 \207" [pcase--memoize gethash
pcase--let* puthash] 8
("/home/kmodi/usr_local/apps/6/emacs/master/share/emacs/25.0.50/lisp/emacs-lisp/pcase.elc"
. 5678)]((((\` ((\, buf) (\, line-offset) (\, pos) (\, src) (\, _dst)
(\, (edebug-enter (quote diff-goto-source) nil (function (lambda nil
...)))))) (edebug-after (edebug-before 23) 26
(diff-find-source-location (edebug-after 0 24 other-file)
(edebug-after 0 25 rev))))) (edebug-after (edebug-before 27) 29
(pop-to-buffer (edebug-after 0 28 buf))) (edebug-after (edebug-before
30) 39 (goto-char (edebug-after (edebug-before 31) 38 (+ (edebug-after
(edebug-before 32) 34 (car (edebug-after 0 33 pos))) (edebug-after
(edebug-before 35) 37 (cdr (edebug-after 0 36 src))))))) (edebug-after
(edebug-before 40) 46 (diff-hunk-status-msg (edebug-after 0 41
line-offset) (edebug-after (edebug-before 42) 45 (diff-xor
(edebug-after 0 43 rev) (edebug-after 0 44 switched))) t)))
  macroexpand((pcase-let (((\` ((\, buf) (\, line-offset) (\, pos) (\,
src) (\, _dst) (\, (edebug-enter (quote diff-goto-source) nil
(function ...))))) (edebug-after (edebug-before 23) 26
(diff-find-source-location (edebug-after 0 24 other-file)
(edebug-after 0 25 rev))))) (edebug-after (edebug-before 27) 29
(pop-to-buffer (edebug-after 0 28 buf))) (edebug-after (edebug-before
30) 39 (goto-char (edebug-after (edebug-before 31) 38 (+ (edebug-after
(edebug-before 32) 34 (car (edebug-after 0 33 pos))) (edebug-after
(edebug-before 35) 37 (cdr (edebug-after 0 36 src))))))) (edebug-after
(edebug-before 40) 46 (diff-hunk-status-msg (edebug-after 0 41
line-offset) (edebug-after (edebug-before 42) 45 (diff-xor
(edebug-after 0 43 rev) (edebug-after 0 44 switched))) t))) nil)
  macroexp-macroexpand((pcase-let (((\` ((\, buf) (\, line-offset) (\,
pos) (\, src) (\, _dst) (\, (edebug-enter (quote diff-goto-source) nil
(function ...))))) (edebug-after (edebug-before 23) 26
(diff-find-source-location (edebug-after 0 24 other-file)
(edebug-after 0 25 rev))))) (edebug-after (edebug-before 27) 29
(pop-to-buffer (edebug-after 0 28 buf))) (edebug-after (edebug-before
30) 39 (goto-char (edebug-after (edebug-before 31) 38 (+ (edebug-after
(edebug-before 32) 34 (car (edebug-after 0 33 pos))) (edebug-after
(edebug-before 35) 37 (cdr (edebug-after 0 36 src))))))) (edebug-after
(edebug-before 40) 46 (diff-hunk-status-msg (edebug-after 0 41
line-offset) (edebug-after (edebug-before 42) 45 (diff-xor
(edebug-after 0 43 rev) (edebug-after 0 44 switched))) t))) nil)
  macroexp--expand-all((pcase-let (((\` ((\, buf) (\, line-offset) (\,
pos) (\, src) (\, _dst) (\, (edebug-enter (quote diff-goto-source) nil
(function ...))))) (edebug-after (edebug-before 23) 26
(diff-find-source-location (edebug-after 0 24 other-file)
(edebug-after 0 25 rev))))) (edebug-after (edebug-before 27) 29
(pop-to-buffer (edebug-after 0 28 buf))) (edebug-after (edebug-before
30) 39 (goto-char (edebug-after (edebug-before 31) 38 (+ (edebug-after
(edebug-before 32) 34 (car (edebug-after 0 33 pos))) (edebug-after
(edebug-before 35) 37 (cdr (edebug-after 0 36 src))))))) (edebug-after
(edebug-before 40) 46 (diff-hunk-status-msg (edebug-after 0 41
line-offset) (edebug-after (edebug-before 42) 45 (diff-xor
(edebug-after 0 43 rev) (edebug-after 0 44 switched))) t))))
  macroexp--all-forms((edebug-after (edebug-before 21) 47 (pcase-let
(((\` ((\, buf) (\, line-offset) (\, pos) (\, src) (\, _dst) (\,
(edebug-enter ... nil ...)))) (edebug-after (edebug-before 23) 26
(diff-find-source-location (edebug-after 0 24 other-file)
(edebug-after 0 25 rev))))) (edebug-after (edebug-before 27) 29
(pop-to-buffer (edebug-after 0 28 buf))) (edebug-after (edebug-before
30) 39 (goto-char (edebug-after (edebug-before 31) 38 (+ (edebug-after
(edebug-before 32) 34 (car ...)) (edebug-after (edebug-before 35) 37
(cdr ...)))))) (edebug-after (edebug-before 40) 46
(diff-hunk-status-msg (edebug-after 0 41 line-offset) (edebug-after
(edebug-before 42) 45 (diff-xor (edebug-after 0 43 rev) (edebug-after
0 44 switched))) t)))) 1)
  #[514 "\300 \301\"\211\204  \302 \242\303\"\202g \304 !\204+ \3051$
\306\307 ! \"0\202* \310\311 \"\262 \210\312  \242\" \242 =\203b
 \242\302 \242\303\"\211\262 \232\203J  \242\202e
 \312  \"\240\210\211 \242=\203\\ \211\202e \313 !\202e
\313 !\262 \207" [function-get compiler-macro macroexp--all-forms 1
functionp (debug error) autoload-do-load indirect-function message
"macroexp--expand-all: %S" macroexp--compiler-macro
macroexp--expand-all] 8 "\n\n(fn FORM FUNC)"](((edebug-after
(edebug-before 21) 47 (pcase-let (((\` ((\, buf) (\, line-offset) (\,
pos) (\, src) (\, _dst) (\, ...))) (edebug-after (edebug-before 23) 26
(diff-find-source-location (edebug-after 0 24 other-file)
(edebug-after 0 25 rev))))) (edebug-after (edebug-before 27) 29
(pop-to-buffer (edebug-after 0 28 buf))) (edebug-after (edebug-before
30) 39 (goto-char (edebug-after (edebug-before 31) 38 (+ (edebug-after
... 34 ...) (edebug-after ... 37 ...))))) (edebug-after (edebug-before
40) 46 (diff-hunk-status-msg (edebug-after 0 41 line-offset)
(edebug-after (edebug-before 42) 45 (diff-xor (edebug-after 0 43 rev)
(edebug-after 0 44 switched))) t))))) edebug-after)
  macroexp--expand-all((edebug-after (edebug-before 21) 47 (pcase-let
(((\` ((\, buf) (\, line-offset) (\, pos) (\, src) (\, _dst) (\,
(edebug-enter ... nil ...)))) (edebug-after (edebug-before 23) 26
(diff-find-source-location (edebug-after 0 24 other-file)
(edebug-after 0 25 rev))))) (edebug-after (edebug-before 27) 29
(pop-to-buffer (edebug-after 0 28 buf))) (edebug-after (edebug-before
30) 39 (goto-char (edebug-after (edebug-before 31) 38 (+ (edebug-after
(edebug-before 32) 34 (car ...)) (edebug-after (edebug-before 35) 37
(cdr ...)))))) (edebug-after (edebug-before 40) 46
(diff-hunk-status-msg (edebug-after 0 41 line-offset) (edebug-after
(edebug-before 42) 45 (diff-xor (edebug-after 0 43 rev) (edebug-after
0 44 switched))) t)))))
  macroexp--all-forms(((edebug-after (edebug-before 21) 47 (pcase-let
(((\` ((\, buf) (\, line-offset) (\, pos) (\, src) (\, _dst) (\,
...))) (edebug-after (edebug-before 23) 26 (diff-find-source-location
(edebug-after 0 24 other-file) (edebug-after 0 25 rev)))))
(edebug-after (edebug-before 27) 29 (pop-to-buffer (edebug-after 0 28
buf))) (edebug-after (edebug-before 30) 39 (goto-char (edebug-after
(edebug-before 31) 38 (+ (edebug-after ... 34 ...) (edebug-after ...
37 ...))))) (edebug-after (edebug-before 40) 46 (diff-hunk-status-msg
(edebug-after 0 41 line-offset) (edebug-after (edebug-before 42) 45
(diff-xor (edebug-after 0 43 rev) (edebug-after 0 44 switched)))
t))))))
  #[1028 "\300 \300\301 \302\"\303  !  \242A#  \242#\207"
[macroexp--cons macroexp--all-clauses 1 macroexp--all-forms] 10
"\n\n(fn FORM BODY BINDINGS FUN)"](((let ((rev (edebug-after
(edebug-before 13) 20 (not (edebug-after (edebug-before 14) 19
(save-excursion ... ...)))))) (edebug-after (edebug-before 21) 47
(pcase-let (((\` (... ... ... ... ... ...)) (edebug-after
(edebug-before 23) 26 (diff-find-source-location ... ...))))
(edebug-after (edebug-before 27) 29 (pop-to-buffer (edebug-after 0 28
buf))) (edebug-after (edebug-before 30) 39 (goto-char (edebug-after
(edebug-before 31) 38 (+ ... ...)))) (edebug-after (edebug-before 40)
46 (diff-hunk-status-msg (edebug-after 0 41 line-offset) (edebug-after
(edebug-before 42) 45 (diff-xor ... ...)) t)))))) ((edebug-after
(edebug-before 21) 47 (pcase-let (((\` ((\, buf) (\, line-offset) (\,
pos) (\, src) (\, _dst) (\, ...))) (edebug-after (edebug-before 23) 26
(diff-find-source-location (edebug-after 0 24 other-file)
(edebug-after 0 25 rev))))) (edebug-after (edebug-before 27) 29
(pop-to-buffer (edebug-after 0 28 buf))) (edebug-after (edebug-before
30) 39 (goto-char (edebug-after (edebug-before 31) 38 (+ (edebug-after
... 34 ...) (edebug-after ... 37 ...))))) (edebug-after (edebug-before
40) 46 (diff-hunk-status-msg (edebug-after 0 41 line-offset)
(edebug-after (edebug-before 42) 45 (diff-xor (edebug-after 0 43 rev)
(edebug-after 0 44 switched))) t))))) ((rev (edebug-after
(edebug-before 13) 20 (not (edebug-after (edebug-before 14) 19
(save-excursion (edebug-after (edebug-before 15) 16
(beginning-of-line)) (edebug-after (edebug-before 17) 18 (looking-at
"[-<]")))))))) let)
  macroexp--expand-all((let ((rev (edebug-after (edebug-before 13) 20
(not (edebug-after (edebug-before 14) 19 (save-excursion (edebug-after
... 16 ...) (edebug-after ... 18 ...))))))) (edebug-after
(edebug-before 21) 47 (pcase-let (((\` ((\, buf) (\, line-offset) (\,
pos) (\, src) (\, _dst) (\, ...))) (edebug-after (edebug-before 23) 26
(diff-find-source-location (edebug-after 0 24 other-file)
(edebug-after 0 25 rev))))) (edebug-after (edebug-before 27) 29
(pop-to-buffer (edebug-after 0 28 buf))) (edebug-after (edebug-before
30) 39 (goto-char (edebug-after (edebug-before 31) 38 (+ (edebug-after
... 34 ...) (edebug-after ... 37 ...))))) (edebug-after (edebug-before
40) 46 (diff-hunk-status-msg (edebug-after 0 41 line-offset)
(edebug-after (edebug-before 42) 45 (diff-xor (edebug-after 0 43 rev)
(edebug-after 0 44 switched))) t))))))
  macroexp--all-forms((edebug-after (edebug-before 12) 48 (let ((rev
(edebug-after (edebug-before 13) 20 (not (edebug-after (edebug-before
14) 19 (save-excursion ... ...)))))) (edebug-after (edebug-before 21)
47 (pcase-let (((\` (... ... ... ... ... ...)) (edebug-after
(edebug-before 23) 26 (diff-find-source-location ... ...))))
(edebug-after (edebug-before 27) 29 (pop-to-buffer (edebug-after 0 28
buf))) (edebug-after (edebug-before 30) 39 (goto-char (edebug-after
(edebug-before 31) 38 (+ ... ...)))) (edebug-after (edebug-before 40)
46 (diff-hunk-status-msg (edebug-after 0 41 line-offset) (edebug-after
(edebug-before 42) 45 (diff-xor ... ...)) t)))))) 1)
  #[514 "\300 \301\"\211\204  \302 \242\303\"\202g \304 !\204+ \3051$
\306\307 ! \"0\202* \310\311 \"\262 \210\312  \242\" \242 =\203b
 \242\302 \242\303\"\211\262 \232\203J  \242\202e
 \312  \"\240\210\211 \242=\203\\ \211\202e \313 !\202e
\313 !\262 \207" [function-get compiler-macro macroexp--all-forms 1
functionp (debug error) autoload-do-load indirect-function message
"macroexp--expand-all: %S" macroexp--compiler-macro
macroexp--expand-all] 8 "\n\n(fn FORM FUNC)"](((edebug-after
(edebug-before 12) 48 (let ((rev (edebug-after (edebug-before 13) 20
(not (edebug-after ... 19 ...))))) (edebug-after (edebug-before 21) 47
(pcase-let (((\` ...) (edebug-after ... 26 ...))) (edebug-after
(edebug-before 27) 29 (pop-to-buffer (edebug-after 0 28 buf)))
(edebug-after (edebug-before 30) 39 (goto-char (edebug-after ... 38
...))) (edebug-after (edebug-before 40) 46 (diff-hunk-status-msg
(edebug-after 0 41 line-offset) (edebug-after ... 45 ...) t)))))))
edebug-after)
  macroexp--expand-all((edebug-after (edebug-before 12) 48 (let ((rev
(edebug-after (edebug-before 13) 20 (not (edebug-after (edebug-before
14) 19 (save-excursion ... ...)))))) (edebug-after (edebug-before 21)
47 (pcase-let (((\` (... ... ... ... ... ...)) (edebug-after
(edebug-before 23) 26 (diff-find-source-location ... ...))))
(edebug-after (edebug-before 27) 29 (pop-to-buffer (edebug-after 0 28
buf))) (edebug-after (edebug-before 30) 39 (goto-char (edebug-after
(edebug-before 31) 38 (+ ... ...)))) (edebug-after (edebug-before 40)
46 (diff-hunk-status-msg (edebug-after 0 41 line-offset) (edebug-after
(edebug-before 42) 45 (diff-xor ... ...)) t)))))))
  macroexp--all-forms((lambda nil (edebug-after (edebug-before 4) 11
(if (edebug-after 0 5 event) (edebug-after (edebug-before 6) 10
(posn-set-point (edebug-after (edebug-before 7) 9 (event-end
(edebug-after 0 8 event))))))) (edebug-after (edebug-before 12) 48
(let ((rev (edebug-after (edebug-before 13) 20 (not (edebug-after ...
19 ...))))) (edebug-after (edebug-before 21) 47 (pcase-let (((\` ...)
(edebug-after ... 26 ...))) (edebug-after (edebug-before 27) 29
(pop-to-buffer (edebug-after 0 28 buf))) (edebug-after (edebug-before
30) 39 (goto-char (edebug-after ... 38 ...))) (edebug-after
(edebug-before 40) 46 (diff-hunk-status-msg (edebug-after 0 41
line-offset) (edebug-after ... 45 ...) t))))))) 2)
  macroexp--expand-all((function (lambda nil (edebug-after
(edebug-before 4) 11 (if (edebug-after 0 5 event) (edebug-after
(edebug-before 6) 10 (posn-set-point (edebug-after (edebug-before 7) 9
(event-end ...)))))) (edebug-after (edebug-before 12) 48 (let ((rev
(edebug-after (edebug-before 13) 20 (not ...)))) (edebug-after
(edebug-before 21) 47 (pcase-let ((... ...)) (edebug-after
(edebug-before 27) 29 (pop-to-buffer ...)) (edebug-after
(edebug-before 30) 39 (goto-char ...)) (edebug-after (edebug-before
40) 46 (diff-hunk-status-msg ... ... t)))))))))
  macroexp--all-forms((edebug-enter (quote diff-goto-source) (list
other-file event) (function (lambda nil (edebug-after (edebug-before
4) 11 (if (edebug-after 0 5 event) (edebug-after (edebug-before 6) 10
(posn-set-point (edebug-after ... 9 ...))))) (edebug-after
(edebug-before 12) 48 (let ((rev (edebug-after ... 20 ...)))
(edebug-after (edebug-before 21) 47 (pcase-let (...) (edebug-after ...
29 ...) (edebug-after ... 39 ...) (edebug-after ... 46 ...)))))))) 1)
  #[514 "\300 \301\"\211\204  \302 \242\303\"\202g \304 !\204+ \3051$
\306\307 ! \"0\202* \310\311 \"\262 \210\312  \242\" \242 =\203b
 \242\302 \242\303\"\211\262 \232\203J  \242\202e
 \312  \"\240\210\211 \242=\203\\ \211\202e \313 !\202e
\313 !\262 \207" [function-get compiler-macro macroexp--all-forms 1
functionp (debug error) autoload-do-load indirect-function message
"macroexp--expand-all: %S" macroexp--compiler-macro
macroexp--expand-all] 8 "\n\n(fn FORM FUNC)"](((edebug-enter (quote
diff-goto-source) (list other-file event) (function (lambda nil
(edebug-after (edebug-before 4) 11 (if (edebug-after 0 5 event)
(edebug-after (edebug-before 6) 10 (posn-set-point ...))))
(edebug-after (edebug-before 12) 48 (let ((rev ...)) (edebug-after
(edebug-before 21) 47 (pcase-let ... ... ... ...)))))))) edebug-enter)
  macroexp--expand-all((edebug-enter (quote diff-goto-source) (list
other-file event) (function (lambda nil (edebug-after (edebug-before
4) 11 (if (edebug-after 0 5 event) (edebug-after (edebug-before 6) 10
(posn-set-point (edebug-after ... 9 ...))))) (edebug-after
(edebug-before 12) 48 (let ((rev (edebug-after ... 20 ...)))
(edebug-after (edebug-before 21) 47 (pcase-let (...) (edebug-after ...
29 ...) (edebug-after ... 39 ...) (edebug-after ... 46 ...)))))))))
  macroexp--all-forms((lambda (&optional other-file event) "Jump to
the corresponding source line.\n`diff-jump-to-old-file' (or its
opposite if the OTHER-FILE prefix arg\nis given) determines whether to
jump to the old or the new file.\nIf the prefix arg is bigger than 8
(for example with \\[universal-argument] \\[universal-argument])\nthen
`diff-jump-to-old-file' is also set, for the next invocations."
(interactive (edebug-enter (quote diff-goto-source) nil (function
(lambda nil (edebug-after (edebug-before 0) 3 (list (edebug-after 0 1
current-prefix-arg) (edebug-after 0 2 last-input-event)))))))
(edebug-enter (quote diff-goto-source) (list other-file event)
(function (lambda nil (edebug-after (edebug-before 4) 11 (if
(edebug-after 0 5 event) (edebug-after (edebug-before 6) 10
(posn-set-point ...)))) (edebug-after (edebug-before 12) 48 (let ((rev
...)) (edebug-after (edebug-before 21) 47 (pcase-let ... ... ...
...)))))))) 2)
  macroexp--expand-all((function (lambda (&optional other-file event)
"Jump to the corresponding source line.\n`diff-jump-to-old-file' (or
its opposite if the OTHER-FILE prefix arg\nis given) determines
whether to jump to the old or the new file.\nIf the prefix arg is
bigger than 8 (for example with \\[universal-argument]
\\[universal-argument])\nthen `diff-jump-to-old-file' is also set, for
the next invocations." (interactive (edebug-enter (quote
diff-goto-source) nil (function (lambda nil (edebug-after
(edebug-before 0) 3 (list ... ...)))))) (edebug-enter (quote
diff-goto-source) (list other-file event) (function (lambda nil
(edebug-after (edebug-before 4) 11 (if (edebug-after 0 5 event)
(edebug-after ... 10 ...))) (edebug-after (edebug-before 12) 48 (let
(...) (edebug-after ... 47 ...)))))))))
  macroexp--all-forms((defalias (quote diff-goto-source) (function
(lambda (&optional other-file event) "Jump to the corresponding source
line.\n`diff-jump-to-old-file' (or its opposite if the OTHER-FILE
prefix arg\nis given) determines whether to jump to the old or the new
file.\nIf the prefix arg is bigger than 8 (for example with
\\[universal-argument] \\[universal-argument])\nthen
`diff-jump-to-old-file' is also set, for the next invocations."
(interactive (edebug-enter (quote diff-goto-source) nil (function
(lambda nil (edebug-after ... 3 ...))))) (edebug-enter (quote
diff-goto-source) (list other-file event) (function (lambda nil
(edebug-after (edebug-before 4) 11 (if ... ...)) (edebug-after
(edebug-before 12) 48 (let ... ...)))))))) 1)
  #[514 "\300 \301\"\211\204  \302 \242\303\"\202g \304 !\204+ \3051$
\306\307 ! \"0\202* \310\311 \"\262 \210\312  \242\" \242 =\203b
 \242\302 \242\303\"\211\262 \232\203J  \242\202e
 \312  \"\240\210\211 \242=\203\\ \211\202e \313 !\202e
\313 !\262 \207" [function-get compiler-macro macroexp--all-forms 1
functionp (debug error) autoload-do-load indirect-function message
"macroexp--expand-all: %S" macroexp--compiler-macro
macroexp--expand-all] 8 "\n\n(fn FORM FUNC)"](((defalias (quote
diff-goto-source) (function (lambda (&optional other-file event) "Jump
to the corresponding source line.\n`diff-jump-to-old-file' (or its
opposite if the OTHER-FILE prefix arg\nis given) determines whether to
jump to the old or the new file.\nIf the prefix arg is bigger than 8
(for example with \\[universal-argument] \\[universal-argument])\nthen
`diff-jump-to-old-file' is also set, for the next invocations."
(interactive (edebug-enter (quote diff-goto-source) nil (function
(lambda nil ...)))) (edebug-enter (quote diff-goto-source) (list
other-file event) (function (lambda nil (edebug-after ... 11 ...)
(edebug-after ... 48 ...)))))))) defalias)
  macroexp--expand-all((defun diff-goto-source (&optional other-file
event) "Jump to the corresponding source
line.\n`diff-jump-to-old-file' (or its opposite if the OTHER-FILE
prefix arg\nis given) determines whether to jump to the old or the new
file.\nIf the prefix arg is bigger than 8 (for example with
\\[universal-argument] \\[universal-argument])\nthen
`diff-jump-to-old-file' is also set, for the next invocations."
(interactive (edebug-enter (quote diff-goto-source) nil (function
(lambda nil (edebug-after (edebug-before 0) 3 (list (edebug-after 0 1
current-prefix-arg) (edebug-after 0 2 last-input-event)))))))
(edebug-enter (quote diff-goto-source) (list other-file event)
(function (lambda nil (edebug-after (edebug-before 4) 11 (if
(edebug-after 0 5 event) (edebug-after (edebug-before 6) 10
(posn-set-point ...)))) (edebug-after (edebug-before 12) 48 (let ((rev
...)) (edebug-after (edebug-before 21) 47 (pcase-let ... ... ...
...)))))))))
  macroexpand-all((defun diff-goto-source (&optional other-file event)
"Jump to the corresponding source line.\n`diff-jump-to-old-file' (or
its opposite if the OTHER-FILE prefix arg\nis given) determines
whether to jump to the old or the new file.\nIf the prefix arg is
bigger than 8 (for example with \\[universal-argument]
\\[universal-argument])\nthen `diff-jump-to-old-file' is also set, for
the next invocations." (interactive (edebug-enter (quote
diff-goto-source) nil (function (lambda nil (edebug-after
(edebug-before 0) 3 (list (edebug-after 0 1 current-prefix-arg)
(edebug-after 0 2 last-input-event))))))) (edebug-enter (quote
diff-goto-source) (list other-file event) (function (lambda nil
(edebug-after (edebug-before 4) 11 (if (edebug-after 0 5 event)
(edebug-after (edebug-before 6) 10 (posn-set-point ...))))
(edebug-after (edebug-before 12) 48 (let ((rev ...)) (edebug-after
(edebug-before 21) 47 (pcase-let ... ... ... ...)))))))))
  eval-sexp-add-defvars((defun diff-goto-source (&optional other-file
event) "Jump to the corresponding source
line.\n`diff-jump-to-old-file' (or its opposite if the OTHER-FILE
prefix arg\nis given) determines whether to jump to the old or the new
file.\nIf the prefix arg is bigger than 8 (for example with
\\[universal-argument] \\[universal-argument])\nthen
`diff-jump-to-old-file' is also set, for the next invocations."
(interactive (edebug-enter (quote diff-goto-source) nil (function
(lambda nil (edebug-after (edebug-before 0) 3 (list (edebug-after 0 1
current-prefix-arg) (edebug-after 0 2 last-input-event)))))))
(edebug-enter (quote diff-goto-source) (list other-file event)
(function (lambda nil (edebug-after (edebug-before 4) 11 (if
(edebug-after 0 5 event) (edebug-after (edebug-before 6) 10
(posn-set-point ...)))) (edebug-after (edebug-before 12) 48 (let ((rev
...)) (edebug-after (edebug-before 21) 47 (pcase-let ... ... ...
...)))))))))
  edebug-defun()
  funcall-interactively(edebug-defun)
  call-interactively(edebug-defun record nil)
  command-execute(edebug-defun record)
  execute-extended-command(nil "edebug-defun" nil)
  funcall-interactively(execute-extended-command nil "edebug-defun" nil)
  call-interactively(execute-extended-command nil nil)
  command-execute(execute-extended-command)

==== M-x report-emacs-bug generated info

In GNU Emacs 25.0.50.1 (x86_64-unknown-linux-gnu, GTK+ Version 2.24.23)
 of 2015-11-04
Repository revision: 54e2ed97bf904eda2ee5ae9b7822288e10b3abc5
Windowing system distributor 'The X.Org Foundation', version 11.0.60900000
System Description: Red Hat Enterprise Linux Workstation release 6.6 (Santiago)

Configured using:
 'configure --prefix=/home/kmodi/usr_local/apps/6/emacs/master
 'CPPFLAGS=-fgnu89-inline -I/home/kmodi/usr_local/6/include
 -I/usr/include/freetype2 -I/usr/include' 'CFLAGS=-ggdb3 -O0'
 'CXXFLAGS=-ggdb3 -O0' 'LDFLAGS=-L/home/kmodi/usr_local/6/lib
 -L/home/kmodi/usr_local/6/lib64 -ggdb3''

Configured features:
XPM JPEG TIFF GIF PNG RSVG IMAGEMAGICK SOUND GPM DBUS GCONF GSETTINGS
NOTIFY ACL LIBSELINUX GNUTLS LIBXML2 FREETYPE LIBOTF XFT ZLIB
TOOLKIT_SCROLL_BARS GTK2 X11

Important settings:
  value of $LANG: en_US.UTF-8
  value of $XMODIFIERS: @im=none
  locale-coding-system: utf-8-unix

Major mode: Debugger

Minor modes in effect:
  diff-auto-refine-mode: t
  tooltip-mode: t
  global-eldoc-mode: t
  electric-indent-mode: t
  mouse-wheel-mode: t
  tool-bar-mode: t
  menu-bar-mode: t
  file-name-shadow-mode: t
  global-font-lock-mode: t
  font-lock-mode: t
  blink-cursor-mode: t
  auto-composition-mode: t
  auto-encryption-mode: t
  auto-compression-mode: t
  buffer-read-only: t
  line-number-mode: t
  transient-mark-mode: t

Recent messages:
Undo!
Mark saved where search started
Edebug: diff-goto-source
pcase--macroexpand: Unknown edebug-enter pattern: (edebug-enter (quote
diff-goto-source) nil (function (lambda nil (edebug-after 0 22
switched))))
Debug on Error enabled globally
You can run the command ‘toggle-debug-on-error’ with M-x t-er RET
Debug on Error enabled globally
Edebug: diff-goto-source
Entering debugger...
Making completion list...

Load-path shadows:
None found.

Features:
(shadow sort gnus-util mail-extr emacsbug message dired format-spec
rfc822 mml mml-sec mm-decode mm-bodies mm-encode mail-parse rfc2231
mailabbrev gmm-utils mailheader sendmail rfc2047 rfc2045 ietf-drums
mm-util help-fns mail-prsvr mail-utils help-mode debug cus-start
cus-load edebug misearch multi-isearch vc cl-loaddefs pcase cl-lib
vc-dispatcher vc-git diff-mode easymenu easy-mmode time-date mule-util
tooltip eldoc electric uniquify ediff-hook vc-hooks lisp-float-type
mwheel x-win term/common-win x-dnd tool-bar dnd fontset image regexp-opt
fringe tabulated-list newcomment elisp-mode lisp-mode prog-mode register
page menu-bar rfn-eshadow timer select scroll-bar mouse jit-lock
font-lock syntax facemenu font-core frame cl-generic cham georgian
utf-8-lang misc-lang vietnamese tibetan thai tai-viet lao korean
japanese eucjp-ms cp51932 hebrew greek romanian slovak czech european
ethiopic indian cyrillic chinese charscript case-table epa-hook
jka-cmpr-hook help simple abbrev minibuffer cl-preloaded nadvice
loaddefs button faces cus-face macroexp files text-properties overlay
sha1 md5 base64 format env code-pages mule custom widget
hashtable-print-readable backquote dbusbind inotify dynamic-setting
system-font-setting font-render-setting move-toolbar gtk x-toolkit x
multi-tty make-network-process emacs)

Memory information:
((conses 16 100165 5930)
 (symbols 48 21341 0)
 (miscs 40 72 183)
 (strings 32 17698 4157)
 (string-bytes 1 528409)
 (vectors 16 12978)
 (vector-slots 8 442318 4498)
 (floats 8 148 131)
 (intervals 56 1129 10)
 (buffers 976 14)
 (heap 1024 32588 732))

--
Kaushal Modi