(defun shen-remember-functions (start end)
"Add functions defined between START and END to `shen-functions'."
(interactive "r")
(defun shen-remember-functions (start end)
"Add functions defined between START and END to `shen-functions'."
(interactive "r")
"[\n\r]?[ \t]*\\({\\(.+\\)}\\)?"))) ; type
(while (re-search-forward re end t)
(let ((name (intern (match-string 1)))
"[\n\r]?[ \t]*\\({\\(.+\\)}\\)?"))) ; type
(while (re-search-forward re end t)
(let ((name (intern (match-string 1)))
(add-to-list 'shen-functions (list name type doc))))))))
(add-hook 'shen-pre-eval-hook #'shen-remember-functions)
(add-to-list 'shen-functions (list name type doc))))))))
(add-hook 'shen-pre-eval-hook #'shen-remember-functions)