unofficial mirror of bug-gnu-emacs@gnu.org 
 help / color / mirror / code / Atom feed
* bug#40169: 26.1; gomoku.el: Fix character movement
@ 2020-03-21 17:20 Asher Gordon
       [not found] ` <handler.40169.B.15848125491336.ack@debbugs.gnu.org>
  0 siblings, 1 reply; 6+ messages in thread
From: Asher Gordon @ 2020-03-21 17:20 UTC (permalink / raw)
  To: 40169


[-- Attachment #1.1: Type: text/plain, Size: 35170 bytes --]

Hello,

I found a bug in gomoku.el. When 'b' or 'u' is pressed, it does not work
as expected (to move south-west or north-east respectively). Instead,
they move down or up (they are bound to the correct functions;
`gomoku-move-sw' and `gomoku-move-ne' respectively).

Strangely, `gomoku-move-se' and `gomoku-move-nw' work correctly. I'm not
sure why this is, but in any case, the attached patch fixes the bug.

Thanks,
Asher

-- 
I hate quotations.
                -- Ralph Waldo Emerson
                               --------
I prefer to send and receive mail encrypted. Please send me your
public key, and if you do not have my public key, please let me
know. Thanks.

GPG fingerprint: 38F3 975C D173 4037 B397  8095 D4C9 C4FC 5460 8E68


In GNU Emacs 26.1 (build 2, x86_64-pc-linux-gnu, GTK+ Version 3.24.11)
 of 2019-09-08, modified by Debian built on x86-ubc-02
System Description:	Debian GNU/Linux bullseye/sid

Recent messages:
Loading paren...done
Battery status not available
For information about GNU Emacs and the GNU system, type C-h C-a.
Making completion list... [2 times]
Loading /home/asher/gomoku.el (source)...done
One moment, please...
Do you allow me to play first? (y or n) n
Your move?  (Move to a free square and hit X, RET ...)
Type M-x delete-other-windows to delete the help window.
Making completion list...

Configured using:
 'configure --build x86_64-linux-gnu --prefix=/usr
 --sharedstatedir=/var/lib --libexecdir=/usr/lib
 --localstatedir=/var/lib --infodir=/usr/share/info
 --mandir=/usr/share/man --enable-libsystemd --with-pop=yes
 --enable-locallisppath=/etc/emacs:/usr/local/share/emacs/26.1/site-lisp:/usr/local/share/emacs/site-lisp:/usr/share/emacs/26.1/site-lisp:/usr/share/emacs/site-lisp
 --with-sound=alsa --without-gconf --with-mailutils --build
 x86_64-linux-gnu --prefix=/usr --sharedstatedir=/var/lib
 --libexecdir=/usr/lib --localstatedir=/var/lib
 --infodir=/usr/share/info --mandir=/usr/share/man --enable-libsystemd
 --with-pop=yes
 --enable-locallisppath=/etc/emacs:/usr/local/share/emacs/26.1/site-lisp:/usr/local/share/emacs/site-lisp:/usr/share/emacs/26.1/site-lisp:/usr/share/emacs/site-lisp
 --with-sound=alsa --without-gconf --with-mailutils --with-x=yes
 --with-x-toolkit=gtk3 --with-toolkit-scroll-bars 'CFLAGS=-g -O2
 -fdebug-prefix-map=/build/emacs-iJm1BQ/emacs-26.1+1=. -fstack-protector-strong
 -Wformat -Werror=format-security -Wall' 'CPPFLAGS=-Wdate-time
 -D_FORTIFY_SOURCE=2' LDFLAGS=-Wl,-z,relro'

Configured features:
XPM JPEG TIFF GIF PNG RSVG IMAGEMAGICK SOUND GPM DBUS GSETTINGS NOTIFY
ACL LIBSELINUX GNUTLS LIBXML2 FREETYPE M17N_FLT LIBOTF XFT ZLIB
TOOLKIT_SCROLL_BARS GTK3 X11 THREADS LIBSYSTEMD LCMS2

Important settings:
  value of $LANG: en_US.UTF-8
  locale-coding-system: utf-8-unix

Major mode: Fundamental

Minor modes in effect:
  gpm-mouse-mode: t
  display-time-mode: t
  global-undo-tree-mode: t
  autopair-global-mode: t
  show-paren-mode: t
  savehist-mode: t
  tooltip-mode: t
  global-eldoc-mode: t
  electric-indent-mode: t
  mouse-wheel-mode: t
  file-name-shadow-mode: t
  global-font-lock-mode: t
  auto-composition-mode: t
  auto-encryption-mode: t
  auto-compression-mode: t
  buffer-read-only: t
  line-number-mode: t
  transient-mark-mode: t

