Subject: bug#36664: 27.0.50; definition of string-trim causes warning

From: Andreas Röhler <[email-masked]>
Date: Mon, 15 Jul 2019 16:33:05 +0200

On 15.07.19 16:24, Andreas Röhler wrote:
>
> On 15.07.19 14:24, Lars Ingebrigtsen wrote:
>> Andreas Röhler <[email-masked]> writes:
>>
>>> concerns subr-x.el
>>>
>>> When byte-compiling a file with def of trim-string inside, get a
>>> warning: Lexical argument shadows the dynamic variable
>>>      string
>> I'm not sure I follow.  Do you mean if you have a function that calls
>> string-trim (not define trim-string?) in a file, and you compile that
>> file, you get that warning?
>>
>> If that's what you mean, I'm unable to reproduce the error.
>>
>
> Have that in python-mode.el --as older Emacsen might miss the function--:
>
> ;; subr-x.el might not exist yet
> (unless (functionp 'string-trim)
>   (defsubst string-trim (string &optional trim-left trim-right)
>     "Trim STRING of leading and trailing strings matching TRIM-LEFT 
> and TRIM-RIGHT.
>
> TRIM-LEFT and TRIM-RIGHT default to \"[ \\t\\n\\r]+\"."
>     (string-trim-left (string-trim-right string trim-right) trim-left))
>
> [...]
>
>

Hmm, also can't reproduce with emacs -Q, only from my config - see 
attachment.

Beside of this IMO the warning is reasonable - commonly used symbols 
should not appear as plain argument names.