Исправление Nervous, (текущая версия) :
Как отдебажить?
Можно развернуть макрос и посмотреть, что на самом деле будет происходить: поставить курсор перед открывающей скобкой формы и M-x emacs-lisp-macroexpand
. Для первого вызова use-package
получается что-то вроде
(progn
(straight-use-package 'python)
(defvar use-package--warning85
#'(lambda
(keyword err)
(let
((msg
(format "%s/%s: %s" 'python keyword
(error-message-string err))))
(display-warning 'use-package msg :error))))
(condition-case-unless-debug err
(progn
(unless
(fboundp 'eglot-ensure)
(autoload #'eglot-ensure "python" nil t))
(unless
(fboundp 'company-mode)
(autoload #'company-mode "python" nil t))
(unless
(fboundp 'python-ts-mode)
(autoload #'python-ts-mode "python" nil t))
(add-hook 'python-ts-mode-hook #'eglot-ensure)
(add-hook 'python-ts-mode-hook #'company-mode)
(add-to-list 'auto-mode-alist
'("\\.py\\'" . python-ts-mode)))
(error
(funcall use-package--warning85 :catch err))))
Хуки добавляются оба, догадку с alist можно исключить.
(По M-.
на символе функции/макроса можно провалиться в его определение, почитать докстринг. По M-,
вернуться обратно. Конечно, документацию на всё, что угодно, можно получить по C-h
, но это больше клавиш клацать.)
Исправление Nervous, :
Как отдебажить?
Можно развернуть макрос и посмотреть, что на самом деле будет происходить: поставить курсор перед открывающей скобкой формы и M-x emacs-lisp-macroexpand
. Для первого вызова use-package
получается что-то вроде
(progn
(straight-use-package 'python)
(defvar use-package--warning85
#'(lambda
(keyword err)
(let
((msg
(format "%s/%s: %s" 'python keyword
(error-message-string err))))
(display-warning 'use-package msg :error))))
(condition-case-unless-debug err
(progn
(unless
(fboundp 'eglot-ensure)
(autoload #'eglot-ensure "python" nil t))
(unless
(fboundp 'company-mode)
(autoload #'company-mode "python" nil t))
(unless
(fboundp 'python-ts-mode)
(autoload #'python-ts-mode "python" nil t))
(add-hook 'python-ts-mode-hook #'eglot-ensure)
(add-hook 'python-ts-mode-hook #'company-mode)
(add-to-list 'auto-mode-alist
'("\\.py\\'" . python-ts-mode)))
(error
(funcall use-package--warning85 :catch err))))
Хуки добавляются оба, догадку с alist можно исключить.
(По M-.
на символе функции/макроса можно провалиться в его определение, почитать докстринг. По M-,
вернуться обратно.)
Исправление Nervous, :
Как отдебажить?
Можно развернуть макрос и посмотреть, что на самом деле будет происходить: поставить курсор перед открывающей скобкой формы и M-x emacs-lisp-macroexpand
. Для первого вызова use-package
получается что-то вроде
(progn
(straight-use-package 'python)
(defvar use-package--warning85
#'(lambda
(keyword err)
(let
((msg
(format "%s/%s: %s" 'python keyword
(error-message-string err))))
(display-warning 'use-package msg :error))))
(condition-case-unless-debug err
(progn
(unless
(fboundp 'eglot-ensure)
(autoload #'eglot-ensure "python" nil t))
(unless
(fboundp 'company-mode)
(autoload #'company-mode "python" nil t))
(unless
(fboundp 'python-ts-mode)
(autoload #'python-ts-mode "python" nil t))
(add-hook 'python-ts-mode-hook #'eglot-ensure)
(add-hook 'python-ts-mode-hook #'company-mode)
(add-to-list 'auto-mode-alist
'("\\.py\\'" . python-ts-mode)))
(error
(funcall use-package--warning85 :catch err))))
Хуки добавляются оба, догадку с alist можно исключить.
Исходная версия Nervous, :
Как отдебажить?
Можно развернуть макрос и посмотреть, что на самом деле будет происходить: поставить курсор перед открывающей скобкой формы и M-x emacs-lisp-macroexpand
. Для первого вызова use-package
получается что-то вроде
(progn
(straight-use-package 'python)
(defvar use-package--warning85
#'(lambda
(keyword err)
(let
((msg
(format "%s/%s: %s" 'python keyword
(error-message-string err))))
(display-warning 'use-package msg :error))))
(condition-case-unless-debug err
(progn
(unless
(fboundp 'eglot-ensure)
(autoload #'eglot-ensure "python" nil t))
(unless
(fboundp 'company-mode)
(autoload #'company-mode "python" nil t))
(unless
(fboundp 'python-ts-mode)
(autoload #'python-ts-mode "python" nil t))
(add-hook 'python-ts-mode-hook #'eglot-ensure)
(add-hook 'python-ts-mode-hook #'company-mode)
(add-to-list 'auto-mode-alist
'("\\.py\\'" . python-ts-mode)))
(error
(funcall use-package--warning85 :catch err))))
Хуки добавляются оба, догадку с alist можно исключить.