From d1aacceae939318f419e0c265358e041c53f1eea Mon Sep 17 00:00:00 2001
From: Lars Ingebrigtsen <larsi@gnus.org>
Date: Thu, 30 Sep 2021 09:03:18 +0200
Subject: [PATCH] Make `newline' check the argument earlier

* lisp/simple.el (newline): Signal an error earlier to avoid
peculiar behaviour after getting a backtrace (bug#50900).
---
 lisp/simple.el | 2 ++
 1 file changed, 2 insertions(+)

diff --git a/lisp/simple.el b/lisp/simple.el
index 7eba33116de..11a6a4f1fd3 100644
--- a/lisp/simple.el
+++ b/lisp/simple.el
@@ -589,6 +589,8 @@ text-property `hard'.
 A non-nil INTERACTIVE argument means to run the `post-self-insert-hook'."
   (interactive "*P\np")
   (barf-if-buffer-read-only)
+  (when (< arg 0)
+    (error "Repetition argument has to be non-negative"))
   ;; Call self-insert so that auto-fill, abbrev expansion etc. happen.
   ;; Set last-command-event to tell self-insert what to insert.
   (let* ((was-page-start (and (bolp) (looking-at page-delimiter)))
-- 
2.39.5