Subject: bug#79138: 31.0.50; (report-emacs-bug-check-org) throws an error when reporting unrelated bug

From: Eli Zaretskii <[email-masked]>
Date: Fri, 01 Aug 2025 09:46:09 +0300

merge 79138 79080
thanks

> From: Dima Kogan <[email-masked]>
> Date: Thu, 31 Jul 2025 14:32:56 -0700
> 
> Hi. I'm using the bleeding-edge emacs from git: 99080d0c049. On Debian.
> GTK.
> 
> I just tried to M-x reportbug for something, and it repeatedly failed
> because (report-emacs-bug-check-org) throws an "Args out of range"
> error. The function in question:
> 
>   (defun report-emacs-bug-check-org ()
>     "Warn the user if the bug report mentions org-mode."
>     (unless report-emacs-bug-no-confirmation
>       (goto-char (point-max))
>       (skip-chars-backward " \t\n")
>       (let* ((text (buffer-substring-no-properties (point-min) (point)))
>              (l (length report-emacs-bug-orig-text))
>              (text (substring text 0 l))
>              (org-regex "\\b[Oo]rg\\(-mode\\)?\\b"))
>         (when (string-match-p org-regex text)
>           (when (yes-or-no-p "Is this bug about org-mode?")
>             (error (substitute-command-keys "\
>   Not sending, use \\[org-submit-bug-report] to report an Org-mode bug.")))))))
> 
> So it gets the current buffer text into 'text
> 
>   (goto-char (point-max))
>   (text (buffer-substring-no-properties (point-min) (point)))
> 
> And then it cuts this variable to the size of the text in
> 'report-emacs-bug-orig-text.
> 
>   (l (length report-emacs-bug-orig-text))
>   (text (substring text 0 l))
> 
> In this case report-emacs-bug-orig-text is much bigger than text, so the
> (substring) fails. So currently (report-emacs-bug-check-org) is not
> self-contained: it's making assumptions on the value of some external
> variable ('report-emacs-bug-orig-text) when called, and if those
> assumptions fail (as they do here), it dies.

This is bug#79080, so I'm now merging them.  If you can try the patch
proposed there, it would help.  (It would also help if other people
with write access would examine and install patches instead of always
waiting for me to do it, which sometime makes the reaction times too
slow, but that's a rant.)