Org-mode mailing list
 help / color / mirror / Atom feed
* problem with org-highest-priority
@ 2020-10-05 21:58 joakim
  2020-10-06  5:09 ` Kyle Meyer
  0 siblings, 1 reply; 2+ messages in thread
From: joakim @ 2020-10-05 21:58 UTC (permalink / raw)
  To: emacs-orgmode

This used to work:
  (defun jv-org-priorities ()
    (setq org-highest-priority ?0 ;; 64 @ 48 0, bugs start happening if you have higher prios tnan 0, like '!'
          org-lowest-priority  ?E ;; E
          org-default-priority ?0 ;; 0
          org-priority-regexp ".*?\\(\\[#\\([;:<=>?@A-Z0-9]\\)\\] ?\\)"
     ))

I could then have priority cookies from [#0] to [#E].

With the current org I get [#48] instead of [#0].

Is there any way to restore the previous behaviour?

-- 
Joakim Verona
joakim@verona.se



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

* Re: problem with org-highest-priority
  2020-10-05 21:58 problem with org-highest-priority joakim
@ 2020-10-06  5:09 ` Kyle Meyer
  0 siblings, 0 replies; 2+ messages in thread
From: Kyle Meyer @ 2020-10-06  5:09 UTC (permalink / raw)
  To: joakim; +Cc: emacs-orgmode

joakim@verona.se writes:

> This used to work:
>   (defun jv-org-priorities ()
>     (setq org-highest-priority ?0 ;; 64 @ 48 0, bugs start happening if you have higher prios tnan 0, like '!'
>           org-lowest-priority  ?E ;; E
>           org-default-priority ?0 ;; 0
>           org-priority-regexp ".*?\\(\\[#\\([;:<=>?@A-Z0-9]\\)\\] ?\\)"
>      ))
>
> I could then have priority cookies from [#0] to [#E].
>
> With the current org I get [#48] instead of [#0].
>
> Is there any way to restore the previous behaviour?

The change in behavior you describe came with 4f98694bf (Allow numeric
values for priorities, 2020-01-30).  Based on quickly skimming that
commit, I think the issue boils down to intentionally not supporting a
mix of numbers and letters.  I'm out of time tonight to look at it too
closely, but I think support for your use case could be restored with
something like the lightly tested patch below.

diff --git a/lisp/org.el b/lisp/org.el
index 425e9391b..8237f39f6 100644
--- a/lisp/org.el
+++ b/lisp/org.el
@@ -11166,8 +11166,7 @@ (defun org-priority (&optional action show)
     (unless org-priority-enable-commands
       (user-error "Priority commands are disabled"))
     (setq action (or action 'set))
-    (let ((nump (< org-priority-lowest 65))
-	  current new news have remove)
+    (let (current new news have remove)
       (save-excursion
 	(org-back-to-heading t)
 	(when (looking-at org-priority-regexp)
@@ -11181,27 +11180,18 @@ (defun org-priority (&optional action show)
 	      (integerp action))
 	  (if (not (eq action 'set))
 	      (setq new action)
-	    (setq
-	     new
-	     (if nump
-		 (string-to-number
-		  (read-string (format "Priority %s-%s, SPC to remove: "
-				       (number-to-string org-priority-highest)
-				       (number-to-string org-priority-lowest))))
-	       (progn (message "Priority %c-%c, SPC to remove: "
-				 org-priority-highest org-priority-lowest)
-			(save-match-data
-			  (setq new (read-char-exclusive)))))))
+	    (setq new
+		  (progn (message "Priority %c-%c, SPC to remove: "
+				  org-priority-highest org-priority-lowest)
+			 (save-match-data
+			   (setq new (read-char-exclusive))))))
 	  (when (and (= (upcase org-priority-highest) org-priority-highest)
 		     (= (upcase org-priority-lowest) org-priority-lowest))
 	    (setq new (upcase new)))
 	  (cond ((equal new ?\s) (setq remove t))
 		((or (< (upcase new) org-priority-highest) (> (upcase new) org-priority-lowest))
-		 (user-error
-		  (if nump
-		      "Priority must be between `%s' and `%s'"
-		    "Priority must be between `%c' and `%c'")
-		  org-priority-highest org-priority-lowest))))
+		 (user-error "Priority must be between `%c' and `%c'"
+			     org-priority-highest org-priority-lowest))))
 	 ((eq action 'up)
 	  (setq new (if have
 			(1- current)  ; normal cycling
@@ -11235,7 +11225,7 @@ (defun org-priority (&optional action show)
 	    (setq remove t)))
 	;; Numerical priorities are limited to 64, beyond that number,
 	;; assume the priority cookie is a character.
-	(setq news (if (> new 64) (format "%c" new) (format "%s" new)))
+	(setq news (format "%c" new))
 	(if have
 	    (if remove
 		(replace-match "" t t nil 1)


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

end of thread, other threads:[~2020-10-06  5:10 UTC | newest]

Thread overview: 2+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2020-10-05 21:58 problem with org-highest-priority joakim
2020-10-06  5:09 ` Kyle Meyer

Org-mode mailing list

This inbox may be cloned and mirrored by anyone:

	git clone --mirror https://orgmode.org/list/0 list/git/0.git

	# If you have public-inbox 1.1+ installed, you may
	# initialize and index your mirror using the following commands:
	public-inbox-init -V2 list list/ https://orgmode.org/list \
		emacs-orgmode@gnu.org
	public-inbox-index list

Example config snippet for mirrors.
Newsgroups are available over NNTP:
	nntp://news.yhetil.org/yhetil.emacs.orgmode
	nntp://news.gmane.io/gmane.emacs.orgmode


AGPL code for this site: git clone https://public-inbox.org/public-inbox.git