Subject: bug#72298: Should python-mode-abbrev-table declare :parents python-base-mode-abbrev-table?

From: kobarity <[email-masked]>
Date: Sat, 24 Aug 2024 20:29:32 +0900

Eli Zaretskii wrote:
> 
> > From: Ship Mints <[email-masked]>
> > Date: Sat, 17 Aug 2024 09:53:15 -0400
> > 
> > Greetings. Curious if I'm barking up the wrong tree with this assessment...
> > 
> > On Thu, Jul 25, 2024 at 2:33 PM Ship Mints <[email-masked]> wrote:
> > 
> >  An example of a personal hack to make this work could be to add something like this to a
> >  python-mode-hook:
> > 
> >  (if (derived-mode-p 'python-base-mode)
> >    (setq local-abbrev-table python-base-mode-abbrev-table))
> > 
> >  On Thu, Jul 25, 2024 at 2:15 PM Ship Mints <[email-masked]> wrote:
> > 
> >  I was expecting that python-base-mode-abbrev-table would apply to both python-mode and
> >  python-ts-mode buffers. python-ts-mode doesn't derive from python-mode so the abbrev tables
> >  aren't shared by default. Unless I'm missing something, using a base table doesn't work for me.
> > 
> >  (define-abbrev-table 'python-mode-abbrev-table ()
> >    "Abbrev table for Python mode."
> >  ;; should this:
> >    :parents (list python-mode-skeleton-abbrev-table))
> >  ;; be defined thusly?
> >    :parents (list python-base-mode-abbrev-table python-mode-skeleton-abbrev-table))
> > 
> >  I tried to find guidance on this outside of hacking abbrev tables manually to be shared. Perhaps
> >  other people have the same expectation.
> 
> kobarity, any comments?

It seems to me that the skeletons should be defined in
python-base-mode.  How about the attached patch?