emacs-helm / helm

Emacs incremental completion and selection narrowing framework
https://emacs-helm.github.io/helm/
GNU General Public License v3.0
3.36k stars 389 forks source link

`M-x help-with-tutorial-spec-language` will always get error message #448

Closed redguardtoo closed 10 years ago

redguardtoo commented 10 years ago

M-x help-with-tutorial-spec-language will always get error message, even with following set up.

latest helm.

(helm-mode 1)

(setq helm-completing-read-handlers-alist
      '((describe-function . ido)
        (describe-variable . ido)
        (debug-on-entry . helm-completing-read-symbols)
        (find-function . helm-completing-read-symbols)
        (find-tag . helm-completing-read-with-cands-in-buffer)
        (ffap-alternate-file . nil)
        (tmm-menubar . nil)
        (dired-do-copy . nil)
        (dired-do-rename . nil)
        (dired-create-directory . nil)
        (find-file . ido)
        (copy-file-and-rename-buffer . nil)
        (rename-file-and-buffer . nil)
        (w3m-goto-url . nil)
        (ido-find-file . nil)
        (ido-edit-input . nil)
        (mml-attach-file . ido)
        (read-file-name . nil)
        (yas/compile-directory . ido)
        (execute-extended-command . ido)
        (help-with-tutorial-spec-language . nil)
        (help-with-tutorial . nil)
        (read-language-name . ido)
        (minibuffer-completion-help . ido)
        (wg-load . ido)
        (rgrep . ido)
        (read-directory-name . ido)
        ))
michael-heerdegen commented 10 years ago

Indeed, I can reproduce this from helm.sh and just doing M-x help-with-tutorial-spec-language.

OTOH, with my own settings, it seems to work (no error), although I get two completions buffers, one from helm, and one from vanilla completion.

redguardtoo commented 10 years ago

I'm using console emacs in shell, btw.

thierryvolpiatto commented 10 years ago

michael-heerdegen notifications@github.com writes:

Indeed, I can reproduce this from helm.sh and just doing M-x help-with-tutorial-spec-language.

What are you reproducing ? Which error ? I still can't reproduce, please backtrace.

OTOH, with my own settings, it seems to work (no error), although I get two completions buffers, one from helm, and one from vanilla completion.

This is what I have from ./emacs-helm.sh and from my own emacs.

This is an emacs bug in `help-with-tutorial' which use redundant code:

(minibuffer-with-setup-hook #'minibuffer-completion-help (read-language-name 'tutorial "Language: " "English"))

only

(read-language-name 'tutorial "Language: " "English")

is needed.

Thierry Get my Gnupg key: gpg --keyserver pgp.mit.edu --recv-keys 59F29997

redguardtoo commented 10 years ago

I did some investigation, looks it's completing-read will always use the helm one instead original one even with my set up:

Here is the code copied from /usr/share/emacs/24.3/lisp/international/mule-cmds.el

(defun read-language-name (key prompt &optional default)
  "Read a language environment name which has information for KEY.
If KEY is nil, read any language environment.
Prompt with PROMPT.  DEFAULT is the default choice of language environment.
This returns a language environment name as a string."
  (let* ((completion-ignore-case t)
     (name (completing-read prompt
                language-info-alist
                (and key
                     (function (lambda (elm) (and (listp elm) (assq key elm)))))
                t nil nil default)))
    (if (and (> (length name) 0)
         (or (not key)
         (get-language-info name key)))
    name)))
$ emacs --version
GNU Emacs 24.3.1
Copyright (C) 2013 Free Software Foundation, Inc.
GNU Emacs comes with ABSOLUTELY NO WARRANTY.
You may redistribute copies of Emacs
under the terms of the GNU General Public License.
For more information about these matters, see the file named COPYING.
$ uname -a
Linux sydneypc 3.10.7-gentoo-r1 #1 SMP Sat Oct 26 22:17:18 EST 2013 x86_64 Intel(R) Core(TM) i3-3220 CPU @ 3.30GHz GenuineIntel GNU/Linux
michael-heerdegen commented 10 years ago

My last message has not been posted, probably because the backtrace included so much words in different languages.

Thierry, I do indeed get an error, but I even get it with emacs -Q, i.e., without helm.

OTOH I do think that the redundant call

(minibuffer-with-setup-hook #'minibuffer-completion-help ...)

is intended, to help newbies, because they might not yet know how to complete before having read the tutorial.

@redguardtoo can you please test if you get the error even when turning off helm-mode, e.g. with emacs -Q?

Anyway, I do get an error with vanilla Emacs, so I'll make a bug report.

thierryvolpiatto commented 10 years ago

michael-heerdegen notifications@github.com writes:

My last message has not been posted, probably because the backtrace included so much words in different languages.

Thierry, I do indeed get an error, but I even get it with emacs -Q, i.e., without helm.

I have no error with emacs -Q, it is working as expected.

OTOH I do think that the redundant call

(minibuffer-with-setup-hook #'minibuffer-completion-help ...)

is intended, to help newbies, because they might not yet know how to complete before having read the tutorial.

I see.

Thierry Get my Gnupg key: gpg --keyserver pgp.mit.edu --recv-keys 59F29997

michael-heerdegen commented 10 years ago

Before reporting it, I've updated my Emacs, just to be sure. The problem disappeared!

@redguardtoo: please try updating your Emacs if possible

@thierryvolpiatto: So there doesn't seem to be a problem with Helm. Maybe we can avoid that two completions buffer pop up, the helm completions plus the vanilla completions buffer?

redguardtoo commented 10 years ago

no error when -Q On Mar 14, 2014 11:50 PM, "michael-heerdegen" notifications@github.com wrote:

My last message has not been posted, probably because the backtrace included so much words in different languages.

Thierry, I do indeed get an error, but I even get it with emacs -Q, i.e., without helm.

OTOH I do think that the redundant call

(minibuffer-with-setup-hook #'minibuffer-completion-help ...)

is intended, to help newbies, because they might not yet know how to complete before having read the tutorial.

@redguardtoo https://github.com/redguardtoo can you please test if you get the error even when turning off helm-mode, e.g. with emacs -Q?

Anyway, I do get an error with vanilla Emacs, so I'll make a bug report.

Reply to this email directly or view it on GitHubhttps://github.com/emacs-helm/helm/issues/448#issuecomment-37643384 .

michael-heerdegen commented 10 years ago

Have you upgraded? If yes, do you still see the error with helm-mode enabled?

BTW, it's normal that helm substitutes `completing-read' (in all situations) - that's what helm-mode is for.

