Super User is a question and answer site for computer enthusiasts and power users. Join them; it only takes a minute:

Sign up
Here's how it works:
  1. Anybody can ask a question
  2. Anybody can answer
  3. The best answers are voted up and rise to the top

Simply curious. (I use Emacs for Scheme and nothing more). Found this on a programmers "software hatelist"

Quote: Emacs. Lacks controlled cross-module code/data protection.

I don't understand what this means, I would like someone to come up with a brief explanation for me. I probably only need a short explanation.

share|improve this question

closed as not constructive by RedGrittyBrick, Ƭᴇcʜιᴇ007, studiohack Jan 23 '12 at 5:38

As it currently stands, this question is not a good fit for our Q&A format. We expect answers to be supported by facts, references, or expertise, but this question will likely solicit debate, arguments, polling, or extended discussion. If you feel that this question can be improved and possibly reopened, visit the help center for guidance.If this question can be reworded to fit the rules in the help center, please edit the question.

Given the shallowness of the criticism on that page, I doubt anyone other than the author really knows what he meant. Speculating here probably isn't helpful. – RedGrittyBrick Jan 22 '12 at 13:02
Search for cross-module code/data protection on Google. If you don't find anything relevant then there is a good chance it's not something you should be bothered about. – Tom Jan 22 '12 at 13:16
@RedGrittyBrick. I partly agree with you. However. Since I am curious and strongly suspect that there might be emacs users who can answer, I will keep the qw here for a little more. Even if the answer is that he doesn't know what he's talking about and probably isn't talking about anything. – r4. Jan 22 '12 at 13:18
@Tom. Good suggestion. I definitely will! However, not now. Since I am not at home for the moment (my sister needs the computer 'now'). – r4. Jan 22 '12 at 13:25
@r4 What he means, basically, is "no namespaces and no lexical scope". The former criticism is justified, if not terribly meaningful in practice due to strong naming conventions; strong namespace enforcement, like Java, is largely a means of limiting the damage lousy programmers can do. The latter criticism loses punch in light of Emacs 24's introduction of optional lexical scope -- sure, "existing code does not use newly-introduced lexical scopes", but it doesn't need to, either; if it did, it wouldn't work. – Aaron Miller Aug 14 '13 at 18:09
up vote 3 down vote accepted

I think what he means is there is no way to prevent some "package" (which is defined very loosely in Emacs) from changing another package in (harmful?) ways. So for example, ruby-mode could change the values of python-mode functions and variables thereby making python-mode misbehave. This is in some ways unfortunate, but it's also very handy to have a package, say ruby-mode+ which changes a few things about ruby-mode to be more like the user wants.

share|improve this answer

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