emacs-orgmode@gnu.org archives
 help / color / mirror / code / Atom feed
From: Desmond Rivet <desmond_news@videotron.ca>
To: emacs-orgmode@gnu.org
Subject: Removing time grid lines (invalid function)
Date: Tue, 13 Oct 2009 10:39:19 -0400	[thread overview]
Message-ID: <87tyy39x48.fsf@zinc.branchcut.ath.cx> (raw)

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	other threads:[~2009-10-13 14:37 UTC|newest]

Thread overview: 3+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2009-10-13 14:39 Desmond Rivet [this message]
2009-10-13 16:30 ` Removing time grid lines (invalid function) Nick Dokos
2009-10-13 17:25   ` Desmond Rivet

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

  List information: https://www.orgmode.org/

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=87tyy39x48.fsf@zinc.branchcut.ath.cx \
    --to=desmond_news@videotron.ca \
    --cc=emacs-orgmode@gnu.org \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
Code repositories for project(s) associated with this public inbox

	https://git.savannah.gnu.org/cgit/emacs/org-mode.git

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for read-only IMAP folder(s) and NNTP newsgroup(s).