redguardtoo commented 10 years ago

yes, check my setup. i disable helm for certain command, but not work. that is the issue On Mar 15, 2014 12:15 AM, "michael-heerdegen" notifications@github.com wrote:

Have you upgraded? If yes, do you still see the error with helm-mode enabled?

BTW, it's normal that helm substitutes `completing-read' (in all situations) - that's what helm-mode is for.

Reply to this email directly or view it on GitHubhttps://github.com/emacs-helm/helm/issues/448#issuecomment-37645250 .

thierryvolpiatto commented 10 years ago

michael-heerdegen notifications@github.com writes:

Before reporting it, I've updated my Emacs, just to be sure. The problem disappeared!

@redguardtoo: please try updating your Emacs if possible

@thierryvolpiatto: So there doesn't seem to be a problem with Helm. Maybe we can avoid that two completions buffer pop up, the helm completions plus the vanilla completions buffer?

I think we should live with this.

To fix this we have to remove minibuffer-completion-help' from minibuffer-setup-hook'. It is what I do in helm--completing-read-default' and it is working in most cases, but when the hook is added withminibuffer-with-setup-hook' we have a closure and it is impossible to know what this closure is for. (i.e is this closure running minibuffer-completion-help ?)

I can remove all closures and keep only symbols, but we will loose useful closures that have been added here.

Thierry Get my Gnupg key: gpg --keyserver pgp.mit.edu --recv-keys 59F29997

michael-heerdegen commented 10 years ago

Thierry Volpiatto notifications@github.com writes:

I think we should live with this.

I can remove all closures and keep only symbols, but we will loose useful closures that have been added here.

That doesn't sound good... Ok, then it's probably better to do nothing.

michael-heerdegen commented 10 years ago

chen bin notifications@github.com writes:

yes, check my setup. i disable helm for certain command, but not work. that is the issue

Ok, sorry for being inattentive, I think I understand now. Although you have

(help-with-tutorial-spec-language . nil)

in your setup, you nonetheless get an error when using helm-mode, but you don't get an error with emacs -Q. That's indeed a helm related problem.

But I can't reproduce it, also not with my Emacs 24.3.1 from the Debian repositories. Strange that I got an error in my trunk built before upgrading. BTW, the backtrace ended like this:

Debugger entered--Lisp error: (wrong-type-argument numberp nil) zerop(nil) minibuffer-completion-help()

Dunno which circumstances trigger this.

thierryvolpiatto commented 10 years ago

michael-heerdegen notifications@github.com writes:

@thierryvolpiatto: So there doesn't seem to be a problem with Helm. Maybe we can avoid that two completions buffer pop up, the helm completions plus the vanilla completions buffer?

Finally fixed.

Thierry Get my Gnupg key: gpg --keyserver pgp.mit.edu --recv-keys 59F29997

redguardtoo commented 10 years ago

OK, looks solved if If I add to list helm-completing-read-handlers-alist with (help-with-tutorial . ido) but (help-with-tutorial) has the same error.

anyway, I'm fine with current solution.

thierryvolpiatto commented 10 years ago

chen bin notifications@github.com writes:

OK, looks solved if If I add to list helm-completing-read-handlers-alist with (help-with-tutorial . ido) but (help-with-tutorial) has the same error.

