emacs-orgmode@gnu.org archives
 help / color / mirror / code / Atom feed
From: Puneeth Chaganti <punchagan@gmail.com>
To: emacs-orgmode <emacs-orgmode@gnu.org>
Subject: [PATCH] Solved the problem of org-capture apparently not working
Date: Wed, 9 Feb 2011 00:20:24 +0530	[thread overview]
Message-ID: <AANLkTin8oxmX1_+kDLBK2c5vZ0MmnG1NXgv7MsfHb8Xd@mail.gmail.com> (raw)
In-Reply-To: <AANLkTi=cVQrTnkfYZmV+pwWyQ_DGjvrJAiq-1jOvn=kS@mail.gmail.com>

[-- Attachment #1: Type: text/plain, Size: 1578 bytes --]

Hi,

Resending the patch, since it seems like patchwork hasn't grabbed it.

--
Puneeth


---------- Forwarded message ----------
From: Puneeth Chaganti <punchagan@gmail.com>
Date: Sat, Feb 5, 2011 at 12:18 PM
Subject: Re: [Orgmode] [PATCH] Solved the problem of org-capture
apparently not working
To: Charles Cave <charles.cave@gmail.com>
Cc: emacs-orgmode@gnu.org


Hi,

On Sat, Feb 5, 2011 at 9:57 AM, Puneeth Chaganti <punchagan@gmail.com> wrote:
> Hi,
>
> On Sat, Feb 5, 2011 at 6:02 AM, Charles Cave <charles.cave@gmail.com> wrote:
> [..]
>> My suggestion to eliminate the problem is to modify the org-capture algorithm
>> so years have to match beginning of line + one asterisk + one space + the year
>>
>> Similarly, months could match beginning of line + two asterisks + one space +
>> the year + hyphen + month number + space + Monthname.    But the chance of this
>> format heading appearing outside a date-tree would be very low.
>
> org-datetree currently checks if a buffer has an entry with a DATE_TREE
> property (any value), and if it finds one, the date tree will become a
> subtree under that entry.
>
> This change would break that feature.


Attached is a patch that fixes this, by using the
org-datetree-base-level variable. More details in the commit message.

@Bastien,

I didn't get the time to configure and use git-send-email. I am
sending a patch obtained using git-format-patch. So, you will have to
use git-am to apply this. (of course, if this seems good enough :))

-- Puneeth



-- 
Puneeth

[-- Attachment #2: 0001-Fix-regex-for-finding-datetree-year-subtree.patch.txt --]
[-- Type: text/plain, Size: 2828 bytes --]

From ab7961c3cea92271d803fdb3df89663e9c9a88ab Mon Sep 17 00:00:00 2001
From: Puneeth Chaganti <punchagan@gmail.com>
Date: Sat, 5 Feb 2011 12:08:10 +0530
Subject: [PATCH] Fix regex for finding datetree year subtree

* org-datetree.el (org-datetree-find-year-create): Use
  `org-datetree-base-level' in the regex to find year subtree.

On Sat, Feb 5, 2011 at 9:57 AM, Puneeth Chaganti wrote:
>
>> On Sat, Feb 5, 2011 at 6:02 AM, Charles Cave wrote:
>> In early January I posted what I thought was a bug report with org-capture.
>>
>> I found that capturing to a date-tree didn't always work and in one file the
>> capture was written to the wrong place.
>>
>> Well, the problem was with the data!  One of my headings began with 2011.
>>
>> The tree looked something like this (edited)
>>
>> * 2010
>> ** 2010-12 December
>> *** 2010-12-05 Sunday
>> **** A heading
>> **** 2011 Actions  <---------- this caused the problem
>> **** Another heading
>> ...
>> *** 2010-12-06 Monday
>> ...
>> ...
>>
>>
> In 2011 when I captured into this file's date-tree,
> org-capture found the headline 2011 Actions which matched the algorithm
> and the captured item appeared at the end of the headings at that level.
>
>> My suggestion to eliminate the problem is to modify the org-capture algorithm
>> so years have to match beginning of line + one asterisk + one space + the year
>>
>> Similarly, months could match beginning of line + two asterisks + one space +
>> the year + hyphen + month number + space + Monthname.    But the chance of this
>> format heading appearing outside a date-tree would be very low.
>
> org-datetree currently checks if a buffer has an entry with a DATE_TREE
> property (any value), and if it finds one, the date tree will become a
> subtree under that entry.
>
> This change would break that feature.

Using the value of `org-datetree-base-level' in the regex instead of
checking for at least one star, or hard coding the number of stars (as
suggested by Charles Cave).

Also, only the regex for finding the year subtree needs to be changed,
since it is assumed that all the children of this subtree are
"generated" and there are no bad headings, like in Charles' example.
---
 lisp/org-datetree.el |    3 ++-
 1 files changed, 2 insertions(+), 1 deletions(-)

diff --git a/lisp/org-datetree.el b/lisp/org-datetree.el
index 8014f8f..5c48f86 100644
--- a/lisp/org-datetree.el
+++ b/lisp/org-datetree.el
@@ -64,7 +64,8 @@ tree can be found."
       (goto-char (prog1 (point) (widen))))))
 
 (defun org-datetree-find-year-create (year)
-  (let ((re "^\\*+[ \t]+\\([12][0-9][0-9][0-9]\\)[ \t\n]")
+  (let* ((n org-datetree-base-level)
+	(re (format "^\\*\\{%s\\}[ \t]+\\([12][0-9][0-9][0-9]\\)[ \t\n]" n))
 	match)
     (goto-char (point-min))
     (while (and (setq match (re-search-forward re nil t))
-- 
1.7.3.5


[-- Attachment #3: Type: text/plain, Size: 201 bytes --]

_______________________________________________
Emacs-orgmode mailing list
Please use `Reply All' to send replies to the list.
Emacs-orgmode@gnu.org
http://lists.gnu.org/mailman/listinfo/emacs-orgmode

  reply	other threads:[~2011-02-08 18:50 UTC|newest]

Thread overview: 7+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2011-02-05  0:32 Solved the problem of org-capture apparently not working Charles Cave
2011-02-05  4:27 ` Puneeth Chaganti
2011-02-05  6:48   ` [PATCH] " Puneeth Chaganti
2011-02-08 18:50     ` Puneeth Chaganti [this message]
2011-02-10 14:56     ` Bastien
2011-02-10 15:13       ` Puneeth Chaganti
2011-02-10 14:55 ` Bastien

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

  List information: https://www.orgmode.org/

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=AANLkTin8oxmX1_+kDLBK2c5vZ0MmnG1NXgv7MsfHb8Xd@mail.gmail.com \
    --to=punchagan@gmail.com \
    --cc=emacs-orgmode@gnu.org \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
Code repositories for project(s) associated with this public inbox

	https://git.savannah.gnu.org/cgit/emacs/org-mode.git

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for read-only IMAP folder(s) and NNTP newsgroup(s).