Improved handling of long lines. Added docs.
authorOleksandr Gavenko <gavenkoa@gmail.com>
Mon, 17 Feb 2020 13:44:36 +0200
changeset 1607 dd180a2be151
parent 1606 044155fc3ef9
child 1608 9c9e7f91f4f3
Improved handling of long lines. Added docs.
.emacs-my
--- a/.emacs-my	Mon Feb 10 00:56:19 2020 +0200
+++ b/.emacs-my	Mon Feb 17 13:44:36 2020 +0200
@@ -1198,17 +1198,24 @@
   "If buffer too large and my cause performance issue."
   (< large-file-warning-threshold (buffer-size)))
 
+;; http://git.savannah.nongnu.org/cgit/so-long.git/tree/so-long.el is part of Emacs 27.1
+;; https://emacs.stackexchange.com/questions/598/how-do-i-prevent-extremely-long-lines-making-emacs-slow
+;; (make-variable-buffer-local 'mode-line-format)
+;; (setq mode-line-format (delq 'mode-line-position 'mode-line-format))
 (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)
+  (setq bidi-paragraph-direction 'left-to-right)
+  (font-lock-mode -1)
   (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))
+  (show-paren-mode -1)
+  (auto-revert-tail-mode -1)
   (set (make-local-variable 'global-hl-line-mode) nil)
   (set (make-local-variable 'line-number-mode) nil)
-  (set (make-local-variable 'column-number-mode) nil) )
+  (set (make-local-variable 'column-number-mode) nil)
+  (size-indication-mode -1))
 
 (add-to-list 'magic-mode-alist (cons #'my--large-file-p #'my-large-file-mode))
 
@@ -2638,15 +2645,45 @@
 (eval-after-load 'log-edit
   '(remove-hook 'log-edit-hook 'log-edit-insert-message-template))
 
+(mapatoms
+ (lambda (sym)
+   (when (and
+          (boundp sym)
+          (sequencep (symbol-value sym))
+          (string-suffix-p "-hook" (symbol-name sym))
+          (cl-some
+           (lambda (hook)
+             (and (symbolp hook)
+                  (cl-search "git" (symbol-name hook))))
+           (symbol-value sym)))
+     (message "sym: %s" sym))))
+
+after-change-major-mode-hook
+
+(with-eval-after-load 'vc-hooks
+  (remove-hook 'find-file-hook 'vc-refresh-state))
+
 ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
 (message "magit")
 
+(when (eq window-system 'w32)
+  (setq magit-refresh-status-buffer nil))
+
 (with-eval-after-load 'magit-mode
   (setq magit-log-margin '(t "%F %H:%M" magit-log-margin-width t 18))
   (define-key magit-mode-map [s-tab] nil))
 
 (setq magit-diff-refine-hunk t)
 
+(with-eval-after-load 'magit-branch
+  (remove-hook 'find-file-hook 'magit-edit-branch*description-check-buffers))
+(with-eval-after-load 'magit-autorevert
+  (remove-hook 'find-file-hook 'magit-auto-revert-mode-check-buffers)
+  (remove-hook 'after-change-major-mode-hook 'magit-auto-revert-mode-enable-in-buffers))
+(with-eval-after-load 'git-commit
+  (remove-hook 'find-file-hook 'git-commit-setup-check-buffer)
+  (remove-hook 'after-change-major-mode-hook 'git-commit-setup-font-lock-in-buffer))
+
 ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
 (message "indenting")