Load-path shadows:
/usr/share/emacs/site-lisp/gcl/smart-complete hides /usr/share/emacs/site-lisp/maxima/smart-complete
/usr/share/emacs/site-lisp/gcl/sshell hides /usr/share/emacs/site-lisp/maxima/sshell
/usr/share/emacs/site-lisp/llvm/emacs hides /usr/share/emacs/site-lisp/llvm-8/emacs
/usr/share/emacs/site-lisp/llvm/llvm-mode hides /usr/share/emacs/site-lisp/llvm-8/llvm-mode
/usr/share/emacs/site-lisp/llvm/tablegen-mode hides /usr/share/emacs/site-lisp/llvm-8/tablegen-mode
/usr/share/emacs/site-lisp/elpa/debian-el-37/debian-autoloads hides /usr/share/emacs/site-lisp/elpa/dpkg-dev-el-37.0/debian-autoloads
/usr/share/emacs/site-lisp/elpa/color-theme-modern-0.0.2/rotor-theme hides /usr/share/emacs/site-lisp/elpa-src/color-theme-modern-0.0.2/rotor-theme
/usr/share/emacs/site-lisp/elpa/color-theme-modern-0.0.2/matrix-theme hides /usr/share/emacs/site-lisp/elpa-src/color-theme-modern-0.0.2/matrix-theme
/usr/share/emacs/site-lisp/elpa/color-theme-modern-0.0.2/dark-blue2-theme hides /usr/share/emacs/site-lisp/elpa-src/color-theme-modern-0.0.2/dark-blue2-theme
/usr/share/emacs/site-lisp/elpa/color-theme-modern-0.0.2/standard-theme hides /usr/share/emacs/site-lisp/elpa-src/color-theme-modern-0.0.2/standard-theme
/usr/share/emacs/site-lisp/elpa/color-theme-modern-0.0.2/classic-theme hides /usr/share/emacs/site-lisp/elpa-src/color-theme-modern-0.0.2/classic-theme
/usr/share/emacs/site-lisp/elpa/color-theme-modern-0.0.2/aalto-light-theme hides /usr/share/emacs/site-lisp/elpa-src/color-theme-modern-0.0.2/aalto-light-theme
/usr/share/emacs/site-lisp/elpa/color-theme-modern-0.0.2/emacs-nw-theme hides /usr/share/emacs/site-lisp/elpa-src/color-theme-modern-0.0.2/emacs-nw-theme
/usr/share/emacs/site-lisp/elpa/color-theme-modern-0.0.2/blue-eshell-theme hides /usr/share/emacs/site-lisp/elpa-src/color-theme-modern-0.0.2/blue-eshell-theme
/usr/share/emacs/site-lisp/elpa/color-theme-modern-0.0.2/late-night-theme hides /usr/share/emacs/site-lisp/elpa-src/color-theme-modern-0.0.2/late-night-theme
/usr/share/emacs/site-lisp/elpa/color-theme-modern-0.0.2/dark-gnus-theme hides /usr/share/emacs/site-lisp/elpa-src/color-theme-modern-0.0.2/dark-gnus-theme
/usr/share/emacs/site-lisp/elpa/color-theme-modern-0.0.2/shaman-theme hides /usr/share/emacs/site-lisp/elpa-src/color-theme-modern-0.0.2/shaman-theme
/usr/share/emacs/site-lisp/elpa/color-theme-modern-0.0.2/julie-theme hides /usr/share/emacs/site-lisp/elpa-src/color-theme-modern-0.0.2/julie-theme
/usr/share/emacs/site-lisp/elpa/color-theme-modern-0.0.2/raspopovic-theme hides /usr/share/emacs/site-lisp/elpa-src/color-theme-modern-0.0.2/raspopovic-theme
/usr/share/emacs/site-lisp/elpa/color-theme-modern-0.0.2/andreas-theme hides /usr/share/emacs/site-lisp/elpa-src/color-theme-modern-0.0.2/andreas-theme
/usr/share/emacs/site-lisp/elpa/color-theme-modern-0.0.2/aliceblue-theme hides /usr/share/emacs/site-lisp/elpa-src/color-theme-modern-0.0.2/aliceblue-theme
/usr/share/emacs/site-lisp/elpa/color-theme-modern-0.0.2/mistyday-theme hides /usr/share/emacs/site-lisp/elpa-src/color-theme-modern-0.0.2/mistyday-theme
/usr/share/emacs/site-lisp/elpa/color-theme-modern-0.0.2/dark-erc-theme hides /usr/share/emacs/site-lisp/elpa-src/color-theme-modern-0.0.2/dark-erc-theme
/usr/share/emacs/site-lisp/elpa/color-theme-modern-0.0.2/tty-dark-theme hides /usr/share/emacs/site-lisp/elpa-src/color-theme-modern-0.0.2/tty-dark-theme
/usr/share/emacs/site-lisp/elpa/color-theme-modern-0.0.2/gray30-theme hides /usr/share/emacs/site-lisp/elpa-src/color-theme-modern-0.0.2/gray30-theme
/usr/share/emacs/site-lisp/elpa/color-theme-modern-0.0.2/color-theme-modern hides /usr/share/emacs/site-lisp/elpa-src/color-theme-modern-0.0.2/color-theme-modern
/usr/share/emacs/site-lisp/elpa/color-theme-modern-0.0.2/ramangalahy-theme hides /usr/share/emacs/site-lisp/elpa-src/color-theme-modern-0.0.2/ramangalahy-theme
/usr/share/emacs/site-lisp/elpa/color-theme-modern-0.0.2/dark-info-theme hides /usr/share/emacs/site-lisp/elpa-src/color-theme-modern-0.0.2/dark-info-theme
/usr/share/emacs/site-lisp/elpa/color-theme-modern-0.0.2/infodoc-theme hides /usr/share/emacs/site-lisp/elpa-src/color-theme-modern-0.0.2/infodoc-theme
/usr/share/emacs/site-lisp/elpa/color-theme-modern-0.0.2/lawrence-theme hides /usr/share/emacs/site-lisp/elpa-src/color-theme-modern-0.0.2/lawrence-theme
/usr/share/emacs/site-lisp/elpa/color-theme-modern-0.0.2/high-contrast-theme hides /usr/share/emacs/site-lisp/elpa-src/color-theme-modern-0.0.2/high-contrast-theme
/usr/share/emacs/site-lisp/elpa/color-theme-modern-0.0.2/deep-blue-theme hides /usr/share/emacs/site-lisp/elpa-src/color-theme-modern-0.0.2/deep-blue-theme
/usr/share/emacs/site-lisp/elpa/color-theme-modern-0.0.2/retro-orange-theme hides /usr/share/emacs/site-lisp/elpa-src/color-theme-modern-0.0.2/retro-orange-theme
/usr/share/emacs/site-lisp/elpa/color-theme-modern-0.0.2/jedit-grey-theme hides /usr/share/emacs/site-lisp/elpa-src/color-theme-modern-0.0.2/jedit-grey-theme
/usr/share/emacs/site-lisp/elpa/color-theme-modern-0.0.2/scintilla-theme hides /usr/share/emacs/site-lisp/elpa-src/color-theme-modern-0.0.2/scintilla-theme
/usr/share/emacs/site-lisp/elpa/color-theme-modern-0.0.2/blippblopp-theme hides /usr/share/emacs/site-lisp/elpa-src/color-theme-modern-0.0.2/blippblopp-theme
/usr/share/emacs/site-lisp/elpa/color-theme-modern-0.0.2/beige-diff-theme hides /usr/share/emacs/site-lisp/elpa-src/color-theme-modern-0.0.2/beige-diff-theme
/usr/share/emacs/site-lisp/elpa/color-theme-modern-0.0.2/charcoal-black-theme hides /usr/share/emacs/site-lisp/elpa-src/color-theme-modern-0.0.2/charcoal-black-theme
/usr/share/emacs/site-lisp/elpa/color-theme-modern-0.0.2/jsc-light-theme hides /usr/share/emacs/site-lisp/elpa-src/color-theme-modern-0.0.2/jsc-light-theme
/usr/share/emacs/site-lisp/elpa/color-theme-modern-0.0.2/marquardt-theme hides /usr/share/emacs/site-lisp/elpa-src/color-theme-modern-0.0.2/marquardt-theme
/usr/share/emacs/site-lisp/elpa/color-theme-modern-0.0.2/pok-wob-theme hides /usr/share/emacs/site-lisp/elpa-src/color-theme-modern-0.0.2/pok-wob-theme
/usr/share/emacs/site-lisp/elpa/color-theme-modern-0.0.2/lethe-theme hides /usr/share/emacs/site-lisp/elpa-src/color-theme-modern-0.0.2/lethe-theme
/usr/share/emacs/site-lisp/elpa/color-theme-modern-0.0.2/aalto-dark-theme hides /usr/share/emacs/site-lisp/elpa-src/color-theme-modern-0.0.2/aalto-dark-theme
/usr/share/emacs/site-lisp/elpa/color-theme-modern-0.0.2/salmon-font-lock-theme hides /usr/share/emacs/site-lisp/elpa-src/color-theme-modern-0.0.2/salmon-font-lock-theme
/usr/share/emacs/site-lisp/elpa/color-theme-modern-0.0.2/jsc-light2-theme hides /usr/share/emacs/site-lisp/elpa-src/color-theme-modern-0.0.2/jsc-light2-theme
/usr/share/emacs/site-lisp/elpa/color-theme-modern-0.0.2/arjen-theme hides /usr/share/emacs/site-lisp/elpa-src/color-theme-modern-0.0.2/arjen-theme
/usr/share/emacs/site-lisp/elpa/color-theme-modern-0.0.2/dark-laptop-theme hides /usr/share/emacs/site-lisp/elpa-src/color-theme-modern-0.0.2/dark-laptop-theme
/usr/share/emacs/site-lisp/elpa/color-theme-modern-0.0.2/katester-theme hides /usr/share/emacs/site-lisp/elpa-src/color-theme-modern-0.0.2/katester-theme
/usr/share/emacs/site-lisp/elpa/color-theme-modern-0.0.2/oswald-theme hides /usr/share/emacs/site-lisp/elpa-src/color-theme-modern-0.0.2/oswald-theme
/usr/share/emacs/site-lisp/elpa/color-theme-modern-0.0.2/resolve-theme hides /usr/share/emacs/site-lisp/elpa-src/color-theme-modern-0.0.2/resolve-theme
/usr/share/emacs/site-lisp/elpa/color-theme-modern-0.0.2/blue-mood-theme hides /usr/share/emacs/site-lisp/elpa-src/color-theme-modern-0.0.2/blue-mood-theme
/usr/share/emacs/site-lisp/elpa/color-theme-modern-0.0.2/sitaramv-nt-theme hides /usr/share/emacs/site-lisp/elpa-src/color-theme-modern-0.0.2/sitaramv-nt-theme
/usr/share/emacs/site-lisp/elpa/color-theme-modern-0.0.2/blue-gnus-theme hides /usr/share/emacs/site-lisp/elpa-src/color-theme-modern-0.0.2/blue-gnus-theme
/usr/share/emacs/site-lisp/elpa/color-theme-modern-0.0.2/whateveryouwant-theme hides /usr/share/emacs/site-lisp/elpa-src/color-theme-modern-0.0.2/whateveryouwant-theme
/usr/share/emacs/site-lisp/elpa/color-theme-modern-0.0.2/gray1-theme hides /usr/share/emacs/site-lisp/elpa-src/color-theme-modern-0.0.2/gray1-theme
/usr/share/emacs/site-lisp/elpa/color-theme-modern-0.0.2/jsc-dark-theme hides /usr/share/emacs/site-lisp/elpa-src/color-theme-modern-0.0.2/jsc-dark-theme
/usr/share/emacs/site-lisp/elpa/color-theme-modern-0.0.2/robin-hood-theme hides /usr/share/emacs/site-lisp/elpa-src/color-theme-modern-0.0.2/robin-hood-theme
/usr/share/emacs/site-lisp/elpa/color-theme-modern-0.0.2/blue-erc-theme hides /usr/share/emacs/site-lisp/elpa-src/color-theme-modern-0.0.2/blue-erc-theme
/usr/share/emacs/site-lisp/elpa/color-theme-modern-0.0.2/black-on-gray-theme hides /usr/share/emacs/site-lisp/elpa-src/color-theme-modern-0.0.2/black-on-gray-theme
/usr/share/emacs/site-lisp/elpa/color-theme-modern-0.0.2/word-perfect-theme hides /usr/share/emacs/site-lisp/elpa-src/color-theme-modern-0.0.2/word-perfect-theme
/usr/share/emacs/site-lisp/elpa/color-theme-modern-0.0.2/dark-font-lock-theme hides /usr/share/emacs/site-lisp/elpa-src/color-theme-modern-0.0.2/dark-font-lock-theme
/usr/share/emacs/site-lisp/elpa/color-theme-modern-0.0.2/snow-theme hides /usr/share/emacs/site-lisp/elpa-src/color-theme-modern-0.0.2/snow-theme
/usr/share/emacs/site-lisp/elpa/color-theme-modern-0.0.2/standard-ediff-theme hides /usr/share/emacs/site-lisp/elpa-src/color-theme-modern-0.0.2/standard-ediff-theme
/usr/share/emacs/site-lisp/elpa/color-theme-modern-0.0.2/pok-wog-theme hides /usr/share/emacs/site-lisp/elpa-src/color-theme-modern-0.0.2/pok-wog-theme
/usr/share/emacs/site-lisp/elpa/color-theme-modern-0.0.2/xp-theme hides /usr/share/emacs/site-lisp/elpa-src/color-theme-modern-0.0.2/xp-theme
/usr/share/emacs/site-lisp/elpa/color-theme-modern-0.0.2/wheat-theme hides /usr/share/emacs/site-lisp/elpa-src/color-theme-modern-0.0.2/wheat-theme
/usr/share/emacs/site-lisp/elpa/color-theme-modern-0.0.2/cobalt-theme hides /usr/share/emacs/site-lisp/elpa-src/color-theme-modern-0.0.2/cobalt-theme
/usr/share/emacs/site-lisp/elpa/color-theme-modern-0.0.2/retro-green-theme hides /usr/share/emacs/site-lisp/elpa-src/color-theme-modern-0.0.2/retro-green-theme
/usr/share/emacs/site-lisp/elpa/color-theme-modern-0.0.2/dark-blue-theme hides /usr/share/emacs/site-lisp/elpa-src/color-theme-modern-0.0.2/dark-blue-theme
/usr/share/emacs/site-lisp/elpa/color-theme-modern-0.0.2/sitaramv-solaris-theme hides /usr/share/emacs/site-lisp/elpa-src/color-theme-modern-0.0.2/sitaramv-solaris-theme
/usr/share/emacs/site-lisp/elpa/color-theme-modern-0.0.2/montz-theme hides /usr/share/emacs/site-lisp/elpa-src/color-theme-modern-0.0.2/montz-theme
/usr/share/emacs/site-lisp/elpa/color-theme-modern-0.0.2/vim-colors-theme hides /usr/share/emacs/site-lisp/elpa-src/color-theme-modern-0.0.2/vim-colors-theme
/usr/share/emacs/site-lisp/elpa/color-theme-modern-0.0.2/taylor-theme hides /usr/share/emacs/site-lisp/elpa-src/color-theme-modern-0.0.2/taylor-theme
/usr/share/emacs/site-lisp/elpa/color-theme-modern-0.0.2/billw-theme hides /usr/share/emacs/site-lisp/elpa-src/color-theme-modern-0.0.2/billw-theme
/usr/share/emacs/site-lisp/elpa/color-theme-modern-0.0.2/fischmeister-theme hides /usr/share/emacs/site-lisp/elpa-src/color-theme-modern-0.0.2/fischmeister-theme
/usr/share/emacs/site-lisp/elpa/color-theme-modern-0.0.2/xemacs-theme hides /usr/share/emacs/site-lisp/elpa-src/color-theme-modern-0.0.2/xemacs-theme
/usr/share/emacs/site-lisp/elpa/color-theme-modern-0.0.2/subtle-hacker-theme hides /usr/share/emacs/site-lisp/elpa-src/color-theme-modern-0.0.2/subtle-hacker-theme
/usr/share/emacs/site-lisp/elpa/color-theme-modern-0.0.2/simple-1-theme hides /usr/share/emacs/site-lisp/elpa-src/color-theme-modern-0.0.2/simple-1-theme
/usr/share/emacs/site-lisp/elpa/color-theme-modern-0.0.2/blue-sea-theme hides /usr/share/emacs/site-lisp/elpa-src/color-theme-modern-0.0.2/blue-sea-theme
/usr/share/emacs/site-lisp/elpa/color-theme-modern-0.0.2/emacs-21-theme hides /usr/share/emacs/site-lisp/elpa-src/color-theme-modern-0.0.2/emacs-21-theme
/usr/share/emacs/site-lisp/elpa/color-theme-modern-0.0.2/snowish-theme hides /usr/share/emacs/site-lisp/elpa-src/color-theme-modern-0.0.2/snowish-theme
/usr/share/emacs/site-lisp/elpa/color-theme-modern-0.0.2/color-theme-modern-pkg hides /usr/share/emacs/site-lisp/elpa-src/color-theme-modern-0.0.2/color-theme-modern-pkg
/usr/share/emacs/site-lisp/elpa/color-theme-modern-0.0.2/gtk-ide-theme hides /usr/share/emacs/site-lisp/elpa-src/color-theme-modern-0.0.2/gtk-ide-theme
/usr/share/emacs/site-lisp/elpa/color-theme-modern-0.0.2/jonadabian-theme hides /usr/share/emacs/site-lisp/elpa-src/color-theme-modern-0.0.2/jonadabian-theme
/usr/share/emacs/site-lisp/elpa/color-theme-modern-0.0.2/digital-ofs1-theme hides /usr/share/emacs/site-lisp/elpa-src/color-theme-modern-0.0.2/digital-ofs1-theme
/usr/share/emacs/site-lisp/elpa/color-theme-modern-0.0.2/desert-theme hides /usr/share/emacs/site-lisp/elpa-src/color-theme-modern-0.0.2/desert-theme
/usr/share/emacs/site-lisp/elpa/color-theme-modern-0.0.2/goldenrod-theme hides /usr/share/emacs/site-lisp/elpa-src/color-theme-modern-0.0.2/goldenrod-theme
/usr/share/emacs/site-lisp/elpa/color-theme-modern-0.0.2/ryerson-theme hides /usr/share/emacs/site-lisp/elpa-src/color-theme-modern-0.0.2/ryerson-theme
/usr/share/emacs/site-lisp/elpa/color-theme-modern-0.0.2/euphoria-theme hides /usr/share/emacs/site-lisp/elpa-src/color-theme-modern-0.0.2/euphoria-theme
/usr/share/emacs/site-lisp/elpa/color-theme-modern-0.0.2/greiner-theme hides /usr/share/emacs/site-lisp/elpa-src/color-theme-modern-0.0.2/greiner-theme
/usr/share/emacs/site-lisp/elpa/color-theme-modern-0.0.2/pierson-theme hides /usr/share/emacs/site-lisp/elpa-src/color-theme-modern-0.0.2/pierson-theme
/usr/share/emacs/site-lisp/elpa/color-theme-modern-0.0.2/hober-theme hides /usr/share/emacs/site-lisp/elpa-src/color-theme-modern-0.0.2/hober-theme
/usr/share/emacs/site-lisp/elpa/color-theme-modern-0.0.2/calm-forest-theme hides /usr/share/emacs/site-lisp/elpa-src/color-theme-modern-0.0.2/calm-forest-theme
/usr/share/emacs/site-lisp/elpa/color-theme-modern-0.0.2/parus-theme hides /usr/share/emacs/site-lisp/elpa-src/color-theme-modern-0.0.2/parus-theme
/usr/share/emacs/site-lisp/elpa/color-theme-modern-0.0.2/marine-theme hides /usr/share/emacs/site-lisp/elpa-src/color-theme-modern-0.0.2/marine-theme
/usr/share/emacs/site-lisp/elpa/color-theme-modern-0.0.2/kingsajz-theme hides /usr/share/emacs/site-lisp/elpa-src/color-theme-modern-0.0.2/kingsajz-theme
/usr/share/emacs/site-lisp/elpa/color-theme-modern-0.0.2/beige-eshell-theme hides /usr/share/emacs/site-lisp/elpa-src/color-theme-modern-0.0.2/beige-eshell-theme
/usr/share/emacs/site-lisp/elpa/color-theme-modern-0.0.2/taming-mr-arneson-theme hides /usr/share/emacs/site-lisp/elpa-src/color-theme-modern-0.0.2/taming-mr-arneson-theme
/usr/share/emacs/site-lisp/elpa/color-theme-modern-0.0.2/renegade-theme hides /usr/share/emacs/site-lisp/elpa-src/color-theme-modern-0.0.2/renegade-theme
/usr/share/emacs/site-lisp/elpa/color-theme-modern-0.0.2/clarity-theme hides /usr/share/emacs/site-lisp/elpa-src/color-theme-modern-0.0.2/clarity-theme
/usr/share/emacs/site-lisp/elpa/color-theme-modern-0.0.2/jonadabian-slate-theme hides /usr/share/emacs/site-lisp/elpa-src/color-theme-modern-0.0.2/jonadabian-slate-theme
/usr/share/emacs/site-lisp/elpa/color-theme-modern-0.0.2/dark-green-theme hides /usr/share/emacs/site-lisp/elpa-src/color-theme-modern-0.0.2/dark-green-theme
/usr/share/emacs/site-lisp/elpa/color-theme-modern-0.0.2/jb-simple-theme hides /usr/share/emacs/site-lisp/elpa-src/color-theme-modern-0.0.2/jb-simple-theme
/usr/share/emacs/site-lisp/elpa/color-theme-modern-0.0.2/midnight-theme hides /usr/share/emacs/site-lisp/elpa-src/color-theme-modern-0.0.2/midnight-theme
/usr/share/emacs/site-lisp/elpa/color-theme-modern-0.0.2/salmon-diff-theme hides /usr/share/emacs/site-lisp/elpa-src/color-theme-modern-0.0.2/salmon-diff-theme
/usr/share/emacs/site-lisp/elpa/color-theme-modern-0.0.2/ld-dark-theme hides /usr/share/emacs/site-lisp/elpa-src/color-theme-modern-0.0.2/ld-dark-theme
/usr/share/emacs/site-lisp/elpa/color-theme-modern-0.0.2/gnome2-theme hides /usr/share/emacs/site-lisp/elpa-src/color-theme-modern-0.0.2/gnome2-theme
/usr/share/emacs/site-lisp/elpa/color-theme-modern-0.0.2/bharadwaj-theme hides /usr/share/emacs/site-lisp/elpa-src/color-theme-modern-0.0.2/bharadwaj-theme
/usr/share/emacs/site-lisp/elpa/color-theme-modern-0.0.2/subdued-theme hides /usr/share/emacs/site-lisp/elpa-src/color-theme-modern-0.0.2/subdued-theme
/usr/share/emacs/site-lisp/elpa/color-theme-modern-0.0.2/feng-shui-theme hides /usr/share/emacs/site-lisp/elpa-src/color-theme-modern-0.0.2/feng-shui-theme
/usr/share/emacs/site-lisp/elpa/color-theme-modern-0.0.2/railscast-theme hides /usr/share/emacs/site-lisp/elpa-src/color-theme-modern-0.0.2/railscast-theme
/usr/share/emacs/site-lisp/elpa/color-theme-modern-0.0.2/gnome-theme hides /usr/share/emacs/site-lisp/elpa-src/color-theme-modern-0.0.2/gnome-theme
/usr/share/emacs/site-lisp/elpa/color-theme-modern-0.0.2/subtle-blue-theme hides /usr/share/emacs/site-lisp/elpa-src/color-theme-modern-0.0.2/subtle-blue-theme
/usr/share/emacs/site-lisp/elpa/color-theme-modern-0.0.2/color-theme-modern-autoloads hides /usr/share/emacs/site-lisp/elpa-src/color-theme-modern-0.0.2/color-theme-modern-autoloads
/usr/share/emacs/site-lisp/elpa/color-theme-modern-0.0.2/bharadwaj-slate-theme hides /usr/share/emacs/site-lisp/elpa-src/color-theme-modern-0.0.2/bharadwaj-slate-theme
/usr/share/emacs/site-lisp/elpa/color-theme-modern-0.0.2/comidia-theme hides /usr/share/emacs/site-lisp/elpa-src/color-theme-modern-0.0.2/comidia-theme
/usr/share/emacs/site-lisp/elpa/debian-el-37/apt-utils hides /usr/share/emacs/site-lisp/elpa-src/debian-el-37/apt-utils
/usr/share/emacs/site-lisp/elpa/debian-el-37/debian-el-autoloads hides /usr/share/emacs/site-lisp/elpa-src/debian-el-37/debian-el-autoloads
/usr/share/emacs/site-lisp/elpa/debian-el-37/gnus-BTS hides /usr/share/emacs/site-lisp/elpa-src/debian-el-37/gnus-BTS
/usr/share/emacs/site-lisp/elpa/debian-el-37/deb-view hides /usr/share/emacs/site-lisp/elpa-src/debian-el-37/deb-view
/usr/share/emacs/site-lisp/elpa/debian-el-37/preseed hides /usr/share/emacs/site-lisp/elpa-src/debian-el-37/preseed
/usr/share/emacs/site-lisp/elpa/debian-el-37/debian-el-pkg hides /usr/share/emacs/site-lisp/elpa-src/debian-el-37/debian-el-pkg
/usr/share/emacs/site-lisp/elpa/debian-el-37/debian-autoloads hides /usr/share/emacs/site-lisp/elpa-src/debian-el-37/debian-autoloads
/usr/share/emacs/site-lisp/elpa/debian-el-37/debian-el hides /usr/share/emacs/site-lisp/elpa-src/debian-el-37/debian-el
/usr/share/emacs/site-lisp/elpa/debian-el-37/apt-sources hides /usr/share/emacs/site-lisp/elpa-src/debian-el-37/apt-sources
/usr/share/emacs/site-lisp/elpa/debian-el-37/debian-bug hides /usr/share/emacs/site-lisp/elpa-src/debian-el-37/debian-bug
/usr/share/emacs/site-lisp/elpa/dpkg-dev-el-37.0/dpkg-dev-el-pkg hides /usr/share/emacs/site-lisp/elpa-src/dpkg-dev-el-37.0/dpkg-dev-el-pkg
/usr/share/emacs/site-lisp/elpa/dpkg-dev-el-37.0/debian-bts-control hides /usr/share/emacs/site-lisp/elpa-src/dpkg-dev-el-37.0/debian-bts-control
/usr/share/emacs/site-lisp/elpa/dpkg-dev-el-37.0/dpkg-dev-el hides /usr/share/emacs/site-lisp/elpa-src/dpkg-dev-el-37.0/dpkg-dev-el
/usr/share/emacs/site-lisp/elpa/debian-el-37/debian-autoloads hides /usr/share/emacs/site-lisp/elpa-src/dpkg-dev-el-37.0/debian-autoloads
/usr/share/emacs/site-lisp/elpa/dpkg-dev-el-37.0/debian-copyright hides /usr/share/emacs/site-lisp/elpa-src/dpkg-dev-el-37.0/debian-copyright
/usr/share/emacs/site-lisp/elpa/dpkg-dev-el-37.0/readme-debian hides /usr/share/emacs/site-lisp/elpa-src/dpkg-dev-el-37.0/readme-debian
/usr/share/emacs/site-lisp/elpa/dpkg-dev-el-37.0/debian-changelog-mode hides /usr/share/emacs/site-lisp/elpa-src/dpkg-dev-el-37.0/debian-changelog-mode
/usr/share/emacs/site-lisp/elpa/dpkg-dev-el-37.0/dpkg-dev-el-autoloads hides /usr/share/emacs/site-lisp/elpa-src/dpkg-dev-el-37.0/dpkg-dev-el-autoloads
/usr/share/emacs/site-lisp/elpa/dpkg-dev-el-37.0/debian-control-mode hides /usr/share/emacs/site-lisp/elpa-src/dpkg-dev-el-37.0/debian-control-mode
/usr/share/emacs/site-lisp/elpa/haskell-mode-16.1/haskell-process hides /usr/share/emacs/site-lisp/elpa-src/haskell-mode-16.1/haskell-process
/usr/share/emacs/site-lisp/elpa/haskell-mode-16.1/haskell-session hides /usr/share/emacs/site-lisp/elpa-src/haskell-mode-16.1/haskell-session
/usr/share/emacs/site-lisp/elpa/haskell-mode-16.1/haskell-hoogle hides /usr/share/emacs/site-lisp/elpa-src/haskell-mode-16.1/haskell-hoogle
/usr/share/emacs/site-lisp/elpa/haskell-mode-16.1/haskell-mode hides /usr/share/emacs/site-lisp/elpa-src/haskell-mode-16.1/haskell-mode
/usr/share/emacs/site-lisp/elpa/haskell-mode-16.1/haskell-indentation hides /usr/share/emacs/site-lisp/elpa-src/haskell-mode-16.1/haskell-indentation
/usr/share/emacs/site-lisp/elpa/haskell-mode-16.1/haskell-indent hides /usr/share/emacs/site-lisp/elpa-src/haskell-mode-16.1/haskell-indent
/usr/share/emacs/site-lisp/elpa/haskell-mode-16.1/haskell-sandbox hides /usr/share/emacs/site-lisp/elpa-src/haskell-mode-16.1/haskell-sandbox
/usr/share/emacs/site-lisp/elpa/haskell-mode-16.1/haskell-string hides /usr/share/emacs/site-lisp/elpa-src/haskell-mode-16.1/haskell-string
/usr/share/emacs/site-lisp/elpa/haskell-mode-16.1/haskell-ghc-support hides /usr/share/emacs/site-lisp/elpa-src/haskell-mode-16.1/haskell-ghc-support
/usr/share/emacs/site-lisp/elpa/haskell-mode-16.1/haskell-customize hides /usr/share/emacs/site-lisp/elpa-src/haskell-mode-16.1/haskell-customize
/usr/share/emacs/site-lisp/elpa/haskell-mode-16.1/inf-haskell hides /usr/share/emacs/site-lisp/elpa-src/haskell-mode-16.1/inf-haskell
/usr/share/emacs/site-lisp/elpa/haskell-mode-16.1/haskell-debug hides /usr/share/emacs/site-lisp/elpa-src/haskell-mode-16.1/haskell-debug
/usr/share/emacs/site-lisp/elpa/haskell-mode-16.1/highlight-uses-mode hides /usr/share/emacs/site-lisp/elpa-src/haskell-mode-16.1/highlight-uses-mode
/usr/share/emacs/site-lisp/elpa/haskell-mode-16.1/haskell-cabal hides /usr/share/emacs/site-lisp/elpa-src/haskell-mode-16.1/haskell-cabal
/usr/share/emacs/site-lisp/elpa/haskell-mode-16.1/haskell-unicode-input-method hides /usr/share/emacs/site-lisp/elpa-src/haskell-mode-16.1/haskell-unicode-input-method
/usr/share/emacs/site-lisp/elpa/haskell-mode-16.1/haskell-align-imports hides /usr/share/emacs/site-lisp/elpa-src/haskell-mode-16.1/haskell-align-imports
/usr/share/emacs/site-lisp/elpa/haskell-mode-16.1/haskell-repl hides /usr/share/emacs/site-lisp/elpa-src/haskell-mode-16.1/haskell-repl
/usr/share/emacs/site-lisp/elpa/haskell-mode-16.1/haskell-load hides /usr/share/emacs/site-lisp/elpa-src/haskell-mode-16.1/haskell-load
/usr/share/emacs/site-lisp/elpa/haskell-mode-16.1/haskell-lexeme hides /usr/share/emacs/site-lisp/elpa-src/haskell-mode-16.1/haskell-lexeme
/usr/share/emacs/site-lisp/elpa/haskell-mode-16.1/haskell-c2hs hides /usr/share/emacs/site-lisp/elpa-src/haskell-mode-16.1/haskell-c2hs
/usr/share/emacs/site-lisp/elpa/haskell-mode-16.1/ghci-script-mode hides /usr/share/emacs/site-lisp/elpa-src/haskell-mode-16.1/ghci-script-mode
/usr/share/emacs/site-lisp/elpa/haskell-mode-16.1/haskell-commands hides /usr/share/emacs/site-lisp/elpa-src/haskell-mode-16.1/haskell-commands
/usr/share/emacs/site-lisp/elpa/haskell-mode-16.1/haskell-doc hides /usr/share/emacs/site-lisp/elpa-src/haskell-mode-16.1/haskell-doc
/usr/share/emacs/site-lisp/elpa/haskell-mode-16.1/haskell hides /usr/share/emacs/site-lisp/elpa-src/haskell-mode-16.1/haskell
/usr/share/emacs/site-lisp/elpa/haskell-mode-16.1/haskell-mode-autoloads hides /usr/share/emacs/site-lisp/elpa-src/haskell-mode-16.1/haskell-mode-autoloads
/usr/share/emacs/site-lisp/elpa/haskell-mode-16.1/haskell-mode-pkg hides /usr/share/emacs/site-lisp/elpa-src/haskell-mode-16.1/haskell-mode-pkg
/usr/share/emacs/site-lisp/elpa/haskell-mode-16.1/haskell-compat hides /usr/share/emacs/site-lisp/elpa-src/haskell-mode-16.1/haskell-compat
/usr/share/emacs/site-lisp/elpa/haskell-mode-16.1/haskell-navigate-imports hides /usr/share/emacs/site-lisp/elpa-src/haskell-mode-16.1/haskell-navigate-imports
/usr/share/emacs/site-lisp/elpa/haskell-mode-16.1/haskell-utils hides /usr/share/emacs/site-lisp/elpa-src/haskell-mode-16.1/haskell-utils
/usr/share/emacs/site-lisp/elpa/haskell-mode-16.1/haskell-sort-imports hides /usr/share/emacs/site-lisp/elpa-src/haskell-mode-16.1/haskell-sort-imports
/usr/share/emacs/site-lisp/elpa/haskell-mode-16.1/ghc-core hides /usr/share/emacs/site-lisp/elpa-src/haskell-mode-16.1/ghc-core
/usr/share/emacs/site-lisp/elpa/haskell-mode-16.1/haskell-decl-scan hides /usr/share/emacs/site-lisp/elpa-src/haskell-mode-16.1/haskell-decl-scan
/usr/share/emacs/site-lisp/elpa/haskell-mode-16.1/haskell-modules hides /usr/share/emacs/site-lisp/elpa-src/haskell-mode-16.1/haskell-modules
/usr/share/emacs/site-lisp/elpa/haskell-mode-16.1/w3m-haddock hides /usr/share/emacs/site-lisp/elpa-src/haskell-mode-16.1/w3m-haddock
/usr/share/emacs/site-lisp/elpa/haskell-mode-16.1/haskell-menu hides /usr/share/emacs/site-lisp/elpa-src/haskell-mode-16.1/haskell-menu
/usr/share/emacs/site-lisp/elpa/haskell-mode-16.1/haskell-interactive-mode hides /usr/share/emacs/site-lisp/elpa-src/haskell-mode-16.1/haskell-interactive-mode
/usr/share/emacs/site-lisp/elpa/haskell-mode-16.1/haskell-completions hides /usr/share/emacs/site-lisp/elpa-src/haskell-mode-16.1/haskell-completions
/usr/share/emacs/site-lisp/elpa/haskell-mode-16.1/haskell-collapse hides /usr/share/emacs/site-lisp/elpa-src/haskell-mode-16.1/haskell-collapse
/usr/share/emacs/site-lisp/elpa/haskell-mode-16.1/haskell-complete-module hides /usr/share/emacs/site-lisp/elpa-src/haskell-mode-16.1/haskell-complete-module
/usr/share/emacs/site-lisp/elpa/haskell-mode-16.1/haskell-move-nested hides /usr/share/emacs/site-lisp/elpa-src/haskell-mode-16.1/haskell-move-nested
/usr/share/emacs/site-lisp/elpa/haskell-mode-16.1/haskell-font-lock hides /usr/share/emacs/site-lisp/elpa-src/haskell-mode-16.1/haskell-font-lock
/usr/share/emacs/site-lisp/elpa/haskell-mode-16.1/haskell-presentation-mode hides /usr/share/emacs/site-lisp/elpa-src/haskell-mode-16.1/haskell-presentation-mode
/usr/share/emacs/site-lisp/elpa/haskell-mode-16.1/haskell-compile hides /usr/share/emacs/site-lisp/elpa-src/haskell-mode-16.1/haskell-compile
/usr/share/emacs/site-lisp/flim/md4 hides /usr/share/emacs/26.1/lisp/md4
/usr/share/emacs/site-lisp/flim/hex-util hides /usr/share/emacs/26.1/lisp/hex-util
/usr/share/emacs/site-lisp/flim/hmac-def hides /usr/share/emacs/26.1/lisp/net/hmac-def
/usr/share/emacs/site-lisp/flim/ntlm hides /usr/share/emacs/26.1/lisp/net/ntlm
/usr/share/emacs/site-lisp/flim/sasl hides /usr/share/emacs/26.1/lisp/net/sasl
/usr/share/emacs/site-lisp/flim/sasl-ntlm hides /usr/share/emacs/26.1/lisp/net/sasl-ntlm
/usr/share/emacs/site-lisp/flim/hmac-md5 hides /usr/share/emacs/26.1/lisp/net/hmac-md5
/usr/share/emacs/site-lisp/flim/sasl-digest hides /usr/share/emacs/26.1/lisp/net/sasl-digest
/usr/share/emacs/site-lisp/flim/sasl-cram hides /usr/share/emacs/26.1/lisp/net/sasl-cram
/home/asher/.emacs.d/elpa/landmark-1.0/landmark hides /usr/share/emacs/26.1/lisp/obsolete/landmark
/usr/share/emacs/site-lisp/auctex/context-en hides /usr/share/auctex/context-en
/usr/share/emacs/site-lisp/auctex/texmathp hides /usr/share/auctex/texmathp
/usr/share/emacs/site-lisp/auctex/font-latex hides /usr/share/auctex/font-latex
/usr/share/emacs/site-lisp/auctex/preview hides /usr/share/auctex/preview
/usr/share/emacs/site-lisp/auctex/latex hides /usr/share/auctex/latex
/usr/share/emacs/site-lisp/auctex/tex-info hides /usr/share/auctex/tex-info
/usr/share/emacs/site-lisp/auctex/tex-style hides /usr/share/auctex/tex-style
/usr/share/emacs/site-lisp/auctex/context hides /usr/share/auctex/context
/usr/share/emacs/site-lisp/auctex/tex-font hides /usr/share/auctex/tex-font
/usr/share/emacs/site-lisp/auctex/context-nl hides /usr/share/auctex/context-nl
/usr/share/emacs/site-lisp/auctex/tex-mik hides /usr/share/auctex/tex-mik
/usr/share/emacs/site-lisp/auctex/tex-buf hides /usr/share/auctex/tex-buf
/usr/share/emacs/site-lisp/auctex/bib-cite hides /usr/share/auctex/bib-cite
/usr/share/emacs/site-lisp/auctex/toolbar-x hides /usr/share/auctex/toolbar-x
/usr/share/emacs/site-lisp/auctex/tex-fold hides /usr/share/auctex/tex-fold
/usr/share/emacs/site-lisp/auctex/tex-jp hides /usr/share/auctex/tex-jp
/usr/share/emacs/site-lisp/auctex/prv-emacs hides /usr/share/auctex/prv-emacs
/usr/share/emacs/site-lisp/auctex/tex-ispell hides /usr/share/auctex/tex-ispell
/usr/share/emacs/site-lisp/auctex/tex hides /usr/share/auctex/tex
/usr/share/emacs/site-lisp/auctex/plain-tex hides /usr/share/auctex/plain-tex
/usr/share/emacs/site-lisp/auctex/tex-bar hides /usr/share/auctex/tex-bar
/usr/share/emacs/site-lisp/auctex/multi-prompt hides /usr/share/auctex/multi-prompt

