unofficial mirror of emacs-devel@gnu.org 
 help / color / mirror / code / Atom feed
* You can set this variable in your initialization file.
@ 2008-03-30  5:06 Stefan Monnier
  2008-03-30 12:03 ` Robert J. Chassell
                   ` (2 more replies)
  0 siblings, 3 replies; 13+ messages in thread
From: Stefan Monnier @ 2008-03-30  5:06 UTC (permalink / raw)
  To: emacs-devel

I think this "feature" is a misfeature.

Many variables cannot usefully be set in the .emacs file and yet C-h v
keeps telling me "You can set this variable in your initialization
file".

Either we fix it to do the right thing (i.e. only say it when it's
true), or we should remove it.


        Stefan




^ permalink raw reply	[flat|nested] 13+ messages in thread

* Re: You can set this variable in your initialization file.
  2008-03-30  5:06 You can set this variable in your initialization file Stefan Monnier
@ 2008-03-30 12:03 ` Robert J. Chassell
  2008-03-30 19:17   ` Juanma Barranquero
                     ` (2 more replies)
  2008-03-31 19:50 ` Glenn Morris
  2008-04-02 15:17 ` Chong Yidong
  2 siblings, 3 replies; 13+ messages in thread
From: Robert J. Chassell @ 2008-03-30 12:03 UTC (permalink / raw)
  To: emacs-devel

   Many variables cannot usefully be set in the .emacs file and yet C-h v
   keeps telling me "You can set this variable in your initialization
   file".

I don't know of any.  Are you saying that parts of Emacs are not
written in Emacs Lisp and such parts are important to users?
Certainly, parts are not.  A .emacs file is written in Emacs Lisp and
evaluated.

Many who know Emacs set their `custom-set-variables' and
`custom-set-faces' expressions in their .emacs files because `M-x
customize' is a user interface that is sometimes convenient and
sometimes not.  A novice must always be ignorant initially.  It would
be bad for such a person not to be reminded about a customization file
such as .emacs.  They might do everything, even inconvenient
customizations, in a customize buffer, unless you are planning to
remove the existing phriase `You can customize this variable' or
change the link from the word `customize'.

-- 
    Robert J. Chassell                          GnuPG Key ID: 004B4AC8
    bob@rattlesnake.com                         bob@gnu.org
    http://www.rattlesnake.com                  http://www.teak.cc




^ permalink raw reply	[flat|nested] 13+ messages in thread

* Re: You can set this variable in your initialization file.
  2008-03-30 12:03 ` Robert J. Chassell
@ 2008-03-30 19:17   ` Juanma Barranquero
  2008-03-31  1:23     ` Robert J. Chassell
  2008-03-30 22:27   ` Stefan Monnier
  2008-03-30 22:48   ` Juri Linkov
  2 siblings, 1 reply; 13+ messages in thread
From: Juanma Barranquero @ 2008-03-30 19:17 UTC (permalink / raw)
  To: bob; +Cc: emacs-devel

On Sun, Mar 30, 2008 at 2:03 PM, Robert J. Chassell <bob@rattlesnake.com> wrote:

>    Many variables cannot usefully be set in the .emacs file and yet C-h v
>    keeps telling me "You can set this variable in your initialization
>    file".
>
>  I don't know of any.

"noninteractive is a variable defined in `C source code'.
Its value is nil

Documentation:
Non-nil means Emacs is running without interactive terminal.

You can set this variable in your initialization file."

 Juanma




^ permalink raw reply	[flat|nested] 13+ messages in thread

* Re: You can set this variable in your initialization file.
  2008-03-30 12:03 ` Robert J. Chassell
  2008-03-30 19:17   ` Juanma Barranquero
@ 2008-03-30 22:27   ` Stefan Monnier
  2008-03-30 22:48   ` Juri Linkov
  2 siblings, 0 replies; 13+ messages in thread
From: Stefan Monnier @ 2008-03-30 22:27 UTC (permalink / raw)
  To: bob; +Cc: emacs-devel

