Sorry, I realized the previous patch did not contain updates to the
org-priority-regexp. An updated patch is attached.
Sorry,
-I.S.
On 10/27/2010 8:01 AM, I.S. wrote:
On 10/24/2010 3:18 PM, David Maus wrote:
At Wed, 20 Oct 2010 13:14:39 -0400,
I.S. wrote:
Dear Experts,
I'd like to propose a replacement for the org-get-priority function
which is backward compatible with the current version but allows the
user to add a sub-priority such as [#A]-5 or [#B]+3:
Could you provide a patch against current master and send it to the
list as a text/plain attachment? This way the proposed modification
will end up in Org's patchtracker[1].
Best,
-- David
[1] http://patchwork.newartisans.com/project/org-mode/
--
OpenPGP... 0x99ADB83B5A4478E6
Jabber.... dmj...@jabber.org
Email..... dm...@ictsoc.de
I tried looing at patchwork but couldn't figure out what I was
supposed to do. Please advise on usage instructions.
Instead, I attached a manually generated patch against org.el in the
development version from git. I created this patch via
$ git clone git://repo.or.cz/org-mode.git
$ emacs org-mode/lisp/org.el # to modify the file and write it to
org.mine.el
$ diff -rup org.el org.mine.el > org-get-priority.patch
Please advise on proper procedure as I love org and would enjoy the
chance to contribute in the future.
Thanks,
-I.S.
--
Thanks,
-I.S.
e...@martinian.com's password:
--- org.el 2010-10-29 07:41:17.254401572 -0400
+++ org.mine.el 2010-10-29 07:41:49.162423931 -0400
@@ -6,7 +6,7 @@
;; Author: Carsten Dominik <carsten at orgmode dot org>
;; Keywords: outlines, hypermedia, calendar, wp
;; Homepage: http://orgmode.org
-;; Version: 7.02trans
+;; Version: 7.01trans
;;
;; This file is part of GNU Emacs.
;;
@@ -185,7 +185,7 @@ identifier."
;;; Version
-(defconst org-version "7.02trans"
+(defconst org-version "7.01trans"
"The version number of the file org.el.")
(defun org-version (&optional here)
@@ -12129,7 +12129,7 @@ from the `before-change-functions' in th
;;;; Priorities
-(defvar org-priority-regexp ".*?\\(\\[#\\([A-Z0-9]\\)\\] ?\\)"
+(defvar org-priority-regexp ".*?\\(\\[#\\([A-Z0-9]\\)\\]\\(-[0-9]+\\)? ?\\)"
"Regular expression matching the priority indicator.")
(defvar org-remove-priority-next-time nil)
@@ -12211,13 +12211,27 @@ ACTION can be `set', `up', `down', or a
(message "Priority of current item set to %s" news))))
(defun org-get-priority (s)
- "Find priority cookie and return priority."
- (save-match-data
- (if (not (string-match org-priority-regexp s))
- (* 1000 (- org-lowest-priority org-default-priority))
- (* 1000 (- org-lowest-priority
- (string-to-char (match-string 2 s)))))))
+ "Find priority cookie and return priority.
+Priorities of the form [#<letter>]-<number> or
+[#<letter>]+<number> are supported with +/-<number> being
+optional and modifying the letter priority. The letter priority
+is multiplied by 100000 and then the number priority is added
+on. Thus a priority string of [#B]+5 is higher than [#B] which is
+higher than [#B]-2 and all are lower than [#A].
+"
+ (save-match-data
+ (let* ((priority-match (string-match org-priority-regexp s))
+ (priority-value (if priority-match
+ (* 100000 (- org-lowest-priority
+ (string-to-char (match-string 2 s))))
+ (* 100000 (- org-lowest-priority
+org-default-priority))))
+ (sub-priority-match (match-string 3 s))
+ (sub-priority-value (if sub-priority-match
+ (string-to-number sub-priority-match) 0)))
+ (+ priority-value sub-priority-value))))
+
;;;; Tags
(defvar org-agenda-archives-mode)
_______________________________________________
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