From 257ce858e7526ec6174e6b28fa9cf7422b457705 Mon Sep 17 00:00:00 2001 From: Carsten Dominik Date: Tue, 31 May 2011 13:37:04 +0200 Subject: [PATCH] Improve documentation and error handling with priorities * lisp/org.el (org-default-priority): (org-priority-start-cycle-with-default): Improve docstring. (org-priority): Throw error when priority is out of range. Patch by Michael Brand. --- lisp/org.el | 20 ++++++++++++++++---- 1 file changed, 16 insertions(+), 4 deletions(-) diff --git a/lisp/org.el b/lisp/org.el index 0777e8987..deae30c9a 100644 --- a/lisp/org.el +++ b/lisp/org.el @@ -2488,14 +2488,20 @@ Must have a larger ASCII number than `org-highest-priority'." (defcustom org-default-priority ?B "The default priority of TODO items. -This is the priority an item get if no explicit priority is given." +This is the priority an item gets if no explicit priority is given. +When starting to cycle on an empty priority the first step in the cycle +depends on `org-priority-start-cycle-with-default'. The resulting first +step priority must not exceed the range from `org-highest-priority' to +`org-lowest-priority' which means that `org-default-priority' has to be +in this range exclusive or inclusive the range boundaries." :group 'org-priorities :type 'character) (defcustom org-priority-start-cycle-with-default t "Non-nil means start with default priority when starting to cycle. When this is nil, the first step in the cycle will be (depending on the -command used) one higher or lower that the default priority." +command used) one higher or lower than the default priority. +See also `org-default-priority'." :group 'org-priorities :type 'boolean) @@ -12306,12 +12312,18 @@ ACTION can be `set', `up', `down', or a character." (if (and (not have) (eq last-command this-command)) (setq new org-lowest-priority) (setq new (if (and org-priority-start-cycle-with-default (not have)) - org-default-priority (1- current))))) + org-default-priority (1- current))) + (when (< (upcase new) org-highest-priority) + (error + "See `org-default-priority' for range limit exceeded here")))) ((eq action 'down) (if (and (not have) (eq last-command this-command)) (setq new org-highest-priority) (setq new (if (and org-priority-start-cycle-with-default (not have)) - org-default-priority (1+ current))))) + org-default-priority (1+ current))) + (when (> (upcase new) org-lowest-priority) + (error + "See `org-default-priority' for range limit exceeded here")))) (t (error "Invalid action"))) (if (or (< (upcase new) org-highest-priority) (> (upcase new) org-lowest-priority)) -- 2.11.4.GIT