larsbrinkhoff / forth-mode

Wants to be the SLIME of Forth
GNU General Public License v3.0
61 stars 17 forks source link

C-c C-r is undefined, forth-eval-region produces strange output? #7

Closed Reepca closed 7 years ago

Reepca commented 7 years ago

Pretty straightforward, I installed from MELPA using package-install, made a file ("playing-around.fs"), which correctly opened in Forth block mode. I typed out a definition, selected it, pressed C-c C-r, and received in the message bar "C-c C-r is undefined". I then typed M-x forth-eval-region RET and it worked (although there were some nonprintable characters in the message bar, and some stuff that reminded me a bit of the garbage I would get in a C program when I forget to add a null terminator to a string). It looked like this:

: woot ." woot woot!" cr ;: woot ." woot woot!" cr ;: woot ." woot woot!" cr ;  terminal:4:3: redefined woot ok

(the unprintable characters were represented as ^H in emacs). It seems to be inconsistent, though - sometimes I'll get a bunch of the ^H characters and sometimes I'll get a single ^[ but the rest of the printable garbage (or at least, stuff that doesn't mean much to me) stays there.

Emacs version (the one that is in Ubuntu 16.04's repositories):

GNU Emacs 24.5.1 (x86_64-pc-linux-gnu, X toolkit, Xaw3d scroll bars) of 2016-04-17 on lgw01-04, modified by Debian

Gforth version: 0.7.9_20160901

Anything else I can add to help?

Reepca commented 7 years ago

A quick look at the forth-mode.el in my .emacs.d shows that (define-key (kbd "C-c C-r") #'forth-eval-region) is commented out - twice, actually. The directory is titled "forth-mode-20160922.609", so presumably that means I've got the September 22 version - is the MELPA version not updated since then? (I see that the latest version has that uncommented now).

EDIT: I do, however, have the same definition of forth-eval-region (and forth-interaction-send) in the MELPA version, and I'm curious what's causing all these random-seeming characters to appear.

Reepca commented 7 years ago

There's a typo in the README.md in the part to copy/paste into .emacs - missing an "i" in interaction. On the bright side, now that I've found that out, I've got the git version loaded and C-c C-r is now indeed calling forth-eval-region. And there isn't the issue with random characters showing up in the minibuffer also. Looks like this is just a problem with the MELPA version being out-of-date, so it should naturally resolve itself, right?

larsbrinkhoff commented 7 years ago

Thanks for testing!

Block mode isn't finished, so don't expect it to work well yet. Also, I have never tested it together with forth-interaction-mode.

Yes, the C-c C-r keybinding was fixed recently.

Feel free to open more issues if you find any other problems!