>    Many variables cannot usefully be set in the .emacs file and yet C-h v
>    keeps telling me "You can set this variable in your initialization
>    file".

> I don't know of any.

Try minibuffer-completion-predicate (among many others).


        Stefan




^ permalink raw reply	[flat|nested] 13+ messages in thread

* Re: You can set this variable in your initialization file.
  2008-03-30 12:03 ` Robert J. Chassell
  2008-03-30 19:17   ` Juanma Barranquero
  2008-03-30 22:27   ` Stefan Monnier
@ 2008-03-30 22:48   ` Juri Linkov
  2008-03-30 23:30     ` Juanma Barranquero
  2 siblings, 1 reply; 13+ messages in thread
From: Juri Linkov @ 2008-03-30 22:48 UTC (permalink / raw)
  To: bob; +Cc: emacs-devel

>    Many variables cannot usefully be set in the .emacs file and yet C-h v
>    keeps telling me "You can set this variable in your initialization
>    file".
>
> I don't know of any.  Are you saying that parts of Emacs are not
> written in Emacs Lisp and such parts are important to users?
> Certainly, parts are not.  A .emacs file is written in Emacs Lisp and
> evaluated.

Maybe we should put these links only on variables
where the first character of the documentation string
is `*'?

Also I expected that at least part of this text
(e.g. "set this variable") would lead to visiting
the initialization file using `(find-file user-init-file)'.

-- 
Juri Linkov
http://www.jurta.org/emacs/




^ permalink raw reply	[flat|nested] 13+ messages in thread

* Re: You can set this variable in your initialization file.
  2008-03-30 22:48   ` Juri Linkov
@ 2008-03-30 23:30     ` Juanma Barranquero
  2008-03-30 23:59       ` Juri Linkov
  0 siblings, 1 reply; 13+ messages in thread
From: Juanma Barranquero @ 2008-03-30 23:30 UTC (permalink / raw)
  To: Juri Linkov; +Cc: bob, emacs-devel

On Mon, Mar 31, 2008 at 12:48 AM, Juri Linkov <juri@jurta.org> wrote:

>  Maybe we should put these links only on variables
>  where the first character of the documentation string
>  is `*'?

That * was supposed to mark variables that the user would want to
interactively modify, with M-x set-variable or through customize,
wasn't it? The set of variables the user could possibly want to set
through .emacs is a superset of that.

 Juanma




^ permalink raw reply	[flat|nested] 13+ messages in thread

* Re: You can set this variable in your initialization file.
  2008-03-30 23:30     ` Juanma Barranquero
@ 2008-03-30 23:59       ` Juri Linkov
  2008-03-31  0:17         ` Juanma Barranquero
  0 siblings, 1 reply; 13+ messages in thread
From: Juri Linkov @ 2008-03-30 23:59 UTC (permalink / raw)
  To: Juanma Barranquero; +Cc: bob, emacs-devel

>>  Maybe we should put these links only on variables
>>  where the first character of the documentation string
>>  is `*'?
>
> That * was supposed to mark variables that the user would want to
> interactively modify, with M-x set-variable or through customize,
> wasn't it? The set of variables the user could possibly want to set
> through .emacs is a superset of that.

Yes, * forms a subset of variables that the user can set in .emacs,
but it guarantees that this subset doesn't contain a variable
not intended for modification by the user.

-- 
Juri Linkov
http://www.jurta.org/emacs/




^ permalink raw reply	[flat|nested] 13+ messages in thread

* Re: You can set this variable in your initialization file.
  2008-03-30 23:59       ` Juri Linkov
