Re: [O] org-install not defining org-mode-map?
Eric Abrahamsen writes: (require 'org-install) (eval-after-load 'org ; don't let org steal this key (define-key org-mode-map (kbd C-') nil)) There are more such forms later on, they all throw the same error. I'm out of my depth here, but I'd think that this sort of thing really belongs into a mode hook. I thought org-install was meant to handle this sort of thing? No. It sets up all autoload forms so that the public interfaces of org become visible without actually loading all of org. Or at least the eval-after-load? Still, org-mode-map is undefined until I've opened my first org file and org is properly loaded. How long have you been using Emacs24, specifically has it ever worked there? The scoping rules for global dynamic variables have changed for Emacs24 and the exact details seem not to be fully documented yet. Does it start working again if you add a (defvar org-mode-map) after the require form? Regards, Achim. -- +[Q+ Matrix-12 WAVE#46+305 Neuron microQkb Andromeda XTk Blofeld]+ SD adaptation for Waldorf rackAttack V1.04R1: http://Synth.Stromeko.net/Downloads.html#WaldorfSDada
Re: [O] org-install not defining org-mode-map?
Eric Abrahamsen e...@ericabrahamsen.net writes: I must have done something odd here, but… Yes. On emacs startup, org-mode-map is not getting defined for some reason, so a bunch of `eval-after-load' forms are throwing errors. I'm using org from git, and the following is the first offending section: (require 'org-install) (eval-after-load 'org ; don't let org steal this key (define-key org-mode-map (kbd C-') nil)) You have to quote the inner form. Christopher
Re: [O] org-install not defining org-mode-map?
On Tue, May 15 2012, Achim Gratz wrote: Eric Abrahamsen writes: (require 'org-install) (eval-after-load 'org ; don't let org steal this key (define-key org-mode-map (kbd C-') nil)) There are more such forms later on, they all throw the same error. I'm out of my depth here, but I'd think that this sort of thing really belongs into a mode hook. I thought org-install was meant to handle this sort of thing? No. It sets up all autoload forms so that the public interfaces of org become visible without actually loading all of org. Or at least the eval-after-load? Still, org-mode-map is undefined until I've opened my first org file and org is properly loaded. How long have you been using Emacs24, specifically has it ever worked there? The scoping rules for global dynamic variables have changed for Emacs24 and the exact details seem not to be fully documented yet. Does it start working again if you add a (defvar org-mode-map) after the require form? I've been using emacs 24 for several months, and it's only in the past few weeks that this has stopped working. Christopher's solution seems to be the right one -- probably I should have been quoting that form the whole time, but I'm quite certain it's worked, unquoted, for a while now. I'm assuming it does have something to with changes in how emacs 24 handles variables… Using your defvar suggestion didn't do it, though. Thanks to you both, Eric -- GNU Emacs 24.1.50.5 (i686-pc-linux-gnu, GTK+ Version 2.24.10) of 2012-05-12 on pellet 7.8.09
[O] org-install not defining org-mode-map?
I must have done something odd here, but… On emacs startup, org-mode-map is not getting defined for some reason, so a bunch of `eval-after-load' forms are throwing errors. I'm using org from git, and the following is the first offending section: --8---cut here---start-8--- (require 'org-install) (eval-after-load 'org ; don't let org steal this key (define-key org-mode-map (kbd C-') nil)) --8---cut here---end---8--- There are more such forms later on, they all throw the same error. Specifically: --8---cut here---start-8--- Debugger entered--Lisp error: (void-variable org-mode-map) (define-key org-mode-map (kbd C-') nil) (eval-after-load (quote org) (define-key org-mode-map (kbd C-') nil)) eval-buffer(#buffer *load* nil /home/eric/.emacs nil t) ; Reading at buffer position 13869 load-with-code-conversion(/home/eric/.emacs /home/eric/.emacs t t) load(~/.emacs t t) #[0 \205\262\306=\203 \307\310Q\202; \311=\204 \307\312Q\202;\313\307\314\315#\203*\316\202;\313\307\314\317#\203:\320\nB\321\202;\316\322\323\322\211#\210\322=\203a\324\325\326\307\327Q!\\323\322\211#\210\322=\203`\210\203\243\330!\331\232\203\243\332!\211\333P\334!\203}\211\202\210\334!\203\207\202\210\314\262\203\241\335\\203\237\336\337#\210\340\341!\210\266\f?\205\260\314\323\342\322\211#)\262\207 [init-file-user system-type delayed-warnings-list user-init-file inhibit-default-init inhibit-startup-screen ms-dos ~ /_emacs windows-nt /.emacs directory-files nil ^\\.emacs\\(\\.elc?\\)?$ ~/.emacs ^_emacs\\(\\.elc?\\)?$ (initialization `_emacs' init file is deprecated, please use `.emacs') ~/_emacs t load expand-file-name init file-name-as-directory /.emacs.d file-name-extension elc file-name-sans-extension .el file-exists-p file-newer-than-file-p message Warning: %s is newer than %s sit-for 1 default] 7 \n\n(fn)]() command-line() normal-top-level() --8---cut here---end---8--- I thought org-install was meant to handle this sort of thing? Or at least the eval-after-load? Still, org-mode-map is undefined until I've opened my first org file and org is properly loaded. No one else is complaining, so probably I'm doing something wrong, but this used to work fine! I'm also running emacs from git -- perhaps something has changed in the way eval-after-load works? Thanks for any hints, Eric -- GNU Emacs 24.1.50.5 (i686-pc-linux-gnu, GTK+ Version 2.24.10) of 2012-05-12 on pellet 7.8.09