Hi, I am interested in using Org mode to create a personal wiki (along the lines of Wikidpad: http://wikidpad.sourceforge.net/ ), treating top level headings (one star) as wiki topics. To do this, I have added 2 behaviours to Org-mode. 1. Always narrow to subtree after following an internal link (ideally I would like to only narrow to the relevant one-star heading). Added to .emacs: (add-hook 'org-follow-link-hook (lambda () (org-narrow-to-subtree))) 2. More difficult: create a new wikiword if the internal link is not found. In .emacs, add a new function to create the new topic: (defun org-create-new-wikiword (word) (interactive "s") (widen) (end-of-buffer) (newline 2) (insert (format "* <<<%s>>>" word)) ; create as radio link (backward-char 4) (org-update-radio-target-regexp) (newline 2) (org-narrow-to-subtree)) Modification to the (VERY long) function org-open-at-point in org.el: ((string= type "thisfile") (if in-emacs (switch-to-buffer-other-window (org-get-buffer-for-internal-link (current-buffer))) (org-mark-ring-push)) (let ((cmd `(org-link-search ,path ,(cond ((equal in-emacs '(4)) 'occur) ((equal in-emacs '(16)) 'org-occur) (t nil)) ,pos))) (condition-case nil (eval cmd) (error (progn (widen) ;; BEGIN CHANGE (condition-case nil (eval cmd) (error (when (yes-or-no-p (format "Topic '%s' not found; create?" path)) (org-create-new-wikiword path))))))))) ;; END CHANGE I am not the greatest emacs-lisp orgrammer. Is there an easier way to do this? If not, is it possible to create a 'link-not-found' hook so that I don't need to modify org.el? Thanks Paul