emacs-orgmode@gnu.org archives
 help / color / mirror / code / Atom feed
* [patch] fix error when using org-notify with no agenda files
@ 2018-04-10  2:02 Jay Kamat
  2018-04-10 18:11 ` Nicolas Goaziou
  0 siblings, 1 reply; 2+ messages in thread
From: Jay Kamat @ 2018-04-10  2:02 UTC (permalink / raw)
  To: Org Mode


[-- Attachment #1.1: Type: text/plain, Size: 555 bytes --]

Hi,

Previously, when `org-agenda-files' was nil, and `org-notify-start' had
been called (org-notify running), I got the following error every time
`org-notify-process' would run.

Wrong type argument: stringp, nil

This patch fixes this so `org-notify' won't throw errors if no agenda
files are present.

Please let me know if you spot any issues. I thought about adding a
one-time message warning the user, would this be a good idea (or should
we just stay out of their way)? I would be happy to implement it if that
would be preferable.

Thanks,
-Jay


[-- Warning: decoded text below may be mangled, UTF-8 assumed --]
[-- Attachment #1.2: 0001-org-notify.el-Fix-an-error-in-org-notify-process-whe.patch --]
[-- Type: text/x-diff, Size: 1799 bytes --]

From d0dc9035b2d7c77dc65102ab27ecacf3664599fa Mon Sep 17 00:00:00 2001
From: Jay Kamat <jaygkamat@gmail.com>
Date: Mon, 9 Apr 2018 21:47:58 -0400
Subject: [PATCH] org-notify.el: Fix an error in `org-notify-process' when
 unconfigured

* contrib/lisp/org-notify.el (org-notify-todo-list): Return nil if
  `org-agenda-files' is nil
---
 contrib/lisp/org-notify.el | 19 ++++++++++---------
 1 file changed, 10 insertions(+), 9 deletions(-)

diff --git a/contrib/lisp/org-notify.el b/contrib/lisp/org-notify.el
index 8e800eec7..56cf85d9d 100644
--- a/contrib/lisp/org-notify.el
+++ b/contrib/lisp/org-notify.el
@@ -137,15 +137,16 @@ simple timestamp string."
   "Create the todo-list for one org-agenda file."
   (let* ((files (org-agenda-files 'unrestricted))
          (max (1- (length files))))
-    (setq org-notify-parse-file
-          (if (or (not org-notify-parse-file) (>= org-notify-parse-file max))
-              0
-            (1+ org-notify-parse-file)))
-    (save-excursion
-      (with-current-buffer (find-file-noselect
-                            (nth org-notify-parse-file files))
-        (org-element-map (org-element-parse-buffer 'headline)
-                         'headline 'org-notify-make-todo)))))
+    (when files
+      (setq org-notify-parse-file
+	    (if (or (not org-notify-parse-file) (>= org-notify-parse-file max))
+		0
+	      (1+ org-notify-parse-file)))
+      (save-excursion
+	(with-current-buffer (find-file-noselect
+			      (nth org-notify-parse-file files))
+	  (org-element-map (org-element-parse-buffer 'headline)
+	      'headline 'org-notify-make-todo))))))
 
 (defun org-notify-maybe-too-late (diff period heading)
   "Print warning message, when notified significantly later than defined by
-- 
2.14.2


[-- Attachment #2: signature.asc --]
[-- Type: application/pgp-signature, Size: 832 bytes --]

^ permalink raw reply related	[flat|nested] 2+ messages in thread

end of thread, other threads:[~2018-04-10 18:11 UTC | newest]

Thread overview: 2+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2018-04-10  2:02 [patch] fix error when using org-notify with no agenda files Jay Kamat
2018-04-10 18:11 ` Nicolas Goaziou

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).