[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Unhelpful text in C-h v search-default-mode
From: |
Alan Mackenzie |
Subject: |
Unhelpful text in C-h v search-default-mode |
Date: |
Tue, 24 Oct 2023 09:45:59 +0000 |
Hello, Emacs.
In a recent master branch Emacs, (not with -Q), from an info buffer, I
did C-h v search-default-mode. The text printed in *Help* included this:
Its value is
#<subr F616e6f6e796d6f75732d6c616d626461_anonymous_lambda_109>
Original value was nil
Local in buffer *info*<3>; global value is nil
.. This is quite frankly entirely unhelpful; it gives no way to find out
what the lambda is, in particular, no way to get to its source code. It
isn't even possible to disassemble the function.
After a good deal of searching, I think I found the pertinent source
code, but am not sure, namely in isearch.el L4685, right near the end:
(setq-local isearch-fold-quotes-mode--state
(buffer-local-set-state
search-default-mode
(lambda (string &optional _lax)
(thread-last
(regexp-quote string)
(replace-regexp-in-string "`" "[`‘]")
(replace-regexp-in-string "'" "['’]")
(replace-regexp-in-string "\"" "[\"""]")))))
.. Here, this customisable variable search-default-mode gets set to a
lambda function. The problem could have been avoided if the extra effort
to come up with a symbol for this function had been expended, and the
function written separately as a defun with a name.
I am asking people to be careful not to use lambda forms like this,
instead always prefering defun and a name.
--
Alan Mackenzie (Nuremberg, Germany).
- Unhelpful text in C-h v search-default-mode,
Alan Mackenzie <=