From mboxrd@z Thu Jan 1 00:00:00 1970 Path: news.gmane.org!not-for-mail From: "Stephen J. Turnbull" Newsgroups: gmane.emacs.devel Subject: Defaults for elisp-mode files Date: Thu, 04 Oct 2012 10:29:53 +0900 Message-ID: <877gr7kory.fsf@uwakimon.sk.tsukuba.ac.jp> References: NNTP-Posting-Host: plane.gmane.org Mime-Version: 1.0 Content-Type: text/plain; charset=utf-8 X-Trace: ger.gmane.org 1349402111 27323 80.91.229.3 (5 Oct 2012 01:55:11 GMT) X-Complaints-To: usenet@ger.gmane.org NNTP-Posting-Date: Fri, 5 Oct 2012 01:55:11 +0000 (UTC) Cc: emacs-devel@gnu.org To: Stefan Monnier Original-X-From: emacs-devel-bounces+ged-emacs-devel=m.gmane.org@gnu.org Fri Oct 05 03:55:15 2012 Return-path: Envelope-to: ged-emacs-devel@m.gmane.org Original-Received: from lists.gnu.org ([208.118.235.17]) by plane.gmane.org with esmtp (Exim 4.69) (envelope-from ) id 1TJx5J-0006Y7-3e for ged-emacs-devel@m.gmane.org; Fri, 05 Oct 2012 03:52:13 +0200 Original-Received: from localhost ([::1]:49987 helo=lists.gnu.org) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1TJaGI-000198-Jj for ged-emacs-devel@m.gmane.org; Wed, 03 Oct 2012 21:30:02 -0400 Original-Received: from eggs.gnu.org ([208.118.235.92]:41141) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1TJaGF-00016f-9T for emacs-devel@gnu.org; Wed, 03 Oct 2012 21:30:00 -0400 Original-Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1TJaGE-0004Vz-4B for emacs-devel@gnu.org; Wed, 03 Oct 2012 21:29:59 -0400 Original-Received: from mgmt2.sk.tsukuba.ac.jp ([130.158.97.224]:59966) by eggs.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1TJaGD-0004Vi-JI for emacs-devel@gnu.org; Wed, 03 Oct 2012 21:29:58 -0400 Original-Received: from uwakimon.sk.tsukuba.ac.jp (uwakimon.sk.tsukuba.ac.jp [130.158.99.156]) by mgmt2.sk.tsukuba.ac.jp (Postfix) with ESMTP id E49569708D9; Thu, 4 Oct 2012 10:29:53 +0900 (JST) Original-Received: by uwakimon.sk.tsukuba.ac.jp (Postfix, from userid 1000) id AB48E1A3591; Thu, 4 Oct 2012 10:29:53 +0900 (JST) In-Reply-To: X-Mailer: VM 8.0.12-devo-585 under 21.5 (beta32) "habanero" b0d40183ac79 XEmacs Lucid (x86_64-unknown-linux) X-detected-operating-system: by eggs.gnu.org: GNU/Linux 2.6 (newer, 3) X-Received-From: 130.158.97.224 X-BeenThere: emacs-devel@gnu.org X-Mailman-Version: 2.1.14 Precedence: list List-Id: "Emacs development discussions." List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: emacs-devel-bounces+ged-emacs-devel=m.gmane.org@gnu.org Original-Sender: emacs-devel-bounces+ged-emacs-devel=m.gmane.org@gnu.org Xref: news.gmane.org gmane.emacs.devel:154076 Archived-At: Stefan Monnier writes: > So I think in the longer term these annotations should be made > unnecessary because they're ugly. `-*- coding: utf-8 -*-' should be unnecessary most of the time. But > For the `utf-8', I guess we can simply set auto-coding-alist I suppose you mean (set-coding-system-priority 'utf-8) XEmacs can't set `auto-coding-list' because 'iso-2022-jp[1] has been our standard for non-ASCII files since about 1999. I mention this not because compatibility is an issue here, but rather I suspect that something similar, if unofficial, is true for Emacs. Also, there's probably a lot of historical user code, especially in init files, with comments (which will be unreadable) and strings (functionality breaks silently if they're used for matching auto-detected text) and occasionally even identifiers in legacy encodings. Legacy encodings (especially GB 2312, Shift JIS, and Big5 in my experience, and I bet Russians and Ukrainians will say the same about KOI8, etc) continue to be in heavy use on Windows and in email. While you *can* set `auto-coding-alist', I think it will cause a lot of pain. > But for the lexical-binding setting, I think you have to live with that as long as for the foreseeable future you're going to allow users to use implicit dynamic binding. In other words, you shouldn't get rid of it until you actually stop consulting the lexical-binding variable itself, and always use lexical environments for non-special variables. *Each* file really should contain a *prominent* statement about how variables are evaluated, since the semantics differ. Worse, the semantics are determined by the *file*, not by Emacs. That is, just because Emacs changes its default, doesn't mean the developer will at exactly the same time. The developer working on the file needs that indication. Footnotes: [1] What I really meant was iso-2022-int, but we didn't have it at the time, and there's very little difference. None that matters. :-) Despite the "jp", in fact iso-2022-jp favors ASCII, not Japanese.