winterTTr / ace-jump-mode

a quick cursor jump mode for emacs

Home Page:https://github.com/winterTTr/ace-jump-mode/wiki

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

ace-jump-char-mode in split window makes emacs unusable

gnosis-zz opened this issue · comments

Summary:

Using ace-jump-char-mode from an emacsclient, with split
windows containing identical text makes emacs unusable.

WARNING: Before trying to reproduce this bug, be aware
that it may render your emacs completely
unusable, with the only way to fix it being to
kill emacs.

Steps to reproduce:

  1. Save the sample text from the following link to a file
    called "foo.txt":

    http://pastie.org/pastes/8096881/text

  2. From a shell, start the emacs daemon as:

     emacs --daemon -Q
  1. Edit the above file from an emacsclient, by typing:
     emacsclient -t foo.txt
  1. Assuming you have ace-jump-mode.el installed
    in ~/.emacs.d, type
     M-: (add-to-list 'load-path "~/.emacs.d")
  1. Type
     M-: (require 'ace-jump-mode)
  1. Create a split window by typing
    C-x 2
  1. Type:
      M-x ace-jump-char-mode ebe

(Note that the "ebe" in the line above could be any
characters on the screen. "ebe" is just an example)

  1. A prompt will appear in the echo area:
     Buffer `foo.txt<2>' still has clients; kill it? (yes or no)

At this point, emacs has been rendered almost completely
unusable. Nothing, including C-g, seems to be able to
get me out of this prompt. Sometimes, typing something,
like C-g, will show this error:

   Wrong type argument: stringp, nil

But it won't let you escape the prompt. Any attempt to
type "yes" or "no" will not succeed. Emacs will just
beep at you.

Using the shell to kill emacsclient, by (for example)
typing "killall emacsclient" will successfully kill the
broken emacsclient, but when a new emacsclient is
started, trying to type anything in to it will only
result in this error:

   Wrong type argument: window-valid-p, #<window 0x113fb78>

At this point, I couldn't find any way to get emacs back
to a usable state, so I was forced to kill both the
emacsclient and the emacs daemon.

I am using:

ace-jump-mode.el version 2.0.RC, downloaded today using:

   git clone https://github.com/winterTTr/ace-jump-mode.git

M-: (version)

   "GNU Emacs 24.3.50.1 (x86_64-unknown-linux-gnu, X
   toolkit, Xaw3d scroll bars)\n of 2013-05-31 on saturn"

C-h v system-configuration-options

   "--enable-link-time-optimization --with-x
   --with-x-toolkit=lucid --prefix=/usr/local/emacs
   CFLAGS='-O2 -march=native -pipe -falign-functions=64
   -fomit-frame-pointer -ftracer -funit-at-a-time -fweb
   -fforce-addr -fpeel-loops -funswitch-loops
   -frename-registers -msse'"

uname -a

   Linux saturn 3.8.13-gentoo #2 PREEMPT Thu May 30
   12:05:19 EDT 2013 x86_64 AMD Athlon(tm) 64 Processor
   3000+ AuthenticAMD GNU/Linux

7355dc3
This will fix the problem you met. Please update to the latest ace jump.

Enjoy it ~