[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
bug#64108: hippie-expand's try-expand-all-abbrevs nil has trouble expand
From: |
Eli Zaretskii |
Subject: |
bug#64108: hippie-expand's try-expand-all-abbrevs nil has trouble expanding abbrevs given as list(aka. expand.el snipets) |
Date: |
Fri, 16 Jun 2023 19:25:54 +0300 |
> From: Yilkal Argaw <yilkalargawworkneh@gmail.com>
> Date: Fri, 16 Jun 2023 17:24:15 +0300
>
> When trying to use hippie-expand to expand a simple expand.el snippet causes
> a bug about lists not
> being acceptable.
>
> To recreate the bug use the following init.el and try to expand def using
> hippie expand
> ;;init.el
> (defconst elisp-expand-list
> '(("def" "(defun ()\n ) " (8 9 11 12)))
> "Expansions for elisp mode")
> (add-hook 'emacs-lisp-mode-hook
> (lambda () (expand-add-abbrevs emacs-lisp-mode-abbrev-table
> elisp-expand-list)))
> (add-hook 'lisp-interaction-mode-hook
> (lambda () (expand-add-abbrevs emacs-lisp-mode-abbrev-table
> elisp-expand-list)))
> (global-set-key [remap dabbrev-expand] 'hippie-expand)
>
> This error persists even when calling the (try-expand-all-abbrevs nil) using
> eval expression the debug
> log is as follows.
It looks like hippie-expand doesn't support "special" abbrevs, those
whose expansion is obtained by running a hook function (as opposed to
just using the string that is the abbrev's expansion). IOW,
hippie-expand expects that abbrev-expansion returns a string, which is
not what happens with "special" abbrevs. And expand.el, where
expand-add-abbrevs is defined, defines such "special" abbrevs.
Patches to adapt hippie-expand to abbrevs created by expand.el are
welcome.