               "/"))
 
 (cl-defun vendle:message (fmt &rest text)
-  (with-current-buffer (get-buffer-create vendle:log-buffer-name)
-    (goto-char (point-max))
-    (insert (apply #'format fmt text))
-    (insert "\n"))
+  (apply #'vendle:log fmt text)
   (apply #'message (format "[%s] %s"
                            (propertize "vendle"
                                        'face '(:foreground "#539b8f"))


(cl-defun vendle:log (fmt &rest texts)
  (with-current-buffer (get-buffer-create vendle:log-buffer-name)
    (goto-char (point-max))
    (insert (apply #'format fmt texts))
    (insert "\n")))

(cl-defun vendle:foreach-package-list (fn)
  (seq-each fn *vendle-package-list*))

(cl-defun vendle:empty-buffer-p (buffer)
  "Check if BUFFER have contens."
  (zerop (buffer-size (and buffer (get-buffer buffer)))))

(cl-defun vendle:find-duplicate-packages ()
  (seq-filter
