[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: Help Debugging Change In Behavior (Last 30 Days)
From: |
T.V Raman |
Subject: |
Re: Help Debugging Change In Behavior (Last 30 Days) |
Date: |
Tue, 27 Jun 2023 08:37:04 -0700 |
User-agent: |
Gnus/5.13 (Gnus v5.13) |
"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