branch: elpa/forth-mode
commit 9eb3550cdc0c4e824b979a4ac528427a6b07ddbb
Author: Lars Brinkhoff <[email protected]>
Commit: Lars Brinkhoff <[email protected]>

    Add imenu items to autocomplete candidates.
---
 forth-interaction-mode.el | 3 ++-
 forth-mode.el             | 8 ++++++--
 2 files changed, 8 insertions(+), 3 deletions(-)

diff --git a/forth-interaction-mode.el b/forth-interaction-mode.el
index e668c97bd1..132eccb398 100644
--- a/forth-interaction-mode.el
+++ b/forth-interaction-mode.el
@@ -84,7 +84,8 @@
 
 ;;;###autoload
 (defun forth-words ()
-  (split-string (forth-interaction-send "words")))
+  (when forth-interaction-buffer
+    (split-string (forth-interaction-send "words"))))
 
 ;;;###autoload
 (defun forth-eval-region (start end)
diff --git a/forth-mode.el b/forth-mode.el
index d165806e38..80042797d3 100644
--- a/forth-mode.el
+++ b/forth-mode.el
@@ -69,8 +69,12 @@
     (1- (point))))
 
 (defun forth-expand-symbol ()
-  ;; Append result from (imenu--make-index-alist t)?
-  (list (forth-symbol-start) (forth-symbol-end) (forth-words)))
+  (let ((list (forth-words)))
+    (dolist (index (imenu--make-index-alist t))
+      (when (listp (rest index))
+       (dolist (def (rest index))
+         (push (car def) list))))
+    (list (forth-symbol-start) (forth-symbol-end) list)))
 
 (defun forth-block-p ()
   "Guess whether the current buffer is a Forth block file."

Reply via email to