emacs-devel
[Top][All Lists]
Advanced

[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



reply via email to

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