[Top][All Lists]
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[emacs-wiki-discuss] Re: Adding a new url type to planner mode
From: |
Sacha Chua |
Subject: |
[emacs-wiki-discuss] Re: Adding a new url type to planner mode |
Date: |
Sat, 29 May 2004 18:35:45 +0800 |
User-agent: |
Gnus/5.110003 (No Gnus v0.3) Emacs/21.3.50 (gnu/linux) |
Brad Collins <address@hidden> writes:
> browse-url-default-windows-browser: ShellExecute failed: Access is
> denied.
Hmmm. The new emacs-wiki support for flexible URLs makes this easier.
=) In the old planner one, you needed to make sure your function
returned a non-nil value.
Try this:
;; Add bxid to the list of URL protocols.
(add-to-list 'emacs-wiki-url-protocols '("bxid" planner-bxid-find nil)))
(defvar planner-bxid-path "d:/bram/" "Local bramble root.")
(defvar planner-bxid-extension ".yml" "Extension for YAML-encoded file.")
(defun planner-bxid-resolve (url)
"Return the file path to URL."
;; Remove the bxid://
(when (string-match "bxid:/?/?" url)
(setq url (replace-match "" nil t url)))
;; Remove the -
(expand-file-name
(concat url planner-bxid-extension)
(concat planner-bxid-path
(replace-regexp-in-string
"\\([A-Z0-9]\\)" "\\1/"
(replace-regexp-in-string "-" "" url)))))
(defun planner-bxid-find (url)
"If this is a BXID URL, jump to it."
(find-file (planner-bxid-resolve url)))
> Here is the code for planner-bxid.el. Please be nice, I'm not much of
> a programmer, and it's amazing this mess works at all:
You might want to use let instead of setqs for local variables. =)
--
Sacha Chua <address@hidden> - Ateneo CS faculty geekette
interests: emacs, gnu/linux, making computer science education fun
http://sacha.free.net.ph/ - PGP Key ID: 0xE7FDF77C