При включении predictive-mode, когда работаю с .Rnw-файлами (ESS, auctex) ввод начинает заметно подлагивать, скорость появления символов на экране сильно отстаёт от скорости печати, через какое-то время Emacs зависает, отжирая 100% процессорного времени. Без predictive-mode всё работает нормально.
$ cat ~/.emacs
(defun filter (condp lst)
(delq nil
(mapcar (lambda (x) (and (funcall condp x) x)) lst)))
(mapc (lambda (dir) (add-to-list 'load-path dir))
(filter 'file-accessible-directory-p
(mapcar (lambda (p) (concat p "/../share/emacs/site-lisp"))
(split-string (getenv "PATH") ":"))))
;EL-GET:
;; Added by Package.el. This must come before configurations of
;; installed packages. Don't delete this line. If you don't want it,
;; just comment it out by adding a semicolon to the start of the line.
;; You may delete these explanatory comments.
(package-initialize)
(add-to-list 'load-path "~/.emacs.d/el-get/el-get")
(unless (require 'el-get nil 'noerror)
(require 'package)
(add-to-list 'package-archives
'("melpa" . "http://melpa.org/packages/"))
(package-refresh-contents)
(package-initialize)
(package-install 'el-get)
(require 'el-get))
(add-to-list 'el-get-recipe-path "~/.emacs.d/el-get-user/recipes")
(el-get 'sync)
(custom-set-variables
;; custom-set-variables was added by Custom.
;; If you edit it by hand, you could mess it up, so be careful.
;; Your init file should contain only one such instance.
;; If there is more than one, they won't work right.
'(ansi-color-faces-vector
[default default default italic underline success warning error])
'(ansi-color-names-vector
["#2e3436" "#a40000" "#4e9a06" "#c4a000" "#204a87" "#5c3566" "#729fcf" "#eeeeec"])
'(custom-enabled-themes (quote (whiteboard)))
'(package-selected-packages (quote (el-get))))
(custom-set-faces
;; custom-set-faces was added by Custom.
;; If you edit it by hand, you could mess it up, so be careful.
;; Your init file should contain only one such instance.
;; If there is more than one, they won't work right.
)
;/EL-GET;
;ORG-MODE:
;; Enable org-mode
(require 'org-install)
(add-to-list 'auto-mode-alist '("\\.org$" . org-mode))
(define-key global-map "\C-cl" 'org-store-link)
(define-key global-map "\C-ca" 'org-agenda)
(setq org-log-done t)
;/ORG-MODE;
;FONTS:
;; Change the default font for new (non special-display) frames,
(add-to-list 'default-frame-alist '(font . "Hack-14" ))
(set-face-attribute 'default t :font "Hack-14" )
;; Change the default font for the current frame, as well as future frames
(set-face-attribute 'default nil :font "Hack-14" )
(set-frame-font "Hack-14" nil t)
;/FONTS;
;THEMES:
;/THEMES;
;TEX:
(require 'tex-site)
(setq TeX-auto-save t)
(setq TeX-parse-self t)
(setq-default TeX-master nil)
(add-hook 'LaTeX-mode-hook 'visual-line-mode)
(add-hook 'LaTeX-mode-hook 'flyspell-mode)
(add-hook 'LaTeX-mode-hook 'LaTeX-math-mode)
(add-hook 'LaTeX-mode-hook 'turn-on-reftex)
;(add-hook 'LaTeX-mode-hook 'preview-latex)
(setq reftex-plug-into-AUCTeX t)
;; ESS
(setq load-path (cons "/home/croll/.emacs.d/ess-16.10/lisp/" load-path))
(require 'ess-site)
(setq-default TeX-engine 'xetex)
(setq-default TeX-PDF-mode t)
;/TEX;
;LOCALE:
(defun cfg:reverse-input-method (input-method)
"Build the reverse mapping of single letters from INPUT-METHOD."
(interactive
(list (read-input-method-name "Use input method (default current): ")))
(if (and input-method (symbolp input-method))
(setq input-method (symbol-name input-method)))
(let ((current current-input-method)
(modifiers '(nil (control) (meta) (control meta))))
(when input-method
(activate-input-method input-method))
(when (and current-input-method quail-keyboard-layout)
(dolist (map (cdr (quail-map)))
(let* ((to (car map))
(from (quail-get-translation
(cadr map) (char-to-string to) 1)))
(when (and (characterp from) (characterp to))
(dolist (mod modifiers)
(define-key local-function-key-map
(vector (append mod (list from)))
(vector (append mod (list to)))))))))
(when input-method
(activate-input-method current))))
(cfg:reverse-input-method 'russian-computer)
;/LOCALE;
;FLYSPELL:
;; список используемых нами словарей
(setq ispell-local-dictionary-alist
'(("russian"
"[АБВГДЕЁЖЗИЙКЛМНОПРСТУФХЦЧШЩЬЫЪЭЮЯабвгдеёжзийклмнопрстуфхцчшщьыъэюя]"
"[^АБВГДЕЁЖЗИЙКЛМНОПРСТУФХЦЧШЩЬЫЪЭЮЯабвгдеёжзийклмнопрстуфхцчшщьыъэюя]"
"[-]" nil ("-d" "ru_RU") nil utf-8)
("english"
"[A-Za-z]" "[^A-Za-z]"
"[']" nil ("-d" "en_US") nil iso-8859-1)))
;; вместо aspell использовать hunspell
(setq ispell-really-aspell nil
ispell-really-hunspell t)
;; полный путь к нашему пропатченному hunspell
(setq ispell-program-name "/run/current-system/sw/bin/hunspell")
;/FLYSPELL;
;PREDICTIVE:
;; predictive install location
(add-to-list 'load-path "~/.emacs.d/predictive/")
;; dictionary locations
(add-to-list 'load-path "~/.emacs.d/predictive/latex/")
(add-to-list 'load-path "~/.emacs.d/predictive/texinfo/")
(add-to-list 'load-path "~/.emacs.d/predictive/html/")
;; load predictive package
(require 'predictive)
;/PREDICTIVE;
;;;;HIGHLIGT
;;activate show paren
(show-paren-mode t)
(setq show-paren-style 'expression) ; подсвечивает блоки, но раздражает
;;Парные скобки
(require 'autopair)
(autopair-global-mode)
;;Подсветка
(add-hook 'highlight-parentheses-mode-hook
'(lambda ()
(setq autopair-handle-action-fns
(append
(if autopair-handle-action-fns
autopair-handle-action-fns
'(autopair-default-handle-action))
'((lambda (action pair pos-before)
(hl-paren-color-update)))))))
(define-globalized-minor-mode global-highlight-parentheses-mode
highlight-parentheses-mode
(lambda ()
(highlight-parentheses-mode t)))
(global-highlight-parentheses-mode t)
;;;