emacs-orgmode@gnu.org archives
 help / color / mirror / code / Atom feed
From: Nick Dokos <nicholas.dokos@hp.com>
To: "Daniel E. Doherty" <ded-law@ddoherty.net>
Cc: nicholas.dokos@hp.com, emacs-orgmode@gnu.org,
	"Daniel E. Doherty" <ddoherty03@gmail.com>,
	Carsten Dominik <carsten.dominik@gmail.com>
Subject: Re: Re: Date Prompt Bug (or Anomoly)
Date: Tue, 08 Jun 2010 18:27:29 -0400	[thread overview]
Message-ID: <16364.1276036049@alphaville.usa.hp.com> (raw)
In-Reply-To: Message from Daniel E. Doherty <ded-law@ddoherty.net> of "Tue, 08 Jun 2010 15:45:12 CDT." <87pr012qzr.wl%ded-law@ddoherty.net>

Daniel E. Doherty <ded-law@ddoherty.net> wrote:

> 
> Carsten,
> 
> When I tried this last Saturday, I was reluctant to reply since the git
> server appeared to be down and your message made me think I did not have
> the latest git version.  I tried it again today, and still no joy.  I am
> using org-mode version 6.36a on emacs 23.1 on ubuntu.
> 
> The latest entry in the Changelog file is
> ,----
> | 2010-06-08  Christian Egli  <christian.egli@sbszh.ch>
> | 
> | 	* org-taskjuggler.el (org-export-taskjuggler-old-level):
> | 	define local variable to avoid compiler warning.
> `----
> 
> The following is straight from an org file:
> 
> ,----
> | Attempted on: <2010-06-08 Tue>.
> | Entering "3/21": <2021-07-03 Sat>.
> | Entering "7/21": <2021-07-07 Wed>.
> `----
> 
> I assume that the fix would be in the function org-read-date-analyze,
> but I see no recent Changelog entries mentioning it.  Is it possible
> this got lost while the git server was down?
> 

No, it is fixed by the following commit, but 6.36a is too old to include
it. Either you did not get the updates you thought you did, or you did
not remake your org, or you did not reload the newly made org. Try

     git show 420dd96768262cb15c8bcf4fa6386361e0327add

in your git repository to see whether you have the update. If you don't,
pull again. If you do have it, do

        make clean; make

and in emacs

        M-x org-reload

Then
        M-x org-version

should say something like:

        Org-mode version 6.36trans (release_6.36.155.g420d)

HTH,
Nick

---------------------------------------------------------------------------
commit 420dd96768262cb15c8bcf4fa6386361e0327add
Author: Carsten Dominik <carsten.dominik@gmail.com>
Date:   Fri Jun 4 12:29:31 2010 +0200

    Fix the date prompt for american-style dates
    
    * lisp/org.el (org-read-date-analyze): Fix regular expression for
    matching american dates
    
    Daniel E. Doherty writes:
    
    > In playing around with the date prompt (C-.), I ran across the following
    > puzzling behavior from rather simple inputs.
    >
    > I entered the following on June 1, 2010.  Here is a date entered as
    > "3/15": <2011-03-15 Tue>.  It interpreted it as the upcoming March 15 as
    > expected.
    >
    > But here is a date entered as "5/21": <2021-06-05 Sat>.  Note how it
    > interpreted the "21" as the year 2021, not at all what I expected from
    > the documentation or the analogous "3/15" example.
    >
    > Maybe there is some underlying logic here that I'm not getting.  Perhaps
    > it has to do with how 2-digit years are interpreted?
    >
    > What's going on here?  I am using org-version 6.36trans on emacs 23.1.
    
    What was going on here is that the regular expression for matching
    american-style dates was wrong.  It was looking for month numbers in
    the second field and day numbers in the first field - wrong, of
    course.

diff --git a/lisp/org.el b/lisp/org.el
index 64044b4..48fd215 100644
--- a/lisp/org.el
+++ b/lisp/org.el
@@ -13942,10 +13942,15 @@ The prompt will suggest to enter an ISO date, but you can also enter anything
 which will at least partially be understood by `parse-time-string'.
 Unrecognized parts of the date will default to the current day, month, year,
 hour and minute.  If this command is called to replace a timestamp at point,
-of to enter the second timestamp of a range, the default time is taken from the
-existing stamp.  For example,
+of to enter the second timestamp of a range, the default time is taken
+from the existing stamp.  Furthermore, the command prefers the future,
+so if you are giving a date where the year is not given, and the day-month
+combination is already past in the current year, it will assume you
+mean next year.  For details, see the manual.  A few examples:
+
   3-2-5         --> 2003-02-05
   feb 15        --> currentyear-02-15
+  2/15          --> currentyear-02-15
   sep 12 9      --> 2009-09-12
   12:45         --> today 12:45
   22 sept 0:34  --> currentyear-09-22 0:34
@@ -14191,7 +14196,7 @@ user."
 			       t nil ans)))
     ;; Help matching american dates, like 5/30 or 5/30/7
     (when (string-match
-	   "^ *\\([0-3]?[0-9]\\)/\\([0-1]?[0-9]\\)\\(/\\([0-9]+\\)\\)?\\([^/0-9]\\|$\\)" ans)
+	   "^ *\\(0?[1-9]\\|1[012]\\)/\\(0?[1-9]\\|[12][0-9]\\|3[01]\\)\\(/\\([0-9]+\\)\\)?\\([^/0-9]\\|$\\)" ans)
       (setq year (if (match-end 4)
 		     (string-to-number (match-string 4 ans))
 		   (progn (setq kill-year t)

  reply	other threads:[~2010-06-08 22:27 UTC|newest]

Thread overview: 12+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2010-06-01 17:41 Date Prompt Bug (or Anomoly) Daniel E. Doherty
2010-06-04  8:47 ` Noorul Islam K M
2010-06-04  8:48   ` Noorul Islam K M
2010-06-04  9:39     ` Mikael Fornius
2010-06-04 11:00       ` Carsten Dominik
2010-06-04 15:16         ` Daniel E. Doherty
2010-06-05 17:43         ` Daniel E. Doherty
2010-06-06  4:20           ` Carsten Dominik
2010-06-08 20:45             ` Daniel E. Doherty
2010-06-08 22:27               ` Nick Dokos [this message]
2010-06-09  8:31                 ` Daniel E. Doherty
2010-06-08 22:28               ` Carsten Dominik

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=16364.1276036049@alphaville.usa.hp.com \
    --to=nicholas.dokos@hp.com \
    --cc=carsten.dominik@gmail.com \
    --cc=ddoherty03@gmail.com \
    --cc=ded-law@ddoherty.net \
    --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).