   "Find and Return first executable command in SEQ."
   (cl-find-if 'executable-find seq))
 
+(defun kui/current-minor-modes ()
+  "Return minor modes on the current buffer."
+  (remove-if 'kui/active-minor-mode-p
+             minor-mode-list))
+
+(defun kui/find-font (&rest fonts)
+  "Return an existing font which was find at first in FONTS."
+  (cl-find-if (lambda (f)
+                (find-font (font-spec :name f)))
+              fonts))
+
+(defun kui/revert-buffer ()
+  "Execute `revert-buffer' without confimations if it was not edited."
+  (interactive)
+  (if (not (buffer-modified-p))
+      (let ()
+        (revert-buffer t t)
+        (message "revert the current buffer"))
+    (error "ERROR: The buffer has been modified")))
+(global-set-key (kbd "<f5>")
+                'kui/revert-buffer)
+
+;; これ相当のもの、最初からありそうな気がする
+(defun kui/try-symbol-value (symbol &optional fallback-value)
+  "Return `symbol-value' if the SYMBOL dosenot exists, or Return FALLBACK-VALUE."
+  (condition-case err (symbol-value symbol) (error fallback-value)))
+
 (defun kui/find-buffer-if (func)
   "Return buffer if FUNC return non-nil.
 Return nil if FUNC did not return non-nil with any buffer."

  (kui/find-buffer-if
   (lambda (b) (string-match-p bname-regexp (buffer-name b)))))

;; *scratch* バッファに切り替え（消してしまっていたら作成）
(defun kui/switch-to-scratch-buffer ()
  "Switch to *scratch*.  create *scratch* if it did not exists."
  (interactive)

  "Return MODE if MODE was activate on the current buffer, \
but if not, return nil."
  (not (and (boundp mode)
            (kui/try-symbol-value mode)
            (fboundp (or (get mode :minor-mode-function) mode)))))

(defun kui/add-to-list-if-exist (list-var element &optional append compare-fn)
  "Execute (add-to-list LIST-VAR ELEMENT APPEND COMPARE-FN), if LIST-VAR was defined as an appendable value."
