all messages for Emacs-related lists mirrored at yhetil.org
 help / color / mirror / code / Atom feed
* 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 external index

	https://git.savannah.gnu.org/cgit/emacs.git
	https://git.savannah.gnu.org/cgit/emacs/org-mode.git

This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.