           for old = (gethash id table)
           when old  ; merge old tags back in
           do (setf (elfeed-entry-tags entry) (elfeed-entry-tags old))
+          when (not old)
+          do (loop for hook in elfeed-new-entry-hook
+                   do (funcall hook entry))
           do (setf (gethash id table) entry))
     (setf (gethash :last-update elfeed-db) (float-time))))
 


(defvar elfeed-initial-tags '(unread)
  "Initial tags for new entries.")

(defstruct elfeed-feed
  "A web feed, contains elfeed-entry structs."

      (define-key map "y" 'elfeed-search-yank)
      (define-key map "u" (elfeed-expose #'elfeed-search-tag-all 'unread))
      (define-key map "r" (elfeed-expose #'elfeed-search-untag-all 'unread))
      (define-key map "t" 'elfeed-search-tag-all)
      (define-key map "v" 'elfeed-search-untag-all)))
  "Keymap for elfeed-search-mode.")

(defun elfeed-search-mode ()
