From: firstname.lastname@example.org To: email@example.com Subject: Re: problem with org-highest-priority Date: Wed, 18 Nov 2020 23:17:05 +0100 [thread overview] Message-ID: <firstname.lastname@example.org> (raw) In-Reply-To: <email@example.com> Kyle Meyer <firstname.lastname@example.org> writes: > email@example.com 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. Thanks, I tested your patch, and it helps a little bit. - m-x org-priority works, I can set any priority from 0 to Z - org-priority-down and org-priority-down doesn't work as expected, as they worked previously. I dont step through all the priority cookies, instead I quickly wind up in prio 0, then I'm stuck there, for lack of better description. - sorting of priorities still work with or withouth the patch, that is prio 0 is highest prio, prio Z is lowest prio. I would like to mention that in my case the characters between letters and numbers are also priority cookies, @ is a cookie as well as 0 and z. Limiting to just letters and numbers would be fine for me though, I dont use the in-between prios much. Because the sorting still works, I have been able to work around this new behaviour, by writing the cookie by hand. I'm not sure how to proceed. It seems I'm the only org-user affected by this change? Should I maintain a local patch to get the behaviour I want? What is the recomended way to do that? I usually run org-plus-contrib from elpa. > > 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) > > -- Joakim Verona firstname.lastname@example.org
next prev parent reply other threads:[~2020-11-18 22:17 UTC|newest] Thread overview: 4+ messages / expand[flat|nested] mbox.gz Atom feed top 2020-10-05 21:58 joakim 2020-10-06 5:09 ` Kyle Meyer 2020-11-18 22:17 ` joakim [this message] 2020-11-19 2:19 ` Kyle Meyer
Reply instructions: You may reply publicly to this message via plain-text email using any one of the following methods: * Save the following mbox file, import it into your mail client, and reply-to-all from there: mbox Avoid top-posting and favor interleaved quoting: https://en.wikipedia.org/wiki/Posting_style#Interleaved_style List information: https://www.orgmode.org/ * Reply using the --to, --cc, and --in-reply-to switches of git-send-email(1): git send-email \ --email@example.com \ --firstname.lastname@example.org \ --email@example.com \ --subject='Re: problem with org-highest-priority' \ /path/to/YOUR_REPLY https://kernel.org/pub/software/scm/git/docs/git-send-email.html * If your mail client supports setting the In-Reply-To header via mailto: links, try the mailto: link
Code repositories for project(s) associated with this 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).