[Top][All Lists]
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[Orgmode] Re: [PATCH] Always return refreshed category
From: |
Matt Lundin |
Subject: |
[Orgmode] Re: [PATCH] Always return refreshed category |
Date: |
Thu, 23 Dec 2010 10:42:36 -0500 |
User-agent: |
Gnus/5.110011 (No Gnus v0.11) Emacs/24.0.50 (gnu/linux) |
Carsten Dominik <address@hidden> writes:
> Applied, thanks.
>
This patch produces some unexpected category strings. Here's a sample
file:
--8<---------------cut here---------------start------------->8---
* TODO A todo
SCHEDULED: <2010-12-23 Thu>
[2010-12-23 Thu 10:22]
* TODO Another todo
SCHEDULED: <2010-12-23 Thu>
[2010-12-23 Thu 10:25]
--8<---------------cut here---------------end--------------->8---
When I run the agenda on it, I get the following:
--8<---------------cut here---------------start------------->8---
Day-agenda (W51):
Thursday 23 December 2010
test: Scheduled: TODO A todo
t: Scheduled: TODO Another todo
--8<---------------cut here---------------end--------------->8---
This resolves itself the second time I call the agenda. But I also
periodically find that "???" is added as a category string when there is
no #+CATEGORY line or :CATEGORY: property.
> On Dec 22, 2010, at 3:06 PM, Julien Danjou wrote:
>
>> diff --git a/lisp/org.el b/lisp/org.el
>> index 3cecca7..e80d2fc 100644
>> --- a/lisp/org.el
>> +++ b/lisp/org.el
>> @@ -8141,7 +8141,10 @@ call CMD."
>>
>> (defun org-get-category (&optional pos)
>> "Get the category applying to position POS."
>> - (get-text-property (or pos (point)) 'org-category))
>> + (let ((pos (or pos (point))))
>> + (or (get-text-property pos 'org-category)
>> + (org-refresh-category-properties)
>> + (get-text-property pos 'org-category))))
Another observation: org-refresh-category-properties returns t and thus
short-circuits the "or" here. Is the following perhaps the intended
behavior?
--8<---------------cut here---------------start------------->8---
diff --git a/lisp/org.el b/lisp/org.el
index e80d2fc..55f1bf1 100644
--- a/lisp/org.el
+++ b/lisp/org.el
@@ -8143,8 +8143,8 @@ call CMD."
"Get the category applying to position POS."
(let ((pos (or pos (point))))
(or (get-text-property pos 'org-category)
- (org-refresh-category-properties)
- (get-text-property pos 'org-category))))
+ (progn (org-refresh-category-properties)
+ (get-text-property pos 'org-category)))))
(defun org-refresh-category-properties ()
"Refresh category text properties in the buffer."
--8<---------------cut here---------------end--------------->8---
Best,
Matt
- [Orgmode] [PATCH] Always return refreshed category, Julien Danjou, 2010/12/22
- [Accepted] [Orgmode] Always return refreshed category, Carsten Dominik, 2010/12/23
- Re: [Orgmode] [PATCH] Always return refreshed category, Carsten Dominik, 2010/12/23
- [Orgmode] Re: [PATCH] Always return refreshed category,
Matt Lundin <=
- [Orgmode] Re: [PATCH] Always return refreshed category, Julien Danjou, 2010/12/23
- [Orgmode] Re: [PATCH] Always return refreshed category, Matt Lundin, 2010/12/24
- [Orgmode] Re: [PATCH] Always return refreshed category, Carsten Dominik, 2010/12/24
- Re: [Orgmode] Re: [PATCH] Always return refreshed category, Julien Danjou, 2010/12/27
- Re: [Orgmode] Re: [PATCH] Always return refreshed category, Julien Danjou, 2010/12/27
- [Orgmode] Re: [PATCH] Always return refreshed category, Julien Danjou, 2010/12/24