Priorities - A: high, B: medium, C: low; Status - _: unfinished, X: finished, C: cancelled, P: pending, o: in progress, >: delegated. Covey quadrants - Q1 & Q3: urgent, Q1 & Q2: important
AXMeet Maoi Arroyo for brunch @1000 in Greenbelt 1 (2005.06.18 social)
BXWrite about book notes wiki idea (2005.06.18 writing)
BXReflect on Cashflow lessons for today (2005.06.18 finance)
BXFollow up with Infoweapons regarding wiki (2005.06.18 lovecat)
BXSwitch Entreplink to non-digest
BXMerge patch for planner-annotation-as-kill : E-Mail from Stefan Reichör (2005.06.18 planner feature)
BXAdapt action-lock code to allow Planner-style hyperlinks from anywhere (2005.06.18 planner help)
BXTrack down lisp tag bug under XEmacs (2005.06.18 planner bug)
BXAdd to http://www.emacswiki.org/cgi-bin/wiki/PlannerAndHowmComparison (2005.06.18 planner doc)


1. Planner support for action-lock.el

action-lock.el is part of HOWM. The following code enables Planner-style links _anywhere_. Add it to your ~/.emacs and use M-x action-lock-mode to turn action locking on.

(add-to-list 'action-lock-default-rules
             (list (with-planner emacs-wiki-url-or-name-regexp)
(setq action-lock-rules action-lock-default-rules)
(defvar planner-action-lock-default-directory planner-directory "Expand files relative to this directory.")
(defun planner-action-lock-follow-name-at-point (&optional other-window)
  (let ((link-name (match-string 0))
        (base-buffer (current-buffer))
        ;; the name of the buffer that contains the link.  check
        ;; whether buffer-name is a WikiName, else make it one
        (parent-name (or (emacs-wiki-page-name)
                         (concat "[[" (buffer-name) "]]")))
        (refresh-buffer nil))
      (let ((link (emacs-wiki-wiki-link-target link-name)))
        (if (emacs-wiki-wiki-url-p link)
            (emacs-wiki-browse-url link other-window)
          ;; The name list is current since the last time the buffer was
          ;; highlighted
          (let* ((base (emacs-wiki-wiki-base link-name))
                 (file (emacs-wiki-page-file base))
                 (tag  (and (not (emacs-wiki-wiki-url-p link))
                            (emacs-wiki-wiki-tag link)))
                 (find-file-function (if other-window
                  (not (string-match
                 (parent-backlink (and parent-allowed-backlink-p
                  (funcall find-file-function
                           (or file
                                       (or planner-action-lock-default-directory
                                           (and (buffer-file-name)
                  (and emacs-wiki-create-backlinks parent-allowed-backlink-p))
                 (make-link-p (and emacs-wiki-create-backlinks
                                   ;; insert backlink only in new files
                                   (null file)
                                   (not (string-match
                                          (buffer-file-name newbuf)))))))
            (when tag
              (goto-char (point-min))
              (re-search-forward (concat "^\\.?#" tag) nil t))
            (when refresh-buffer
              (when make-link-p
                (emacs-wiki-insert-backlink parent-name parent-backlink))
              ;; todo: is with-current-buffer necessary here?
              (with-current-buffer newbuf
                (add-hook 'after-save-hook
                          'emacs-wiki-refresh-buffers-once t t)
                ;; save the new file to avoid another backlink if the
                ;; buffer is visited again before being saved
                (when (or make-link-p
                          (and (null file)
                               (not parent-allowed-backlink-p)))
                  ;; set modified status to t: pages with excluded
                  ;; parents may not be modified, but we want to save
                  ;; anyway
                  (set-buffer-modified-p t)

コンピュータの知識はすべての科学」にとって基本である。 Knowledge of computers is basic to all sciences.

On Technorati: ,