Use custom-set-variables instead of eval-after-load + setq
Enable read-only when diff-mode is enabled
Use cl-lib-function instead of cl-function
Fix invalid mode-map setting
Use custom-set-variables instead of setq + hook
Rename function name for my convention
Fix use of buffer local variable