Features:
(shadow sort flyspell ispell mail-extr emacsbug sendmail eieio-opt
speedbar sb-image ezimage dframe find-func help-fns radix-tree gomoku
zygospore t-mouse term/linux elec-pair man ansi-color warnings bbdb
bbdb-site timezone server pinentry battery time undo-tree diff cl-extra
help-mode autopair advice gnus-BTS bfbuilder edmacro kmacro fortune
gnus-art mm-uu mml2015 mm-view mml-smime smime dig mailcap gnus-sum
gnus-group gnus-undo gnus-start gnus-cloud nnimap nnmail mail-source tls
gnutls utf7 netrc nnoo parse-time gnus-spec gnus-int gnus-range message
rmc puny dired dired-loaddefs format-spec rfc822 mml mml-sec epa derived
epg mm-decode mm-bodies mm-encode mail-parse rfc2231 mailabbrev
gmm-utils mailheader gnus-win mmm-mode mmm-univ mmm-class mmm-region
asdago-dark-theme paren savehist gnus nnheader gnus-util rmail
rmail-loaddefs rfc2047 rfc2045 ietf-drums time-date mail-utils mm-util
mail-prsvr wid-edit cus-start cus-load finder-inf autoinsert rx ede/auto
dpkg-dev-el info debian-el package easymenu epg-config url-handlers
url-parse auth-source cl-seq eieio eieio-core cl-macs eieio-loaddefs
password-cache url-vars seq byte-opt gv bytecomp byte-compile cconv
w3m-load mmm-auto mmm-vars cl-loaddefs cl-lib mmm-utils mmm-compat
devhelp preview-latex tex-site auto-loads tooltip eldoc electric
uniquify ediff-hook vc-hooks lisp-float-type mwheel term/x-win x-win
term/common-win x-dnd tool-bar dnd fontset image regexp-opt fringe
tabulated-list replace newcomment text-mode elisp-mode lisp-mode
prog-mode register page menu-bar rfn-eshadow isearch timer select
scroll-bar mouse jit-lock font-lock syntax facemenu font-core
term/tty-colors frame cl-generic cham georgian utf-8-lang misc-lang
vietnamese tibetan thai tai-viet lao korean japanese eucjp-ms cp51932
hebrew greek romanian slovak czech european ethiopic indian cyrillic
chinese composite charscript charprop case-table epa-hook jka-cmpr-hook
help simple abbrev obarray minibuffer cl-preloaded nadvice loaddefs
button faces cus-face macroexp files text-properties overlay sha1 md5
base64 format env code-pages mule custom widget hashtable-print-readable
backquote dbusbind inotify lcms2 dynamic-setting system-font-setting
font-render-setting move-toolbar gtk x-toolkit x multi-tty
make-network-process emacs)

