March 8, 2004

Bulk view

Finite automata in LaTeX

  sachac: hey, remember I asked for something to draw FA's
 [finite automata] with, that was closely connected to LaTeX?
  sachac: well, I found something that seems to beat both
 xypic and metapost, "dot" from graphviz

Display subject on the first line, dynamically

;;; gnus-summary-update-subject.el --- Display subject on the first line, dynamically

;;; Time-stamp: <2004-03-07 18:02:03 bojohan>
;; 

;; Modified by Sacha to work with subjects anywhere in the summary line.

;;; Code:

(defvar gnus-summary-update-subject-overlay nil)
(defvar gnus-summary-update-subject-hide-overlay nil)
(setq gnus-summary-same-subject (propertize " " 'gnus-summary-same-subject t))

(defvar gnus-summary-update-subject-thread-marker ">")

(defun gnus-summary-update-subject (&optional window start)
  (when gnus-summary-update-subject-overlay
    (save-excursion
      (goto-char (or start (window-start)))
      (when (re-search-forward gnus-summary-update-subject-thread-marker (line-end-position) t)
        (if (not (text-property-any (line-beginning-position)
                                    (line-end-position)
                                    'gnus-summary-same-subject t))
            (progn
              (delete-overlay gnus-summary-update-subject-overlay)
              (delete-overlay gnus-summary-update-subject-hide-overlay))
          (let ((subject (gnus-summary-subject-string
                          (gnus-summary-article-number))))
            (move-overlay gnus-summary-update-subject-hide-overlay
                          (+ (point) 2) (+ (point) 2 (length subject)))
            (move-overlay gnus-summary-update-subject-overlay
                          (point) (1+ (point)))
          ;;(overlay-put gnus-summary-subject-overlay 'window (selected-window))
            (overlay-put gnus-summary-update-subject-hide-overlay
                         'invisible t)
            (overlay-put gnus-summary-update-subject-hide-overlay
                         'intangible t)
            (overlay-put gnus-summary-update-subject-overlay
                         'after-string subject)))))))


(defun gnus-summary-update-subject-setup ()
  (add-hook 'window-scroll-functions 'gnus-summary-update-subject nil t)
  (set (make-local-variable 'gnus-summary-update-subject-overlay)
       (make-overlay 0 0))
  (set (make-local-variable 'gnus-summary-update-subject-hide-overlay)
       (make-overlay 0 0)))
(add-hook 'gnus-summary-prepared-hook 'gnus-summary-update-subject-setup)

(defadvice gnus-summary-position-point (after summary-update-subject activate)
  (gnus-summary-update-subject))

(provide 'gnus-summary-update-subject)

;;; gnus-summary-update-subject.el ends here

../../notebook/emacs/gnus-summary-update-subject.el

C-u M-x planner-create-task-from-buffer

dto on #emacs suggested a way to create tasks associated with planner pages.
Arch repository and dev snapshot should have working version of this.

Adding a prefix argument to M-x planner-create-task-from-buffer will
make it prompt for the plan page. If the plan page is different from
the current annotation, it will move the annotation into the
description of the task. Any other suggestions? =)

../../notebook/emacs/emacs-wiki/planner.el

DARN!

Just remembered why I had those planner compatibility functions in the
first place. Mumble mumble. That’s it, I’m packaging a deb…

Hotshot — 55 words

Hotshot programmer fresh from college thinks he can do everything, eh?
I keep particularly nasty COBOL code for these special occasions. Just
because it’s on a computer doesn’t mean it’s legible. Looks like
English, but it’s worse than the Gordian knot. That’ll show him his
place – then maybe he’ll be willing to learn something.