unofficial mirror of bug-gnu-emacs@gnu.org 
 help / color / mirror / code / Atom feed
From: Dmitry Gutov <dgutov@yandex.ru>
To: Stefan Monnier <monnier@IRO.UMontreal.CA>
Cc: 20322@debbugs.gnu.org
Subject: bug#20322: 25.0.50; indent-tabs-mode should default to nil
Date: Fri, 17 Apr 2015 16:14:45 +0300	[thread overview]
Message-ID: <55310745.3010601@yandex.ru> (raw)
In-Reply-To: <jwvvbgvxsm3.fsf-monnier+emacsbugs@gnu.org>

On 04/17/2015 07:58 AM, Stefan Monnier wrote:

> Yup.  Adding more mode-specific variables to circumvent the problem is
> not a good idea.  If add-hook+lambda is considered too cumbersome, we
> can wrap it in some function/macro to make it look prettier.

Even if a user is fine with writing a lambda or using some new macro, 
they'd still have to fist discover that a specific mode overrides a 
given variable during its initialization.

AFAIK, a lot of fairly experienced users don't routinely use 
`find-function'.

> I personally find that Custom should grow a way to set the value of
> those variables "per mode" or maybe even "per directory".

"per directory" sounds like an appropriate addition to the project 
management functionality, which we'll grow any day now.

"per mode" sounds easier, and maybe we can start with defining a 
programmatic API for that. How about a global variable, using the same 
format as .dir-locals.el contents?

And then have an element at the end of `after-change-major-mode-hook' 
that would apply these values (or simply hardcode that logic in 
`run-mode-hooks').

One aspect I'm not clear on is how the modes would add elements to it. 
There'll probably be a button like "erase customization for this mode" 
in the Customize interface, but how would it know, and how would it 
convey to the user, that the variable would revert to the mode-specific 
value, not the global one?





  reply	other threads:[~2015-04-17 13:14 UTC|newest]

Thread overview: 87+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2015-04-14  2:37 bug#20322: 25.0.50; indent-tabs-mode should default to nil Dmitry Gutov
2015-04-14  3:07 ` Stefan Monnier
2015-04-14 14:14   ` Dmitry Gutov
2015-04-14 15:25     ` Eli Zaretskii
2015-04-14 15:39       ` Dmitry Gutov
2015-04-14 15:59         ` Eli Zaretskii
2015-04-14 20:24           ` Dmitry Gutov
2015-04-14 21:43             ` Stefan Monnier
2015-04-14 22:17               ` Dmitry Gutov
2015-04-15  1:19                 ` Stefan Monnier
2015-04-15  2:08                   ` Dmitry Gutov
2015-04-15  4:19                     ` Stefan Monnier
2015-04-20 14:56                       ` Dmitry Gutov
2015-04-20 19:26                         ` Stefan Monnier
2015-04-20 22:09                           ` Dmitry Gutov
2015-04-21  1:25                             ` Stefan Monnier
2015-04-21 19:25                               ` Dmitry Gutov
2015-04-21 19:47                                 ` Eli Zaretskii
2015-04-22 15:02                                   ` Dmitry Gutov
2015-04-22 15:18                                     ` Eli Zaretskii
2015-04-22 15:23                                       ` Dmitry Gutov
2015-04-22 15:28                                         ` Eli Zaretskii
2015-04-22 15:49                                           ` Dmitry Gutov
2015-04-21 20:27                                 ` Stefan Monnier
2015-04-21 20:51                                   ` Dmitry Gutov
2015-04-22 13:56                                 ` Stefan Monnier
2015-04-22 14:59                                   ` Dmitry Gutov
2015-04-22 16:47                                     ` Stefan Monnier
2015-11-02 18:18                                     ` Dmitry Gutov
2015-11-02 20:37                                       ` John Wiegley
2015-11-02 21:03                                         ` Dmitry Gutov
2015-11-02 21:18                                           ` John Wiegley
2015-11-02 21:06                                         ` Eli Zaretskii
2015-11-02 21:29                                           ` John Wiegley
2015-11-02 23:31                                             ` Richard Stallman
2015-11-03  3:32                                             ` Eli Zaretskii
2015-11-02 23:31                                         ` Richard Stallman
2015-04-15 14:31                     ` Wolfgang Jenkner
2015-04-15 16:10             ` Eli Zaretskii
2015-04-17  2:48               ` Dmitry Gutov
2015-04-17  4:58                 ` Stefan Monnier
2015-04-17 13:14                   ` Dmitry Gutov [this message]
2015-04-17  7:26                 ` Eli Zaretskii
2015-04-17  8:11                   ` Eli Zaretskii
2015-04-17 14:17                   ` Dmitry Gutov
2015-04-17 14:36                     ` Eli Zaretskii
2015-04-17 15:55                       ` Dmitry Gutov
2015-04-17 16:23                         ` Eli Zaretskii
2015-04-17 18:12                     ` Stefan Monnier
2015-04-17 18:18                       ` Dmitry Gutov
2015-04-20 15:03                   ` Dmitry Gutov
2015-04-17  7:55                 ` Andreas Schwab
2015-04-17  8:12                   ` Eli Zaretskii
2015-04-17 10:55                   ` Dmitry Gutov
2015-12-26 14:27             ` Dmitry Gutov
2015-12-27  2:52               ` Richard Stallman
2015-12-27  3:21                 ` Dmitry Gutov
2015-12-27 15:50               ` Eli Zaretskii
2015-12-27 16:10                 ` Dmitry Gutov
2015-12-27 16:28                   ` Eli Zaretskii
2015-12-27 16:51                     ` Dmitry Gutov
2015-12-30  4:47               ` John Wiegley
2015-12-30 11:48                 ` Dmitry Gutov
2015-12-30 12:15                   ` Dmitry Gutov
2015-12-30 19:18                     ` John Wiegley
2015-12-31  0:24                       ` Dmitry Gutov
2015-12-31  1:17                         ` John Wiegley
2015-12-31  1:26                           ` Dmitry Gutov
2015-12-31  2:48                             ` John Wiegley
2015-12-31  6:30                       ` Richard Stallman
2015-04-14 17:15         ` Stefan Monnier
2015-04-14 18:08           ` Nicolas Petton
2015-04-14 20:33           ` Dmitry Gutov
2015-04-14 19:09     ` Achim Gratz
2015-04-14 21:58       ` Dmitry Gutov
2015-04-15  2:33   ` Richard Stallman
2015-04-15 11:18     ` Dmitry Gutov
2015-04-15 16:17       ` Eli Zaretskii
2015-04-15 23:03         ` Dmitry Gutov
     [not found]   ` <<E1YiD8o-000318-H5@fencepost.gnu.org>
2015-04-15 15:29     ` Drew Adams
2015-04-14 14:17 ` Eli Zaretskii
2015-04-14 14:40   ` Dmitry Gutov
2015-04-14 15:29     ` Eli Zaretskii
2015-04-14 15:48       ` Dmitry Gutov
2015-04-14 16:02         ` Eli Zaretskii
2015-04-17 17:22         ` Philipp Stephani
2015-04-18  2:55           ` Dmitry Gutov

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

  List information: https://www.gnu.org/software/emacs/

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=55310745.3010601@yandex.ru \
    --to=dgutov@yandex.ru \
    --cc=20322@debbugs.gnu.org \
    --cc=monnier@IRO.UMontreal.CA \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
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).