* bug#10475: 24.0.92; `C-h v' displays `*' indicating user option
@ 2012-01-10 22:08 Drew Adams
2016-04-28 12:01 ` Lars Ingebrigtsen
0 siblings, 1 reply; 4+ messages in thread
From: Drew Adams @ 2012-01-10 22:08 UTC (permalink / raw)
To: 10475
(defcustom foo nil
"*A foobar function or nil."
:type '(choice (const :tag "None" nil) function)
:group 'convenience)
Then `C-h v foo'. The `*' indicating that this is a user variable
(e.g. usable by `set-variable') is printed as if it were part of the
doc. It should be removed.
The fix is trivial:
(when (eq ?* (elt doc 0)) (setq doc (substring doc 1)))
Yes, Emacs no longer requires a `*' as a doc-string prefix with
`defcustom'. But `describe-variable' should still DTRT with doc strings
from code that is designed to work also with older Emacs versions.
In addition, `user-variable-p' is the test used for functions such as
`set-variable', and it`user-variable-p' recognizes the `*' as defining a
user variable. This is correct behavior. The only problem is that
`describe-variable' should not treat this `*' as if it were part of the
doc text.
In GNU Emacs 24.0.92.1 (i386-mingw-nt5.1.2600) of 2012-01-05 on MARVIN
Windowing system distributor `Microsoft Corp.', version 5.1.2600
configured using `configure --with-gcc (4.6) --no-opt --cflags
-ID:/devel/emacs/libs/libXpm-3.5.8/include
-ID:/devel/emacs/libs/libXpm-3.5.8/src
-ID:/devel/emacs/libs/libpng-dev_1.4.3-1/include
-ID:/devel/emacs/libs/zlib-dev_1.2.5-2/include
-ID:/devel/emacs/libs/giflib-4.1.4-1/include
-ID:/devel/emacs/libs/jpeg-6b-4/include
-ID:/devel/emacs/libs/tiff-3.8.2-1/include
-ID:/devel/emacs/libs/gnutls-3.0.9/include --ldflags
-LD:/devel/emacs/libs/gnutls-3.0.9/lib'
^ permalink raw reply [flat|nested] 4+ messages in thread
* bug#10475: 24.0.92; `C-h v' displays `*' indicating user option
2012-01-10 22:08 bug#10475: 24.0.92; `C-h v' displays `*' indicating user option Drew Adams
@ 2016-04-28 12:01 ` Lars Ingebrigtsen
2016-04-28 14:16 ` Drew Adams
0 siblings, 1 reply; 4+ messages in thread
From: Lars Ingebrigtsen @ 2016-04-28 12:01 UTC (permalink / raw)
To: Drew Adams; +Cc: 10475
"Drew Adams" <drew.adams@oracle.com> writes:
> (defcustom foo nil
> "*A foobar function or nil."
> :type '(choice (const :tag "None" nil) function)
> :group 'convenience)
>
> Then `C-h v foo'. The `*' indicating that this is a user variable
> (e.g. usable by `set-variable') is printed as if it were part of the
> doc. It should be removed.
I don't think so. Instead we should remove all the superfluous "*"s in
the source code. I'll submit a bug report.
> In addition, `user-variable-p' is the test used for functions such as
> `set-variable', and it`user-variable-p' recognizes the `*' as defining a
> user variable. This is correct behavior. The only problem is that
> `describe-variable' should not treat this `*' as if it were part of the
> doc text.
It no longer does that. It's now an alias for custom-variable-p.
--
(domestic pets only, the antidote for overdose, milk.)
bloggy blog: http://lars.ingebrigtsen.no
^ permalink raw reply [flat|nested] 4+ messages in thread
* bug#10475: 24.0.92; `C-h v' displays `*' indicating user option
2016-04-28 12:01 ` Lars Ingebrigtsen
@ 2016-04-28 14:16 ` Drew Adams
2016-04-28 16:50 ` Drew Adams
0 siblings, 1 reply; 4+ messages in thread
From: Drew Adams @ 2016-04-28 14:16 UTC (permalink / raw)
To: Lars Ingebrigtsen; +Cc: 10475
> > (defcustom foo nil
> > "*A foobar function or nil."
> > :type '(choice (const :tag "None" nil) function)
> > :group 'convenience)
> >
> > Then `C-h v foo'. The `*' indicating that this is a user variable
> > (e.g. usable by `set-variable') is printed as if it were part of the
> > doc. It should be removed.
>
> I don't think so. Instead we should remove all the superfluous "*"s in
> the source code. I'll submit a bug report.
>
> > In addition, `user-variable-p' is the test used for functions such as
> > `set-variable', and it`user-variable-p' recognizes the `*' as defining a
> > user variable. This is correct behavior. The only problem is that
> > `describe-variable' should not treat this `*' as if it were part of the
> > doc text.
>
> It no longer does that. It's now an alias for custom-variable-p.
You're missing the point. "It no longer does that..."
Existing code written (and usable) in earlier releases,
where `*' here DOES have that meaning and effect, should
not be handled by recent Emacs differently wrt `C-h v'.
`C-h v' should behave the same across releases in this regard.
^ permalink raw reply [flat|nested] 4+ messages in thread
* bug#10475: 24.0.92; `C-h v' displays `*' indicating user option
2016-04-28 14:16 ` Drew Adams
@ 2016-04-28 16:50 ` Drew Adams
0 siblings, 0 replies; 4+ messages in thread
From: Drew Adams @ 2016-04-28 16:50 UTC (permalink / raw)
To: Lars Ingebrigtsen; +Cc: 10475
If it wasn't clear, consider a library that is perfectly
usable in Emacs 25 but also in older Emacs versions that
require the `*'. That library _should_ continue to use
the `*'. Emacs 25 and later should tolerate it: remove
it from the output, knowing that older code will have it.
It is narrow-minded to think that just because the latest
distributed Emacs code no longer needs something no other
Emacs code needs it.
^ permalink raw reply [flat|nested] 4+ messages in thread
end of thread, other threads:[~2016-04-28 16:50 UTC | newest]
Thread overview: 4+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2012-01-10 22:08 bug#10475: 24.0.92; `C-h v' displays `*' indicating user option Drew Adams
2016-04-28 12:01 ` Lars Ingebrigtsen
2016-04-28 14:16 ` Drew Adams
2016-04-28 16:50 ` Drew Adams
Code repositories for project(s) associated with this public inbox
https://git.savannah.gnu.org/cgit/emacs.git
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for read-only IMAP folder(s) and NNTP newsgroup(s).