emacs-elpa-diffs
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

[elpa] externals/cape c629043156 145/146: cape-abbrev: Take all abbrev t


From: ELPA Syncer
Subject: [elpa] externals/cape c629043156 145/146: cape-abbrev: Take all abbrev tables into account (Fix #19)
Date: Sun, 9 Jan 2022 20:57:50 -0500 (EST)

branch: externals/cape
commit c6290431566e5e6f30518fc925183907820a1edf
Author: Daniel Mendler <mail@daniel-mendler.de>
Commit: Daniel Mendler <mail@daniel-mendler.de>

    cape-abbrev: Take all abbrev tables into account (Fix #19)
    
    Thanks, @tpeacock19!
---
 cape.el | 19 ++++++++++++++-----
 1 file changed, 14 insertions(+), 5 deletions(-)

diff --git a/cape.el b/cape.el
index 63fa9898ec..68426ac5e7 100644
--- a/cape.el
+++ b/cape.el
@@ -681,18 +681,27 @@ is nil the function acts like a capf." method method)
 
 ;;;;; cape-abbrev
 
+(defun cape--abbrev-tables ()
+  "Return list of all active abbrev tables, including parents."
+  ;; Emacs 28: See abbrev--suggest-get-active-tables-including-parents.
+  (let ((tables (abbrev--active-tables)))
+    (append tables (cl-loop for table in tables
+                            append (abbrev-table-get table :parents)))))
+
 (defun cape--abbrev-list ()
   "Abbreviation list."
-  (delete "" (nconc (all-completions "" global-abbrev-table)
-                    (all-completions "" local-abbrev-table))))
+  (delete "" (cl-loop for table in (cape--abbrev-tables)
+                      nconc (all-completions "" table))))
 
 (defun cape--abbrev-annotation (abbrev)
   "Annotate ABBREV with expansion."
   (concat " "
           (truncate-string-to-width
-           (symbol-value
-            (or (abbrev--symbol abbrev local-abbrev-table)
-                (abbrev--symbol abbrev global-abbrev-table)))
+           (format
+            "%s"
+            (symbol-value
+             (cl-loop for table in (cape--abbrev-tables)
+                      thereis (abbrev--symbol abbrev table))))
            30 0 nil t)))
 
 (defun cape--abbrev-exit (_str status)



reply via email to

[Prev in Thread] Current Thread [Next in Thread]