          (icon-family (or family (intern (cadr selection))))
          (data-function (all-the-icons--function-name icon-family))
          (icon (funcall data-function icon-name)))
-    (insert icon)))
+    (cond
+     (arg
+      (let ((standard-output (current-buffer)))
+        (prin1 icon)))
+     (t
+      (insert icon)))))
 
 ;; Debug Helpers
 

                             `(:family ,family :height ,height))
                     'display `(raise ,v-adjust)
                     'font-lock-ignore t)))
     (defun ,(all-the-icons--insert-function-name name) ()
       ,(format "Insert a %s icon at point." family)
       (interactive) (all-the-icons-insert (quote ,name)))
     (add-to-list 'all-the-icons-font-families (quote ,name))))

(define-icon alltheicon all-the-icons-data/alltheicons-alist "all-the-icons")

                 (if show-family (format " %s" (symbol-name family))))))
            data)))

(defun all-the-icons-insert (&optional arg family)
  "Interactive icon insertion function.  Choose from icons in family represented by symbol FAMILY."
  (interactive "P")
  (let* ((candidates (if family
                         (all-the-icons--family-data-as-read-candidates family)
                       (apply
