Dear Carsten, actually forget my previous fix attempt. There is a better way. Here is what I did to org.el to make it work.
------------------------ (defvar org-read-date-minibuffer-local-map (let* ((org-replace-disputed-keys nil) (map (make-sparse-keymap))) ... rest unchanged ... ------------------------ In words: I just added `(let* ((org-replace-disputed-keys nil)' right where init-value of `org-read-date-minibuffer-local-map' is being determined. Kind Regards, Miro On Sat, Sep 7, 2013 at 10:22 PM, Miro Bezjak <bezjak.m...@gmail.com> wrote: > Dear Carsten, > > sorry for not responding sooner. I've been on holiday and didn't see your > messages. > > Unfortunately, setting `org-replace-disputed-keys' to `nil' inside > `org-read-date' doesn't work. The reason is: > `org-read-date-minibuffer-local-map' is a defvar - thus, it has already been > evaluated (upon loading org.el). > > One quick fix would be to make `org-read-date-minibuffer-local-map' be a > `defun' instead of a `defvar'. To ensure keymap is created lazily and thus > automatically respect `(let* ((org-replace-disputed-keys nil)))'. Although, > that would cause some backwards incompatibilities. > > Any thoughts? > > Kind Regards, > Miro > > On Mon, Sep 2, 2013 at 7:50 AM, Carsten Dominik > <carsten.domi...@gmail.com> wrote: >> Hi Miro, >> >> I have implemented this. >> >> Please test and make sure it works. >> >> Regards >> >> - Carsten >> >> On 15.5.2013, at 11:37, Miro Bezjak <bezjak.m...@gmail.com> wrote: >> >>> Hi all, >>> >>> for orgmode 7.9.x I had the following defadvice. >>> >>> ---- >>> (defadvice org-read-date (around my-no-disputed-keys activate) >>> "Ignore org-replace-disputed-keys when calendar is active." >>> (let ((org-replace-disputed-keys nil)) >>> ad-do-it)) >>> ---- >>> >>> Contrary to the `org-replace-disputed-keys' documentation (only being >>> relevant at load-time), the advice worked because in 7.9.x `org-read-date' >>> used `org-defkey' to add the relevant keybindings each time it was called. >>> >>> In 8.0.x, this advice no longer works since >>> `org-read-date-minibuffer-local-map' is being used. >>> >>> Basically, I'm trying to use windmove keys, but not when I'm entering dates >>> through calendar. In calendar, shift + arrow keys are really handy and >>> calendar is not active for a long time. >>> >>> Does anyone have any suggestion how I can achieve that in 8.0.x without >>> patching org.el? >>> >>> Should I make a patch to introduce defcustom that will ignore disputed keys >>> while setting up `org-read-date-minibuffer-local-map'? Anyone else >>> interested in this besides me? >>> >>> Kind Regards, >>> Miro >>> >>