   (let ((kotct/packup-marker-char ?\040))
     (kotct/packup-mark arg interactive)))
 
-;; TODO {,un}mark all
+(defun kotct/packup-mark-all ()
+  (interactive)
+  (save-excursion
+    (kotct/packup-mark-packages-in-region (point-min) (point-max))))
+
+
+(defun kotct/packup-unmark-all ()
+    (interactive)
+    (save-excursion
+      (let ((kotct/packup-marker-char ?\040))
+        (kotct/packup-mark-packages-in-region (point-min) (point-max)))))
 
 (defun kotct/packup-initialize-buffer-contents ()
   (package-refresh-contents)

      (erase-buffer)
      (kotct/packup-initialize-buffer-contents))))

(defvar packup-mode-map
  (let ((map (make-keymap)))
    (define-key map "m" 'kotct/packup-mark)
    (define-key map "u" 'kotct/packup-unmark)
    (define-key map "x" 'kotct/packup-do-update)
    (define-key map "g" 'kotct/packup-refresh)
    map))

;;;###autoload

        mode-name "Packup"
        buffer-read-only t ;; read only
        mode-line-buffer-identification "packup")
  (kotct/packup-initialize-buffer-contents))

(defun kotct/packup-refresh ()
  "Refreshes packages in current buffer."
