Subject: bug#39980: [PATCH] gnus-shorten-url: Improve and avoid args-out-of-range error

From: Lars Ingebrigtsen <[email-masked]>
Date: Sat, 14 Mar 2020 19:03:24 +0100

Štěpán Němec <[email-masked]> writes:

> subr-x is supposed to be loaded at compile time (see the file's
> Commentary), so, with the single exception of `replace-region-contents'
> (I wonder how that happened...), everything in there is either a macro
> or a defsubst.

The commentary is:

;; Less commonly used functions that complement basic APIs, often implemented in
;; C code (like hash-tables and strings), and are not eligible for inclusion
;; in subr.el.

;; Do not document these functions in the lispref.
;; https://lists.gnu.org/r/emacs-devel/2014-01/msg01006.html

;; NB If you want to use this library, it's almost always correct to use:
;; (eval-when-compile (require 'subr-x))

So it's just stuff that's not supposed to be in subr.el but is otherwise
subr-ey?  I don't know why it's become almost all substs and macros, but
it seems odd to decide to make things that look like a perfectly good
defun into a defsubst just because we're sticking it in subr-x.

-- 
(domestic pets only, the antidote for overdose, milk.)
   bloggy blog: http://lars.ingebrigtsen.no