-
-
Notifications
You must be signed in to change notification settings - Fork 392
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
helm-follow-mode not worked when enable left neotree buffer window. #2115
Comments
Billy.Zheng <notifications@github.com> writes:
Actual behavior (from emacs-helm.sh if possible, see note at the bottom)
Got error message like this:
Error running timer: (error "Cannot split side window or parent of
side window") (1:19 top) dir:evaluations git:bugfix/NTWEB-399
minibuffer-inactive-mode [2018-11-21 14:44] [14 times]
Maybe there exist some variable can skip neotree buffer window?
Steps to reproduce (recipe)
just enable neotree window, and try follow-mode
Can't reproduce.
I tried with M-x neotree, this gave me a window on the left side of
screen, then I switched to the buffer in other window (not the neotree
one) and used helm-occur with follow-mode enabled.
Backtraces if any (M-x toggle-debug-on-error)
Too many debug output... if need, i will copy.
Describe versions of Helm, Emacs, operating system, etc.
v3.0, emacs 26.1
Are you using emacs-helm.sh to reproduce this bug (yes/no):
no
Why no? Here is the problem, so please start from emacs-helm.sh, load
neotree.el and try to reproduce.
… IMPORTANT NOTE
Helm provides a script named emacs-helm.sh which runs Helm in a neutral
environment: no other packages and only minimal settings.
When possible, use it to reproduce your Helm issue to ensure no other package is
interfering.
To run it, simply switch to the directory where Helm is installed and call ./emacs-helm.sh.
If necessary you can specify emacs executable path on command line with "-P" option.
Thanks.
—
You are receiving this because you are subscribed to this thread.
Reply to this email directly, view it on GitHub, or mute the thread.*
--
Thierry
|
Sorry for confusing, not i don't want, just because start from emacs-helm.sh exist I use builtin emacs for arch (i know, i should compile it myself like i does in another any why, follow is some highlight. ╰─ $ ./emacs-helm.sh
+ test -z ''
+ TEMP=/tmp
+ CONF_FILE=/tmp/helm-cfg.el
+ EMACS=emacs
+ case $1 in
++ emacs -q -batch --eval '(prin1 load-path)'
+ LOAD_PATH='("/usr/share/emacs/26.1/site-lisp" "/usr/share/emacs/site-lisp" "/usr/share/emacs/26.1/lisp" "/usr/share/emacs/26.1/lisp/vc" "/usr/share/emacs/26.1/lisp/url" "/usr/share/emacs/26.1/lisp/textmodes" "/usr/share/emacs/26.1/lisp/progmodes" "/usr/share/emacs/26.1/lisp/play" "/usr/share/emacs/26.1/lisp/org" "/usr/share/emacs/26.1/lisp/nxml" "/usr/share/emacs/26.1/lisp/net" "/usr/share/emacs/26.1/lisp/mh-e" "/usr/share/emacs/26.1/lisp/mail" "/usr/share/emacs/26.1/lisp/leim" "/usr/share/emacs/26.1/lisp/language" "/usr/share/emacs/26.1/lisp/international" "/usr/share/emacs/26.1/lisp/image" "/usr/share/emacs/26.1/lisp/gnus" "/usr/share/emacs/26.1/lisp/eshell" "/usr/share/emacs/26.1/lisp/erc" "/usr/share/emacs/26.1/lisp/emulation" "/usr/share/emacs/26.1/lisp/emacs-lisp" "/usr/share/emacs/26.1/lisp/cedet" "/usr/share/emacs/26.1/lisp/calendar" "/usr/share/emacs/26.1/lisp/calc" "/usr/share/emacs/26.1/lisp/obsolete")'
+ cd .
++ find . -samefile ./emacs-helm.sh -printf %l
+ TRUENAME=
+ '[' '!' -z '' ']'
+ AUTO_FILE=helm-autoloads.el
+ '[' '!' -e helm-autoloads.el ']'
+ cat
+ emacs -Q -l /tmp/helm-cfg.el emacs error message is: version-to-list: Invalid version syntax: ‘{{VERSION}}’ (must start with a number) |
Following is generated (setq initial-scratch-message (concat initial-scratch-message
";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;\n;; This Emacs is Powered by `HELM' using\n;; emacs program \"emacs\".\n;; This is a minimal `helm' configuration to discover `helm' or debug it.\n;; You can retrieve this minimal configuration in \"/tmp/helm-cfg.el\".\n;; Some original Emacs commands are replaced by their `helm' counterparts:\n\n;; - `find-file'(C-x C-f) =>`helm-find-files'\n;; - `occur'(M-s o) =>`helm-occur'\n;; - `list-buffers'(C-x C-b) =>`helm-buffers-list'\n;; - `completion-at-point'(M-tab) =>`helm-lisp-completion-at-point'[1]\n;; - `dabbrev-expand'(M-/) =>`helm-dabbrev'\n;; - `execute-extended-command'(M-x) =>`helm-M-x'\n\n
;; Some other Emacs commands are \"helmized\" by `helm-mode'.\n;; [1] Coming with emacs-24.4, `completion-at-point' is \"helmized\" by `helm-mode'\n;; which provides Helm completion in many places like `shell-mode'.\n;; Find context help for most Helm commands with `C-h m'.\n;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;\n\n"))
(setq load-path (quote ("/usr/share/emacs/26.1/site-lisp" "/usr/share/emacs/site-lisp" "/usr/share/emacs/26.1/lisp" "/usr/share/emacs/26.1/lisp/vc" "/usr/share/emacs/26.1/lisp/url" "/usr/share/emacs/26.1/lisp/textmodes" "/usr/share/emacs/26.1/lisp/progmodes" "/usr/share/emacs/26.1/lisp/play" "/usr/share/emacs/26.1/lisp/org" "/usr/share/emacs/26.1/lisp/nxml" "/usr/share/emacs/26.1/lisp/net" "/usr/share/emacs/26.1/lisp/mh-e" "/usr/share/emacs/26.1/lisp/mail" "/usr/share/emacs/26.1/lisp/leim" "/usr/share/emacs/26.1/lisp/language" "/usr/share/emacs/26.1/lisp/international" "/usr/share/emacs/26.1/lisp/image" "/usr/share/emacs/26.1/lisp/gnus" "/usr/share/emacs/26.1/lisp/eshell" "/usr/share/emacs/26.1/lisp/erc" "/usr/share/emacs/26.1/lisp/emulation" "/usr/share/emacs/26.1/lisp/emacs-lisp" "/usr/share/emacs/26.1/lisp/cedet" "/usr/share/emacs/26.1/lisp/calendar" "/usr/share/emacs/26.1/lisp/calc" "/usr/share/emacs/26.1/lisp/obsolete")))
(require 'package)
;; User may be using a non standard `package-user-dir'.
;; Modify `package-directory-list' instead of `package-user-dir'
;; in case the user starts Helm from a non-ELPA installation.
(unless (file-equal-p package-user-dir "~/.emacs.d/elpa")
(add-to-list 'package-directory-list (directory-file-name
(file-name-directory
(directory-file-name default-directory)))))
(setq package-load-list '((helm-core t) (helm t) (async t) (popup t)))
(package-initialize)
(add-to-list 'load-path (file-name-directory (file-truename "./emacs-helm.sh")))
(setq default-frame-alist '((vertical-scroll-bars . nil)
(tool-bar-lines . 0)
(menu-bar-lines . 0)
(fullscreen . nil)))
(blink-cursor-mode -1)
(require 'helm-config)
(helm-mode 1)
(define-key global-map [remap find-file] 'helm-find-files)
(define-key global-map [remap occur] 'helm-occur)
(define-key global-map [remap list-buffers] 'helm-buffers-list)
(define-key global-map [remap dabbrev-expand] 'helm-dabbrev)
(define-key global-map [remap execute-extended-command] 'helm-M-x)
(unless (boundp 'completion-in-region-function)
(define-key lisp-interaction-mode-map [remap completion-at-point] 'helm-lisp-completion-at-point)
(define-key emacs-lisp-mode-map [remap completion-at-point] 'helm-lisp-completion-at-point))
(add-hook 'kill-emacs-hook #'(lambda () (and (file-exists-p "/tmp/helm-cfg.el") (delete-file "/tmp/helm-cfg.el")))) |
I compile my emacs 26.1 from scratch, but the same error still exist. Finally, i found the error come from following two line code: (setq package-load-list '((helm-core t) (helm t) (async t) (popup t)))
(package-initialize) After I remove those two line, and copy Following is reproduce: ./emacs-helm.sh to start a new session.copy neotree init code to buffer, current buffer content is:;; This buffer is for text that is not saved, and for Lisp evaluation.
;; To create a file, visit it with C-x c C-x C-f and enter text in its buffer.
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
;; This Emacs is Powered by ‘HELM’ using
;; emacs program "emacs".
;; This is a minimal ‘helm’ configuration to discover ‘helm’ or debug it.
;; You can retrieve this minimal configuration in "/tmp/helm-cfg.el".
;; Some original Emacs commands are replaced by their ‘helm’ counterparts:
;; - ‘find-file’(C-x C-f) =>‘helm-find-files’
;; - ‘occur’(M-s o) =>‘helm-occur’
;; - ‘list-buffers’(C-x C-b) =>‘helm-buffers-list’
;; - ‘completion-at-point’(M-tab) =>‘helm-lisp-completion-at-point’[1]
;; - ‘dabbrev-expand’(M-/) =>‘helm-dabbrev’
;; - ‘execute-extended-command’(M-x) =>‘helm-M-x’
;; Some other Emacs commands are "helmized" by ‘helm-mode’.
;; [1] Coming with emacs-24.4, ‘completion-at-point’ is "helmized" by ‘helm-mode’
;; which provides Helm completion in many places like ‘shell-mode’.
;; Find context help for most Helm commands with ‘C-h m’.
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
(require 'neotree)
(setq neo-window-width 40)
(setq neo-auto-indent-point t)
(setq neo-window-fixed-size nil)
;; (setq neo-hide-cursor t)
(setq neo-smart-open t) ; 开启 neotree 窗口时, 尝试跳转到当前文件 node
;; (setq neo-autorefresh t)
;; (setq neo-confirm-change-root 'noop)
(global-set-key [(f8)] 'neotree-toggle)
(add-hook 'dired-mode-hook
'(lambda ()
(define-key dired-mode-map [(f8)] 'neotree-toggle)
))
(add-hook 'ibuffer-mode-hook
'(lambda ()
(define-key ibuffer-mode-map [(f8)] 'neotree-toggle)
))
eval-bufferrun neotree to open neotree left windowrun helm-occur, search
|
to make a long story short, i setting following config which discussed by us in #2039, like following: (setq-default helm-display-buffer-default-height (* (frame-height) 0.618))
(setq helm-default-display-buffer-functions '(display-buffer-in-side-window)) And, after that, if neotree window is left opened, will cause |
Billy.Zheng <notifications@github.com> writes:
I compile my emacs 26.1 from scratch, but the same error still exist.
Finally, i found the error come from following two line code:
(setq package-load-list '((helm-core t) (helm t) (async t) (popup t)))
(package-initialize)
No, the error comes from package.el that don't find your packages because
they are presumably not installed in a standard location.
Please read the documentation on how to install helm and its
dependencies:
https://github.com/emacs-helm/helm/wiki#install
After I remove those two line, and copy async.el and popup.el and neotree
to helm git folder, it worked now.
Following is reproduce:
./emacs-helm.sh to start a new session.
copy neotree init code to buffer, current buffer content is:
Add following config and eval it.
(setq-default helm-display-buffer-default-height (* (frame-height) 0.618))
(setq helm-default-display-buffer-functions '(display-buffer-in-side-window))
repeat previous step, issue got reproduced!
It is not an issue, helm and display-buffer are working as expected:
With your config you are telling display-buffer to display your buffer
in a side window which is neotree buffer in your case which is not
suitable because it is read-only.
…--
Thierry
|
Yes, so I think there maybe exist a exclude list, when helm found that buffer, will skip, and use next buffer as the display buffer, is there exist any exist code can archive this? Thanks |
Billy.Zheng <notifications@github.com> writes:
It is not an issue, helm and display-buffer are working as expected: With your config you are telling display-buffer to display your buffer in a side
window which is neotree buffer in your case which is not suitable because it is read-only.
Yes, so I think there maybe exist a exclude list, when helm found that buffer, will skip, and use next buffer as the display buffer, is there exist any
exist code can archive this?
No, it is not Helm here which is involved but display-buffer which uses
the special function display-buffer-in-side-window; This function
doesn't accept splitting windows, see its documentation.
Helm provides helm-default-display-buffer-functions to allow experienced
users using display-buffer-alist mechanism which is nice but difficult
to configure properly especially for Helm. I suggest you use frames
instead over a window configuration using neotree e.g.
./emacs-helm.sh
(load "/home/you/somepath/neotree.el")
M-x neotree
(setq helm-commands-using-frame '(helm-occur))
Bind convenient commands of your window manager to move frame around if
needed.
…--
Thierry
|
Thanks, using frame personal not familiar so far. i will try create a issue to neotree. |
Expected behavior
cursor should follow candidate and switch to that buffer
Actual behavior (from
emacs-helm.sh
if possible, see note at the bottom)Got error message like this:
Maybe there exist some variable can skip neotree buffer window?
Steps to reproduce (recipe)
just enable
neotree
window, and try follow-modeBacktraces if any (
M-x toggle-debug-on-error
)Too many debug output... if need, i will copy.
Describe versions of Helm, Emacs, operating system, etc.
v3.0, emacs 26.1
Are you using
emacs-helm.sh
to reproduce this bug (yes/no):no
IMPORTANT NOTE
Helm provides a script named
emacs-helm.sh
which runs Helm in a neutralenvironment: no other packages and only minimal settings.
When possible, use it to reproduce your Helm issue to ensure no other package is
interfering.
To run it, simply switch to the directory where Helm is installed and call
./emacs-helm.sh
.If necessary you can specify emacs executable path on command line with "-P" option.
Thanks.
The text was updated successfully, but these errors were encountered: