ergoemacs / ergoemacs-mode

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

Can't use ergoemacs-mode with latex files #434

Closed motherload closed 7 years ago

motherload commented 8 years ago

Hello. I can't use ergoemacs-mode to edit latex files. It works fine with other filetypes, apparently.

What happens is it only shows every other character I type on the buffer.

For example, if I type "qwerty asdfg" it will show "qet sf". I doesn't happen when I type in numbers, though. "1234" will show up on the screen as "1234".

It persists even after a fresh install of ergoemacs-mode from melpa, with and without auctex installed.

EDIT: I use emacs 25.1.1

mattfidler commented 8 years ago

Ill have to look into it. It worked on emacs 24.5

mattfidler commented 8 years ago

It works for me on ergoemacs on melpa and the emacs 25.1. Could you try:

1) Deleting ergoemacs-mode 2) Restarting Emacs 3) Reinstalling ergoemacs-mode 4) Restarting emacs

This is the key to uninstalling or installing a fresh copy of ergoemacs-mode. Unfortunately, if this isn't done, the upgrade corrupts ergoemacs-mode.

mattfidler commented 8 years ago

You seemed to have this issue before

https://github.com/ergoemacs/ergoemacs-mode/issues/427

What sorts of additional packages do you have running?

motherload commented 8 years ago

It's different this time. Movement is fine, but typing is broken. Before it happened with all files, now it just happens with .tex files.

I just did what you asked me to do, still get the same error. And I just noticed something else: it won't type any accented characters, like àáãçä etc.

Basically, this is my .emacs, plus some extra configs.

(require 'package) (require 'use-package) (load "auctex.el" nil t t) (load "preview-latex.el" nil t t) (require 'server) (use-package elfeed-org :ensure t :config (elfeed-org) (setq rmh-elfeed-org-files (list "~/.emacs.d/elfeed.org")) )

(use-package elfeed :bind ("C-x w" . elfeed) :ensure t :config (require 'feed-setup) )

(use-package notmuch :bind ("C-x n" . notmuch) :config (require 'email-setup) )

(use-package magit :bind ("C-x g" . magit-status) )

mattfidler commented 8 years ago

Hm. I installed auctex and I cannot reproduce your error. For me, it works correctly :( I'm unsure what is going on here. I run ergoemacs-mode in windows, perhaps you run it on Linux?

mattfidler commented 8 years ago

I'm using the auctex available on elpa.

motherload commented 8 years ago

I run it on linux. I don't know what's going on. I don't think it's an auctex problem. It's like as if it prints one character, then the next one I type is registered, but not printed. For instance, if I type "abc", it shows "ac", and when I type the b nothing happens. Then, if I try to delete these characters, I have to hit backspace 3 times, as if b was there all along. Like I said before, it doesn't happen if I type in non-letter characters, like numbers and symbols. And it doesn't happen in other filetypes other than .tex.

Other thing I noticed, it's not decoding latin characters. It I type for instance ç, it shows the utf-8 sequence ç. It happens with all accented and latin characters. My tex file is encoded in utf-8 and I use polyglossia language package, instead of inputenc (if that's somehow relevant).

Can you suggest a way for me to properly debug it? I'll try to test in a clear new .tex file, see if it remains. Perhaps I could send you my .tex file for you to test it for yourself?

motherload commented 8 years ago

I just tested it in a new .tex file, with minimal template. The error persists.

mattfidler commented 8 years ago

What version of auctex do you use?

mattfidler commented 8 years ago

It could be the polyglossia language package. ergoemacs-mode deals with inputenc, but doesn't deal with polyglossia. Can you disable it to see if that works for you?

motherload commented 8 years ago

Ok, I am positive that there are 2 distinct problems here.

auctex incompatibility: there is definitely an auctex incompatibility issue. Once I removed all traces of auctex from my .emacs and from my system, the problem with ergoemacs-mode not registering every other character disappeared. Typing "asd" returns "asd" now. By the way, I was installing auctex from melpa, v. 11.89.6. It was independent of the preamble of the tex file. It happened in a clear latex file, with no preamble whatsoever.

character encoding: there is definitely another problem, related to character encoding. This is a separate bug from the auctex one. When ergoemacs-mode is turned on, it won't print on the screen any latin characters, like characters with accents "áàêôã" or cedilla ç. Every time I type one of this characters, it prints on the screen the utf-8 sequence for that character "á -> á" "ã -> ã" "ç -> ç". I am aware that for English language users that don't use these characters, you can type \'a ~a etc. in latex, but for all other languages it is very impractical to do this. I type these characters all the time.

When I declare the inputenc [latin1] in the preamble, this character encoding problem disappears as well. Although, this shouldn't depend on the declaration of the inputenc package. I use xelatex with polyglossia package, so I don't use inputenc. In my opinion, ergoemacs should not interfere in character encoding or depend on a specific declaration of package in the latex preamble to function properly. It should just work out of the box.

Also, if I have auctex installed, the encoding problem persists even if I have inputenc declared.

mattfidler commented 7 years ago

I need to definitely address the character encoding problem. However, I'm unsure why they are printing the utf-8 sequences. gives 225 which is not a unicode character. Similarly, gives 227 etc.

I'm unsure how these keys are being typed, and I'm unsure how you set up emacs to use the international keys. It should only give low-level keys, not UTF keys. Can you help me understand your setup a bit better.

motherload commented 7 years ago

Sure!

I use archlinux, my kernel is 4.8.4-1. My system locale is LANG=pt_BR.UTF-8. I currently use wayland as a graphics manager and I use emacs -nw without xwayland. My keyboard keymap is KEYMAP=br-abnt2. This is my keyboard

http://s2.glbimg.com/hlQMZ_E87B3DB_96rVuO_pY2Yy8=/695x0/s.glbimg.com/po/tt2/f/original/2016/06/21/900px-kb_portuguese_brazilsvg_.png

So I use dead keys to type in dyacritics, like áé and I have a key for ç on the keyboard. Therefore, I do not need any extra setup in emacs or any other specific program to type in these special characters. The system recognize my keymap. I only need to declare the character encoding in latex because of the latex compiler, but I can type the characters in any editor regardless. I'm not sure what other information that can be useful to help right now. Please let me know how I can be of help.

mattfidler commented 7 years ago

This may be fixed. I changed how erogemacs-mode interacts with keys. Hopefully it no longer has this issue on emacs 25.

mattfidler commented 7 years ago

I close it for now. Let me know if you have the issue again.