emacs-orgmode
[Top][All Lists]
Advanced

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

Re: [O] Bug: wrong-type-argument when changing TODO state [7.7]


From: Stelian Iancu
Subject: Re: [O] Bug: wrong-type-argument when changing TODO state [7.7]
Date: Wed, 31 Aug 2011 13:03:37 +0200
User-agent: Mozilla/5.0 (Macintosh; Intel Mac OS X 10.7; rv:6.0) Gecko/20110812 Thunderbird/6.0

On 30.08.2011 19:21, Nick Dokos wrote:
Nick Dokos<address@hidden>  wrote:

I'm pretty tired and I might have misunderstood what is happening here,
so don't put too much weight on the following. I'll need some sleep
before I can take a whack at it again however.

Nick

Nick Dokos<address@hidden>  wrote:

Stelian Iancu<address@hidden>  wrote:


So it is a customization issue. Now the question is what :-). I should
mention that I am using both dev versions for Emacs and org-mode
(Emacs from bzr from a few days ago and org-mode from git from a few
days ago) on Mac OS X 10.7. Emacs is installed using homebrew.


Ok, it seems like I've found the culprit. It's this line:

;; Make org-mode default for all the new files
(setq major-mode 'org-mode)

If I comment it out, it all works beautifully. I thought it was
because I was executing it before loading org-mode, but I've made sure
org-mode is loaded before executing that line and I still get the same
error.

Any ideas why it happens?


Yes - don't ever do that. The major mode of a buffer is set by calling a
function (e.g. the org-mode function for buffers that should be in org
mode).  That function does a million things to make sure that everything
works properly: your setting a single variable does none of that and all
you end up doing is confusing emacs.

In most cases, you don't even call the mode function explicitly: it is
called for you automatically, e.g. through the setting of auto-mode-alist.
I have the following in my basic customizations:

(add-to-list 'auto-mode-alist '("\\.org$" . org-mode))

That says to emacs: when find-file is called to open a file whose name
ends in `.org' arrange to call the function org-mode on it. The function
takes care of the setting of major-mode.

Be sure to read Ch.23 of the emacs manual on major modes.


This is all correct I think (except for the ominous first
sentence).  But having

(setq major-mode 'org-mode)

in one's .emacs should not have any effect: major-mode is
buffer local, so the setting above should not have any
effect on *anything*, afaict.  To make org-mode the
default mode for new buffers, you'd have to say

(setq-default major-mode 'org-mode)

I've added each of those to my minimal .emacs and I have
no problem using S-{right,left} to change the TODO state
in a .org file. When I set org-mode to be the default
major mode and I open an unrelated file, its major mode
is set to org-mode, but when I S-{right,left} at some
arbitrary place, I get a message:

To use shift-selection with Org-mode, customize
`org-support-shift-select'

and the corresponding message in the *Messages* buffer
is:

if: To use shift-selection with Org-mode, customize
`org-support-shift-select'

That's an error, but it's a "reasonable" error: not right
but not too bad.

And when I ``find-file foo.bar'' which would normally
open it in fundamental mode, I do get it in org-mode and
everything works as it should: I can add headlines and
change TODO states normally.

So to summarize: no idea why that setting should have any
effect at all.

Nick

PS. The only possible explanation I can think of is
version differences:

Org-mode version 7.7 (release_7.7.205.gce02a)

GNU Emacs 24.0.50.1 (x86_64-unknown-linux-gnu, GTK+
Version 2.22.0) of 2011-07-30

I have not tried with emacs 23.



You are right, adding either of the two settings to the minimal .emacs doesn't change anything, it still works.

I'm on:

GNU Emacs 24.0.50.1 (i386-apple-darwin11.1.0, NS apple-appkit-1138.00) of 2011-08-24 on iancumac.local

Org-mode version 7.7 (release_7.4.1639.gd203.dirty)

The interesting thing though is that it works now with the normal configuration, after removing the setting, even though it shouldn't have any effect.

Thanks,
S.




reply via email to

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