manateelazycat/aweshell

在 eshell 中执行 cd 后 在执行 aweshell-dedicated-toggle 就报错了

Closed this issue · 6 comments

具体操作就是

Peek 2019-07-16 10-15

aweshell-dedicated-switch-buffer: Wrong type argument: stringp, nil

先用 M-x toggle-debug-on-error 打开调试,
然后把 Backtrace 的内容粘贴一下,谢谢。

Debugger entered--Lisp error: (wrong-type-argument stringp nil)
  set-window-buffer(#<window 8 on *scratch*> nil)
  aweshell-dedicated-switch-buffer()
  aweshell-dedicated-pop-window()
  (if (aweshell-window-exist-p aweshell-dedicated-window) (aweshell-dedicated-select-window) (aweshell-dedicated-pop-window))
  (if (aweshell-buffer-exist-p aweshell-dedicated-buffer) (if (aweshell-window-exist-p aweshell-dedicated-window) (aweshell-dedicated-select-window) (aweshell-dedicated-pop-window)) (aweshell-dedicated-create-window))
  aweshell-dedicated-open()
  (if (aweshell-dedicated-exist-p) (aweshell-dedicated-close) (aweshell-dedicated-open))
  aweshell-dedicated-toggle()
  funcall-interactively(aweshell-dedicated-toggle)
  call-interactively(aweshell-dedicated-toggle record nil)
  command-execute(aweshell-dedicated-toggle record)
  #[257 "\306�!\262�\307\300!\203���\203��\310�!\210\202$�\307\301!\203$�	\203$�\311�!\210\n�\211�\211�\312�\313\"\207" [amx-initialized smex-initialized-p current-prefix-arg prefix-arg this-command real-this-command intern boundp amx-rank smex-rank command-execute record] 4 "\n\n(fn CMD)"]("aweshell-dedicated-toggle")
  ivy-call()
  ivy-read("M-x " ("aweshell-dedicated-toggle" "toggle-debug-on-error" "save-buffers-kill-emacs" "magit-submodule-update" "package-list-packages" "load-file" "eshell" "org-pomodoro" "list-processes" "mu4e" "magit-submodule" "venv-mkvirtualenv" "clm/toggle-command-log-buffer" "grep" "rgrep" "grep-find" "run-python" "save-buffer" "emojify-mode" "macrostep-expand" "package-reinstall" "venv-rmvirtualenv" "package-autoremove" "package-refresh-contents" "sanityinc/org-refile-anywhere" "ag" "cd" "rg" "ri" "5x5" "arp" "day" "dbx" "dig" "erc" "ert" "eww" "ftp" "gdb" "irc" "jdb" "man" "mpc" "pdb" "pwd" "rsh" "sdb" "vlf" "w3m" "xdb" ...) :predicate nil :require-match t :history counsel-M-x-history :action #[257 "\306�!\262�\307\300!\203���\203��\310�!\210\202$�\307\301!\203$�	\203$�\311�!\210\n�\211�\211�\312�\313\"\207" [amx-initialized smex-initialized-p current-prefix-arg prefix-arg this-command real-this-command intern boundp amx-rank smex-rank command-execute record] 4 "\n\n(fn CMD)"] :sort nil :keymap (keymap (67108908 . counsel--info-lookup-symbol) (67108910 . counsel-find-symbol)) :initial-input nil :caller counsel-M-x)
  counsel-M-x()
  funcall-interactively(counsel-M-x)
  call-interactively(counsel-M-x nil nil)
  command-execute(counsel-M-x)

我没能重现你的问题,你M-x aweshell-dedicated-toggle, 不要用 counsel-M-x , 也不要用 cd workspace。

我怀疑你的 aweshell-dedicated-buffer 被你的这些命令删除了。

cd 会改变buffer 名字,是不是这个原因?

在不执行 cd 时, 是没有问题的, aweshell-dedicated-toggle 能够打开和关闭, 应该是 cd 会该变 buffer 的名字,导致 aweshell-dedicated-toggle 报错

Peek 2019-07-17 10-13

重现问题了,最新版已经修复