 
 ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; markdown-mode ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
 (use-package markdown-mode
-  :mode ("\\.md$" "\\.markdown$"
-         "LICENSE$" "README$" "INSTALL$" "CONTRIBUTORS$" "COPYING$"
+  :mode (("README\\.md$" . gfm-mode)
+         ("\\.md$" . markdown-mode)
+         ("\\.markdown$" . markdown-mode)
+         ("LICENSE$" . markdown-mode)
+         ("README$" . markdown-mode)
+         ("INSTALL$" . markdown-mode)
+         ("CONTRIBUTORS$" . markdown-mode)
+         ("COPYING$" . markdown-mode)
          )
+  :commands (markdown-mode gfm-mode)
   :init
   (add-hook 'markdown-mode-hook #'my/set-word-processor)
   )

                     protobuf-mode
                     dart-mode
                     folio-mode
                     markdown-mode
                     sh-mode
                     csharp-mode
                     awk-mode

              )))

;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; emacs-lisp-mode ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
(defun my/compile-lisp-file ()
  "Byte-compile a lisp code file."
  (require 'bytecomp)
  (when (and
         (eq major-mode 'emacs-lisp-mode)
         (file-exists-p (byte-compile-dest-file (buffer-file-name)))
         (not (string-match
               "^\\.dir-locals.el$"
               (file-name-nondirectory
                (buffer-file-name)))))
    (save-excursion
      (byte-compile-file buffer-file-name))))

(add-hook 'emacs-lisp-mode-hook
          (lambda()
            (setq indent-tabs-mode nil)
