Replace bid-net advice with a dispatch seam; MELPA review cleanups

Address riscy's first-pass review of MELPA PR #10147.

* card-games-bid-ui.el (card-games-bid-submit): New generic; the four
player commands validate once and submit through it.
(card-games-bid-after-refresh-hook): New hook run after refresh.
(card-games-bid-mode-map): Bind "s" here, not from bid-net at load.
* card-games-bid-net.el (card-games-bid-client-game): New subclass
whose card-games-bid-submit method forwards intents to the host.
Remove all six top-level advice-adds and the top-level define-key.
* card-games-bid.el (card-games-bid-inhibit-prompts): New variable
replacing the nominate-suit advice.
* card-games-core.el, card-games-gaps.el, card-games-crapette.el,
card-games-solitaire.el, card-games-trick-ext.el, card-games-bid-ui.el:
Docstring widths, checkdoc disambiguations, sharp-quoted defalias,
derived-mode-p, require NOERROR.
* test/card-games-tests.el: Six new tests pinning the no-advice
contract and the dispatch seam.
* Bump to 1.0.92; NEWS entry; regenerate README.md.

Assisted-by: Claude:claude-fable-5
This commit is contained in:
Corwin Brust 2026-08-16 09:51:47 -05:00
parent ff7a9f6e49
commit 1a5d23d39e
33 changed files with 359 additions and 186 deletions

View file

@ -151,9 +151,9 @@ with its command. From the menu you can also switch the card treatment
* Install
** From the package tarball
#+begin_src
make package # builds card-games-1.0.91.tar
make package # builds card-games-1.0.92.tar
#+end_src
Then in Emacs: ~M-x package-install-file RET card-games-1.0.91.tar~.
Then in Emacs: ~M-x package-install-file RET card-games-1.0.92.tar~.
** With ~use-package~
Once the package is on your ~load-path~ (installed from the tarball or an
@ -213,7 +213,7 @@ mouse: click cards, board slots, buttons, and the slider.
[[file:doc/images/hearts.png]]
* Testing
This is a 1.0.91 pre-test snapshot. To try it:
This is a 1.0.92 pre-test snapshot. To try it:
1. ~make compile && make test~ -- should be warning-free and all green.
2. ~M-x card-games~ opens the menu, or jump straight in, e.g.
~M-x card-games-klondike~, ~M-x card-games-bid~ (500), ~M-x card-games-gin~, ~M-x card-games-handfoot~.