@ 2008-03-31  0:17         ` Juanma Barranquero
  0 siblings, 0 replies; 13+ messages in thread
From: Juanma Barranquero @ 2008-03-31  0:17 UTC (permalink / raw)
  To: Juri Linkov; +Cc: bob, emacs-devel

On Mon, Mar 31, 2008 at 1:59 AM, Juri Linkov <juri@jurta.org> wrote:

>  Yes, * forms a subset of variables that the user can set in .emacs,
>  but it guarantees that this subset doesn't contain a variable
>  not intended for modification by the user.

I think having describe-variable say "You can set this variable in
your initialization file" only for a subset of such variables is
sending the wrong message to the user. It would be better not to say
anything for such variables, and add "You must not set this variable
in your initialization file" (or a better, equivalent message) for the
variables where doing so is wrong.

 Juanma




^ permalink raw reply	[flat|nested] 13+ messages in thread

* Re: You can set this variable in your initialization file.
  2008-03-30 19:17   ` Juanma Barranquero
@ 2008-03-31  1:23     ` Robert J. Chassell
  2008-03-31  2:06       ` Stefan Monnier
  2008-03-31  8:15       ` Juanma Barranquero
  0 siblings, 2 replies; 13+ messages in thread
From: Robert J. Chassell @ 2008-03-31  1:23 UTC (permalink / raw)
  To: emacs-devel

    >    Many variables cannot usefully be set in the .emacs file and yet C-h v
    >    keeps telling me "You can set this variable in your initialization
    >    file".
    >
    >  I don't know of any.

For example, in my .emacs file I can set `noninteractive'

    noninteractive is a variable defined in `C source code'.
    Its value is t

although I set it back since I am running in an interactive terminal.

I can also set `minibuffer-completion-predicate'

    minibuffer-completion-predicate is a variable defined in `C source code'.
    Its value is t

(Setting seems crazy to me -- but I can set.  Perhaps `usefully'
is the appropriate word.  What other variables should not be
customized, although they can be?)

    Maybe we should put these links only on variables
    where the first character of the documentation string
    is `*'?

I don't know; I think not:  the documentation says the `*' may
disappear and I don't know how often it is still used.  Indeed,
(info "(emacs)Examining")     calls `*' an "obsolete indicator".

    Also I expected that at least part of this text
    (e.g. "set this variable") would lead to visiting
    the initialization file using `(find-file user-init-file)'.

Most often an init file is your .emacs file, so it seemed better to
direct novices to its documention, "The Init File, `~/.emacs'" in
(info "(emacs)Init File")

However, you are right to see the advantage of
    (when user-init-file (find-file user-init-file))
for `set' in the phrase `You can set this variable in your
initialization file.'  (That way, we still direct novices to
documention by focusing them on `initialization file'.)  I would find
the file when there is a user-init-file but display a plain `set' when
there is not one.  How would you do that with minimal change to
lisp/help-fns.el?

--
    Robert J. Chassell                          GnuPG Key ID: 004B4AC8
    bob@rattlesnake.com                         bob@gnu.org
    http://www.rattlesnake.com                  http://www.teak.cc





^ permalink raw reply	[flat|nested] 13+ messages in thread

* Re: You can set this variable in your initialization file.
  2008-03-31  1:23     ` Robert J. Chassell
@ 2008-03-31  2:06       ` Stefan Monnier
  2008-03-31  8:15       ` Juanma Barranquero
  1 sibling, 0 replies; 13+ messages in thread
From: Stefan Monnier @ 2008-03-31  2:06 UTC (permalink / raw)
  To: bob; +Cc: emacs-devel

>> Many variables cannot usefully be set in the .emacs file and yet C-h v
>> keeps telling me "You can set this variable in your initialization
>> file".
>> 
>> I don't know of any.

> For example, in my .emacs file I can set `noninteractive'

>     noninteractive is a variable defined in `C source code'.
>     Its value is t

> although I set it back since I am running in an interactive terminal.

> I can also set `minibuffer-completion-predicate'

>     minibuffer-completion-predicate is a variable defined in `C source code'.
>     Its value is t

> (Setting seems crazy to me -- but I can set.  Perhaps `usefully'
> is the appropriate word.  What other variables should not be
> customized, although they can be?)

