Hi Hector,

you fix does not work, because it changes the match data, which is still needed further down.  Could you please try the attached patch and report back?

Thank you

Carsten



On Sun, Aug 11, 2019 at 4:50 PM Héctor Enríquez Ramón <hector.e.r@gmail.com> wrote:
--text follows this line--

Hi.


* Issue:

1. Use max length format %<number>.<max>, example

(setq org-agenda-prefix-format
      '((agenda . " %i %-4.4 c%?-12t% s")  ;; (agenda . " %i %-12:c%?-12t% s")
        (timeline . "  % s")
        (todo . " %i %-4.4 c%?-12t% s")    ;; (todo . " %i %-12:c")
        (tags . " %i %-4.4 c")             ;; (tags . " %i %-12:c")
        (search . " %i %-4.4 c"))          ;; (search . " %i %-12:c"))


2. Open an org file.

3. Typing C-c a a (for example) raise:

   org-compile-prefix-format: Args out of range: "-4.4", 4, 11


* How to fix it:

org-agenda.el: (see comments ;; + line added, ;; - line removed)

          (when (eq var 'category)
            (setq org-prefix-category-length
                  (floor (abs (string-to-number (match-string 2 s)))))
            (setq org-prefix-category-max-length
                  (let ((x (match-string 2 s)))
                    (save-match-data                                              ;; +
                      (when (string-match "\\.[0-9]+" x)
                        (string-to-number (substring (match-string 0 x) 1)))))))  ;; +
;;                     (when (string-match-p "\\.[0-9]+" x)                       ;; -
;;                       (string-to-number (substring (match-string 0 x) 1))))))  ;; -
          (if (eq var 'eval)
              (setq varform `(format ,f (org-eval ,(read (match-string 4 s)))))



Best regards. Hector

Emacs  : GNU Emacs 26.2 (build 1, x86_64-pc-linux-gnu, X toolkit, Xaw scroll bars)
 of 2019-04-13
Package: Org mode version 9.2.5 (9.2.5-1-gff6508-elpaplus @ /home/edo/.emacs.d/elpa/org-plus-contrib-20190805/)