Should a tag be named after a concept or the related emacs mode corresponding to that concept. Specifically, I'm asking about programming languages, but this probably applies to other tags as well. We currently have and tags, but also . Should we rename to ? Should we set these tags up as aliases. What about ? We don't currently have a tag, and both C++ and C are handled by the cc-mode, for which there is no tag. Should we create a tag?

Another example is that we have , which is a mode name and which is the concept. These should almost certainly be combined. However, we additionally have which is the language name, but not which is the mode name. In some sense is probably a small enough category that is not even necessary.

  • 2
    This is a complicated issue. I urge you not to accept an answer before giving it some time. :-)
    – Malabarba
    Nov 8, 2014 at 12:04

3 Answers 3


An Emacs mode and a programming language are different topics. There is some overlap, but the two categories delimit different sets. Thus it isn't a choice between one and the other: questions should be tagged wist the one(s) that is appropriate.

The situation is most clear with programming languages for which there is more than one common mode. For example, perl has both Perl mode and CPerl mode; questions about Perl mode should be tagged , questions about CPerl mode should be tagged , while questions about perl in general (interacting with a Perl interpreter, configuring semantic analysis packages to work with Perl, etc.) should be tagged but not or unless that mode is involved. Similarly, is about EIN, is about the Python programming language, is about Python mode. is about C code, is about CC mode. is about working with LaTeX, is about the AUCTeX package, is about plain TeX, and are about the basic modes shipped with Emacs. The list goes on. Some of these tags may not exist yet; they'll appear when someone asks a question about that particular topic.

If there's a basic Foolang mode shipped with Emacs (or not) for some programming language Foolang, we can dispense with a tag and stick with . This is acceptable for unsophisticated modes with few configuration or extension capabilities, not with advanced modes or modes that span multiple languages like CC mode and AUCTeX.

  • Your last paragraph seems in contradiction with the two previous ones, and could lead to issues if some other mode for foolang should appear in the future, doesn't it?
    – T. Verron
    Nov 9, 2014 at 20:30
  • One issue with naming the tags after modes, especially when the mode does not include the concept name directly is that newcomers are unlikely to know which modes are relevant to the questions they have, and thus probably have a hard time coming up with the right tags for a given question.
    – b4hand
    Nov 10, 2014 at 2:15
  • @b4hand If the question is about the mode in the first place, then that's not an issue because the question will be “in Foo mode, how do I …?”. If the question is about the concept in the first place, then that's not an issue because the concept tag is appropriate. Nov 10, 2014 at 13:23

Oops. @Gilles posted an answer while I was writing this one, but I pretty much agree with everything he said (perhaps, more than with what I said).

I think we have little use for concept names here, and much more use for package names (or mode names). At the end of the day, we're not StackOverflow. We have more mode-specific questions than language-specific questions.

Here's why:

  1. Some question are about the major-mode, which makes them mode-specific.
    e.g. “How do I get html-mode to highlight a specific tag?
  2. Commonly, a user of a language only has one viable major-mode choice, so even when the question is about the language it is mode-specific.
    e.g. How can I use the SE flavor of Markdown in emacs? was tagged , but I feel it should be tagged , as this is really the only viable option.
  3. When there are multiple choices, the user might have already made this choice because of a needed feature set, and thus the questions is still mode-specific.
    The difference between html-mode and web-mode are vast. If the user has already made up his mind for one of them, an answer suggesting the other is not very useful (not that it would be bad).
  4. Occasionally there may be questions about parsing (or generating) a language (see , it has 5 questions which have absolutely nothing to do with html-mode or web-mode). In this case, there's little sense in tagging with the mode-name, so a tag with the language name may be in order.

This last example shows we need to resolve this on a case-by-case basis.

I think our overarching guideline should be to use the major-mode name for tagging, unless it would make no sense.

  • Also, even when the question is about a given mode and got an answer about this mode, answers using a different mode could prove useful to visitors from google. This obviously needs limits and guidelines, and would be the topic for another discussion, but this policy works well on other sites.
    – T. Verron
    Nov 9, 2014 at 20:36
  • 1
    About 2., markdown-mode may be the only viable option today, but who knows about tomorrow? On the other hand, markdown will always be appropriate for this question. Is it acceptable to apply tags that may need to be removed in the future? (In other words, tags that depend on the answers to the question, rather than on the question itself)
    – T. Verron
    Nov 9, 2014 at 20:39

I think in most cases the concept name should be used and then the mode name be an alias to the concept unless the mode itself is large enough to have a decent number of questions independent of the concept. For example, I could see being a tag since it handles many languages and thus is not a single concept and may actually have enough interest to have multiple questions. But in the example of , it should probably be renamed and then add a synonym for . Same thing with . I would make a synonym for and a synonym for , but maybe leave and separate for now.

  • It is good that you mention python, because it is one of the modes for which your proposed policy reaches its limits. For example, what would you do with questions related to elpy?
    – T. Verron
    Nov 9, 2014 at 20:42
  • I haven't used elpy, so I don't know exactly where it fits. I'd probably leave it under the [python] tag since it again seems fairly niche. I could easily see someone tagging it with [ide] as well if that is what they were looking for.
    – b4hand
    Nov 10, 2014 at 2:16

You must log in to answer this question.

Not the answer you're looking for? Browse other questions tagged .