Emacs медленно загружает AUCTeX для файлов TeX


11

Я установил auctexи emacsпакеты на два Xubuntu 14.04 компьютеров, оба из которых работали отлично. Сам Emacs отлично работает на обоих, но теперь с auctexустановленным пакетом, когда я загружаю файл TeX (даже просто пустой), у меня есть шесть секунд времени auctex, которое я должен проходить каждый раз, когда загружаю файл TeX.

Это нормально?

Если нет, что я могу сделать, чтобы сократить это время?

Я искал в Интернете, и ничего не появилось, только тот факт, что анализ файла может занять много времени, но это не так, поскольку я включил функцию сохранения и загрузки файлов анализа.

Я использую Emacs 24 с AUCTeX 11.87

РЕДАКТИРОВАТЬ: вывод *messages*буфера выглядит так для вновь открытого файла TeX:

("emacs" "hi.tex")
Loading 00debian-vars...done
Loading /etc/emacs/site-start.d/50auctex.el (source)...
Loading /usr/share/emacs/site-lisp/auctex.el (source)...done
Loading /usr/share/emacs/site-lisp/preview-latex.el (source)...done
Loading /etc/emacs/site-start.d/50auctex.el (source)...done
Loading /etc/emacs/site-start.d/50autoconf.el (source)...done
Loading /etc/emacs/site-start.d/50cmake-data.el (source)...done
Loading /etc/emacs/site-start.d/50dictionaries-common.el (source)...
Loading /var/cache/dictionaries-common/emacsen-ispell-dicts.el (source)...
Error while loading 50dictionaries-common: Symbol's value as variable is void: debian-aspell-only-dictionary-alist
Loading /etc/emacs/site-start.d/50latex-cjk-common.el (source)...
Loading cjk-enc...done
Loading /etc/emacs/site-start.d/50latex-cjk-common.el (source)...done
Loading /etc/emacs/site-start.d/50latex-cjk-thai.el (source)...done
For information about GNU Emacs and the GNU system, type C-h C-a.
(New file)
Applying style hooks... done
exchange-point-and-mark: No mark set in this buffer [6 times]
exchange-point-and-mark: No mark set in this buffer


Не могли бы вы проверить *Messages*буфер и опубликовать, если есть какие-либо сообщения во время процесса? Другой вариант - M-x toggle-debug-on-quit RETкогда Emacs тратит свое время, нажмите Cg. Затем опубликуйте трассировку стека.
Алан Шутко

Это также может пригодиться: DOtemacs ProfilEr - профилировщик для каждого полпреда: github.com/emacsmirror/dope . Я смутно припоминаю, как несколько лет назад использовал его для профилирования моего конфига, когда возникали похожие проблемы с AUCTeX / временем загрузки. Сократите настройки до минимума (стиль отладки дробовика) и посмотрите, есть ли какие-либо изменения. Вы также можете взглянуть на некоторые сведения здесь: emacswiki.org/emacs/OptimizingEmacsStartup, например ex: использование автозагрузки (AutoLoad) и eval-after-load (EvalAfterLoad), файлы байтовой компиляции и так далее.
Кривети Михай

Ответы:


0

LaTeX / P - это режим LaTeX в минорном режиме PDF. У меня никогда не было проблем с AUCTeX (и я использовал его начиная с emacs v22), поэтому я действительно не думаю, что AUCTeX сам по себе является вашей проблемой.

Когда вы запускаете emacs с параметром -q, он не загружает файлы инициализации. Смотрите документацию для получения дополнительной информации об этом.

Если вы используете Linux, я бы попробовал переустановить emacs из исходного кода. Я никогда не доверял пакетным репозиториям, чтобы они действительно работали. (Большая часть этого недоверия исходит от того, что пакетам TeX более четырех лет.) Если вы используете windoze, установите с ftp-сервера FSF. Если вы используете Mac, установите с emacsformacosx.com


0

Общий способ устранения проблем при медленном запуске - использование сигналов прерывания emacs ( /emacs/506/debugging-a-frozen-emacs ).

  1. Запустить emacs --debug-init
  2. Найти pid процесса с ps -ef | grep emacs
  3. Отправить процесс сигнал прерывания kill -SIGUSR2 $PID
  4. Это заставляет Emacs показывать обратный след
  5. Ищите в интернете что-нибудь очевидное в этой трассировке
  6. В противном случае начните эксперимент с запуском некоторых из этих функций вручную, чтобы понять, почему они работают медленно.

Вас также может заинтересовать обмен стеками в emacs. (Я не уверен, что думаю о фрагментации stackexchange самостоятельно ...)

Используя наш сайт, вы подтверждаете, что прочитали и поняли нашу Политику в отношении файлов cookie и Политику конфиденциальности.
Licensed under cc by-sa 3.0 with attribution required.