ergoemacs / ergoemacs-mode

ergoemacs-mode
ergoemacs.github.io/
GNU General Public License v3.0
293 stars 35 forks source link

Ergoemacs-mode keybinding not working in multi-term #324

Closed erreina closed 9 years ago

erreina commented 9 years ago

Hi, I am using ergoemacs-mode and I would like to use its keybinding for cursor movement on multi-term. However, when pressing I get printed the character 'ê', similar with almost all other keybindings. I have installed ergoemacs-mode and multi-term using el-get.

mattfidler commented 9 years ago

What layout and version of ergoemacs-mode? What version of emacs and multi-term? What key are you pressing?

erreina commented 9 years ago

ergoemacs-mode: 5.14.7.3 emacs: 24.4.1 multi-term: 1.2 layouts: "us"

I am pressing the cursor movement keybinding: , and instead of moving the cursor I am getting characters 'ê' and 'ì'.

mattfidler commented 9 years ago

Are you in a GUI or terminal? On Dec 12, 2014 10:34 AM, "Ernesto Rodriguez Reina" < notifications@github.com> wrote:

ergoemacs-mode: 5.14.7.3 emacs: 24.4.1 multi-term: 1.2 layouts: "us"

I am pressing the cursor movement keybinding: , and instead of moving the cursor I am getting characters 'ê' and 'ì'.

— Reply to this email directly or view it on GitHub https://github.com/ergoemacs/ergoemacs-mode/issues/324#issuecomment-66797185 .

erreina commented 9 years ago

I am in GUI, XFCE. I have also tested in KDE.

mattfidler commented 9 years ago

It could be the variables term-bind-key-alist and term-unbind-key-list

As a quick test, try

(setq term-bind-key-alist nil
      term-unbind-key-list nil)
(require 'ergoemacs-mode)
(require 'multi-term)

Unfortunately, I rarely have Linux or mac access, so I won't be able to test this easily myself.

erreina commented 9 years ago

I found that the problem is not only with multi-term, it is also with term. I used command-log-mode to record the keys and commands. This is the set-up I made:

(require 'command-log-mode)
(add-hook 'term-mode-hook 'command-log-mode)

(setq ergoemacs-theme nil)
(setq ergoemacs-keyboard-layout "us")
(require 'ergoemacs-mode)
(ergoemacs-mode 1

I executed clm/open-command-log-buffer and then term and this is the result:

screenshot

mattfidler commented 9 years ago

I have tried to start term on windows and I cannot. I get the error "Spawning child process: invalid argument"

mattfidler commented 9 years ago

I also tried to run shell by shell and then change to term-mode by pressing Alt+a term-mode and I cannot reproduce this error in my github version. I will try the master branch and the stable release. I'm assuming ergoemacs-mode this came from gnu elpa?

mattfidler commented 9 years ago

I tried on master and couldn't reproduce the issue etiher.

mattfidler commented 9 years ago

I also tried on the stable release v5.14.7.3 and couldn't reproduce the issue.

Have you tried from a clean environment. You can by pressing Ctrl+u Ctrl+u Ctrl+h z (or alternatively apps g apps g apps h z) to start a clean environment.

erreina commented 9 years ago

I have tried in the clean environment and it is the same. I really really want to help solving this bug. What else can I do?

mattfidler commented 9 years ago

You could try Alt+: then (ergoemacs-shortcut-remap-list 'next-line) in the multi-term-mode and see what function it is giving.

Another possibility is to do the following:

(defun ergoemacs-term-off ()
  (set (make-local-variable 'ergoemacs-use-function-remapping) nil))

(add-hook 'term-mode-hook 'ergoemacs-term-off)
(add-hook 'multi-term-mode-hook 'ergoemacs-term-off)

To see if it functions properly. Its a work-around, not really addressing the issue.

mattfidler commented 9 years ago

This may be fixed in the current branch. It dose respect the input-method (and passes a test about it). I canot figure out how to test this, so I will be closing it unless you tell me the unstable version doesn't work.