2
1
Fork
You've already forked chicken
0

Completion not working #37

Open
opened 2024年12月03日 02:34:47 +01:00 by bobheff · 6 comments
bobheff commented 2024年12月03日 02:34:47 +01:00 (Migrated from gitlab.com)
Copy link

I am running Emacs 29.4 and Chicken Scheme 5.4 under Arch Linux.

To try and reproduce my problem as simply as possible, I run emacs -Q then evaluate the following:

(require 'package)
(add-to-list 'package-archives '("melpa" . "https://melpa.org/packages/") t)
(package-initialize)
(when (not (package-installed-p 'use-package))
 (package-refresh-contents)
 (package-install 'use-package))
(require 'use-package)
(use-package geiser-chicken
 :ensure t
 :config (setq geiser-chicken-binary "chicken-csi"))

If I then open a scheme file, run a geiser reply and begin typing, e.g. (imp, then press C-M-i to invoke completion-at-point I get the following error: geiser-completion--symbol-list: Wrong type argument: listp, Error:

I have tried removing and re-installing both the geiser and geiser-chicken packages in Emacs, as well as removing and re-installing Chicken. I have followed the instructions for installing geiser-chicken (installing various required eggs, etc.)

This was working for me in the past, but something has evidently changed since I last used geiser/geiser-chicken. I had initially assumed it was a problem with corfu (the completion framework I usually use) but my minimal example above would suggest that it might be something to do with geiser.

Any help appreciated.

I am running Emacs 29.4 and Chicken Scheme 5.4 under Arch Linux. To try and reproduce my problem as simply as possible, I run `emacs -Q` then evaluate the following: ``` (require 'package) (add-to-list 'package-archives '("melpa" . "https://melpa.org/packages/") t) (package-initialize) (when (not (package-installed-p 'use-package)) (package-refresh-contents) (package-install 'use-package)) (require 'use-package) (use-package geiser-chicken :ensure t :config (setq geiser-chicken-binary "chicken-csi")) ``` If I then open a scheme file, run a geiser reply and begin typing, e.g. `(imp`, then press `C-M-i` to invoke `completion-at-point` I get the following error: `geiser-completion--symbol-list: Wrong type argument: listp, Error:` I have tried removing and re-installing both the geiser and geiser-chicken packages in Emacs, as well as removing and re-installing Chicken. I have followed the instructions for installing geiser-chicken (installing various required eggs, etc.) This was working for me in the past, but something has evidently changed since I last used geiser/geiser-chicken. I had initially assumed it was a problem with corfu (the completion framework I usually use) but my minimal example above would suggest that it might be something to do with geiser. Any help appreciated.
einsiedlerspiel commented 2024年12月04日 00:46:13 +01:00 (Migrated from gitlab.com)
Copy link

mentioned in merge request !43

mentioned in merge request !43
p75439 commented 2024年12月09日 14:12:00 +01:00 (Migrated from gitlab.com)
Copy link

I am not getting the same error as you do, but completion does not work for me when I do M-x geiser to start a new chicken repl.

In my case, chicken5.scm does not seem to get loaded as it should.

See also my comment in this issue: https://gitlab.com/emacs-geiser/chicken/-/issues/32

Invoking the load command given there manually as a workaround makes completion work for me.

I am not getting the same error as you do, but completion does not work for me when I do M-x geiser to start a new chicken repl. In my case, chicken5.scm does not seem to get loaded as it should. See also my comment in this issue: https://gitlab.com/emacs-geiser/chicken/-/issues/32 Invoking the load command given there manually as a workaround makes completion work for me.
p75439 commented 2024年12月09日 14:27:22 +01:00 (Migrated from gitlab.com)
Copy link

Actually, manually evaling the Emacs function (geiser-chicken--startup nil) also works.

This function does get called automatically when I start a chicken REPL, but somehow this first invocation does not seem to do the trick. Calling it manually then a second time has an effect.

Actually, manually evaling the Emacs function `(geiser-chicken--startup nil)` also works. This function does get called automatically when I start a chicken REPL, but somehow this first invocation does not seem to do the trick. Calling it manually then a second time has an effect.
p75439 commented 2024年12月09日 15:00:23 +01:00 (Migrated from gitlab.com)
Copy link

@bobheff @einsiedlerspiel thanks for giving a minimal emacs config. That was very helpful!

I tried to reproduce the problem using a fresh Arch Linux vagrant VM.

This also gives me: Emacs 29.4 and Chicken Scheme 5.4

I've run: chicken-install -s apropos chicken-doc srfi-18 srfi-1

These are the emacs packages used from MELPA:

 geiser-chicken 20241204.1442 installed Chicken's implementation of the geiser protocols.
 geiser 20240907.2235 dependency GNU Emacs and Scheme talk to each other.

I cannot reproduce your error from above: geiser-completion--symbol-list: Wrong type argument: listp, Error:

So, I assume this was fixed in https://gitlab.com/emacs-geiser/chicken/-/merge_requests/4.

However, completion is not working.

I run M-x geiser to start a chicken REPL. Then I type #;1> (app and type C-M-i.
I get: No match in the message area.

Now I type: M-: and then (geiser-chicken--startup nil) and RET.

When I return to #;1> (app and type C-M-i, I can complete this to #;1> (append.

@bobheff could you try if your original error has gone away and whether you also run into my issue where the chicken5.scm code is not properly loaded automatically?

@bobheff @einsiedlerspiel thanks for giving a minimal emacs config. That was very helpful! I tried to reproduce the problem using a fresh Arch Linux vagrant VM. This also gives me: Emacs 29.4 and Chicken Scheme 5.4 I've run: `chicken-install -s apropos chicken-doc srfi-18 srfi-1` These are the emacs packages used from MELPA: ``` geiser-chicken 20241204.1442 installed Chicken's implementation of the geiser protocols. geiser 20240907.2235 dependency GNU Emacs and Scheme talk to each other. ``` I cannot reproduce your error from above: `geiser-completion--symbol-list: Wrong type argument: listp, Error:` So, I assume this was fixed in https://gitlab.com/emacs-geiser/chicken/-/merge_requests/4. However, completion is not working. I run M-x geiser to start a chicken REPL. Then I type `#;1> (app` and type `C-M-i`. I get: `No match` in the message area. Now I type: M-: and then `(geiser-chicken--startup nil)` and `RET`. When I return to `#;1> (app` and type `C-M-i`, I can complete this to `#;1> (append`. @bobheff could you try if your original error has gone away and whether you also run into my issue where the `chicken5.scm` code is not properly loaded automatically?
bobheff commented 2024年12月09日 22:38:27 +01:00 (Migrated from gitlab.com)
Copy link

@p75439 The merge of 5 days ago did fix my issue.

I am not now having the issue you describe. Completion appears to be working fine and evaluating (geiser-chicken--startup nil) does not appear to be required.

I tested this using my minimal config given above.

@p75439 The merge of 5 days ago did fix my issue. I am not now having the issue you describe. Completion appears to be working fine and evaluating `(geiser-chicken--startup nil)` does not appear to be required. I tested this using my minimal config given above.
einsiedlerspiel commented 2024年12月15日 15:05:02 +01:00 (Migrated from gitlab.com)
Copy link

I can't reproduce this either. Seems like a separate issue to me.

I can't reproduce this either. Seems like a separate issue to me.
Sign in to join this conversation.
No Branch/Tag specified
master
0.17
0.16
0.14
0.13
0.12
0.11.2
0.11.1
0.11
0.10
0.9
0.8.1
0.8
0.7
0.6
0.5
0.4
0.3
0.2.2
0.2.1
0.2
0.1.4
0.1.3
0.1.2
0.1.1
0.1
Milestone
Clear milestone
No items
No milestone
Projects
Clear projects
No items
No project
Assignees
Clear assignees
No assignees
1 participant
Notifications
Due date
The due date is invalid or out of range. Please use the format "yyyy-mm-dd".

No due date set.

Dependencies

No dependencies set.

Reference
geiser/chicken#37
Reference in a new issue
geiser/chicken
No description provided.
Delete branch "%!s()"

Deleting a branch is permanent. Although the deleted branch may continue to exist for a short time before it actually gets removed, it CANNOT be undone in most cases. Continue?