Last edit

Summary: See GoLangMode if you're looking for the programming language Go.


< ''See GoLangMode if you're looking for the programming language Go.''


> : ''See GoLangMode if you're looking for the programming language Go.''

See GoLangMode if you’re looking for the programming language Go.


Once you install GNU Go, you will have access to gnugo.el. Use ‘M-x gnugo’ to play.

If you play on Windows with old versions of gnugo.el, you might be seeing lots of ^M. There is probably a solution involving coding systems, but at the moment this quick and dirty fix using search and replace works for me:

    (autoload 'gnugo "gnugo" "Play Go" t)
    (defadvice gnugo-insertion-filter (before gnugo-coding-system-fix activate)
      (setq string (replace-regexp-in-string "\r" "" string)))

The extra ^M is indeed due to the coding system being hardcoded in gnugo.el as latin-1-unix. Better to use the default input coding system. Whoever reading this with GNU Go write privs should delete the “set-process-coding-system” line (222) in gnugo.el. (Sorry about this over-specification bug. --ttn)

Standalone gnugo.el is developed apart from the GNU Go project, and is now part of GNU ELPA. The homepage is now:

EmacsLisp programmers are invited to check out the Commentary and send patches in the meantime. --ttn

There is a mirror of GnuGo2.2.9 (which appears to be the latest one) on the Wayback Machine, this seems to work with GNU Go 3.7.9 and Emacs (2007-01-30). Also available from here: Lisp:gnugo.el.


Here is a simple major mode to interact with MoGo: Lisp:mogo.el. It has been tested with GNU Emacs 22 and 21.

MoGo a new very strong Go program also using GTP, the protocol also used by GNU go. So, theoretically it shouldn’t be too hard to modiy Lisp:gnugo.el so it can also use MoGo as a backend, but I haven’t really looked into this.



A nice place to find info is the Go Wiki: