Discussion:
[Orgmode] Update of orgmode broke my setup
Detlef Steuer
2008-07-03 08:46:18 UTC
Permalink
Hi,

after upgrading my orgmode installation I get:
----------
An error has occurred while loading `/home/steuer/.emacs':

Symbol's value as variable is void: org-agenda-mode-map

To ensure normal operation, you should investigate and remove the
cause of the error in your initialization file. Start Emacs with
the `--debug-init' option to view a complete error backtrace.
---------

I'm using a setup followig Wiegley
http://www.newartisans.com/blog_files/org.mode.day.planner.php

The effect is, that agenda commands like C-a a don't work any more.

Ok, it must be simple, but I can't find it at the moment.
Any hint?

Detlef
Manish
2008-07-03 11:15:50 UTC
Permalink
Post by Detlef Steuer
Hi,
----------
Symbol's value as variable is void: org-agenda-mode-map
To ensure normal operation, you should investigate and remove the
cause of the error in your initialization file. Start Emacs with
the `--debug-init' option to view a complete error backtrace.
---------
I'm using a setup followig Wiegley
http://www.newartisans.com/blog_files/org.mode.day.planner.php
The effect is, that agenda commands like C-a a don't work any more.
Ok, it must be simple, but I can't find it at the moment.
Any hint?
Could you add details of your setup? Emacs version, previous and
new versions of Org, using git or release versions etc.

-- Manish
Detlef Steuer
2008-07-03 11:33:04 UTC
Permalink
This post might be inappropriate. Click to display it.
Manish
2008-07-03 13:42:09 UTC
Permalink
Post by Detlef Steuer
On Thu, 3 Jul 2008 16:45:50 +0530
Post by Manish
Post by Detlef Steuer
Hi,
----------
Symbol's value as variable is void: org-agenda-mode-map
To ensure normal operation, you should investigate and remove the
cause of the error in your initialization file. Start Emacs with
the `--debug-init' option to view a complete error backtrace.
---------
I'm using a setup followig Wiegley
http://www.newartisans.com/blog_files/org.mode.day.planner.php
The effect is, that agenda commands like C-a a don't work any more.
Ok, it must be simple, but I can't find it at the moment.
Any hint?
Could you add details of your setup? Emacs version, previous and
new versions of Org, using git or release versions etc.
emacs --version
GNU Emacs 22.1.1
Copyright (C) 2007 Free Software Foundation, Inc.
GNU Emacs comes with ABSOLUTELY NO WARRANTY.
You may redistribute copies of Emacs
under the terms of the GNU General Public License.
For more information about these matters, see the file named COPYING.
git before update some 6.04
git after 6.05c and todays git pull .
I just updated from git repo, no issues here (WinXP, Emacs22.2,
Org at commit 9919ff82a0f2952d6f36e13f242e6c23d96da14c). It may
not resolve your error but you may consider the suggestion below.
Post by Detlef Steuer
(eval-after-load "org"
'(progn
(define-prefix-command 'org-todo-state-map)
(define-key org-mode-map "\C-cx" 'org-todo-state-map)
(define-key org-todo-state-map "t"
#'(lambda nil (interactive) (org-todo "TODO")))
(define-key org-todo-state-map "x"
#'(lambda nil (interactive) (org-todo "CANCELLED")))
(define-key org-todo-state-map "d"
#'(lambda nil (interactive) (org-todo "DONE")))
(define-key org-todo-state-map "f"
#'(lambda nil (interactive) (org-todo "DEFERRED")))
(define-key org-todo-state-map "l"
#'(lambda nil (interactive) (org-todo "DELEGATED")))
(define-key org-todo-state-map "s"
#'(lambda nil (interactive) (org-todo "STARTED")))
(define-key org-todo-state-map "w"
#'(lambda nil (interactive) (org-todo "WAITING")))
==> (define-key org-agenda-mode-map "\C-n" 'next-line)
gives error
I think an (easier and cleaner, I think) alternate way to achieve
this would be something like this:

(setq org-use-fast-todo-selection t)
(setq org-todo-keywords
'((sequence "TODO(t)"
"STARTED(s)"
"WAITING(w)"
"DELEGATED(l)" "|"
"DONE(d)"
"DEFERRED(f)")))

Fast selection shortcuts this way can also record the time of
state change and/or take a note at the time of switching states.
http://orgmode.org/manual/Tracking-TODO-state-changes.html#Tracking-TODO-state-changes

HTH,
-- Manish
Nick Dokos
2008-07-03 15:54:34 UTC
Permalink
Post by Detlef Steuer
On Thu, 3 Jul 2008 16:45:50 +0530
Post by Manish
Post by Detlef Steuer
Hi,
----------
Symbol's value as variable is void: org-agenda-mode-map
To ensure normal operation, you should investigate and remove the
cause of the error in your initialization file. Start Emacs with
the `--debug-init' option to view a complete error backtrace.
---------
I'm using a setup followig Wiegley
http://www.newartisans.com/blog_files/org.mode.day.planner.php
The effect is, that agenda commands like C-a a don't work any more.
Ok, it must be simple, but I can't find it at the moment.
Any hint?
Could you add details of your setup? Emacs version, previous and
new versions of Org, using git or release versions etc.
...
Post by Detlef Steuer
(eval-after-load "org"
'(progn
(define-prefix-command 'org-todo-state-map)
(define-key org-mode-map "\C-cx" 'org-todo-state-map)
(define-key org-todo-state-map "t"
#'(lambda nil (interactive) (org-todo "TODO")))
(define-key org-todo-state-map "x"
#'(lambda nil (interactive) (org-todo "CANCELLED")))
(define-key org-todo-state-map "d"
#'(lambda nil (interactive) (org-todo "DONE")))
(define-key org-todo-state-map "f"
#'(lambda nil (interactive) (org-todo "DEFERRED")))
(define-key org-todo-state-map "l"
#'(lambda nil (interactive) (org-todo "DELEGATED")))
(define-key org-todo-state-map "s"
#'(lambda nil (interactive) (org-todo "STARTED")))
(define-key org-todo-state-map "w"
#'(lambda nil (interactive) (org-todo "WAITING")))
==> (define-key org-agenda-mode-map "\C-n" 'next-line)
gives error
...

It's probably because org-agenda-mode-map is not defined in org.el but in org-agenda.el
so you'll need to split the eval-after-load into two pieces:

(eval-after-load "org"
'(progn
(add-to-list 'org-file-apps '("py" . emacs))

(define-prefix-command 'org-todo-state-map)
(define-key org-mode-map "\C-cx" 'org-todo-state-map)
(define-key org-todo-state-map "x"
#'(lambda nil (interactive) (org-todo "CANCELLED")))
etc. etc.
)

and


(eval-after-load "org-agenda"
'(progn
(define-key org-agenda-mode-map "\C-n" 'next-line)
etc. etc.
)

HTH,
Nick
Detlef Steuer
2008-07-04 06:57:31 UTC
Permalink
Thank you all for the help!

It's astonishing how great tools and great communities coincide.

Detlef


On Thu, 03 Jul 2008 11:54:34 -0400
Post by Nick Dokos
Post by Detlef Steuer
On Thu, 3 Jul 2008 16:45:50 +0530
Post by Manish
Post by Detlef Steuer
Hi,
----------
Symbol's value as variable is void: org-agenda-mode-map
To ensure normal operation, you should investigate and remove the
cause of the error in your initialization file. Start Emacs with
the `--debug-init' option to view a complete error backtrace.
---------
I'm using a setup followig Wiegley
http://www.newartisans.com/blog_files/org.mode.day.planner.php
The effect is, that agenda commands like C-a a don't work any more.
Ok, it must be simple, but I can't find it at the moment.
Any hint?
Could you add details of your setup? Emacs version, previous and
new versions of Org, using git or release versions etc.
...
Post by Detlef Steuer
(eval-after-load "org"
'(progn
(define-prefix-command 'org-todo-state-map)
(define-key org-mode-map "\C-cx" 'org-todo-state-map)
(define-key org-todo-state-map "t"
#'(lambda nil (interactive) (org-todo "TODO")))
(define-key org-todo-state-map "x"
#'(lambda nil (interactive) (org-todo "CANCELLED")))
(define-key org-todo-state-map "d"
#'(lambda nil (interactive) (org-todo "DONE")))
(define-key org-todo-state-map "f"
#'(lambda nil (interactive) (org-todo "DEFERRED")))
(define-key org-todo-state-map "l"
#'(lambda nil (interactive) (org-todo "DELEGATED")))
(define-key org-todo-state-map "s"
#'(lambda nil (interactive) (org-todo "STARTED")))
(define-key org-todo-state-map "w"
#'(lambda nil (interactive) (org-todo "WAITING")))
==> (define-key org-agenda-mode-map "\C-n" 'next-line)
gives error
...
It's probably because org-agenda-mode-map is not defined in org.el but in org-agenda.el
(eval-after-load "org"
'(progn
(add-to-list 'org-file-apps '("py" . emacs))
(define-prefix-command 'org-todo-state-map)
(define-key org-mode-map "\C-cx" 'org-todo-state-map)
(define-key org-todo-state-map "x"
#'(lambda nil (interactive) (org-todo "CANCELLED")))
etc. etc.
)
and
(eval-after-load "org-agenda"
'(progn
(define-key org-agenda-mode-map "\C-n" 'next-line)
etc. etc.
)
HTH,
Nick
_______________________________________________
Emacs-orgmode mailing list
Remember: use `Reply All' to send replies to the list.
http://lists.gnu.org/mailman/listinfo/emacs-orgmode
Carsten Dominik
2008-07-03 15:42:07 UTC
Permalink
Post by Detlef Steuer
(eval-after-load "org"
'(progn
(define-prefix-command 'org-todo-state-map)
(define-key org-mode-map "\C-cx" 'org-todo-state-map)
(define-key org-todo-state-map "t"
#'(lambda nil (interactive) (org-todo "TODO")))
(define-key org-todo-state-map "x"
#'(lambda nil (interactive) (org-todo "CANCELLED")))
(define-key org-todo-state-map "d"
#'(lambda nil (interactive) (org-todo "DONE")))
(define-key org-todo-state-map "f"
#'(lambda nil (interactive) (org-todo "DEFERRED")))
(define-key org-todo-state-map "l"
#'(lambda nil (interactive) (org-todo "DELEGATED")))
(define-key org-todo-state-map "s"
#'(lambda nil (interactive) (org-todo "STARTED")))
(define-key org-todo-state-map "w"
#'(lambda nil (interactive) (org-todo "WAITING")))
==> (define-key org-agenda-mode-map "\C-n" 'next-line)
gives error
Yes. The agenda mode map is not known before org-agenda is loaded.
You need to wrap this into eval-after-load "org-agenda", of do this in
org-agenda-mode-hook.

- Carsten
Manish
2008-07-03 18:04:14 UTC
Permalink
On Thu, Jul 3, 2008 at 9:12 PM, Carsten Dominik wrote:
[snip]
Post by Carsten Dominik
Yes. The agenda mode map is not known before org-agenda is
loaded. You need to wrap this into eval-after-load
"org-agenda", of do this in org-agenda-mode-hook.
Out of curiousity, I wonder why should OP see the error now on
upgrading from 6.04 to HEAD? I think Org was split into multiple
files quite a while ago.

-- Manish
Carsten Dominik
2008-07-03 18:07:08 UTC
Permalink
Post by Manish
[snip]
Post by Carsten Dominik
Yes. The agenda mode map is not known before org-agenda is
loaded. You need to wrap this into eval-after-load
"org-agenda", of do this in org-agenda-mode-hook.
Out of curiousity, I wonder why should OP see the error now on
upgrading from 6.04 to HEAD? I think Org was split into multiple
files quite a while ago.
No idea.

- Carsten
Loading...