按键C-x d
进入git管理的目录时,出现以下错误:
Debugger entered--Lisp error: (file-missing "Searching for program" "No such file or directory" "git")
make-process(:name "git" :buffer #<buffer *diff-hl-dired* tmp status-77442> :command ("git" "--no-pager" "add" "--refresh" "--" "auto" "bibtex4word.org" "debian.org" "emacs.org" "git.org" "index.org" "index.pdf" "index.tex" "latex.org" "org.org" "qgis.org" "win7.org" "文献管理.org" "正则表达式.org"))
apply(make-process (:name "git" :buffer #<buffer *diff-hl-dired* tmp status-77442> :command ("git" "--no-pager" "add" "--refresh" "--" "auto" "bibtex4word.org" "debian.org" "emacs.org" "git.org" "index.org" "index.pdf" "index.tex" "latex.org" "org.org" "qgis.org" "win7.org" "文献管理.org" "正则表达式.org")))
start-process("git" #<buffer *diff-hl-dired* tmp status-77442> "git" "--no-pager" "add" "--refresh" "--" "auto" "bibtex4word.org" "debian.org" "emacs.org" "git.org" "index.org" "index.pdf" "index.tex" "latex.org" "org.org" "qgis.org" "win7.org" "文献管理.org" "正则表达式.org")
apply(start-process "git" #<buffer *diff-hl-dired* tmp status-77442> "git" ("--no-pager" "add" "--refresh" "--" "auto" "bibtex4word.org" "debian.org" "emacs.org" "git.org" "index.org" "index.pdf" "index.tex" "latex.org" "org.org" "qgis.org" "win7.org" "文献管理.org" "正则表达式.org"))
start-file-process("git" #<buffer *diff-hl-dired* tmp status-77442> "git" "--no-pager" "add" "--refresh" "--" "auto" "bibtex4word.org" "debian.org" "emacs.org" "git.org" "index.org" "index.pdf" "index.tex" "latex.org" "org.org" "qgis.org" "win7.org" "文献管理.org" "正则表达式.org")
apply(start-file-process "git" #<buffer *diff-hl-dired* tmp status-77442> "git" ("--no-pager" "add" "--refresh" "--" "auto" "bibtex4word.org" "debian.org" "emacs.org" "git.org" "index.org" "index.pdf" "index.tex" "latex.org" "org.org" "qgis.org" "win7.org" "文献管理.org" "正则表达式.org"))
vc-do-command(#<buffer *diff-hl-dired* tmp status-77442> async "git" ("auto" "bibtex4word.org" "debian.org" "emacs.org" "git.org" "index.org" "index.pdf" "index.tex" "latex.org" "org.org" "qgis.org" "win7.org" "文献管理.org" "正则表达式.org") "--no-pager" "add" "--refresh" "--")
apply(vc-do-command #<buffer *diff-hl-dired* tmp status-77442> async "git" ("auto" "bibtex4word.org" "debian.org" "emacs.org" "git.org" "index.org" "index.pdf" "index.tex" "latex.org" "org.org" "qgis.org" "win7.org" "文献管理.org" "正则表达式.org") ("--no-pager" "add" "--refresh" "--"))
vc-git-command(#<buffer *diff-hl-dired* tmp status-77442> async ("auto" "bibtex4word.org" "debian.org" "emacs.org" "git.org" "index.org" "index.pdf" "index.tex" "latex.org" "org.org" "qgis.org" "win7.org" "文献管理.org" "正则表达式.org") "add" "--refresh" "--")
vc-git-dir-status-goto-stage(#s(vc-git-dir-status-state :stage update-index :files ("auto" "bibtex4word.org" "debian.org" "emacs.org" "git.org" "index.org" "index.pdf" "index.tex" "latex.org" "org.org" "qgis.org" "win7.org" "文献管理.org" "正则表达式.org") :update-function (closure ((files-alist) (dirs-alist) (buffer . #<buffer 软件使用速查>) (def-dir . "c:/cygwin64/home/HP/documents/knowledge/1-note/软件使...") (backend . Git) t) (entries &optional more-to-come) (if (buffer-live-p buffer) (progn (save-current-buffer (set-buffer buffer) (let (...) (while --dolist-tail-- ...)) (if more-to-come nil (diff-hl-dired-highlight-items ...))) (if more-to-come nil (kill-buffer diff-hl-dired-process-buffer))))) :hash #<hash-table equal 0/65 0x215f2cd>))
vc-git-dir-status-files("c:/cygwin64/home/HP/documents/knowledge/1-note/软件使..." ("auto" "bibtex4word.org" "debian.org" "emacs.org" "git.org" "index.org" "index.pdf" "index.tex" "latex.org" "org.org" "qgis.org" "win7.org" "文献管理.org" "正则表达式.org") (closure ((files-alist) (dirs-alist) (buffer . #<buffer 软件使用速查>) (def-dir . "c:/cygwin64/home/HP/documents/knowledge/1-note/软件使...") (backend . Git) t) (entries &optional more-to-come) (if (buffer-live-p buffer) (progn (save-current-buffer (set-buffer buffer) (let ((--dolist-tail-- entries)) (while --dolist-tail-- (let ... ... ...))) (if more-to-come nil (diff-hl-dired-highlight-items (append dirs-alist files-alist)))) (if more-to-come nil (kill-buffer diff-hl-dired-process-buffer))))))
apply(vc-git-dir-status-files ("c:/cygwin64/home/HP/documents/knowledge/1-note/软件使..." ("auto" "bibtex4word.org" "debian.org" "emacs.org" "git.org" "index.org" "index.pdf" "index.tex" "latex.org" "org.org" "qgis.org" "win7.org" "文献管理.org" "正则表达式.org") (closure ((files-alist) (dirs-alist) (buffer . #<buffer 软件使用速查>) (def-dir . "c:/cygwin64/home/HP/documents/knowledge/1-note/软件使...") (backend . Git) t) (entries &optional more-to-come) (if (buffer-live-p buffer) (progn (save-current-buffer (set-buffer buffer) (let (...) (while --dolist-tail-- ...)) (if more-to-come nil (diff-hl-dired-highlight-items ...))) (if more-to-come nil (kill-buffer diff-hl-dired-process-buffer)))))))
vc-call-backend(Git dir-status-files "c:/cygwin64/home/HP/documents/knowledge/1-note/软件使..." ("auto" "bibtex4word.org" "debian.org" "emacs.org" "git.org" "index.org" "index.pdf" "index.tex" "latex.org" "org.org" "qgis.org" "win7.org" "文献管理.org" "正则表达式.org") (closure ((files-alist) (dirs-alist) (buffer . #<buffer 软件使用速查>) (def-dir . "c:/cygwin64/home/HP/documents/knowledge/1-note/软件使...") (backend . Git) t) (entries &optional more-to-come) (if (buffer-live-p buffer) (progn (save-current-buffer (set-buffer buffer) (let ((--dolist-tail-- entries)) (while --dolist-tail-- (let ... ... ...))) (if more-to-come nil (diff-hl-dired-highlight-items (append dirs-alist files-alist)))) (if more-to-come nil (kill-buffer diff-hl-dired-process-buffer))))))
(if (version< "25" emacs-version) (vc-call-backend backend 'dir-status-files dir files update-function) (vc-call-backend backend 'dir-status-files dir files nil update-function))
diff-hl-dired-status-files(Git "c:/cygwin64/home/HP/documents/knowledge/1-note/软件使..." ("auto" "bibtex4word.org" "debian.org" "emacs.org" "git.org" "index.org" "index.pdf" "index.tex" "latex.org" "org.org" "qgis.org" "win7.org" "文献管理.org" "正则表达式.org") (closure ((files-alist) (dirs-alist) (buffer . #<buffer 软件使用速查>) (def-dir . "c:/cygwin64/home/HP/documents/knowledge/1-note/软件使...") (backend . Git) t) (entries &optional more-to-come) (if (buffer-live-p buffer) (progn (save-current-buffer (set-buffer buffer) (let ((--dolist-tail-- entries)) (while --dolist-tail-- (let ... ... ...))) (if more-to-come nil (diff-hl-dired-highlight-items (append dirs-alist files-alist)))) (if more-to-come nil (kill-buffer diff-hl-dired-process-buffer))))))
(save-current-buffer (set-buffer diff-hl-dired-process-buffer) (setq default-directory (expand-file-name def-dir)) (erase-buffer) (diff-hl-dired-status-files backend def-dir (if diff-hl-dired-extra-indicators (progn (let* ((--cl-var-- (directory-files def-dir)) (file nil) (--cl-var-- nil)) (while (consp --cl-var--) (setq file (car --cl-var--)) (if (member file ...) (progn) (setq --cl-var-- ...)) (setq --cl-var-- (cdr --cl-var--))) (nreverse --cl-var--)))) #'(lambda (entries &optional more-to-come) (if (buffer-live-p buffer) (progn (save-current-buffer (set-buffer buffer) (let ... ...) (if more-to-come nil ...)) (if more-to-come nil (kill-buffer diff-hl-dired-process-buffer)))))))
(progn (diff-hl-dired-clear) (if (buffer-live-p diff-hl-dired-process-buffer) (let ((proc (get-buffer-process diff-hl-dired-process-buffer))) (if proc (progn (kill-process proc)))) (setq diff-hl-dired-process-buffer (generate-new-buffer " *diff-hl-dired* tmp status"))) (save-current-buffer (set-buffer diff-hl-dired-process-buffer) (setq default-directory (expand-file-name def-dir)) (erase-buffer) (diff-hl-dired-status-files backend def-dir (if diff-hl-dired-extra-indicators (progn (let* ((--cl-var-- ...) (file nil) (--cl-var-- nil)) (while (consp --cl-var--) (setq file ...) (if ... ... ...) (setq --cl-var-- ...)) (nreverse --cl-var--)))) #'(lambda (entries &optional more-to-come) (if (buffer-live-p buffer) (progn (save-current-buffer ... ... ...) (if more-to-come nil ...)))))))
(if (and backend (not (memq backend diff-hl-dired-ignored-backends))) (progn (diff-hl-dired-clear) (if (buffer-live-p diff-hl-dired-process-buffer) (let ((proc (get-buffer-process diff-hl-dired-process-buffer))) (if proc (progn (kill-process proc)))) (setq diff-hl-dired-process-buffer (generate-new-buffer " *diff-hl-dired* tmp status"))) (save-current-buffer (set-buffer diff-hl-dired-process-buffer) (setq default-directory (expand-file-name def-dir)) (erase-buffer) (diff-hl-dired-status-files backend def-dir (if diff-hl-dired-extra-indicators (progn (let* (... ... ...) (while ... ... ... ...) (nreverse --cl-var--)))) #'(lambda (entries &optional more-to-come) (if (buffer-live-p buffer) (progn ... ...)))))))
(let ((backend (condition-case nil (progn (vc-responsible-backend default-directory)) (error nil))) (def-dir default-directory) (buffer (current-buffer)) dirs-alist files-alist) (if (and backend (not (memq backend diff-hl-dired-ignored-backends))) (progn (diff-hl-dired-clear) (if (buffer-live-p diff-hl-dired-process-buffer) (let ((proc (get-buffer-process diff-hl-dired-process-buffer))) (if proc (progn (kill-process proc)))) (setq diff-hl-dired-process-buffer (generate-new-buffer " *diff-hl-dired* tmp status"))) (save-current-buffer (set-buffer diff-hl-dired-process-buffer) (setq default-directory (expand-file-name def-dir)) (erase-buffer) (diff-hl-dired-status-files backend def-dir (if diff-hl-dired-extra-indicators (progn (let* ... ... ...))) #'(lambda (entries &optional more-to-come) (if ... ...)))))))
diff-hl-dired-update()
run-hooks(dired-after-readin-hook)
dired-readin()
dired-internal-noselect("c:/cygwin64/home/HP/documents/knowledge/1-note/软件使..." nil)
dired-noselect("c:/cygwin64/home/HP/documents/knowledge/1-note/软件使..." nil)
#f(compiled-function (dirname &optional switches) "\"Edit\" directory DIRNAME--delete, rename, print, etc. some files in it.\nOptional second argument SWITCHES specifies the `ls' options used.\n(Interactively, use a prefix argument to be able to specify SWITCHES.)\n\nIf DIRNAME is a string, Dired displays a list of files in DIRNAME (which\nmay also have shell wildcards appended to select certain files).\n\nIf DIRNAME is a cons, its first element is taken as the directory name\nand the rest as an explicit list of files to make directory entries for.\nIn this case, SWITCHES are applied to each of the files separately, and\ntherefore switches that control the order of the files in the produced\nlisting have no effect.\n\n\\<dired-mode-map>You can flag files for deletion with \\[dired-flag-file-deletion] and then\ndelete them by typing \\[dired-do-flagged-delete].\nType \\[describe-mode] after entering Dired for more info.\n\nIf DIRNAME is already in a Dired buffer, that buffer is used without refresh." (interactive (dired-read-dir-and-switches "")) #<bytecode 0x24ee1f5>)("c:/cygwin64/home/HP/documents/knowledge/1-note/软件使..." nil)
ls-lisp--dired(#f(compiled-function (dirname &optional switches) "\"Edit\" directory DIRNAME--delete, rename, print, etc. some files in it.\nOptional second argument SWITCHES specifies the `ls' options used.\n(Interactively, use a prefix argument to be able to specify SWITCHES.)\n\nIf DIRNAME is a string, Dired displays a list of files in DIRNAME (which\nmay also have shell wildcards appended to select certain files).\n\nIf DIRNAME is a cons, its first element is taken as the directory name\nand the rest as an explicit list of files to make directory entries for.\nIn this case, SWITCHES are applied to each of the files separately, and\ntherefore switches that control the order of the files in the produced\nlisting have no effect.\n\n\\<dired-mode-map>You can flag files for deletion with \\[dired-flag-file-deletion] and then\ndelete them by typing \\[dired-do-flagged-delete].\nType \\[describe-mode] after entering Dired for more info.\n\nIf DIRNAME is already in a Dired buffer, that buffer is used without refresh." (interactive (dired-read-dir-and-switches "")) #<bytecode 0x24ee1f5>) "c:/cygwin64/home/HP/documents/knowledge/1-note/软件使..." nil)
apply(ls-lisp--dired #f(compiled-function (dirname &optional switches) "\"Edit\" directory DIRNAME--delete, rename, print, etc. some files in it.\nOptional second argument SWITCHES specifies the `ls' options used.\n(Interactively, use a prefix argument to be able to specify SWITCHES.)\n\nIf DIRNAME is a string, Dired displays a list of files in DIRNAME (which\nmay also have shell wildcards appended to select certain files).\n\nIf DIRNAME is a cons, its first element is taken as the directory name\nand the rest as an explicit list of files to make directory entries for.\nIn this case, SWITCHES are applied to each of the files separately, and\ntherefore switches that control the order of the files in the produced\nlisting have no effect.\n\n\\<dired-mode-map>You can flag files for deletion with \\[dired-flag-file-deletion] and then\ndelete them by typing \\[dired-do-flagged-delete].\nType \\[describe-mode] after entering Dired for more info.\n\nIf DIRNAME is already in a Dired buffer, that buffer is used without refresh." (interactive (dired-read-dir-and-switches "")) #<bytecode 0x24ee1f5>) ("c:/cygwin64/home/HP/documents/knowledge/1-note/软件使..." nil))
dired("c:/cygwin64/home/HP/documents/knowledge/1-note/软件使..." nil)
funcall-interactively(dired "c:/cygwin64/home/HP/documents/knowledge/1-note/软件使..." nil)
call-interactively(dired nil nil)
command-execute(dired)
从报错信息中看,我觉得应该和diff-hl、diredfl两个插件有关,没找到git程序导致的。但我不知道如何设置可以解决这个问题。
能正常进入非git管理的目录中。
相关信息:
- Win7操作系统
- Emacs版本为27.0
- 使用的是Steve Purcell的设置,但禁用了flycheck、projectile、magit、paredit等功能,并将其他中配置文件中与其相关的语句都禁用了。