* Help Debugging Change In Behavior (Last 30 Days)
@ 2023-06-27 14:46 T.V Raman
2023-06-27 15:37 ` T.V Raman
2023-06-27 15:40 ` Mattias Engdegård
0 siblings, 2 replies; 4+ messages in thread
From: T.V Raman @ 2023-06-27 14:46 UTC (permalink / raw)
To: emacs-devel
I have a fairly complex piece of code at
https://github.com/tvraman/emacspeak/blob/master/lisp/emacspeak-google.el#L475
that generates a bunch of functions.
The code works correctly in Emacs 30 built on May 25,2023 but bombs
with a hard to explain error in Emacs 30 built on June 25.
The backtrace is hard to understand, and staring at the code after
macroexpand-all didn't help.
Here is what the backtrace looks like --- did something change in
Emacs in the last 30 days that might explain this?
Debugger entered--Lisp error: (void-function \(setf\ funcall\))
(\(setf\ funcall\) (completing-read "Set tool to: " range) v v)
(let* ((v #'(lambda (cl-x) (progn (or (funcall ... cl-x) (signal ... ...)) (aref cl-x 5)))) (v tool)) (\(setf\ funcall\) (completing-read "Set tool to: " range) v v))
(setf (emacspeak-google-tool-value tool) (completing-read "Set tool to: " range))
(cond ((and (listp range) (= 2 (length range))) (setf (emacspeak-google-tool-value tool) (if (equal value (cl-first range)) (cl-second range) (cl-first range)))) ((listp range) (setf (emacspeak-google-tool-value tool) (completing-read "Set tool to: " range))) ((stringp range) (setf (emacspeak-google-tool-value tool) (read-from-minibuffer range))) (t (error "Unexpected type!")))
(let* ((belt (emacspeak-google-toolbelt)) (tool (cl-find-if #'(lambda (tool) (string= (emacspeak-google-tool-name tool) "date-filter")) belt)) (param (emacspeak-google-tool-param tool)) (value (emacspeak-google-tool-value tool)) (range (emacspeak-google-tool-range tool))) (cond ((and (listp range) (= 2 (length range))) (setf (emacspeak-google-tool-value tool) (if (equal value (cl-first range)) (cl-second range) (cl-first range)))) ((listp range) (setf (emacspeak-google-tool-value tool) (completing-read "Set tool to: " range))) ((stringp range) (setf (emacspeak-google-tool-value tool) (read-from-minibuffer range))) (t (error "Unexpected type!"))) (let ((emacspeak-websearch-google-options (concat (emacspeak-google-toolbelt-to-tbs belt) (emacspeak-google-toolbelt-to-tbm belt)))) (emacspeak-google-cache-toolbelt belt) (emacspeak-websearch-google (or emacspeak-google-query (gweb-google-autocomplete)))))
(emacspeak-google-toolbelt-change-date-filter)
(#<subr funcall-interactively> emacspeak-google-toolbelt-change-date-filter)
(apply #<subr funcall-interactively> emacspeak-google-toolbelt-change-date-filter nil)
(ad-Advice-funcall-interactively #<subr funcall-interactively> emacspeak-google-toolbelt-change-date-filter)
(apply ad-Advice-funcall-interactively #<subr funcall-interactively> emacspeak-google-toolbelt-change-date-filter)
(funcall-interactively emacspeak-google-toolbelt-change-date-filter)
(#<subr call-interactively> emacspeak-google-toolbelt-change-date-filter)
(apply #<subr call-interactively> emacspeak-google-toolbelt-change-date-filter nil)
(call-interactively@ido-cr+-record-current-command #<subr call-interactively> emacspeak-google-toolbelt-change-date-filter)
(apply call-interactively@ido-cr+-record-current-command #<subr call-interactively> emacspeak-google-toolbelt-change-date-filter)
(call-interactively emacspeak-google-toolbelt-change-date-filter)
(emacspeak-google-toolbelt-change)
(emacspeak-websearch-accessible-google "emacspeak" use-toolbelt)
(emacspeak-websearch-google-with-toolbelt "emacspeak")
(#<subr funcall-interactively> emacspeak-websearch-google-with-toolbelt "emacspeak")
(apply #<subr funcall-interactively> emacspeak-websearch-google-with-toolbelt "emacspeak")
(ad-Advice-funcall-interactively #<subr funcall-interactively> emacspeak-websearch-google-with-toolbelt "emacspeak")
(apply ad-Advice-funcall-interactively #<subr funcall-interactively> (emacspeak-websearch-google-with-toolbelt "emacspeak"))
(funcall-interactively emacspeak-websearch-google-with-toolbelt "emacspeak")
(#<subr call-interactively> emacspeak-websearch-google-with-toolbelt)
(apply #<subr call-interactively> emacspeak-websearch-google-with-toolbelt nil)
(call-interactively@ido-cr+-record-current-command #<subr call-interactively> emacspeak-websearch-google-with-toolbelt)
(apply call-interactively@ido-cr+-record-current-command #<subr call-interactively> emacspeak-websearch-google-with-toolbelt)
(call-interactively emacspeak-websearch-google-with-toolbelt)
(emacspeak-websearch-dispatch)
(#<subr funcall-interactively> emacspeak-websearch-dispatch)
(apply #<subr funcall-interactively> emacspeak-websearch-dispatch nil)
(ad-Advice-funcall-interactively #<subr funcall-interactively> emacspeak-websearch-dispatch)
(apply ad-Advice-funcall-interactively #<subr funcall-interactively> emacspeak-websearch-dispatch)
(funcall-interactively emacspeak-websearch-dispatch)
(#<subr call-interactively> emacspeak-websearch-dispatch nil nil)
(apply #<subr call-interactively> emacspeak-websearch-dispatch (nil nil))
(call-interactively@ido-cr+-record-current-command #<subr call-interactively> emacspeak-websearch-dispatch nil nil)
(apply call-interactively@ido-cr+-record-current-command #<subr call-interactively> (emacspeak-websearch-dispatch nil nil))
(call-interactively emacspeak-websearch-dispatch nil nil)
(command-execute emacspeak-websearch-dispatch)
--
Thanks,
--Raman(I Search, I Find, I Misplace, I Research)
♉ Id: kg:/m/0285kf1 🦮
--
Thanks,
--Raman(I Search, I Find, I Misplace, I Research)
♉ Id: kg:/m/0285kf1 🦮
--
Thanks,
--Raman(I Search, I Find, I Misplace, I Research)
♉ Id: kg:/m/0285kf1 🦮
^ permalink raw reply [flat|nested] 4+ messages in thread
* Re: Help Debugging Change In Behavior (Last 30 Days)
2023-06-27 14:46 Help Debugging Change In Behavior (Last 30 Days) T.V Raman
@ 2023-06-27 15:37 ` T.V Raman
2023-06-27 15:40 ` Mattias Engdegård
1 sibling, 0 replies; 4+ messages in thread
From: T.V Raman @ 2023-06-27 15:37 UTC (permalink / raw)
To: emacs-devel
[-- Warning: decoded text below may be mangled, UTF-8 assumed --]
[-- Attachment #1: Type: text/plain; charset=gb18030, Size: 6128 bytes --]
"T.V Raman" <raman@google.com> writes:
Answering my own question:
There may be a subtle bug that has crept in in setf --
In my code, I changed the
(setf (struct-slot-access-form val)
by introducing a local var slot, and then using it
(setq slot val)
(setf (struct-slot-access-form) slot)
and that fixed the issue> I have a fairly complex piece of code at
> https://github.com/tvraman/emacspeak/blob/master/lisp/emacspeak-google.el#L475
> that generates a bunch of functions.
>
> The code works correctly in Emacs 30 built on May 25,2023 but bombs
> with a hard to explain error in Emacs 30 built on June 25.
>
> The backtrace is hard to understand, and staring at the code after
> macroexpand-all didn't help.
>
> Here is what the backtrace looks like --- did something change in
> Emacs in the last 30 days that might explain this?
>
> Debugger entered--Lisp error: (void-function \(setf\ funcall\))
> (\(setf\ funcall\) (completing-read "Set tool to: " range) v v)
> (let* ((v #'(lambda (cl-x) (progn (or (funcall ... cl-x) (signal
> ... ...)) (aref cl-x 5)))) (v tool)) (\(setf\ funcall\)
> (completing-read "Set tool to: " range) v v))
> (setf (emacspeak-google-tool-value tool) (completing-read "Set tool to: " range))
> (cond ((and (listp range) (= 2 (length range))) (setf
> (emacspeak-google-tool-value tool) (if (equal value (cl-first range))
> (cl-second range) (cl-first range)))) ((listp range) (setf
> (emacspeak-google-tool-value tool) (completing-read "Set tool to: "
> range))) ((stringp range) (setf (emacspeak-google-tool-value tool)
> (read-from-minibuffer range))) (t (error "Unexpected type!")))
> (let* ((belt (emacspeak-google-toolbelt)) (tool (cl-find-if
> #'(lambda (tool) (string= (emacspeak-google-tool-name tool)
> "date-filter")) belt)) (param (emacspeak-google-tool-param tool))
> (value (emacspeak-google-tool-value tool)) (range
> (emacspeak-google-tool-range tool))) (cond ((and (listp range) (= 2
> (length range))) (setf (emacspeak-google-tool-value tool) (if (equal
> value (cl-first range)) (cl-second range) (cl-first range)))) ((listp
> range) (setf (emacspeak-google-tool-value tool) (completing-read "Set
> tool to: " range))) ((stringp range) (setf
> (emacspeak-google-tool-value tool) (read-from-minibuffer range))) (t
> (error "Unexpected type!"))) (let ((emacspeak-websearch-google-options
> (concat (emacspeak-google-toolbelt-to-tbs belt)
> (emacspeak-google-toolbelt-to-tbm belt))))
> (emacspeak-google-cache-toolbelt belt) (emacspeak-websearch-google (or
> emacspeak-google-query (gweb-google-autocomplete)))))
> (emacspeak-google-toolbelt-change-date-filter)
> (#<subr funcall-interactively> emacspeak-google-toolbelt-change-date-filter)
> (apply #<subr funcall-interactively> emacspeak-google-toolbelt-change-date-filter nil)
> (ad-Advice-funcall-interactively #<subr funcall-interactively> emacspeak-google-toolbelt-change-date-filter)
> (apply ad-Advice-funcall-interactively #<subr funcall-interactively> emacspeak-google-toolbelt-change-date-filter)
> (funcall-interactively emacspeak-google-toolbelt-change-date-filter)
> (#<subr call-interactively> emacspeak-google-toolbelt-change-date-filter)
> (apply #<subr call-interactively> emacspeak-google-toolbelt-change-date-filter nil)
> (call-interactively@ido-cr+-record-current-command #<subr call-interactively> emacspeak-google-toolbelt-change-date-filter)
> (apply call-interactively@ido-cr+-record-current-command #<subr
> call-interactively> emacspeak-google-toolbelt-change-date-filter)
> (call-interactively emacspeak-google-toolbelt-change-date-filter)
> (emacspeak-google-toolbelt-change)
> (emacspeak-websearch-accessible-google "emacspeak" use-toolbelt)
> (emacspeak-websearch-google-with-toolbelt "emacspeak")
> (#<subr funcall-interactively> emacspeak-websearch-google-with-toolbelt "emacspeak")
> (apply #<subr funcall-interactively> emacspeak-websearch-google-with-toolbelt "emacspeak")
> (ad-Advice-funcall-interactively #<subr funcall-interactively> emacspeak-websearch-google-with-toolbelt "emacspeak")
> (apply ad-Advice-funcall-interactively #<subr funcall-interactively> (emacspeak-websearch-google-with-toolbelt "emacspeak"))
> (funcall-interactively emacspeak-websearch-google-with-toolbelt "emacspeak")
> (#<subr call-interactively> emacspeak-websearch-google-with-toolbelt)
> (apply #<subr call-interactively> emacspeak-websearch-google-with-toolbelt nil)
> (call-interactively@ido-cr+-record-current-command #<subr call-interactively> emacspeak-websearch-google-with-toolbelt)
> (apply call-interactively@ido-cr+-record-current-command #<subr call-interactively> emacspeak-websearch-google-with-toolbelt)
> (call-interactively emacspeak-websearch-google-with-toolbelt)
> (emacspeak-websearch-dispatch)
> (#<subr funcall-interactively> emacspeak-websearch-dispatch)
> (apply #<subr funcall-interactively> emacspeak-websearch-dispatch nil)
> (ad-Advice-funcall-interactively #<subr funcall-interactively> emacspeak-websearch-dispatch)
> (apply ad-Advice-funcall-interactively #<subr funcall-interactively> emacspeak-websearch-dispatch)
> (funcall-interactively emacspeak-websearch-dispatch)
> (#<subr call-interactively> emacspeak-websearch-dispatch nil nil)
> (apply #<subr call-interactively> emacspeak-websearch-dispatch (nil nil))
> (call-interactively@ido-cr+-record-current-command #<subr call-interactively> emacspeak-websearch-dispatch nil nil)
> (apply call-interactively@ido-cr+-record-current-command #<subr call-interactively> (emacspeak-websearch-dispatch nil nil))
> (call-interactively emacspeak-websearch-dispatch nil nil)
> (command-execute emacspeak-websearch-dispatch)
>
> --
>
> Thanks,
>
> --Raman(I Search, I Find, I Misplace, I Research)
> 7©4 Id: kg:/m/0285kf1 0Ü8
>
> --
>
> Thanks,
>
> --Raman(I Search, I Find, I Misplace, I Research)
> 7©4 Id: kg:/m/0285kf1 0Ü8
--
Thanks,
--Raman(I Search, I Find, I Misplace, I Research)
7©4 Id: kg:/m/0285kf1 0Ü8
^ permalink raw reply [flat|nested] 4+ messages in thread
* Re: Help Debugging Change In Behavior (Last 30 Days)
2023-06-27 14:46 Help Debugging Change In Behavior (Last 30 Days) T.V Raman
2023-06-27 15:37 ` T.V Raman
@ 2023-06-27 15:40 ` Mattias Engdegård
1 sibling, 0 replies; 4+ messages in thread
From: Mattias Engdegård @ 2023-06-27 15:40 UTC (permalink / raw)
To: T.V Raman; +Cc: emacs-devel
27 juni 2023 kl. 16.46 skrev T.V Raman <raman@google.com>:
> The code works correctly in Emacs 30 built on May 25,2023 but bombs
> with a hard to explain error in Emacs 30 built on June 25.
Would that be https://debbugs.gnu.org/cgi/bugreport.cgi?bug=64292 by any chance?
^ permalink raw reply [flat|nested] 4+ messages in thread
* Re: Help Debugging Change In Behavior (Last 30 Days)
2023-06-28 5:36 Pedro Andres Aranda Gutierrez
@ 2023-06-28 18:35 ` T.V Raman
0 siblings, 0 replies; 4+ messages in thread
From: T.V Raman @ 2023-06-28 18:35 UTC (permalink / raw)
To: Pedro Andres Aranda Gutierrez; +Cc: emacs-devel
[-- Warning: decoded text below may be mangled, UTF-8 assumed --]
[-- Attachment #1: Type: text/plain; charset=gb18030, Size: 235 bytes --]
Building emacs from Git@Head fixed the issue for me. There may still be
some rough edges -- need to work out a small rpro case.
--
Thanks,
--Raman(I Search, I Find, I Misplace, I Research)
7©4 Id: kg:/m/0285kf1 0Ü8
^ permalink raw reply [flat|nested] 4+ messages in thread
end of thread, other threads:[~2023-06-28 18:35 UTC | newest]
Thread overview: 4+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2023-06-27 14:46 Help Debugging Change In Behavior (Last 30 Days) T.V Raman
2023-06-27 15:37 ` T.V Raman
2023-06-27 15:40 ` Mattias Engdegård
-- strict thread matches above, loose matches on Subject: below --
2023-06-28 5:36 Pedro Andres Aranda Gutierrez
2023-06-28 18:35 ` T.V Raman
Code repositories for project(s) associated with this external index
https://git.savannah.gnu.org/cgit/emacs.git
https://git.savannah.gnu.org/cgit/emacs/org-mode.git
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.