February 27, 2004

Bulk view

Better font-locking in emacs-wiki

If you're having problems with emacs-wiki not highlighting the first time you view a buffer, you're probably set to use jit-lock or lazy-lock. Don't. Use (setq font-lock-support-mode nil) instead, so full font-locking will always be performed. You may want to use the list so that this is only done for planner-mode and emacs-wiki-mode. =)

Better!

Finally got emacs-wiki highlighting just the way I want it. Apparently, it bypasses the normal font-lock thing. Changes: I made the example tag remove all the properties from the bounded region. Here's the relevant snippet from my ../emacs/emacs-wiki-config.el:

(defun sacha/htmlfontify-insert-region (buffer begin end)
  "Insert into BUFFER the htmlified text between BEGIN and END."
  (save-excursion
    (let* ((hfy-optimisations (cons 'skip-refontification hfy-optimisations))
	   (input-text (buffer-substring begin end))
	   (temp-file (make-temp-file "html-input"))
	   output-buffer)
      (with-temp-buffer
	(insert input-text)
	(setq buffer-file-name temp-file)
	(save-excursion (setq output-buffer (htmlfontify-buffer nil nil)))
	(set-buffer-modified-p nil))
      (unwind-protect
	  (let (b e yanked-output)
	    (set-buffer output-buffer)
	    (goto-char (point-min))
	    (search-forward "
\n")
	    (setq b (line-beginning-position))
	    (goto-char (point-max))
	    (search-backward "
") (forward-line -1) (setq e (line-beginning-position)) (setq yanked-output (buffer-substring-no-properties b e)) (set-buffer buffer) (insert yanked-output)) (set-buffer output-buffer) (set-buffer-modified-p nil) (delete-file temp-file) (kill-buffer output-buffer))))) (defun sacha/emacs-wiki-example-tag (beg end attrs highlight-p) "Mark up text as an example with optional font-locking." (if highlight-p (progn (remove-text-properties beg end '(face nil font-lock-multiline nil invisible nil intangible nil display nil mouse-face nil keymap nil help-echo nil)) (goto-char end)) ;; I don't know what would happen if you don't have ;; htmlfontify. I guess if you are installing this you ;; should have it... (let ((end-marker (set-marker (make-marker) (1+ end)))) (save-restriction (narrow-to-region beg end) (let* ((mode (cdr (assoc "mode" attrs))) (start (progn (forward-line) (point))) (stop (progn (goto-char end) (beginning-of-line) (point))) (text (buffer-substring-no-properties start stop)) (buffer (current-buffer))) (delete-region beg end) (with-temp-buffer (insert text) (when (and mode (and (stringp mode) (functionp (intern mode)))) (funcall (intern mode)) (font-lock-fontify-buffer)) (sacha/htmlfontify-insert-region buffer (point-min) (point-max))) (goto-char (point-min)) (insert "
\n")
	  (goto-char (point-max))
	  (insert "
\n") (add-text-properties (point-min) (point-max) '(rear-nonsticky (read-only) read-only t)))) (goto-char end-marker)))) (add-hook 'emacs-wiki-mode-hook 'emacs-wiki-highlight-buffer t)

Bah, unrelated repositories

 * patching for this revision ([email protected]/emacs-wiki--dev--1.0--patch-1)
 star-merge: unable to merge unrelated trees.

Public key needed for XEmacs packages

I was getting "Couldn't check signature" errors on XEmacs. I uncommented the mailto keyserver in my ~/.gnupg/gpg.conf and now things work. The public key needed is here:

-----BEGIN PGP PUBLIC KEY BLOCK-----
Version: PGP Key Server 0.9.5

mQGiBD5bymERBADX0PmDpRvw9a7D1M7gE/KA6ofrYFuy1+r9SzJ9vpdYC8B8B1ip
QDaTNA3F2euz5BkNal2m3MF7TLXItoojd0QEoIMZjpka17qtXpE5WPhdTa+sgN10
1o/uffHIkRCnjudY/lMtPrDtAVnNZsD7Yxs4zltw7ZCiwnJYkY7wuW6XEwCg97NY
N1N3bw8n214at/a6J4tAQt0D/1TEDSlpEoKuS2YJW+seZB7IoDiTeG/6IQwN5N34
XFrRbT00ttWsQSKUlnhkec0HXJr06GAsSP8+ZxI5ULRmHWB6FDvhE5bllmQyQ1VZ
1GaPhIcQcNTC7dpM6SVpG2JjTZ0IHxLGPUby20maFBwAmFSGHoa8rS/fAA0XOW/r
wWrwBACG5igwGBSt6U/yGdvrXM0B9Kg6oYj8KZNI2WNV/CpH+7R+rAuasvEGtFJ+
+2YwHr5rnhvLnCCJbsbkhvG0fjdZNnr1OVljgnR99sjmY9B2rzHwOXcDyM4exRxB
p5neVEF7nGbCh0oVcxUNr50qY+kmBfGdI3+tI9YUbbmjgk2QerRBTm9yYmVydCBL
b2NoIChYRW1hY3MgcGFja2FnZS1yZWxlYXNlIG1hbmFnZXIpIDx2aXRlbm9AeGVt
YWNzLm9yZz6IXwQTEQIAHwUCPlvKYQUJA8JnAAQLBwMCAxUCAwMWAgECHgECF4AA
CgkQgu3ywdHdhM3qmACgqWqMvO9wBKi5vGVp/uGKrIVoQqoAninfPKIii17/LeWC
D5I3CeD48ct5uQENBD5bymUQBACnFB0BchSQEQeQvEdXs45hxKlW39YqmnTmFClP
P2XJM/f9kWOL4e01/B+2tP/o8yrkS3C7OR1p8llIHUGnZTGW0sKn3/OLdw1c0eFY
8dCVHnoRnvqn67ffQ4Lqk56Tm96OtK78sJpy9Vj+UhwUdtdDNyNQiWREtsJDE2Qd
MpK++wADBQP+P1Pz1vJQUMj7OqdojcLCRO3hosx5En21hC3ZL3h0Mnh54yuJxlNl
Q1zRoiufzG1HSgBZLUsnXxDZSiWSNKnf4gWidrbnq0dQlci4knxB5FfmY3hDYkvR
KA6+TQs+8vASXnRWArLXAthpl+kv5iMCFBhIF7aNY12/PGIhtu4At7CITAQYEQIA
DAUCPlvKZQUJA8JnAAAKCRCC7fLB0d2EzYrGAKDdVoyugIlwLzHl4hzxLKzBkWR1
7wCgp9uaH8pfFUr70S2bALwPDdy/fXs=
=1HP3
-----END PGP PUBLIC KEY BLOCK-----

The mailto server returned the key to me as an attachment. I pressed pipe on the MIME part and passed it to gpg —import.

E-Mail from Server Administrator

planner.el goodness

Andrew Laing wrote:

I think the work you put into Planner et al is fantastic. I have spent quite a bit of time over the past week poring over your web page and .el files and just wanted to take a second to say thank you for all your work. I have recently switched to Emacs as my text-editor and sincerely appreciate sites like yours which help me understand it better. Thank you!

Awwwwwwww! =)

E-Mail from Andrew Laing