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)