* org-agenda-list (from git) giving "args-out-of-range error"
@ 2012-02-28 22:08 Karl Fogel
2012-02-28 22:35 ` Nick Dokos
0 siblings, 1 reply; 7+ messages in thread
From: Karl Fogel @ 2012-02-28 22:08 UTC (permalink / raw)
To: emacs-orgmode
[-- Attachment #1: Type: text/plain, Size: 1724 bytes --]
[please keep me CC'd, as I'm a digest subscriber on this list]
Suddenly "C-c a a" (`org-agenda-list') has started giving me this error:
args-out-of-range #(" ots: " 0 14 (org-category ...
Backtrace attached. This is with today's bleeding edge Org Mode code,
pulled from git://orgmode.org/org-mode.git.
I think the bug must be content-sensitive, since the only thing that
changed was the content of some of my .org files (the ones listed in
`org-agenda-files'). After encountering the bug, I upgraded to
bleeding-edge org-mode, and saw that the bug reproduces there too.
I can't find much on the Net about this problem, though this expired
StackOverflow question seems to be the same thing:
http://stackoverflow.com/questions/9460109/when-i-press-c-c-a-a-to-view-agenda-i-get-a-args-out-of-range-error
That question is gone from StackOverflow now, but Google's cache still
has it:
http://webcache.googleusercontent.com/search?q=cache:QsaNSsILOegJ:stackoverflow.com/questions/9460109/when-i-press-c-c-a-a-to-view-agenda-i-get-a-args-out-of-range-error+emacs+org-mode+agenda+%22args-out-of-range%22&cd=5&hl=en&ct=clnk&gl=us
There are also some reports of org agenda exports failing similarly, but
I'm not doing an export. And there's this, about how blank headlines
cause a similar error:
http://comments.gmane.org/gmane.emacs.orgmode/46444
Oh, I just found this -- it might be relevant:
http://article.gmane.org/gmane.emacs.orgmode/41045/match=agenda+args+out+of+range
I'll see if I can reproduce what that person found.
Anyway, I can do Elisp debugging, and will start to do that unless
someone here recognizes this problem and can add some information.
Backtrace attached below.
-Karl
[-- Attachment #2: Emacs Lisp backtrace from failed org-agenda-list invocation (redacted for confidentiality). --]
[-- Type: text/plain, Size: 2275 bytes --]
(I had to rectangularly truncate this backtrace to avoid showing
confidential information, sorry, but the call stack is there anyway.)
Debugger entered--Lisp error: (args-out-of-range #(" ots: " 0 14 (org-c
match-string(2 #(" ots: " 0 14 (org-category "ots" tags nil org-highe
(org-get-todo-face (match-string 2 x))
(list (quote face) (org-get-todo-face (match-string 2 x)))
(add-text-properties (or (match-end 1) (match-end 0)) (match-end 0) (list (qu
(progn (add-text-properties (or (match-end 1) (match-end 0)) (match-end 0) (l
(if (and re (equal (string-match (concat "\\(\\.*\\)" re "\\( +\\)") x (or pl
(when (and re (equal (string-match (concat "\\(\\.*\\)" re "\\( +\\)") x (or
(let ((pl (text-property-any 0 (length x) (quote org-heading) t x))) (setq re
(if (eq x (quote line)) (save-excursion (beginning-of-line 1) (setq re (org-g
(let ((org-done-keywords org-done-keywords-for-agenda) (case-fold-search nil)
org-agenda-highlight-todo(#(" ots: " 0 14 (org-category "ots" tags ni
mapcar(org-agenda-highlight-todo (#(" ots: TODO Karl to check in w/
(setq list (mapcar (quote org-agenda-highlight-todo) list))
org-finalize-agenda-entries((#(" ots: TODO Karl to check in w/ Ray n
(insert (org-finalize-agenda-entries (org-agenda-add-time-grid-maybe rtnall n
(if rtnall (insert (org-finalize-agenda-entries (org-agenda-add-time-grid-may
(progn (setq day-cnt (1+ day-cnt)) (insert (if (stringp org-agenda-format-dat
(if (or rtnall org-agenda-show-all-dates) (progn (setq day-cnt (1+ day-cnt))
(while (setq d (pop day-numbers)) (setq date (calendar-gregorian-from-absolut
(let* ((span (org-agenda-ndays-to-span (or span org-agenda-ndays org-agenda-s
org-agenda-list(nil)
call-interactively(org-agenda-list)
(cond ((setq entry (assoc keys org-agenda-custom-commands)) (if (or (symbolp
(let* ((prefix-descriptions nil) (org-agenda-window-setup (if (equal (buffer-
(catch (quote exit) (let* ((prefix-descriptions nil) (org-agenda-window-setup
org-agenda(nil)
call-interactively(org-agenda nil nil)
^ permalink raw reply [flat|nested] 7+ messages in thread
* Re: org-agenda-list (from git) giving "args-out-of-range error"
2012-02-28 22:08 org-agenda-list (from git) giving "args-out-of-range error" Karl Fogel
@ 2012-02-28 22:35 ` Nick Dokos
2012-02-29 19:12 ` [PATCH] " Karl Fogel
0 siblings, 1 reply; 7+ messages in thread
From: Nick Dokos @ 2012-02-28 22:35 UTC (permalink / raw)
To: Karl Fogel; +Cc: nicholas.dokos, emacs-orgmode
Karl Fogel <kfogel@red-bean.com> wrote:
> [please keep me CC'd, as I'm a digest subscriber on this list]
>
> Suddenly "C-c a a" (`org-agenda-list') has started giving me this error:
>
> args-out-of-range #(" ots: " 0 14 (org-category ...
>
> Backtrace attached. This is with today's bleeding edge Org Mode code,
> pulled from git://orgmode.org/org-mode.git.
>
> I think the bug must be content-sensitive, since the only thing that
> changed was the content of some of my .org files (the ones listed in
> `org-agenda-files'). After encountering the bug, I upgraded to
> bleeding-edge org-mode, and saw that the bug reproduces there too.
>
> I can't find much on the Net about this problem, though this expired
> StackOverflow question seems to be the same thing:
>
> http://stackoverflow.com/questions/9460109/when-i-press-c-c-a-a-to-view-agenda-i-get-a-args-out-of-range-error
>
> That question is gone from StackOverflow now, but Google's cache still
> has it:
>
> http://webcache.googleusercontent.com/search?q=cache:QsaNSsILOegJ:stackoverflow.com/questions/9460109/when-i-press-c-c-a-a-to-view-agenda-i-get-a-args-out-of-range-error+emacs+org-mode+agenda+%22args-out-of-range%22&cd=5&hl=en&ct=clnk&gl=us
>
> There are also some reports of org agenda exports failing similarly, but
> I'm not doing an export. And there's this, about how blank headlines
> cause a similar error:
>
> http://comments.gmane.org/gmane.emacs.orgmode/46444
>
> Oh, I just found this -- it might be relevant:
>
> http://article.gmane.org/gmane.emacs.orgmode/41045/match=agenda+args+out+of+range
>
> I'll see if I can reproduce what that person found.
>
> Anyway, I can do Elisp debugging, and will start to do that unless
> someone here recognizes this problem and can add some information.
>
> Backtrace attached below.
>
> -Karl
>
> (I had to rectangularly truncate this backtrace to avoid showing
> confidential information, sorry, but the call stack is there anyway.)
>
> Debugger entered--Lisp error: (args-out-of-range #(" ots: " 0 14 (org-c
> match-string(2 #(" ots: " 0 14 (org-category "ots" tags nil org-highe
> (org-get-todo-face (match-string 2 x))
> (list (quote face) (org-get-todo-face (match-string 2 x)))
> (add-text-properties (or (match-end 1) (match-end 0)) (match-end 0) (list (qu
> (progn (add-text-properties (or (match-end 1) (match-end 0)) (match-end 0) (l
> (if (and re (equal (string-match (concat "\\(\\.*\\)" re "\\( +\\)") x (or pl
> (when (and re (equal (string-match (concat "\\(\\.*\\)" re "\\( +\\)") x (or
> (let ((pl (text-property-any 0 (length x) (quote org-heading) t x))) (setq re
> (if (eq x (quote line)) (save-excursion (beginning-of-line 1) (setq re (org-g
> (let ((org-done-keywords org-done-keywords-for-agenda) (case-fold-search nil)
> org-agenda-highlight-todo(#(" ots: " 0 14 (org-category "ots" tags ni
> mapcar(org-agenda-highlight-todo (#(" ots: TODO Karl to check in w/
> (setq list (mapcar (quote org-agenda-highlight-todo) list))
> org-finalize-agenda-entries((#(" ots: TODO Karl to check in w/ Ray n
> (insert (org-finalize-agenda-entries (org-agenda-add-time-grid-maybe rtnall n
> (if rtnall (insert (org-finalize-agenda-entries (org-agenda-add-time-grid-may
> (progn (setq day-cnt (1+ day-cnt)) (insert (if (stringp org-agenda-format-dat
> (if (or rtnall org-agenda-show-all-dates) (progn (setq day-cnt (1+ day-cnt))
> (while (setq d (pop day-numbers)) (setq date (calendar-gregorian-from-absolut
> (let* ((span (org-agenda-ndays-to-span (or span org-agenda-ndays org-agenda-s
> org-agenda-list(nil)
> call-interactively(org-agenda-list)
> (cond ((setq entry (assoc keys org-agenda-custom-commands)) (if (or (symbolp
> (let* ((prefix-descriptions nil) (org-agenda-window-setup (if (equal (buffer-
> (catch (quote exit) (let* ((prefix-descriptions nil) (org-agenda-window-setup
> org-agenda(nil)
> call-interactively(org-agenda nil nil)
There have been a couple of recent reports on this problem (headlines
with just a timestamp cause this error) in addition to the ones you
found:
http://thread.gmane.org/gmane.emacs.orgmode/52621
http://thread.gmane.org/gmane.emacs.orgmode/52786
The first one contains a diagnosis and a (possibly wrong) suggested fix.
Nick
^ permalink raw reply [flat|nested] 7+ messages in thread
* [PATCH] org-agenda-list (from git) giving "args-out-of-range error"
2012-02-28 22:35 ` Nick Dokos
@ 2012-02-29 19:12 ` Karl Fogel
2012-02-29 19:28 ` Nick Dokos
0 siblings, 1 reply; 7+ messages in thread
From: Karl Fogel @ 2012-02-29 19:12 UTC (permalink / raw)
To: nicholas.dokos; +Cc: emacs-orgmode
[-- Attachment #1: Type: text/plain, Size: 999 bytes --]
Nick Dokos <nicholas.dokos@hp.com> writes:
>There have been a couple of recent reports on this problem (headlines
>with just a timestamp cause this error) in addition to the ones you
>found:
>
> http://thread.gmane.org/gmane.emacs.orgmode/52621
> http://thread.gmane.org/gmane.emacs.orgmode/52786
>
>The first one contains a diagnosis and a (possibly wrong) suggested fix.
Thank you, Nick. I eventually found the same cause, by doing a
binary-search reduction of the problematic .org file until I knew
exactly which headline was the source of the problem. It was a
second-level headline with a date but no content...
** <2012-02-27 Mon>
...as described in James Atwood's mail (the second one you list above).
It's relevant that the line ends immediately after the ">". If there is
even one space after the ">", then the bug does not reproduce. This
makes sense, given the code. I have a tentative patch, which is
attached. What's the typical way to submit such things for review?
[-- Attachment #2: Tentative fix for bug whereby a heading that is empty except for a datestamp causes an args-out-of-range error when an agenda is being generated. --]
[-- Type: text/plain, Size: 2016 bytes --]
From 8a4c65479b2f62cbffe32735c4afac5dd6a1ecae Mon Sep 17 00:00:00 2001
From: Karl Fogel <kfogel@red-bean.com>
Date: Wed, 29 Feb 2012 13:06:06 -0600
Subject: [PATCH] * lisp/org-agenda.el (org-agenda-highlight-todo): Handle the
case of a heading that has a date but no todo keyword.
This is a fix for the args-out-of-range bug discussed in
these threads
http://thread.gmane.org/gmane.emacs.orgmode/52621
http://thread.gmane.org/gmane.emacs.orgmode/52793
http://thread.gmane.org/gmane.emacs.orgmode/52786
http://thread.gmane.org/gmane.emacs.orgmode/52810
among Ilya Shlyakhter, James Atwood, Nick Dokos, and myself. The subject headers are:
bug report: agenda timeline crashes
Bug report: weekly agenda and blank, timestamped headers
org-agenda-list (from git) giving "args-out-of-range error"
---
lisp/org-agenda.el | 12 +++++++++++-
1 files changed, 11 insertions(+), 1 deletions(-)
diff --git a/lisp/org-agenda.el b/lisp/org-agenda.el
index 98a2cc0..ac1b5b1 100644
--- a/lisp/org-agenda.el
+++ b/lisp/org-agenda.el
@@ -5889,8 +5889,18 @@ could bind the variable in the options section of a custom command.")
(let ((pl (text-property-any 0 (length x) 'org-heading t x)))
(setq re (get-text-property 0 'org-todo-regexp x))
(when (and re
+ ;; Test `pl' because if there's no heading content,
+ ;; there's no point matching to highlight. Note
+ ;; that if we didn't test `pl' first, and there
+ ;; happened to be no keyword from `org-todo-regexp'
+ ;; on this heading line, then the `equal' comparison
+ ;; afterwards would spuriously succeed in the case
+ ;; where `pl' is nil -- causing an args-out-of-range
+ ;; error when we try to add text properties to text
+ ;; that isn't there.
+ pl
(equal (string-match (concat "\\(\\.*\\)" re "\\( +\\)")
- x (or pl 0)) pl))
+ x pl) pl))
(add-text-properties
(or (match-end 1) (match-end 0)) (match-end 0)
(list 'face (org-get-todo-face (match-string 2 x)))
--
1.7.9
^ permalink raw reply related [flat|nested] 7+ messages in thread
* Re: [PATCH] org-agenda-list (from git) giving "args-out-of-range error"
2012-02-29 19:12 ` [PATCH] " Karl Fogel
@ 2012-02-29 19:28 ` Nick Dokos
2012-02-29 19:45 ` Karl Fogel
0 siblings, 1 reply; 7+ messages in thread
From: Nick Dokos @ 2012-02-29 19:28 UTC (permalink / raw)
To: Karl Fogel; +Cc: nicholas.dokos, emacs-orgmode
Karl Fogel <kfogel@red-bean.com> wrote:
> Nick Dokos <nicholas.dokos@hp.com> writes:
> >There have been a couple of recent reports on this problem (headlines
> >with just a timestamp cause this error) in addition to the ones you
> >found:
> >
> > http://thread.gmane.org/gmane.emacs.orgmode/52621
> > http://thread.gmane.org/gmane.emacs.orgmode/52786
> >
> >The first one contains a diagnosis and a (possibly wrong) suggested fix.
>
> Thank you, Nick. I eventually found the same cause, by doing a
> binary-search reduction of the problematic .org file until I knew
> exactly which headline was the source of the problem. It was a
> second-level headline with a date but no content...
>
> ** <2012-02-27 Mon>
>
> ...as described in James Atwood's mail (the second one you list above).
>
> It's relevant that the line ends immediately after the ">". If there is
> even one space after the ">", then the bug does not reproduce. This
> makes sense, given the code. I have a tentative patch, which is
> attached. What's the typical way to submit such things for review?
>
Exactly what you've done: send the patch to the list.
Modulo possible changelog formatting issues (see
http://orgmode.org/worg/org-contribute.html#sec-5 for the gory details),
the patch looks good to me. Thanks for submitting it!
Nick
> From 8a4c65479b2f62cbffe32735c4afac5dd6a1ecae Mon Sep 17 00:00:00 2001
> From: Karl Fogel <kfogel@red-bean.com>
> Date: Wed, 29 Feb 2012 13:06:06 -0600
> Subject: [PATCH] * lisp/org-agenda.el (org-agenda-highlight-todo): Handle the
> case of a heading that has a date but no todo keyword.
> This is a fix for the args-out-of-range bug discussed in
> these threads
>
> http://thread.gmane.org/gmane.emacs.orgmode/52621
> http://thread.gmane.org/gmane.emacs.orgmode/52793
> http://thread.gmane.org/gmane.emacs.orgmode/52786
> http://thread.gmane.org/gmane.emacs.orgmode/52810
>
> among Ilya Shlyakhter, James Atwood, Nick Dokos, and myself. The subject headers are:
>
> bug report: agenda timeline crashes
> Bug report: weekly agenda and blank, timestamped headers
> org-agenda-list (from git) giving "args-out-of-range error"
> ---
> lisp/org-agenda.el | 12 +++++++++++-
> 1 files changed, 11 insertions(+), 1 deletions(-)
>
> diff --git a/lisp/org-agenda.el b/lisp/org-agenda.el
> index 98a2cc0..ac1b5b1 100644
> --- a/lisp/org-agenda.el
> +++ b/lisp/org-agenda.el
> @@ -5889,8 +5889,18 @@ could bind the variable in the options section of a custom command.")
> (let ((pl (text-property-any 0 (length x) 'org-heading t x)))
> (setq re (get-text-property 0 'org-todo-regexp x))
> (when (and re
> + ;; Test `pl' because if there's no heading content,
> + ;; there's no point matching to highlight. Note
> + ;; that if we didn't test `pl' first, and there
> + ;; happened to be no keyword from `org-todo-regexp'
> + ;; on this heading line, then the `equal' comparison
> + ;; afterwards would spuriously succeed in the case
> + ;; where `pl' is nil -- causing an args-out-of-range
> + ;; error when we try to add text properties to text
> + ;; that isn't there.
> + pl
> (equal (string-match (concat "\\(\\.*\\)" re "\\( +\\)")
> - x (or pl 0)) pl))
> + x pl) pl))
> (add-text-properties
> (or (match-end 1) (match-end 0)) (match-end 0)
> (list 'face (org-get-todo-face (match-string 2 x)))
> --
> 1.7.9
>
^ permalink raw reply [flat|nested] 7+ messages in thread
* Re: [PATCH] org-agenda-list (from git) giving "args-out-of-range error"
2012-02-29 19:28 ` Nick Dokos
@ 2012-02-29 19:45 ` Karl Fogel
2012-03-04 20:01 ` David Maus
0 siblings, 1 reply; 7+ messages in thread
From: Karl Fogel @ 2012-02-29 19:45 UTC (permalink / raw)
To: nicholas.dokos; +Cc: emacs-orgmode
[-- Attachment #1: Type: text/plain, Size: 547 bytes --]
Nick Dokos <nicholas.dokos@hp.com> writes:
>Exactly what you've done: send the patch to the list.
>
>Modulo possible changelog formatting issues (see
>http://orgmode.org/worg/org-contribute.html#sec-5 for the gory details),
>the patch looks good to me. Thanks for submitting it!
Oh, thanks -- I should have looked for those guidelines first. Here is
the same patch, but with a properly-done log message this time.
I already have copyright assignment papers on file at the FSF for Emacs
itself, by the way; does that cover us for Org Mode too?
[-- Attachment #2: Tentative fix for bug whereby a heading that is empty except for a datestamp causes an args-out-of-range error when an agenda is being generated. --]
[-- Type: text/plain, Size: 2125 bytes --]
From 7809b35a6e88640006753e28bcb87a6b66a80639 Mon Sep 17 00:00:00 2001
From: Karl Fogel <kfogel@red-bean.com>
Date: Wed, 29 Feb 2012 13:42:35 -0600
Subject: [PATCH] Fix bug whereby a date-only line caused an error when
generating an agenda
* lisp/org-agenda.el (org-agenda-highlight-todo): Handle the case of a heading that has a date but no todo keyword.
This is a fix for the args-out-of-range bug discussed in these threads:
http://thread.gmane.org/gmane.emacs.orgmode/52621
http://thread.gmane.org/gmane.emacs.orgmode/52793
http://thread.gmane.org/gmane.emacs.orgmode/52786
http://thread.gmane.org/gmane.emacs.orgmode/52810
The discussions involved Ilya Shlyakhter, James Atwood, Nick Dokos,
and myself, and the subject headers are:
bug report: agenda timeline crashes
Bug report: weekly agenda and blank, timestamped headers
org-agenda-list (from git) giving "args-out-of-range error"
TINYCHANGE
---
lisp/org-agenda.el | 12 +++++++++++-
1 files changed, 11 insertions(+), 1 deletions(-)
diff --git a/lisp/org-agenda.el b/lisp/org-agenda.el
index 98a2cc0..ac1b5b1 100644
--- a/lisp/org-agenda.el
+++ b/lisp/org-agenda.el
@@ -5889,8 +5889,18 @@ could bind the variable in the options section of a custom command.")
(let ((pl (text-property-any 0 (length x) 'org-heading t x)))
(setq re (get-text-property 0 'org-todo-regexp x))
(when (and re
+ ;; Test `pl' because if there's no heading content,
+ ;; there's no point matching to highlight. Note
+ ;; that if we didn't test `pl' first, and there
+ ;; happened to be no keyword from `org-todo-regexp'
+ ;; on this heading line, then the `equal' comparison
+ ;; afterwards would spuriously succeed in the case
+ ;; where `pl' is nil -- causing an args-out-of-range
+ ;; error when we try to add text properties to text
+ ;; that isn't there.
+ pl
(equal (string-match (concat "\\(\\.*\\)" re "\\( +\\)")
- x (or pl 0)) pl))
+ x pl) pl))
(add-text-properties
(or (match-end 1) (match-end 0)) (match-end 0)
(list 'face (org-get-todo-face (match-string 2 x)))
--
1.7.9
^ permalink raw reply related [flat|nested] 7+ messages in thread
* Re: [PATCH] org-agenda-list (from git) giving "args-out-of-range error"
2012-02-29 19:45 ` Karl Fogel
@ 2012-03-04 20:01 ` David Maus
2012-03-04 20:48 ` Karl Fogel
0 siblings, 1 reply; 7+ messages in thread
From: David Maus @ 2012-03-04 20:01 UTC (permalink / raw)
To: Karl Fogel; +Cc: nicholas.dokos, emacs-orgmode
[-- Attachment #1: Type: text/plain, Size: 792 bytes --]
Hi Karl,
At Wed, 29 Feb 2012 13:45:05 -0600,
Karl Fogel wrote:
>
> [1 <text/plain (7bit)>]
> Nick Dokos <nicholas.dokos@hp.com> writes:
> >Exactly what you've done: send the patch to the list.
> >
> >Modulo possible changelog formatting issues (see
> >http://orgmode.org/worg/org-contribute.html#sec-5 for the gory details),
> >the patch looks good to me. Thanks for submitting it!
>
> Oh, thanks -- I should have looked for those guidelines first. Here is
> the same patch, but with a properly-done log message this time.
I pushed the fix with some small cleanup of the commit
message. Somehow the patchtracker included the mailbody in the commit
message.
Best and thanks for the patch,
-- David
--
OpenPGP... 0x99ADB83B5A4478E6
Jabber.... dmjena@jabber.org
Email..... dmaus@ictsoc.de
[-- Attachment #2: OpenPGP Digital Signature --]
[-- Type: application/pgp-signature, Size: 230 bytes --]
^ permalink raw reply [flat|nested] 7+ messages in thread
end of thread, other threads:[~2012-03-04 20:48 UTC | newest]
Thread overview: 7+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2012-02-28 22:08 org-agenda-list (from git) giving "args-out-of-range error" Karl Fogel
2012-02-28 22:35 ` Nick Dokos
2012-02-29 19:12 ` [PATCH] " Karl Fogel
2012-02-29 19:28 ` Nick Dokos
2012-02-29 19:45 ` Karl Fogel
2012-03-04 20:01 ` David Maus
2012-03-04 20:48 ` Karl Fogel
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).