This link is displayed all the time, so for non-newbies its
informational content is nil.  For newbie, telling them that they can
set minibuffer-completion-predicate in their .emacs is just a clever way
to confuse them.  I'd rather we only add it to variables that are
`custom'izable.  Later on, they'll learn about the rest.


        Stefan




^ permalink raw reply	[flat|nested] 13+ messages in thread

* Re: You can set this variable in your initialization file.
  2008-03-31  1:23     ` Robert J. Chassell
  2008-03-31  2:06       ` Stefan Monnier
@ 2008-03-31  8:15       ` Juanma Barranquero
  1 sibling, 0 replies; 13+ messages in thread
From: Juanma Barranquero @ 2008-03-31  8:15 UTC (permalink / raw)
  To: bob; +Cc: emacs-devel

On Mon, Mar 31, 2008 at 3:23 AM, Robert J. Chassell <bob@rattlesnake.com> wrote:

>  (Setting seems crazy to me -- but I can set.  Perhaps `usefully'
>  is the appropriate word.

Yes.

 Juanma




^ permalink raw reply	[flat|nested] 13+ messages in thread

* Re: You can set this variable in your initialization file.
  2008-03-30  5:06 You can set this variable in your initialization file Stefan Monnier
  2008-03-30 12:03 ` Robert J. Chassell
@ 2008-03-31 19:50 ` Glenn Morris
  2008-04-02 15:17 ` Chong Yidong
  2 siblings, 0 replies; 13+ messages in thread
From: Glenn Morris @ 2008-03-31 19:50 UTC (permalink / raw)
  To: Stefan Monnier; +Cc: emacs-devel

Stefan Monnier wrote:

> I think this "feature" is a misfeature.
>
> Many variables cannot usefully be set in the .emacs file and yet C-h v
> keeps telling me "You can set this variable in your initialization
> file".
>
> Either we fix it to do the right thing (i.e. only say it when it's
> true), or we should remove it.

+1
It seems totally useless at present (what was it supposed to do?).

  (setq foo 1)
  C-h v foo
  You can set this variable in your initialization file.

Wow, lucky me...

I would just get rid of it and leave the "You can customize this
variable" message. Shouldn't anything that anyone can usefully set be
a defcustom?




^ permalink raw reply	[flat|nested] 13+ messages in thread

* Re: You can set this variable in your initialization file.
  2008-03-30  5:06 You can set this variable in your initialization file Stefan Monnier
  2008-03-30 12:03 ` Robert J. Chassell
  2008-03-31 19:50 ` Glenn Morris
@ 2008-04-02 15:17 ` Chong Yidong
  2 siblings, 0 replies; 13+ messages in thread
From: Chong Yidong @ 2008-04-02 15:17 UTC (permalink / raw)
  To: Stefan Monnier; +Cc: emacs-devel

Stefan Monnier <monnier@iro.umontreal.ca> writes:

> I think this "feature" is a misfeature.
>
> Many variables cannot usefully be set in the .emacs file and yet C-h v
> keeps telling me "You can set this variable in your initialization
> file".
>
> Either we fix it to do the right thing (i.e. only say it when it's
> true), or we should remove it.

Yeah.

Any variable that can be set in .emacs should be made a defcustom, if it
is not already one.

I'll remove this feature over the next few days.




^ permalink raw reply	[flat|nested] 13+ messages in thread

end of thread, other threads:[~2008-04-02 15:17 UTC | newest]

Thread overview: 13+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2008-03-30  5:06 You can set this variable in your initialization file Stefan Monnier
2008-03-30 12:03 ` Robert J. Chassell
2008-03-30 19:17   ` Juanma Barranquero
2008-03-31  1:23     ` Robert J. Chassell
2008-03-31  2:06       ` Stefan Monnier
2008-03-31  8:15       ` Juanma Barranquero
2008-03-30 22:27   ` Stefan Monnier
2008-03-30 22:48   ` Juri Linkov
2008-03-30 23:30     ` Juanma Barranquero
2008-03-30 23:59       ` Juri Linkov
2008-03-31  0:17         ` Juanma Barranquero
2008-03-31 19:50 ` Glenn Morris
2008-04-02 15:17 ` Chong Yidong

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).