Subject: bug#56500: 29.0.50; no-self-insert property doesn't work when <TAB> triggers abbrev

From: Sean Whitton <[email-masked]>
Date: Mon, 11 Jul 2022 11:59:31 -0700

X-debbugs-cc: [email-masked]

Hello,

1. emacs -q

2. Evaluate these:

   (setq tab-always-indent nil)
   (define-skeleton foo "" "" "hi")
   (define-abbrev lisp-mode-abbrev-table "foo" "" #'foo :system t)

3. Note that (get 'foo 'no-self-insert) => t.

4. Switch to *scratch*.

5. M-x abbrev-mode RET

6. foo<SPC>

   "foo" is replaced by "hi" and the space character disappears, as
   expected since Emacs 21 introduced the no-self-insert property.

7. <RET><RET>foo<TAB>

   "foo" is replaced by "hi", but the tab character remains.

-- 
Sean Whitton