emacs-orgmode
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

[Orgmode] Removing time grid lines (invalid function)


From: Desmond Rivet
Subject: [Orgmode] Removing time grid lines (invalid function)
Date: Tue, 13 Oct 2009 10:39:19 -0400
User-agent: Gnus/5.13 (Gnus v5.13) Emacs/23.1.50 (gnu/linux)

Hi all,

I'm attempting to use the hack listed on worg titled : "Remove time grid
lines that are in an appointment".  I'm having a bit of trouble.  I'm
using emacs 23.1.

I add this to my .emacs file:

(defun org-time-to-minutes (time)
  "Convert an HHMM time to minutes"
  (+ (* (/ time 100) 60) (% time 100)))

(defun org-time-from-minutes (minutes)
  "Convert a number of minutes to an HHMM time"
  (+ (* (/ minutes 60) 100) (% minutes 60)))

(defadvice org-agenda-add-time-grid-maybe (around
mde-org-agenda-grid-tweakify
                                                  (list ndays todayp))
  (if (member 'remove-match (car org-agenda-time-grid))
      (flet ((extract-window 
                               (line)
              (let ((start (get-text-property 1 'time-of-day line))
                    (dur (get-text-property 1 'duration line)))
                (cond
                 ((and start dur)
                  (cons start
                        (org-time-from-minutes
                         (+ dur (org-time-to-minutes start)))))
                 (start start)
                 (t nil)))))
        (let* ((windows (delq nil (mapcar 'extract-window list)))
               (org-agenda-time-grid
                (list (car org-agenda-time-grid)
                      (cadr org-agenda-time-grid)
                      (remove-if
                       (lambda (time)
                         (find-if (lambda (w)
                                    (if (numberp w)
                                        (equal w time)
                                      (and (>= time (car w))
                                           (< time (cdr w)))))
                                  windows))
                       (caddr org-agenda-time-grid)))))
          ad-do-it))
    ad-do-it))
(ad-activate 'org-agenda-add-time-grid-maybe)

And it starts up fine.  Then I try and get my agenda and I get this
message:

  org-agenda-add-time-grid-maybe: Invalid function: (extract-window (line)
  (let ((start (get-text-property 1 (quote time-of-day) line)) (dur
  (get-text-property 1 (quote duration) line))) (cond ((and start dur)
  (cons start (org-time-from-minutes (+ dur (org-time-to-minutes
  start))))) (start start) (t nil))))

Doing a C-x C-e on the (ad-activate 'org-agenda-add-time-grid-maybe)
line also gives the error.

I have noticed that when I use emacs-cvs on Debian lenny, I have a
similar but somewhat different problem: emacs will spit out a warning
similar to the error above, but when I do a C-x C-e directly on the
relevant portions of my .emacs file, everything works.

I'm not sure how to start debugging this.  To be honest, I'm not even
sure what "flet" is; it doesn't seem to be in the emacs lisp manual...

Any help is appreciated.  Thanks in advance.

-- 
Desmond Rivet

Pain is weakness leaving the body.




reply via email to

[Prev in Thread] Current Thread [Next in Thread]