Memory information:
((conses 16 224227 15028)
 (symbols 48 32784 1)
 (miscs 40 94 212)
 (strings 32 69696 3743)
 (string-bytes 1 2154022)
 (vectors 16 24956)
 (vector-slots 8 604468 4742)
 (floats 8 228 599)
 (intervals 56 2185 0)
 (buffers 992 16))

[-- Warning: decoded text below may be mangled, UTF-8 assumed --]
[-- Attachment #1.2: Fix character movement for `gomoku' --]
[-- Type: text/x-patch, Size: 3882 bytes --]

--- gomoku.el~	2020-03-21 13:13:20.838106406 -0400
+++ gomoku.el	2020-03-21 13:13:14.666192678 -0400
@@ -110,8 +110,8 @@
     (define-key map "u" 'gomoku-move-ne)		    ; u
     (define-key map "b" 'gomoku-move-sw)		    ; b
     (define-key map "n" 'gomoku-move-se)		    ; n
-    (define-key map "h" 'backward-char)			    ; h
-    (define-key map "l" 'forward-char)			    ; l
+    (define-key map "h" 'gomoku-move-left)		    ; h
+    (define-key map "l" 'gomoku-move-right)		    ; l
     (define-key map "j" 'gomoku-move-down)		    ; j
     (define-key map "k" 'gomoku-move-up)		    ; k
 
@@ -119,8 +119,8 @@
     (define-key map [kp-9] 'gomoku-move-ne)
     (define-key map [kp-1] 'gomoku-move-sw)
     (define-key map [kp-3] 'gomoku-move-se)
-    (define-key map [kp-4] 'backward-char)
-    (define-key map [kp-6] 'forward-char)
+    (define-key map [kp-4] 'gomoku-move-left)
+    (define-key map [kp-6] 'gomoku-move-right)
     (define-key map [kp-2] 'gomoku-move-down)
     (define-key map [kp-8] 'gomoku-move-up)
 
@@ -954,6 +954,11 @@
 	 ;; 2 instead of 1 because WINDOW-HEIGHT includes the mode line !
 	 gomoku-square-height)))
 
+(defun gomoku-point-x ()
+  "Return the board column where point is."
+  (1+ (/ (- (current-column) gomoku-x-offset)
+	 gomoku-square-width)))
+
 (defun gomoku-point-y ()
   "Return the board row where point is."
   (1+ (/ (- (count-lines (point-min) (point))
@@ -989,7 +994,7 @@
 	  (1- (point)) (point)
 	  '(mouse-face highlight help-echo "mouse-2: play at this square")))
     (delete-char 1)
-    (backward-char 1))
+    (gomoku-move-left))
   (sit-for 0))	; Display NOW
 
 (defun gomoku-init-display (n m)
@@ -1103,7 +1108,7 @@
 	(setq square1 (+ square1 depl))
 	(cond
 	  ((= dy 0)			; Horizontal
-	   (forward-char 1)
+	   (gomoku-move-right)
 	   (insert-char ?- (1- gomoku-square-width) t)
 	   (delete-region (point) (progn
 				    (skip-chars-forward " \t")
@@ -1143,13 +1148,28 @@
           (skip-chars-forward gomoku--intangible-chars)
           (when (eobp)
             (skip-chars-backward gomoku--intangible-chars)
-            (forward-char -1)))
+            (gomoku-move-left)))
       (skip-chars-backward gomoku--intangible-chars)
       (if (bobp)
           (skip-chars-forward gomoku--intangible-chars)
-        (forward-char -1))))
+        (gomoku-move-left))))
   (setq gomoku--last-pos (point)))
 
+;; forward-char and backward-char don't always move the right number
+;; of characters. Also, these functions check if you're on the edge of
+;; the screen.
+(defun gomoku-move-right ()
+  "Move point right one column on the Gomoku board."
+  (interactive)
+  (when (< (gomoku-point-x) gomoku-board-width)
+    (forward-char gomoku-square-width)))
+
+(defun gomoku-move-left ()
+  "Move point left one column on the Gomoku board."
+  (interactive)
+  (when (> (gomoku-point-x) 1)
+    (backward-char gomoku-square-width)))
+
 ;; previous-line and next-line don't work right with intangible newlines
 (defun gomoku-move-down ()
   "Move point down one row on the Gomoku board."
@@ -1171,25 +1191,25 @@
   "Move point North East on the Gomoku board."
   (interactive)
   (gomoku-move-up)
-  (forward-char))
+  (gomoku-move-right))
 
 (defun gomoku-move-se ()
   "Move point South East on the Gomoku board."
   (interactive)
   (gomoku-move-down)
-  (forward-char))
+  (gomoku-move-right))
 
 (defun gomoku-move-nw ()
   "Move point North West on the Gomoku board."
   (interactive)
   (gomoku-move-up)
-  (backward-char))
+  (gomoku-move-left))
 
 (defun gomoku-move-sw ()
   "Move point South West on the Gomoku board."
   (interactive)
   (gomoku-move-down)
-  (backward-char))
+  (gomoku-move-left))
 
 (defun gomoku-beginning-of-line ()
   "Move point to first square on the Gomoku board row."

[-- Attachment #2: signature.asc --]
[-- Type: application/pgp-signature, Size: 227 bytes --]

^ permalink raw reply	[flat|nested] 6+ messages in thread

* bug#40169: Add missing keymaps
       [not found] ` <handler.40169.B.15848125491336.ack@debbugs.gnu.org>
@ 2020-03-21 19:10   ` Asher Gordon
  2020-03-21 23:22     ` bug#40169: Fix gomoku-plot-square Asher Gordon
  0 siblings, 1 reply; 6+ messages in thread
From: Asher Gordon @ 2020-03-21 19:10 UTC (permalink / raw)
  To: 40169


[-- Attachment #1.1: Type: text/plain, Size: 375 bytes --]

Here are some keymap definitions I forgot before.

Asher

-- 
If at first you don't succeed, redefine success.
                               --------
I prefer to send and receive mail encrypted. Please send me your
public key, and if you do not have my public key, please let me
know. Thanks.

GPG fingerprint: 38F3 975C D173 4037 B397  8095 D4C9 C4FC 5460 8E68

[-- Warning: decoded text below may be mangled, UTF-8 assumed --]
[-- Attachment #1.2: Add some missing keymaps --]
[-- Type: text/x-patch, Size: 1039 bytes --]

--- gomoku.el~	2020-03-21 13:13:14.666192678 -0400
+++ gomoku.el	2020-03-21 15:06:52.145727337 -0400
@@ -124,6 +124,8 @@
     (define-key map [kp-2] 'gomoku-move-down)
     (define-key map [kp-8] 'gomoku-move-up)
 
+    (define-key map "\C-b" 'gomoku-move-left)		    ; C-b
+    (define-key map "\C-f" 'gomoku-move-right)		    ; C-f
     (define-key map "\C-n" 'gomoku-move-down)		    ; C-n
     (define-key map "\C-p" 'gomoku-move-up)		    ; C-p
 
@@ -146,6 +148,10 @@
     (define-key map [mouse-2] 'gomoku-mouse-play)
     (define-key map [drag-mouse-2] 'gomoku-mouse-play)
 
+    (define-key map [remap backward-char] 'gomoku-move-left)
+    (define-key map [remap left-char] 'gomoku-move-left)
+    (define-key map [remap forward-char] 'gomoku-move-right)
+    (define-key map [remap right-char] 'gomoku-move-right)
     (define-key map [remap previous-line] 'gomoku-move-up)
     (define-key map [remap next-line] 'gomoku-move-down)
     (define-key map [remap move-beginning-of-line] 'gomoku-beginning-of-line)

[-- Attachment #2: signature.asc --]
[-- Type: application/pgp-signature, Size: 227 bytes --]

^ permalink raw reply	[flat|nested] 6+ messages in thread

* bug#40169: Fix gomoku-plot-square
  2020-03-21 19:10   ` bug#40169: Add missing keymaps Asher Gordon
@ 2020-03-21 23:22     ` Asher Gordon
  2020-03-23  3:26       ` bug#40169: Fix drawing the horizontal line Asher Gordon
  0 siblings, 1 reply; 6+ messages in thread
From: Asher Gordon @ 2020-03-21 23:22 UTC (permalink / raw)
  To: 40169


[-- Attachment #1.1: Type: text/plain, Size: 683 bytes --]

Hi,

It turns out that `backward-char' in `gomoku-plot-square' should not be
replaced. I have attached a patch (gomoku-plot-square.patch) to fix
that.

For your convenience, I've also attached another patch (gomoku.patch)
which combines the previous two patches and this one (with `combinediff'
from `patchutils'). I tested it to make sure it applies cleanly.

Asher

-- 
Only fools are quoted.
		-- Anonymous
                               --------
I prefer to send and receive mail encrypted. Please send me your
public key, and if you do not have my public key, please let me
know. Thanks.

GPG fingerprint: 38F3 975C D173 4037 B397  8095 D4C9 C4FC 5460 8E68

[-- Warning: decoded text below may be mangled, UTF-8 assumed --]
[-- Attachment #1.2: Fix `gomoku-plot-square' --]
[-- Type: text/x-patch, Size: 366 bytes --]

--- gomoku.el~	2020-03-21 15:06:52.145727337 -0400
+++ gomoku.el	2020-03-21 19:13:36.284656730 -0400
@@ -1000,7 +1000,7 @@
 	  (1- (point)) (point)
 	  '(mouse-face highlight help-echo "mouse-2: play at this square")))
     (delete-char 1)
-    (gomoku-move-left))
+    (backward-char 1))
   (sit-for 0))	; Display NOW
 
 (defun gomoku-init-display (n m)

[-- Warning: decoded text below may be mangled, UTF-8 assumed --]
[-- Attachment #1.3: Combination of all three patches --]
[-- Type: text/x-patch, Size: 4469 bytes --]

diff -u gomoku.el gomoku.el
--- gomoku.el	2020-03-21 15:06:52.145727337 -0400
+++ gomoku.el	2020-03-21 19:13:36.284656730 -0400
@@ -110,8 +110,8 @@
     (define-key map "u" 'gomoku-move-ne)		    ; u
     (define-key map "b" 'gomoku-move-sw)		    ; b
     (define-key map "n" 'gomoku-move-se)		    ; n
-    (define-key map "h" 'backward-char)			    ; h
-    (define-key map "l" 'forward-char)			    ; l
+    (define-key map "h" 'gomoku-move-left)		    ; h
+    (define-key map "l" 'gomoku-move-right)		    ; l
     (define-key map "j" 'gomoku-move-down)		    ; j
     (define-key map "k" 'gomoku-move-up)		    ; k
 
@@ -119,11 +119,13 @@
     (define-key map [kp-9] 'gomoku-move-ne)
     (define-key map [kp-1] 'gomoku-move-sw)
     (define-key map [kp-3] 'gomoku-move-se)
-    (define-key map [kp-4] 'backward-char)
-    (define-key map [kp-6] 'forward-char)
+    (define-key map [kp-4] 'gomoku-move-left)
+    (define-key map [kp-6] 'gomoku-move-right)
     (define-key map [kp-2] 'gomoku-move-down)
     (define-key map [kp-8] 'gomoku-move-up)
 
+    (define-key map "\C-b" 'gomoku-move-left)		    ; C-b
+    (define-key map "\C-f" 'gomoku-move-right)		    ; C-f
     (define-key map "\C-n" 'gomoku-move-down)		    ; C-n
     (define-key map "\C-p" 'gomoku-move-up)		    ; C-p
 
@@ -146,6 +148,10 @@
     (define-key map [mouse-2] 'gomoku-mouse-play)
     (define-key map [drag-mouse-2] 'gomoku-mouse-play)
 
+    (define-key map [remap backward-char] 'gomoku-move-left)
+    (define-key map [remap left-char] 'gomoku-move-left)
+    (define-key map [remap forward-char] 'gomoku-move-right)
+    (define-key map [remap right-char] 'gomoku-move-right)
     (define-key map [remap previous-line] 'gomoku-move-up)
     (define-key map [remap next-line] 'gomoku-move-down)
     (define-key map [remap move-beginning-of-line] 'gomoku-beginning-of-line)
@@ -954,6 +960,11 @@
 	 ;; 2 instead of 1 because WINDOW-HEIGHT includes the mode line !
 	 gomoku-square-height)))
 
+(defun gomoku-point-x ()
+  "Return the board column where point is."
+  (1+ (/ (- (current-column) gomoku-x-offset)
+	 gomoku-square-width)))
+
 (defun gomoku-point-y ()
   "Return the board row where point is."
   (1+ (/ (- (count-lines (point-min) (point))
@@ -1103,7 +1114,7 @@
 	(setq square1 (+ square1 depl))
 	(cond
 	  ((= dy 0)			; Horizontal
-	   (forward-char 1)
+	   (gomoku-move-right)
 	   (insert-char ?- (1- gomoku-square-width) t)
 	   (delete-region (point) (progn
 				    (skip-chars-forward " \t")
@@ -1143,13 +1154,28 @@
           (skip-chars-forward gomoku--intangible-chars)
           (when (eobp)
             (skip-chars-backward gomoku--intangible-chars)
-            (forward-char -1)))
+            (gomoku-move-left)))
       (skip-chars-backward gomoku--intangible-chars)
       (if (bobp)
           (skip-chars-forward gomoku--intangible-chars)
-        (forward-char -1))))
+        (gomoku-move-left))))
   (setq gomoku--last-pos (point)))
 
+;; forward-char and backward-char don't always move the right number
+;; of characters. Also, these functions check if you're on the edge of
+;; the screen.
+(defun gomoku-move-right ()
+  "Move point right one column on the Gomoku board."
+  (interactive)
+  (when (< (gomoku-point-x) gomoku-board-width)
+    (forward-char gomoku-square-width)))
+
+(defun gomoku-move-left ()
+  "Move point left one column on the Gomoku board."
+  (interactive)
+  (when (> (gomoku-point-x) 1)
+    (backward-char gomoku-square-width)))
+
 ;; previous-line and next-line don't work right with intangible newlines
 (defun gomoku-move-down ()
   "Move point down one row on the Gomoku board."
@@ -1171,25 +1197,25 @@
   "Move point North East on the Gomoku board."
   (interactive)
   (gomoku-move-up)
-  (forward-char))
+  (gomoku-move-right))
 
 (defun gomoku-move-se ()
   "Move point South East on the Gomoku board."
   (interactive)
   (gomoku-move-down)
-  (forward-char))
+  (gomoku-move-right))
 
 (defun gomoku-move-nw ()
   "Move point North West on the Gomoku board."
   (interactive)
   (gomoku-move-up)
-  (backward-char))
+  (gomoku-move-left))
 
 (defun gomoku-move-sw ()
   "Move point South West on the Gomoku board."
   (interactive)
   (gomoku-move-down)
-  (backward-char))
+  (gomoku-move-left))
 
 (defun gomoku-beginning-of-line ()
   "Move point to first square on the Gomoku board row."

[-- Attachment #2: signature.asc --]
[-- Type: application/pgp-signature, Size: 227 bytes --]

^ permalink raw reply	[flat|nested] 6+ messages in thread

* bug#40169: Fix drawing the horizontal line
  2020-03-21 23:22     ` bug#40169: Fix gomoku-plot-square Asher Gordon
@ 2020-03-23  3:26       ` Asher Gordon
  2020-03-28  8:13         ` Eli Zaretskii
  0 siblings, 1 reply; 6+ messages in thread
From: Asher Gordon @ 2020-03-23  3:26 UTC (permalink / raw)
  To: 40169


[-- Attachment #1.1: Type: text/plain, Size: 114 bytes --]

Whoops! I accidentally broke drawing the horizontal line when someone
wins horizontally. Here is the patch below:

[-- Warning: decoded text below may be mangled, UTF-8 assumed --]
[-- Attachment #1.2: Fix drawing the horizontal line --]
[-- Type: text/x-patch, Size: 361 bytes --]

--- gomoku.el~	2020-03-21 19:13:36.284656730 -0400
+++ gomoku.el	2020-03-22 23:11:48.313804581 -0400
@@ -1114,7 +1114,7 @@
 	(setq square1 (+ square1 depl))
 	(cond
 	  ((= dy 0)			; Horizontal
-	   (gomoku-move-right)
+	   (forward-char 1)
 	   (insert-char ?- (1- gomoku-square-width) t)
 	   (delete-region (point) (progn
 				    (skip-chars-forward " \t")

[-- Attachment #1.3: Type: text/plain, Size: 397 bytes --]

And as before, I've also attached the fixed patch so you only have to
apply one patch.

Asher

-- 
One picture is worth 128K words.
                               --------
I prefer to send and receive mail encrypted. Please send me your
public key, and if you do not have my public key, please let me
know. Thanks.

GPG fingerprint: 38F3 975C D173 4037 B397  8095 D4C9 C4FC 5460 8E68

[-- Warning: decoded text below may be mangled, UTF-8 assumed --]
[-- Attachment #1.4: Fixed patch --]
[-- Type: text/x-patch, Size: 4200 bytes --]

diff -u gomoku.el gomoku.el
--- gomoku.el	2020-03-21 19:13:36.284656730 -0400
+++ gomoku.el	2020-03-22 23:11:48.313804581 -0400
@@ -110,8 +110,8 @@
     (define-key map "u" 'gomoku-move-ne)		    ; u
     (define-key map "b" 'gomoku-move-sw)		    ; b
     (define-key map "n" 'gomoku-move-se)		    ; n
-    (define-key map "h" 'backward-char)			    ; h
-    (define-key map "l" 'forward-char)			    ; l
+    (define-key map "h" 'gomoku-move-left)		    ; h
+    (define-key map "l" 'gomoku-move-right)		    ; l
     (define-key map "j" 'gomoku-move-down)		    ; j
     (define-key map "k" 'gomoku-move-up)		    ; k
 
@@ -119,11 +119,13 @@
     (define-key map [kp-9] 'gomoku-move-ne)
     (define-key map [kp-1] 'gomoku-move-sw)
     (define-key map [kp-3] 'gomoku-move-se)
-    (define-key map [kp-4] 'backward-char)
-    (define-key map [kp-6] 'forward-char)
+    (define-key map [kp-4] 'gomoku-move-left)
+    (define-key map [kp-6] 'gomoku-move-right)
     (define-key map [kp-2] 'gomoku-move-down)
     (define-key map [kp-8] 'gomoku-move-up)
 
+    (define-key map "\C-b" 'gomoku-move-left)		    ; C-b
+    (define-key map "\C-f" 'gomoku-move-right)		    ; C-f
     (define-key map "\C-n" 'gomoku-move-down)		    ; C-n
     (define-key map "\C-p" 'gomoku-move-up)		    ; C-p
 
@@ -146,6 +148,10 @@
     (define-key map [mouse-2] 'gomoku-mouse-play)
     (define-key map [drag-mouse-2] 'gomoku-mouse-play)
 
+    (define-key map [remap backward-char] 'gomoku-move-left)
+    (define-key map [remap left-char] 'gomoku-move-left)
+    (define-key map [remap forward-char] 'gomoku-move-right)
+    (define-key map [remap right-char] 'gomoku-move-right)
     (define-key map [remap previous-line] 'gomoku-move-up)
     (define-key map [remap next-line] 'gomoku-move-down)
     (define-key map [remap move-beginning-of-line] 'gomoku-beginning-of-line)
@@ -954,6 +960,11 @@
 	 ;; 2 instead of 1 because WINDOW-HEIGHT includes the mode line !
 	 gomoku-square-height)))
 
+(defun gomoku-point-x ()
+  "Return the board column where point is."
+  (1+ (/ (- (current-column) gomoku-x-offset)
+	 gomoku-square-width)))
+
 (defun gomoku-point-y ()
   "Return the board row where point is."
   (1+ (/ (- (count-lines (point-min) (point))
@@ -1143,13 +1154,28 @@
           (skip-chars-forward gomoku--intangible-chars)
           (when (eobp)
             (skip-chars-backward gomoku--intangible-chars)
-            (forward-char -1)))
+            (gomoku-move-left)))
       (skip-chars-backward gomoku--intangible-chars)
       (if (bobp)
           (skip-chars-forward gomoku--intangible-chars)
-        (forward-char -1))))
+        (gomoku-move-left))))
   (setq gomoku--last-pos (point)))
 
+;; forward-char and backward-char don't always move the right number
+;; of characters. Also, these functions check if you're on the edge of
+;; the screen.
+(defun gomoku-move-right ()
+  "Move point right one column on the Gomoku board."
+  (interactive)
+  (when (< (gomoku-point-x) gomoku-board-width)
+    (forward-char gomoku-square-width)))
+
+(defun gomoku-move-left ()
+  "Move point left one column on the Gomoku board."
+  (interactive)
+  (when (> (gomoku-point-x) 1)
+    (backward-char gomoku-square-width)))
+
 ;; previous-line and next-line don't work right with intangible newlines
 (defun gomoku-move-down ()
   "Move point down one row on the Gomoku board."
@@ -1171,25 +1197,25 @@
   "Move point North East on the Gomoku board."
   (interactive)
   (gomoku-move-up)
-  (forward-char))
+  (gomoku-move-right))
 
 (defun gomoku-move-se ()
   "Move point South East on the Gomoku board."
   (interactive)
   (gomoku-move-down)
-  (forward-char))
+  (gomoku-move-right))
 
 (defun gomoku-move-nw ()
   "Move point North West on the Gomoku board."
   (interactive)
   (gomoku-move-up)
-  (backward-char))
+  (gomoku-move-left))
 
 (defun gomoku-move-sw ()
   "Move point South West on the Gomoku board."
   (interactive)
   (gomoku-move-down)
-  (backward-char))
+  (gomoku-move-left))
 
 (defun gomoku-beginning-of-line ()
   "Move point to first square on the Gomoku board row."

[-- Attachment #2: signature.asc --]
[-- Type: application/pgp-signature, Size: 227 bytes --]

^ permalink raw reply	[flat|nested] 6+ messages in thread

* bug#40169: Fix drawing the horizontal line
  2020-03-23  3:26       ` bug#40169: Fix drawing the horizontal line Asher Gordon
@ 2020-03-28  8:13         ` Eli Zaretskii
       [not found]           ` <87a740gw4d.fsf@>
  0 siblings, 1 reply; 6+ messages in thread
From: Eli Zaretskii @ 2020-03-28  8:13 UTC (permalink / raw)
  To: Asher Gordon; +Cc: 40169

> From: Asher Gordon <AsDaGo@posteo.net>
> Date: Sun, 22 Mar 2020 23:26:16 -0400
> 
> Whoops! I accidentally broke drawing the horizontal line when someone
> wins horizontally. Here is the patch below:
> 
> --- gomoku.el~	2020-03-21 19:13:36.284656730 -0400
> +++ gomoku.el	2020-03-22 23:11:48.313804581 -0400
> @@ -1114,7 +1114,7 @@
>  	(setq square1 (+ square1 depl))
>  	(cond
>  	  ((= dy 0)			; Horizontal
> -	   (gomoku-move-right)
> +	   (forward-char 1)
>  	   (insert-char ?- (1- gomoku-square-width) t)
>  	   (delete-region (point) (progn
>  				    (skip-chars-forward " \t")
> 
> And as before, I've also attached the fixed patch so you only have to
> apply one patch.

Thanks, but please also provide a ChangeLog-format commit log message
for these changes.  Also, should any of this be in NEWS?  If so,
please provide the entry for that file as well.





^ permalink raw reply	[flat|nested] 6+ messages in thread

* bug#40169: Fix drawing the horizontal line
       [not found]           ` <87a740gw4d.fsf@>
@ 2020-04-03 11:51             ` Eli Zaretskii
  0 siblings, 0 replies; 6+ messages in thread
From: Eli Zaretskii @ 2020-04-03 11:51 UTC (permalink / raw)
  To: Asher Gordon; +Cc: 40169-done

> From: Asher Gordon <AsDaGo@posteo.net>
> Date: Sat, 28 Mar 2020 14:41:38 -0400
> 
> Eli Zaretskii <eliz@gnu.org> writes:
> 
> > Thanks, but please also provide a ChangeLog-format commit log message
> > for these changes.  Also, should any of this be in NEWS?  If so,
> > please provide the entry for that file as well.
> 
> Please see the patch below. It includes the changes to 'gomoku.el' as
> well as an entry in both 'etc/NEWS' and 'ChangeLog.3'. It also includes
> a git commit message (I formatted the patch with 'git format-patch').

Thanks, I pushed this to the master branch.

In the future, please don't provide changes for ChangeLog files, we
generate ChangeLog files from the Git log.  I also made your commit
log message more detailed, per our conventions; please try to use the
same style in the future.  Finally, the NEWS entry should have been
marked with "---", as this change doesn't need to be documented in any
manual.





^ permalink raw reply	[flat|nested] 6+ messages in thread

end of thread, other threads:[~2020-04-03 11:51 UTC | newest]

Thread overview: 6+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2020-03-21 17:20 bug#40169: 26.1; gomoku.el: Fix character movement Asher Gordon
     [not found] ` <handler.40169.B.15848125491336.ack@debbugs.gnu.org>
2020-03-21 19:10   ` bug#40169: Add missing keymaps Asher Gordon
2020-03-21 23:22     ` bug#40169: Fix gomoku-plot-square Asher Gordon
2020-03-23  3:26       ` bug#40169: Fix drawing the horizontal line Asher Gordon
2020-03-28  8:13         ` Eli Zaretskii
     [not found]           ` <87a740gw4d.fsf@>
2020-04-03 11:51             ` Eli Zaretskii

Code repositories for project(s) associated with this public inbox

	https://git.savannah.gnu.org/cgit/emacs.git

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for read-only IMAP folder(s) and NNTP newsgroup(s).