Fixes performance issues in Emacs for large files.
--- a/.emacs-my Wed Feb 11 19:09:06 2015 +0200
+++ b/.emacs-my Wed Feb 11 16:32:42 2015 +0200
@@ -303,6 +303,8 @@
(setq column-number-mode t)
(setq line-number-mode t)
(setq size-indication-mode t)
+(setq line-number-display-limit large-file-warning-threshold)
+(setq line-number-display-limit-width 200)
;; (linum-mode 1)
;; Also useful such format: (setq display-time-format " %H:%M %d-%m-%y ")
@@ -905,6 +907,24 @@
(icomplete-mode 1)
(setq icomplete-with-completion-tables t)
+(defun my--is-file-large ()
+ "If buffer too large and my cause performance issue."
+ (< large-file-warning-threshold (buffer-size)))
+
+(define-derived-mode my-large-file-mode fundamental-mode "LargeFile"
+ "Fixes performance issues in Emacs for large files."
+ ;; (setq buffer-read-only t)
+ (setq bidi-display-reordering nil)
+ (jit-lock-mode nil)
+ (buffer-disable-undo)
+ ;; (make-variable-buffer-local 'mode-line-format)
+ ;; (setq mode-line-format (delq 'mode-line-position 'mode-line-format))
+ (set (make-variable-buffer-local 'global-hl-line-mode) nil)
+ (set (make-variable-buffer-local 'line-number-mode) nil)
+ (set (make-variable-buffer-local 'column-number-mode) nil) )
+
+(add-to-list 'magic-mode-alist (cons #'my--is-file-large #'my-large-file-mode))
+
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
(message "completion")