41 lines
1.0 KiB
EmacsLisp
41 lines
1.0 KiB
EmacsLisp
;;; init-emacs.el --- initializes basic Emacs settings -*- lexical-binding: t; -*-
|
|
;;; Commentary:
|
|
;;; Code:
|
|
|
|
(defconst *user-custom-file* (path-join *user-data-directory* "custom.el"))
|
|
|
|
(when (version< emacs-version "25.3")
|
|
;; Plug security hole in enriched text mode.
|
|
(eval-after-load "enriched"
|
|
'(defun enriched-decode-display-prop (start end &optional param)
|
|
(list start end))))
|
|
|
|
;; Improve init performance.
|
|
(setq
|
|
;; Increase garbage collection threshold.
|
|
gc-cons-threshold (* 128 1024 1024))
|
|
|
|
;; Restore garbage collection threshold while Emacs is idle.
|
|
(run-with-idle-timer
|
|
2 nil
|
|
(lambda ()
|
|
(validate-setq
|
|
;; Reduce number of pauses due to garbage collection.
|
|
gc-cons-threshold (* 50 1024 1024)
|
|
gc-cons-percentage 0.5)))
|
|
|
|
|
|
;; Create data and cache directories
|
|
(make-directory *user-cache-directory* t)
|
|
(make-directory *user-data-directory* t)
|
|
|
|
(setq
|
|
;; Lines of history in the message buffer.
|
|
message-log-max 10000
|
|
;; Path to custom-file
|
|
custom-file *user-custom-file*)
|
|
|
|
|
|
(provide 'init-emacs)
|
|
;;; init-emacs.el ends here
|