Note you never told me what was this "same error", please send a backtrace starting from ./emacs-helm.sh (or the default setting of `helm-completing-read-handlers-alist').

Thierry Get my Gnupg key: gpg --keyserver pgp.mit.edu --recv-keys 59F29997

redguardtoo commented 10 years ago

No backstrace. I just get message "can't expand minibuffer to full frame"

thierryvolpiatto commented 10 years ago

chen bin notifications@github.com writes:

No backstrace. I just get message "can't expand minibuffer to full frame"

This is an error message coming from delete-other-windows', if you turn ondebug-on-error', you will have a backtrace.

Thierry Get my Gnupg key: gpg --keyserver pgp.mit.edu --recv-keys 59F29997

redguardtoo commented 10 years ago

you mean "M-x toggle-debug-on-error", right? I always turn on it before reporting the bug. the weird thing is "can't expand minibuffer to full frame" is the only error message I got.

I actually edit the emacs's original lisp code, insert log function and try to debug it line by line before reporting the issue.

All I can tell is that in read-language-name the line containing completing-read my trigger the error.

to reproduce the bug, you need below code:

(setq helm-completing-read-handlers-alist
      '((describe-function . ido)
        (describe-variable . ido)
        (debug-on-entry . helm-completing-read-symbols)
        (find-function . helm-completing-read-symbols)
        (find-tag . helm-completing-read-with-cands-in-buffer)
        (ffap-alternate-file . nil)
        (tmm-menubar . nil)
        (dired-do-copy . nil)
        (dired-do-rename . nil)
        (dired-create-directory . nil)
        (find-file . ido)
        (copy-file-and-rename-buffer . nil)
        (rename-file-and-buffer . nil)
        (w3m-goto-url . nil)
        (ido-find-file . nil)
        (ido-edit-input . nil)
        (mml-attach-file . ido)
        (read-file-name . nil)
        (yas/compile-directory . ido)
        (execute-extended-command . ido)
        (help-with-tutorial . nil)
        (minibuffer-completion-help . nil)
        (minibuffer-complete . nil)
        (wg-load . ido)
        (rgrep . ido)
        (read-directory-name . ido)
        ))

The only setup line related to this issue is (help-with-tutorial . nil)

michael-heerdegen commented 10 years ago

chen bin notifications@github.com writes:

you mean "M-x toggle-debug-on-error", right? I always turn on it before reporting the bug. the weird thing is "can't expand minibuffer to full frame" is the only error message I got.

My guess is that the error is caught by a condition-case'. You can nonehteless get a backtrace by setting the variabledebug-on-message' to a regexp matching the message you get:

(setq debug-on-message "can't expand minibuffer to full frame")

Note that when the debugger pops up, the error has already been caught, so this backtrace will only reveal where the error happens, but won't show the cause of the error, so we will need to dig further then.

to reproduce the bug, you need below code:

Sorry, i can't reproduce it. Maybe this depends on circumstances outside of Emacs.

Thanks, Michael.

redguardtoo commented 10 years ago

Nothing in backtrace. Here is the info from message buffer.

Debug on Error enabled globally
Making completion list...
Entering debugger...
byte-code: Can't expand minibuffer to full frame
michael-heerdegen commented 10 years ago

What does "nothing in backtrace" mean? I see that the debugger popped up. Please post the contents of the backtrace buffer. Or was it completely empty???

redguardtoo commented 10 years ago

back trace buffer is empty On Mar 19, 2014 8:50 PM, "michael-heerdegen" notifications@github.com wrote:

What does "nothing in backtrace" mean? I see that the debugger popped up. Please post the contents of the backtrace buffer. Or was it completely empty???

Reply to this email directly or view it on GitHubhttps://github.com/emacs-helm/helm/issues/448#issuecomment-38032883 .

michael-heerdegen commented 10 years ago

chen bin notifications@github.com writes:

back trace buffer is empty

Oh no!

Ok, I grepped the Emacs sources for

"Can't expand minibuffer to full frame"

and there is only one match: in delete-other-windows in window.el. So, please try M-x debug-on-entry delete-other-windows RET. Hopefully you get a useful backtrace this time. Please load the relevant source files before (window.el, helm sources) so that we get a backtrace without unreadable byte code.

redguardtoo commented 10 years ago
delete-other-windows(#<window 2 on  *Minibuf-1*>)
  popwin:create-popup-window(15 bottom t)
  popwin:popup-buffer(#<buffer *Completions*> :width 30 :height 15 :position bottom :noselect t :stick nil)
  popwin:display-buffer-1(#<buffer *Completions*> :if-config-not-found #[(buffer) "\302 \"\207" [buffer not-this-window popwin:original-display-buffer] 3])
  popwin:display-buffer(#<buffer *Completions*> nil)
  funcall(popwin:display-buffer #<buffer *Completions*> nil)
  (if display-buffer-function (funcall display-buffer-function buffer inhibit-same-window) (let* ((user-action (display-buffer-assq-regexp (buffer-name buffer) display-buffer-alist action)) (special-action (display-buffer--special-action buffer)) (extra-action (cons nil (append (if inhibit-same-window (quote ...)) (if frame (list ...))))) (actions (list display-buffer-overriding-action user-action special-action action extra-action display-buffer-base-action display-buffer-fallback-action)) (functions (apply (quote append) (mapcar (function (lambda ... ... ...)) actions))) (alist (apply (quote append) (mapcar (quote cdr) actions))) window) (if (buffer-live-p buffer) nil (error "Invalid buffer")) (while (and functions (not window)) (setq window (funcall (car functions) buffer alist) functions (cdr functions))) window))
  (let ((buffer (if (bufferp buffer-or-name) buffer-or-name (get-buffer buffer-or-name))) (inhibit-same-window (and action (not (listp action))))) (if (listp action) nil (setq action nil)) (if display-buffer-function (funcall display-buffer-function buffer inhibit-same-window) (let* ((user-action (display-buffer-assq-regexp (buffer-name buffer) display-buffer-alist action)) (special-action (display-buffer--special-action buffer)) (extra-action (cons nil (append (if inhibit-same-window ...) (if frame ...)))) (actions (list display-buffer-overriding-action user-action special-action action extra-action display-buffer-base-action display-buffer-fallback-action)) (functions (apply (quote append) (mapcar (function ...) actions))) (alist (apply (quote append) (mapcar (quote cdr) actions))) window) (if (buffer-live-p buffer) nil (error "Invalid buffer")) (while (and functions (not window)) (setq window (funcall (car functions) buffer alist) functions (cdr functions))) window)))
  ad-Orig-display-buffer(#<buffer *Completions*> nil nil)
  display-buffer(#<buffer *Completions*>)
  internal-temp-output-buffer-show(#<buffer *Completions*>)
  minibuffer-completion-help()
  #[nil "\301\302\"\210\303 \207" [setup-hook remove-hook minibuffer-setup-hook minibuffer-completion-help] 3]()
  read-from-minibuffer("Language: " nil (keymap (C-M-left . backward-sexp) (C-M-right . forward-sexp) (27 keymap (63 . session-minibuffer-history-help)) (escape . minibuffer-keyboard-quit) (10 . minibuffer-complete-and-exit) (13 . minibuffer-complete-and-exit) keymap (escape . minibuffer-keyboard-quit) (menu-bar keymap (minibuf "Minibuf" keymap (tab menu-item "Complete" minibuffer-complete :help "Complete as far as possible") (space menu-item "Complete Word" minibuffer-complete-word :help "Complete at most one word") (63 menu-item "List Completions" minibuffer-completion-help :help "Display all possible completions") "Minibuf")) (27 keymap (63 . session-minibuffer-history-help) (118 . switch-to-completions)) (prior . switch-to-completions) (63 . minibuffer-completion-help) (32 . minibuffer-complete-word) (9 . minibuffer-complete) keymap (escape . minibuffer-keyboard-quit) (24 keymap (14 . evil-complete-previous-line) (16 . evil-complete-next-line)) (14 . evil-complete-previous) (16 . evil-complete-next) (C-M-right . eldoc-mode-line-toggle-rolling) (menu-bar keymap (minibuf "Minibuf" keymap (previous menu-item "Previous History Item" previous-history-element :help "Put previous minibuffer history element in the minibuffer") (next menu-item "Next History Item" next-history-element :help "Put next minibuffer history element in the minibuffer") (isearch-backward menu-item "Isearch History Backward" isearch-backward :help "Incrementally search minibuffer history backward") (isearch-forward menu-item "Isearch History Forward" isearch-forward :help "Incrementally search minibuffer history forward") (return menu-item "Enter" exit-minibuffer :key-sequence "
" :help "Terminate input and exit minibuffer") (quit menu-item "Quit" abort-recursive-edit :help "Abort input and exit minibuffer") "Minibuf")) (10 . exit-minibuffer) (13 . exit-minibuffer) (7 . abort-recursive-edit) (C-tab . file-cache-minibuffer-complete) (9 . self-insert-command) (XF86Back . previous-history-element) (up . previous-history-element) (prior . previous-history-element) (XF86Forward . next-history-element) (down . next-history-element) (next . next-history-element) (27 keymap (63 . session-minibuffer-history-help) (107 . abort-recursive-edit) (114 . previous-matching-history-element) (115 . next-matching-history-element) (112 . previous-history-element) (110 . next-history-element))) nil nil "English" nil)
  completing-read-default("Language: " (("Cham" (coding-priority utf-8) (coding-system utf-8) (charset unicode)) ("Burmese" (documentation . t) (sample-text . "Burmese ()  ") (coding-priority utf-8) (coding-system utf-8) (charset unicode)) ("Khmer" (documentation . t) (sample-text . "Khmer ()   ") (coding-priority utf-8) (coding-system utf-8) (charset unicode)) ("Georgian" (documentation . "Support for georgian-ps character set.") (nonascii-translation . georgian-ps) (input-method . "georgian") (coding-priority georgian-ps) (coding-system georgian-ps)) ("UTF-8" (documentation . "This language environment is a generic one for the Unicode character set
encoded in UTF-8.") (input-method . "rfc1345") (charset unicode-bmp unicode) (coding-priority utf-8) (coding-system utf-8)) ("Persian" (documentation . "Bidirectional editing is supported.") (sample-text . "Persian  ") (input-method . "farsi-transliterate-banan") (coding-priority utf-8 iso-8859-6 windows-1256) (coding-system utf-8 iso-8859-6 windows-1256) (charset unicode)) ("Arabic" (documentation . "Bidirectional editing is supported.") (sample-text . "Arabic    ") (input-method . "arabic") (coding-priority utf-8 iso-8859-6 windows-1256) (coding-system utf-8 iso-8859-6 windows-1256) (charset unicode)) ("IPA" (documentation . "IPA is International Phonetic Alphabet for English, French, German
and Italian.") (nonascii-translation . ipa) (input-method . "ipa") (coding-system utf-8) (coding-priority utf-8) (charset ipa)) ("Vietnamese" (documentation . "For Vietnamese, Emacs uses special charsets internally.
They can be decoded from and encoded to VISCII, VSCII, TCVN-5712, VIQR
and windows-1258.  VSCII is deprecated in favor of TCVN-5712.  The
Current setting gives higher priority to the coding system VISCII than
TCVN-5712.  If you prefer TCVN-5712, please do: (prefer-coding-system
'vietnamese-tcvn).  There are two Vietnamese input methods: VIQR and
Telex, VIQR is the default setting.") (sample-text . "Vietnamese (Ting Vit) Cho bn") (features viet-util) (unibyte-display . vietnamese-viscii) (input-method . "vietnamese-viqr") (coding-priority vietnamese-viscii) (nonascii-translation . viscii) (coding-system vietnamese-viscii vietnamese-vscii vietnamese-tcvn vietnamese-viqr windows-1258) (charset viscii)) ("Tibetan" (sample-text . "Tibetan () ") (documentation . t) (features tibet-util) (input-method . "tibetan-wylie") (coding-priority iso-2022-7bit tibetan-iso-8bit) (coding-system tibetan-iso-8bit) (charset tibetan tibetan-1-column)) ("Thai" (documentation . t) (sample-text thai-compose-string (copy-sequence "Thai ()     , ")) (exit-function . exit-thai-language-environment-internal) (setup-function . setup-thai-language-environment-internal) (features thai-util) (unibyte-display . thai-tis620) (input-method . "thai-kesmanee") (nonascii-translation . tis620-2533) (coding-priority thai-tis620) (coding-system thai-tis620 iso-8859-11 cp874) (charset thai-tis620) (tutorial . "TUTORIAL.th")) ("TaiViet" (documentation . "TaiViet refers to the Tai language used by Tai people in
Vietnam, and also refers to the script used for this language.
Both the script and language have the same origin as that of Thai
language/script used in Thailand, but now they differ from each
other in a significant way (especially the scripts are).

The language name is spelled as \" \", and the script name is
spelled as \" \" in the modern form, \" \" in the traditional
form.

As the proposal for TaiViet script to the Unicode is still on
the progress, we use the Private Use Area for TaiViet
characters (U+F000..U+F07E).  A TaiViet font encoded accordingly
is available at this web page:
    http://www.m17n.org/viettai/
") (sample-text . "TaiViet ( )         /   ") (input-method . "tai-sonla") (coding-priority utf-8) (coding-system utf-8) (charset unicode)) ("Lao" (documentation . t) (features lao-util) (unibyte-display . lao) (input-method . "lao") (coding-priority lao) (coding-system lao) (charset lao)) ("Korean" (documentation . "The following key bindings are available for controlling Korean input methods:
  Shift-SPC, Hangul:    toggle-korean-input-method
  Control-F9:       quail-hangul-switch-symbol-ksc
  F9:           quail-hangul-switch-hanja
and the following key bindings are available within Korean input methods:
  F9, Hangul_Hanja: hangul-to-hanja-conversion") (sample-text . "Hangul ()  , ") (coding-priority korean-iso-8bit korean-cp949 iso-2022-kr) (features korea-util) (input-method . "korean-hangul") (coding-system iso-2022-kr korean-iso-8bit korean-cp949) (charset korean-ksc5601 cp949) (tutorial . "TUTORIAL.ko") (iso639-language . ko) (exit-function . exit-korean-environment) (setup-function . setup-korean-environment-internal)) ("Japanese" (documentation . t) (sample-text . "Japanese ()    , ") (features japan-util) (input-method . "japanese") (coding-priority iso-2022-jp japanese-iso-8bit japanese-shift-jis iso-2022-jp-2004 euc-jis-2004 japanese-shift-jis-2004 iso-2022-jp-2) (coding-system iso-2022-jp japanese-iso-8bit japanese-shift-jis japanese-iso-7bit-1978-irv iso-2022-jp-2004 japanese-shift-jis-2004 euc-jis-2004) (charset japanese-jisx0208 japanese-jisx0212 latin-jisx0201 katakana-jisx0201 japanese-jisx0213\.2004-1 japanese-jisx0213-1 japanese-jisx0213-2 japanese-jisx0208-1978) (tutorial . "TUTORIAL.ja") (iso639-language . ja) (exit-function . use-default-char-width-table) (setup-function . setup-japanese-environment-internal)) ("Windows-1255" (documentation . "Support for Windows-1255 encoding, e.g. for Yiddish.
Bidirectional editing is supported.") (coding-system windows-1255) (coding-priority windows-1255)) ("Hebrew" (documentation . "Bidirectional editing is supported.") (sample-text . "Hebrew ") (unibyte-display . hebrew-iso-8bit) (input-method . "hebrew") (nonascii-translation . iso-8859-8) (coding-system hebrew-iso-8bit windows-1255 cp862) (coding-priority hebrew-iso-8bit) (charset iso-8859-8) (tutorial . "TUTORIAL.he")) ("Greek" (documentation . t) (input-method . "greek") (nonascii-translation . iso-8859-7) (coding-priority greek-iso-8bit) (coding-system greek-iso-8bit windows-1253 cp851 cp869) (charset iso-8859-7)) ("Romanian" (documentation . "Romanian environment using Latin-2 encoding.
An environment for generic Latin-10 encoding is also available.") (sample-text . "Bun ziua, bine ai venit!") (tutorial . "TUTORIAL.ro") (unibyte-display . iso-8859-2) (input-method . "latin-2-postfix") (nonascii-translation . iso-8859-2) (coding-priority iso-8859-2) (coding-system iso-8859-2 iso-latin-10) (charset iso-8859-2)) ("Slovak" (documentation . "This language environment is almost the same as Latin-2,
but sets the default input method to \"slovak\",
and selects the Slovak tutorial.") (sample-text . "Prajeme Vm prjemn de!") (tutorial . "TUTORIAL.sk") (unibyte-display . iso-8859-2) (input-method . "slovak") (nonascii-translation . iso-8859-2) (coding-priority iso-8859-2) (coding-system iso-8859-2) (charset ascii latin-iso8859-2)) ("Czech" (documentation . "This language environment is almost the same as Latin-2,
but sets the default input method to \"czech\",
and selects the Czech tutorial.") (sample-text . "Pejeme vm hezk den!") (tutorial . "TUTORIAL.cs") (unibyte-display . iso-8859-2) (nonascii-translation . iso-8859-2) (input-method . "czech") (coding-priority iso-8859-2) (coding-system iso-8859-2) (charset ascii latin-iso8859-2)) ("Brazilian Portuguese" (documentation . "Support for Brazilian Portuguese.") (sample-text . "Oi") (input-method . "latin-1-prefix") (unibyte-display . iso-8859-1) (nonascii-translation . iso-8859-1) (coding-priority iso-latin-1) (coding-system iso-latin-1 iso-latin-9) (charset iso-8859-1) (tutorial . "TUTORIAL.pt_BR")) ("Croatian" (documentation . "Support for Croatian with Latin-2 encoding.") (unibyte-display . iso-8859-2) (nonascii-translation . iso-8859-2) (input-method . "croatian") (coding-priority iso-8859-2) (coding-system iso-8859-2) (charset iso-8859-2)) ("Swedish" (documentation . "Support for Swedish") (sample-text . "Goddag Hej") (unibyte-display . iso-latin-1) (nonascii-translation . iso-8859-1) (coding-priority iso-latin-1) (coding-system iso-latin-1) (charset iso-8859-1) (tutorial . "TUTORIAL.sv")) ("Latvian" (documentation . "Support for Latvian.") (input-method . "latvian-keyboard") (nonascii-translation . iso-8859-13) (coding-priority latin-7) (coding-system latin-7 windows-1257)) ("Lithuanian" (documentation . "Support for Lithuanian.") (input-method . "lithuanian-keyboard") (nonascii-translation . iso-8859-13) (coding-priority latin-7) (coding-system latin-7 windows-1257)) ("Welsh" (documentation . "Support for Welsh, using Unicode.") (input-method . "welsh") (nonascii-translation . iso-8859-14) (coding-priority utf-8 latin-8) (coding-system utf-8 latin-8)) ("Polish" (documentation . t) (sample-text . "Pjd, ki-e t chmurno w gb flaszy") (tutorial . "TUTORIAL.pl") (unibyte-display . iso-8859-2) (nonascii-translation . iso-8859-2) (input-method . "polish-slash") (coding-priority iso-8859-2) (coding-system iso-8859-2 windows-1250) (charset iso-8859-2)) ("Turkish" (documentation . "Support for Turkish.
Differs from the Latin-5 environment in using the `turkish-postfix' input
method and applying Turkish case rules for the characters i, I, , .") (setup-function . turkish-case-conversion-disable) (sample-text . "Turkish (Trke) Merhaba") (input-method . "turkish-postfix") (unibyte-display . iso-latin-5) (nonascii-translation . iso-8859-9) (coding-priority iso-latin-5) (coding-system iso-latin-5 windows-1254 iso-latin-3) (charset iso-8859-9)) ("Spanish" (documentation . "This language environment is almost the same as Latin-1,
but it sets the default input method to \"spanish-postfix\",
and it selects the Spanish tutorial.") (sample-text . "Spanish (Espaol) Hola!") (unibyte-display . iso-latin-1) (nonascii-translation . iso-8859-1) (input-method . "spanish-postfix") (coding-priority iso-latin-1) (coding-system iso-latin-1 iso-latin-9) (charset iso-8859-1) (tutorial . "TUTORIAL.es")) ("Slovenian" (documentation . "This language environment is almost the same as Latin-2,
but it selects the Slovenian tutorial and input method.") (sample-text . "elimo vam uspeen dan!") (tutorial . "TUTORIAL.sl") (unibyte-display . iso-8859-2) (input-method . "slovenian") (nonascii-translation . iso-8859-2) (coding-priority iso-8859-2) (coding-system iso-8859-2 windows-1250) (charset iso-8859-2)) ("Italian" (documentation . "This language environment is almost the same as Latin-1,
but sets the default input method to \"italian-postfix\".
Additionally, it selects the Italian tutorial.") (sample-text . "Salve, ciao!") (input-method . "italian-postfix") (unibyte-display . iso-latin-1) (nonascii-translation . iso-8859-1) (coding-priority iso-latin-1) (coding-system iso-latin-1 iso-latin-9) (charset iso-8859-1) (tutorial . "TUTORIAL.it")) ("French" (documentation . "This language environment is almost the same as Latin-1,
but it selects the French tutorial and input method.") (sample-text . "French (Franais) Bonjour, Salut") (input-method . "latin-1-prefix") (unibyte-display . iso-latin-1) (nonascii-translation . iso-8859-1) (coding-priority iso-latin-1) (coding-system iso-latin-1 iso-latin-9) (charset iso-8859-1) (tutorial . "TUTORIAL.fr")) ("German" (documentation . "This language environment is almost the same as Latin-1,
but sets the default input method to \"german-postfix\".
Additionally, it selects the German tutorial.") (sample-text . "German (Deutsch Nord)   Guten Tag
German (Deutsch Sd) Gr Gott") (unibyte-display . iso-latin-1) (input-method . "german-postfix") (nonascii-translation . iso-8859-1) (coding-priority iso-latin-1) (coding-system iso-latin-1 iso-latin-9) (charset iso-8859-1) (tutorial . "TUTORIAL.de")) ("Dutch" (documentation . "This language environment is almost the same as Latin-1,
but it selects the Dutch tutorial and input method.") (sample-text . "Er is een aantal manieren waarop je dit kan doen") (input-method . "dutch") (unibyte-display . iso-latin-1) (nonascii-translation . iso-8859-1) (coding-priority iso-latin-1) (coding-system iso-latin-1 iso-latin-9) (charset iso-8859-1) (tutorial . "TUTORIAL.nl")) ("Esperanto" (documentation . "Support for Esperanto with ISO-8859-3 character set.") (input-method . "latin-3-prefix") (unibyte-display . iso-latin-3) (unibyte-syntax . "latin-3") (nonascii-translation . latin-iso8859-3) (coding-priority iso-latin-3) (coding-system iso-latin-3) (charset iso-8859-3) (tutorial . "TUTORIAL.eo")) ("Latin-9" (documentation . "This language environment is a generic one for the Latin-9 (ISO-8859-15)
character set which supports the same languages as Latin-1 with the
addition of the Euro sign and some additional French and Finnish letters.
Latin-9 is sometimes nicknamed `Latin-0'.") (sample-text . "AVE.  ") (input-method . "latin-9-prefix") (unibyte-display . iso-latin-9) (nonascii-translation . iso-8859-15) (coding-priority iso-latin-9) (coding-system iso-latin-9) (charset iso-8859-15)) ("Latin-8" (documentation . "This language environment is a generic one for the Latin-8 (ISO-8859-14)
character set which supports the Celtic languages, including those not
covered by other ISO-8859 character sets:
 Welsh, Manx Gaelic and Irish Gaelic (old orthography).") (sample-text . "  ") (input-method . "latin-8-prefix") (unibyte-display . iso-latin-8) (nonascii-translation . iso-8859-14) (coding-priority iso-latin-8) (coding-system iso-latin-8) (charset iso-8859-14)) ("Latin-7" (input-method . "latin-prefix") (documentation . "Support for Latin-7, e.g. Latvian, Lithuanian.") (unibyte-display . iso-latin-7) (nonascii-translation . iso-8859-13) (coding-priority latin-7) (coding-system latin-7) (charset iso-8859-13)) ("Latin-6" (features code-pages) (input-method . "latin-prefix") (documentation . "Support for Latin-6.") (unibyte-display . iso-latin-6) (nonascii-translation) (coding-priority latin-6) (coding-system latin-6) (charset iso-8859-10)) ("Latin-5" (documentation . "Support for Latin-5.See also the Turkish environment.") (input-method . "latin-5-postfix") (unibyte-display . iso-latin-5) (nonascii-translation . iso-8859-9) (coding-priority iso-latin-5) (coding-system iso-latin-5) (charset iso-8859-9)) ("Latin-4" (documentation . "These languages are supported with the Latin-4 (ISO-8859-4) character set:
 Danish, English, Estonian, Finnish, German, Greenlandic, Latvian,
 Lithuanian, Norwegian, and Sami.") (input-method . "latin-4-postfix") (unibyte-display . iso-8859-4) (nonascii-translation . iso-8859-4) (coding-priority iso-8859-4) (coding-system iso-8859-4) (charset iso-8859-4)) ("Latin-3" (documentation . "These languages are supported with the Latin-3 (ISO-8859-3) character set:
 Afrikaans, Catalan, Dutch, English, Esperanto, French, Galician,
 German, Italian, Maltese, Spanish, and Turkish.") (input-method . "latin-3-prefix") (unibyte-display . iso-latin-3) (nonascii-translation . iso-8859-3) (coding-priority iso-latin-3) (coding-system iso-latin-3) (charset iso-8859-3)) ("Latin-2" (documentation . "This language environment is a generic one for the Latin-2 (ISO-8859-2)
character set which supports the following languages:
 Albanian, Czech, English, German, Hungarian, Polish, Romanian,
 Serbo-Croatian or Croatian, Slovak, Slovene, Sorbian (upper and lower),
 and Swedish.
We also have specific language environments for the following languages:
  For Czech, \"Czech\".
  For Croatian, \"Croatian\".
  For Polish, \"Polish\".
  For Romanian, \"Romanian\".
  For Slovak, \"Slovak\".") (input-method . "latin-2-prefix") (unibyte-display . iso-latin-2) (nonascii-translation . iso-8859-2) (coding-priority iso-latin-2) (coding-system iso-latin-2 windows-1250) (charset iso-8859-2)) ("Latin-1" (documentation . "This language environment is a generic one for the Latin-1 (ISO-8859-1)
character set which supports the following European languages:
 Albanian, Basque, Breton, Catalan, Danish, Dutch, English, Faeroese,
 Finnish, French (with restrictions -- see Latin-9), Frisian, Galician,
 German, Greenlandic, Icelandic, Irish Gaelic (new orthography),
 Italian, Latin, Luxemburgish, Norwegian, Portuguese, Rhaeto-Romanic,
 Scottish Gaelic, Spanish, and Swedish.
We also have specific language environments for the following languages:
  For Dutch, \"Dutch\".
  For German, \"German\".
  For French, \"French\".
  For Italian, \"Italian\".
  For Slovenian, \"Slovenian\".
  For Spanish, \"Spanish\".

Latin-1 also covers several written languages outside Europe, including
Indonesian/Malay, Tagalog (Philippines), Swahili and Afrikaans.") (sample-text . "Hello, Hej, Tere, Hei, Bonjour, Gr Gott, Ciao, Hola!") (input-method . "latin-1-prefix") (unibyte-display . iso-latin-1) (nonascii-translation . iso-8859-1) (coding-priority iso-latin-1) (coding-system iso-latin-1 iso-latin-9 windows-1252) (charset iso-8859-1)) ("Ethiopic" (documentation . "This language environment provides these function key bindings:
    [f3]   ethio-fidel-to-sera-buffer
    [S-f3] ethio-fidel-to-sera-region
    [C-f3] ethio-fidel-to-sera-marker

    [f4]   ethio-sera-to-fidel-buffer
    [S-f4] ethio-sera-to-fidel-region
    [C-f4] ethio-sera-to-fidel-marker

    [S-f5] ethio-toggle-punctuation
    [S-f6] ethio-modify-vowel
    [S-f7] ethio-replace-space

    [S-f9] ethio-replace-space
    [C-f9] ethio-toggle-space") (sample-text . "") (features ethio-util) (input-method . "ethiopic") (coding-priority utf-8-emacs) (coding-system utf-8-emacs) (charset ethiopic) (exit-function . exit-ethiopic-environment) (setup-function . setup-ethiopic-environment-internal)) ("ASCII" (tutorial . "TUTORIAL") (charset ascii) (sample-text . "Hello!, Hi!, How are you?") (documentation . "Nothing special is needed to handle English.")) ("English" (documentation . "Nothing special is needed to handle English.") (sample-text . "Hello!, Hi!, How are you?") (charset ascii) (tutorial . "TUTORIAL")) ("Sinhala" (documentation . t) (sample-text . "Sinhala () ") (coding-priority utf-8) (coding-system utf-8) (charset unicode)) ("Malayalam" (documentation . "South Indian language Malayalam is supported in this language environment.") (input-method . "malayalam-itrans") (coding-priority utf-8) (coding-system utf-8) (charset unicode)) ("Kannada" (documentation . "Kannada language and script is supported in this language
environment.") (sample-text . "Kannada ()   ") (input-method . "kannada-itrans") (coding-priority mule-utf-8) (coding-system mule-utf-8) (charset unicode)) ("Telugu" (documentation . "South Indian Language Telugu is supported in this language environment.") (input-method . "telugu-itrans") (coding-priority utf-8) (coding-system utf-8) (charset unicode)) ("Tamil" (documentation . "South Indian Language Tamil is supported in this language environment.") (input-method . "tamil-itrans") (coding-priority utf-8) (coding-system utf-8) (charset unicode)) ("Oriya" (documentation . "Such languages using Oriya script as Oriya, Khonti, and Santali
are supported in this language environment.") (input-method . "oriya-itrans") (coding-priority utf-8) (coding-system utf-8) (charset unicode)) ("Gujarati" (documentation . "North Indian language Gujarati is supported in this language environment.") (input-method . "gujarati-itrans") (coding-priority utf-8) (coding-system utf-8) (charset unicode)) ("Punjabi" (documentation . "North Indian language Punjabi is supported in this language environment.") (input-method . "punjabi-itrans") (coding-priority utf-8) (coding-system utf-8) (charset unicode)) ("Bengali" (documentation . "Such languages using Bengali script as Bengali and Assamese
are supported in this language environment.") (input-method . "bengali-itrans") (coding-priority utf-8) (coding-system utf-8) (charset unicode)) ("Devanagari" (documentation . "Such languages using Devanagari script as Hindi and Marathi
are supported in this language environment.") (input-method . "devanagari-aiba") (coding-priority utf-8) (coding-system utf-8) (charset unicode)) ("Belarusian" (documentation . "Support for Belarusian with windows-1251 character set.
(The name Belarusian replaced Byelorussian in the early 1990s.)") (input-method . "belarusian") (ctext-non-standard-encodings "microsoft-cp1251") (charset windows-1251) (nonascii-translation . windows-1251) (coding-priority windows-1251) (coding-system windows-1251)) ("Bulgarian" (documentation . "Support for Bulgarian with windows-1251 character set.") (input-method . "bulgarian-bds") (ctext-non-standard-encodings "microsoft-cp1251") (charset windows-1251) (nonascii-translation . windows-1251) (coding-priority windows-1251) (coding-system windows-1251)) ("Tajik" (documentation . "Support for Tajik using KOI8-T.") (features code-pages) (input-method . "russian-typewriter") (charset koi8-t) (nonascii-translation . cyrillic-koi8-t) (coding-priority koi8-t) (coding-system koi8-t)) ("Cyrillic-ALT" (documentation . "Support for Cyrillic ALTERNATIVNYJ.") (sample-text . "Russian () !") (unibyte-display . cyrillic-alternativnyj) (features cyril-util) (input-method . "russian-typewriter") (nonascii-translation . alternativnyj) (coding-priority cyrillic-alternativnyj) (coding-system cyrillic-alternativnyj) (charset alternativnyj)) ("Ukrainian" (documentation . "Support for Ukrainian with koi8-u character set.") (input-method . "ukrainian-computer") (nonascii-translation . koi8-u) (coding-priority koi8-u) (coding-system koi8-u) (charset koi8-u)) ("Russian" (tutorial . "TUTORIAL.ru") (documentation . "Support for Russian using koi8-r and the russian-computer input method.") (sample-text . "Russian ()   !") (unibyte-display . cyrillic-koi8) (features cyril-util) (input-method . "russian-computer") (coding-priority cyrillic-koi8 cyrillic-iso-8bit) (coding-system cyrillic-koi8) (nonascii-translation) (charset cyrillic-iso8859-5)) ("Cyrillic-KOI8" (documentation . "Support for Cyrillic KOI8-R.") (sample-text . "Russian ()   !") (unibyte-display . cyrillic-koi8) (features cyril-util) (input-method . "russian-typewriter") (nonascii-translation . koi8) (ctext-non-standard-encodings "koi8-r") (coding-priority cyrillic-koi8 cyrillic-iso-8bit) (coding-system cyrillic-koi8) (charset koi8)) ("Cyrillic-ISO" (documentation . "Support for Cyrillic ISO-8859-5.") (sample-text . "Russian () !") (features cyril-util) (unibyte-display . cyrillic-iso-8bit) (nonascii-translation . iso-8859-5) (input-method . "cyrillic-yawerty") (coding-priority cyrillic-iso-8bit) (coding-system cyrillic-iso-8bit) (charset iso-8859-5)) ("Chinese-GB18030" (tutorial . "TUTORIAL.cn") (documentation . "Support for Chinese GB18030 character set.") (features china-util) (sample-text . "Chinese (,,) ") (input-method . "chinese-py-punct") (coding-priority gb18030 gbk iso-2022-cn chinese-big5 chinese-iso-8bit) (coding-system chinese-gb18030) (iso639-language . zh) (charset gb18030)) ("Chinese-GBK" (tutorial . "TUTORIAL.cn") (documentation . "Support for Chinese GBK character set.") (features china-util) (sample-text . "Chinese (,,) ") (input-method . "chinese-py-punct") (ctext-non-standard-encodings "gbk-0") (coding-priority gbk iso-2022-cn chinese-big5 chinese-iso-8bit) (coding-system chinese-gbk) (exit-function . use-default-char-width-table) (setup-function lambda nil (use-cjk-char-width-table (quote zh_CN))) (iso639-language . zh) (charset chinese-gbk)) ("Chinese-EUC-TW" (documentation . "Support for Chinese, preferring the EUC-TW character set.  Note that
the EUC-TW coding system accepts Big5 for input also (which is then
converted to CNS).") (input-method . "chinese-cns-quick") (features china-util) (coding-priority euc-tw chinese-big5 iso-2022-cn chinese-iso-8bit chinese-gbk) (coding-system euc-tw iso-2022-cn) (exit-function . use-default-char-width-table) (setup-function lambda nil (use-cjk-char-width-table (quote zh_TW))) (iso639-language . zh) (charset chinese-cns11643-1 chinese-cns11643-2 chinese-cns11643-3 chinese-cns11643-4 chinese-cns11643-5 chinese-cns11643-6 chinese-cns11643-7 chinese-big5-1 chinese-big5-2)) ("Chinese-CNS" (documentation . "Support for Chinese CNS character sets.  Note that the EUC-TW coding system
accepts Big5 for input also (which is then converted to CNS).") (input-method . "chinese-cns-quick") (features china-util) (coding-priority iso-2022-cn euc-tw chinese-big5 chinese-iso-8bit chinese-gbk) (coding-system iso-2022-cn euc-tw) (exit-function . use-default-char-width-table) (setup-function lambda nil (use-cjk-char-width-table (quote zh_TW))) (iso639-language . zh) (charset chinese-cns11643-1 chinese-cns11643-2 chinese-cns11643-3 chinese-cns11643-4 chinese-cns11643-5 chinese-cns11643-6 chinese-cns11643-7)) ("Chinese-BIG5" (tutorial . "TUTORIAL.zh") (documentation . "Support for Chinese Big5 character set.") (sample-text . "Cantonese (,)    , ") (features china-util) (ctext-non-standard-encodings "big5-0") (input-method . "chinese-py-punct-b5") (coding-priority chinese-big5 iso-2022-cn chinese-iso-8bit chinese-gbk) (coding-system chinese-big5 chinese-iso-7bit) (exit-function . use-default-char-width-table) (setup-function lambda nil (use-cjk-char-width-table (quote zh_HK))) (iso639-language . zh) (charset chinese-big5-1 chinese-big5-2)) ("Chinese-GB" (tutorial . "TUTORIAL.cn") (documentation . "Support for Chinese GB2312 character set.") (sample-text . "Chinese (,,) ") (features china-util) (input-method . "chinese-py-punct") (coding-priority chinese-iso-8bit chinese-gbk chinese-big5 iso-2022-cn) (coding-system chinese-iso-8bit iso-2022-cn chinese-hz) (exit-function . use-default-char-width-table) (setup-function lambda nil (use-cjk-char-width-table (quote zh_CN))) (iso639-language . zh) (charset chinese-gb2312 chinese-sisheng))) #[(elm) "<\205
redguardtoo commented 10 years ago

Now I know, it's because I'm using popwin and helm will call its API.

and looks my popwin set up has some issue:

(require 'popwin)

(setq popwin:special-display-config nil)
(setq display-buffer-function 'popwin:display-buffer)

;; enable popwin-mode globally is too dangerous
(add-to-list 'popwin:special-display-config '("*Help*"))
(add-to-list 'popwin:special-display-config '("*Completions*" :noselect t))
(add-to-list 'popwin:special-display-config '("*compilation*" :noselect t))
(add-to-list 'popwin:special-display-config '("*Occur*" :noselect t))
(add-to-list 'popwin:special-display-config '("*Backtrace*"))
(add-to-list 'popwin:special-display-config '("*Remember*" :stick t))
(add-to-list 'popwin:special-display-config '("*Org Agenda*"))
(add-to-list 'popwin:special-display-config '("*sdic*" :noselect))
(add-to-list 'popwin:special-display-config '("*Apropos*"))
(add-to-list 'popwin:special-display-config '("*Warnings*"))
(add-to-list 'popwin:special-display-config '(" *auto-async-byte-compile*" :noselect))

(provide 'init-popwin)
michael-heerdegen commented 10 years ago

Ok, thanks. Looks quite like a bug in popwin. I don't use popwin, but I guess when you are using helm, you can just remove

(add-to-list 'popwin:special-display-config '("*Completions*" :noselect t))

from you config, which seems to trigger the bug, and is not needed with helm-mode turned on.

thierryvolpiatto commented 10 years ago

chen bin notifications@github.com writes:

Now I know, it's because I'm using popwin and helm looks support it when detecting popwin.

If you have used a minimal emacs settings (emacs -Q) or the script ./emacs-helm.sh as preconised, you would have saved our time...

Thierry Get my Gnupg key: gpg --keyserver pgp.mit.edu --recv-keys 59F29997

thierryvolpiatto commented 10 years ago

michael-heerdegen notifications@github.com writes:

Ok, thanks. Looks quite like a bug in popwin. I don't use popwin, but I guess when you are using helm, you can just remove

(add-to-list 'popwin:special-display-config '("Completions" :noselect t))

from you config, which seems to trigger the bug, and is not needed with helm-mode turned on.

Thanks Michael to have looked into this.

Thierry Get my Gnupg key: gpg --keyserver pgp.mit.edu --recv-keys 59F29997