-;; (define-key minibuffer-local-completion-map
-;; "\t" #'minibuffer-force-complete)
-
-;; (with-eval-after-load 'icomplete
-
-;; (setq icomplete-on-del-error-function #'abort-recursive-edit)
-
-;; (defun b/icomplete-fido-backward-updir ()
-;; "Delete char before or go up directory, like `ido-mode'."
-;; (interactive)
-;; (if (and (eq (char-before) ?/)
-;; (eq (icomplete--category) 'file))
-;; (save-excursion
-;; (goto-char (1- (point)))
-;; (when (search-backward "/" (point-min) t)
-;; (delete-region (1+ (point)) (point-max))))
-;; (condition-case nil
-;; (call-interactively #'delete-backward-char)
-;; (error
-;; (when icomplete-on-del-error-function
-;; (funcall icomplete-on-del-error-function))))))
-
-;; (define-key icomplete-fido-mode-map
-;; (kbd "DEL") #'b/icomplete-fido-backward-updir))
-
-;; (with-eval-after-load 'subr
-;; (keyboard-translate ?\( ?\[)
-;; (keyboard-translate ?\) ?\])
-;; (keyboard-translate ?\[ ?\()
-;; (keyboard-translate ?\] ?\))
-
-;; ;; (keyboard-translate ?\( ?\()
-;; ;; (keyboard-translate ?\) ?\))
-;; ;; (keyboard-translate ?\[ ?\[)
-;; ;; (keyboard-translate ?\] ?\])
-;; )
-
-;; minibuffer
-(csetq read-file-name-completion-ignore-case t)
-
-;; startup
-;; don't need to see the startup echo area message
-(advice-add #'display-startup-echo-area-message :override #'ignore)
-(csetq
- ;; i want *scratch* as my startup buffer
- initial-buffer-choice t
- ;; i don't need the default hint
- initial-scratch-message nil
- ;; use customizable text-mode as major mode for *scratch*
- ;; (initial-major-mode 'text-mode)
- ;; inhibit buffer list when more than 2 files are loaded
- inhibit-startup-buffer-menu t
- ;; don't need to see the startup screen or echo area message
- inhibit-startup-screen t
- inhibit-startup-echo-area-message user-login-name)
-
-;; files
-(csetq
- ;; backups (C-h v make-backup-files RET)
- backup-by-copying t
- backup-directory-alist (list (cons "." (b/var "backup/")))
- version-control t
- delete-old-versions t
- ;; auto-save
- auto-save-file-name-transforms `((".*" ,(b/var "auto-save/") t))
- ;; insert newline at the end of files
- ;; require-final-newline t
- ;; open read-only file buffers in view-mode
- ;; (enables niceties like `q' for quit)
- view-read-only t)
-
-;; novice
-;; disable disabled commands
-(csetq disabled-command-function nil)
-
-;; lazy-person-friendly yes/no prompts
-(defalias 'yes-or-no-p #'y-or-n-p)
-
-;; autorevert: enable automatic reloading of changed buffers and files
-(csetq auto-revert-verbose nil
- global-auto-revert-non-file-buffers nil)
-(require 'autorevert)
-(global-auto-revert-mode 1)
+(with-eval-after-load 'minibuffer
+ (setq read-file-name-completion-ignore-case t))
+
+;; `startup'
+(setq auto-save-list-file-prefix (b/var "auto-save/sessions/"))
+
+(with-eval-after-load 'files
+ (setq
+ ;; backups (C-h v make-backup-files RET)
+ backup-by-copying t
+ backup-directory-alist (list (cons "." (b/var "backup/")))
+ version-control t
+ delete-old-versions t
+ ;; auto-save
+ auto-save-file-name-transforms `((".*" ,(b/var "auto-save/") t))
+ ;; insert newline at the end of files
+ ;; require-final-newline t
+ ;; open read-only file buffers in view-mode
+ ;; (enables niceties like `q' for quit)
+ view-read-only t))
+
+;; `novice'
+(setq disabled-command-function nil)
+
+;; `subr'
+;; (keyboard-translate ?\( ?\[)
+;; (keyboard-translate ?\) ?\])
+;; (keyboard-translate ?\[ ?\()
+;; (keyboard-translate ?\] ?\))
+
+(run-with-idle-timer 0.1 nil #'require 'autorevert)
+(with-eval-after-load 'autorevert
+ (setq
+ ;; auto-revert-verbose nil
+ global-auto-revert-non-file-buffers nil)
+ (global-auto-revert-mode 1))