Deletion of yaxception:deferror causes error in emacs-tss
There is an incompatibility between the yaxception.el module and the tss.el module (in emacs-tss). In an earlier version of yaxception.el there was function called yaxception:deferror . That function is called in the tss.el module. It was removed in commit 5785abd30 on Jan 7, 2024, and no corresponding change was made in tss.el to address it.
I'm not sure if removing yaxception:deferror was intentional or just a mistake. Perhaps just restoring the old definition in commit 21a36020c would solve the issue.
Here's the key difference in yaxception.el between commits 21a36020c and 5785abd30.
-(defun* yaxception:deferror (errsymbol parent errmsgtmpl &rest tmplkeys)
- "Define custom error.
-
-ERRSYMBOL is symbol for custom error. It's OK that not yet defined symbol.
-PARENT is symbol of parent error. If nil, means 'error.
-ERRMSGTMPL is string as a template used by `error-message-string'.
- This is like argument of `format'. '%s' in this value are replaced with TMPLKEYS.
-TMPLKEYS is symbol for replacing '%s' in ERRMSGTMPL with the given value when `yaxception:throw'."
- (condition-case e
- (when (symbolp errsymbol)
- (let* ((errnm (symbol-name errsymbol)))
- (when (not parent)
- (setq parent 'error))
- (put errsymbol 'error-conditions (list errsymbol parent))
- (put errsymbol 'error-message errmsgtmpl)
- (puthash errnm
- (make-yaxception :name errnm :parent parent :msgtmpl errmsgtmpl :tmplkeys tmplkeys)
- yaxception-custom-err-hash)))
- (error (message "[yaxception:deferror] %s" (error-message-string e))
- nil)))
-
I put a corresponding issue, Missing definition of yaxception:deferror cause bug, in the emacs-tss repo.