From mboxrd@z Thu Jan 1 00:00:00 1970 Path: news.gmane.org!not-for-mail From: Reuben Thomas Newsgroups: gmane.emacs.bugs Subject: bug#11434: 24.0.96; Determining major mode for a given file extension Date: Tue, 08 May 2012 17:38:36 +0100 Message-ID: <87ipg6mxv7.fsf@sc3d.org> NNTP-Posting-Host: plane.gmane.org Mime-Version: 1.0 Content-Type: text/plain X-Trace: dough.gmane.org 1336495205 16647 80.91.229.3 (8 May 2012 16:40:05 GMT) X-Complaints-To: usenet@dough.gmane.org NNTP-Posting-Date: Tue, 8 May 2012 16:40:05 +0000 (UTC) To: 11434@debbugs.gnu.org Original-X-From: bug-gnu-emacs-bounces+geb-bug-gnu-emacs=m.gmane.org@gnu.org Tue May 08 18:40:04 2012 Return-path: Envelope-to: geb-bug-gnu-emacs@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 1SRnSF-0007pE-0Z for geb-bug-gnu-emacs@m.gmane.org; Tue, 08 May 2012 18:40:03 +0200 Original-Received: from localhost ([::1]:34419 helo=lists.gnu.org) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1SRnSE-0001ht-Be for geb-bug-gnu-emacs@m.gmane.org; Tue, 08 May 2012 12:40:02 -0400 Original-Received: from eggs.gnu.org ([208.118.235.92]:37100) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1SRnSA-0001gd-7v for bug-gnu-emacs@gnu.org; Tue, 08 May 2012 12:40:00 -0400 Original-Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1SRnS7-0002hz-SP for bug-gnu-emacs@gnu.org; Tue, 08 May 2012 12:39:57 -0400 Original-Received: from debbugs.gnu.org ([140.186.70.43]:40354) by eggs.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1SRnS7-0002hs-Ob for bug-gnu-emacs@gnu.org; Tue, 08 May 2012 12:39:55 -0400 Original-Received: from Debian-debbugs by debbugs.gnu.org with local (Exim 4.72) (envelope-from ) id 1SRnUA-0003Br-Jp for bug-gnu-emacs@gnu.org; Tue, 08 May 2012 12:42:02 -0400 X-Loop: help-debbugs@gnu.org Resent-From: Reuben Thomas Original-Sender: debbugs-submit-bounces@debbugs.gnu.org Resent-CC: bug-gnu-emacs@gnu.org Resent-Date: Tue, 08 May 2012 16:42:02 +0000 Resent-Message-ID: Resent-Sender: help-debbugs@gnu.org X-GNU-PR-Message: report 11434 X-GNU-PR-Package: emacs X-GNU-PR-Keywords: X-Debbugs-Original-To: bug-gnu-emacs@gnu.org Original-Received: via spool by submit@debbugs.gnu.org id=B.133649527012174 (code B ref -1); Tue, 08 May 2012 16:42:02 +0000 Original-Received: (at submit) by debbugs.gnu.org; 8 May 2012 16:41:10 +0000 Original-Received: from localhost ([127.0.0.1]:41382 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.72) (envelope-from ) id 1SRnTJ-0003AG-DF for submit@debbugs.gnu.org; Tue, 08 May 2012 12:41:10 -0400 Original-Received: from eggs.gnu.org ([208.118.235.92]:52221) by debbugs.gnu.org with esmtp (Exim 4.72) (envelope-from ) id 1SRnTE-00039T-4A for submit@debbugs.gnu.org; Tue, 08 May 2012 12:41:07 -0400 Original-Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1SRnR3-00021l-Ew for submit@debbugs.gnu.org; Tue, 08 May 2012 12:38:51 -0400 Original-Received: from lists.gnu.org ([208.118.235.17]:43532) by eggs.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1SRnR3-00021g-Bq for submit@debbugs.gnu.org; Tue, 08 May 2012 12:38:49 -0400 Original-Received: from eggs.gnu.org ([208.118.235.92]:42102) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1SRnQz-0001Oz-F9 for bug-gnu-emacs@gnu.org; Tue, 08 May 2012 12:38:48 -0400 Original-Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1SRnQw-0001qu-Dh for bug-gnu-emacs@gnu.org; Tue, 08 May 2012 12:38:44 -0400 Original-Received: from exprod7og102.obsmtp.com ([64.18.2.157]:35675) by eggs.gnu.org with smtp (Exim 4.71) (envelope-from ) id 1SRnQw-0001k6-0y for bug-gnu-emacs@gnu.org; Tue, 08 May 2012 12:38:42 -0400 Original-Received: from mail-we0-f170.google.com ([74.125.82.170]) (using TLSv1) by exprod7ob102.postini.com ([64.18.6.12]) with SMTP ID DSNKT6lMDcVLy+Z3aN1rddoyxCcMFGgjwde7@postini.com; Tue, 08 May 2012 09:38:41 PDT Original-Received: by mail-we0-f170.google.com with SMTP id b14so765834wer.1 for ; Tue, 08 May 2012 09:38:37 -0700 (PDT) X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=20120113; h=from:to:subject:date:message-id:mime-version:content-type :x-gm-message-state; bh=5DV7hh2iDaX04GaGriHYbBYQ+3L7y7h+lCb+WGVLgbQ=; b=KWtdSy1yO8hrOGNpVYwgMGGcTClzD05pLLgc9hOQTl/5cW6kTuloj+z/qmbeS9rR97 J406OVjgduf0qtxs4wnEfgwPMSXSbl3/A39NsWOGyO9oqxOEhCd9KeXursY0gktB60Ls qB/rp2rYarXQgwOZ5tx1gKkMIgWsFosoHBAp5uAVjKyfgMMBeu10GWHDhzmFxPqR+RX5 N0CXqPliDMHqxTPAbQS6ZIQChi9HxEZfiRS8iYzjdkDYydte8NDzDLhMMI3X8DBCzuc2 zp6j8kr9DPEVpCwPIQmxRMpvdEchpfoHqkAOBu6C62ttYJ4EsiwHWesAHkmDnmAPYIVG jY7Q== Original-Received: by 10.180.107.100 with SMTP id hb4mr1655803wib.22.1336495117742; Tue, 08 May 2012 09:38:37 -0700 (PDT) Original-Received: from skwd (87-194-87-241.bethere.co.uk. [87.194.87.241]) by mx.google.com with ESMTPS id 6sm30015274wiz.1.2012.05.08.09.38.36 (version=TLSv1/SSLv3 cipher=OTHER); Tue, 08 May 2012 09:38:37 -0700 (PDT) X-Gm-Message-State: ALoCoQlNjO45Rgu+nT9IzaGPChEmt1jUvHRbuxZq+mwd0RUehJPfqQt6JXGPwjO0Rgu4xnOHaTHL X-detected-operating-system: by eggs.gnu.org: GNU/Linux 2.6, seldom 2.4 (older, 4) X-detected-operating-system: by eggs.gnu.org: GNU/Linux 2.6 (newer, 3) X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.13 Precedence: list X-detected-operating-system: by eggs.gnu.org: GNU/Linux 2.6 (newer, 2) X-Received-From: 140.186.70.43 X-BeenThere: bug-gnu-emacs@gnu.org List-Id: "Bug reports for GNU Emacs, the Swiss army knife of text editors" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: bug-gnu-emacs-bounces+geb-bug-gnu-emacs=m.gmane.org@gnu.org Original-Sender: bug-gnu-emacs-bounces+geb-bug-gnu-emacs=m.gmane.org@gnu.org Xref: news.gmane.org gmane.emacs.bugs:59864 Archived-At: I have the following problem: I am working on coffee-mode.el, a major mode for editing CoffeeScript, which is essentially syntactic sugar for Javascript. One of its commands compiles some CoffeeScript into Javascript and opens it in another buffer. It currently sets the major mode of the new buffer to a hard-wired mode, but it seems more sensible to set it to the mode currently set for ".js" in auto-mode-alist (at least, that's the closest I can come to "find the mode currently configured for a particular language). Unfortunately, there doesn't seem to be an easy way of doing this: the code that looks up a file extension in auto-mode-alist is buried in set-auto-mode. Actually, I'd be quite happy to call set-auto-mode, only the buffer in which the Javascript is held is called "*coffee-compiled*", which seems a reasonable name for an auto-generated buffer. For now, I propose to rename it "*coffee-compiled*.js", but I'd appreciate suggestions as to how I could do this better. It would be nice to be able to give set-auto-mode a clue, in the form of a filename or an interpreter name, for cases like this. In GNU Emacs 24.0.96.1 (x86_64-unknown-linux-gnu, GTK+ Version 2.24.10) of 2012-04-29 on skwd Windowing system distributor `The X.Org Foundation', version 11.0.11103000 Important settings: value of $LC_ALL: nil value of $LC_COLLATE: nil value of $LC_CTYPE: nil value of $LC_MESSAGES: nil value of $LC_MONETARY: nil value of $LC_NUMERIC: nil value of $LC_TIME: nil value of $LANG: en_GB.UTF-8 value of $XMODIFIERS: @im=none locale-coding-system: utf-8-unix default enable-multibyte-characters: t Major mode: Emacs-Lisp Minor modes in effect: shell-dirtrack-mode: t diff-auto-refine-mode: t recentf-mode: t show-paren-mode: t server-mode: t savehist-mode: t minibuffer-electric-default-mode: t iswitchb-mode: t icomplete-mode: t global-whitespace-mode: t global-auto-revert-mode: t desktop-save-mode: t tooltip-mode: t mouse-wheel-mode: t file-name-shadow-mode: t global-font-lock-mode: t font-lock-mode: t blink-cursor-mode: t auto-composition-mode: t auto-encryption-mode: t auto-compression-mode: t column-number-mode: t line-number-mode: t transient-mark-mode: t Recent input: C-s f i l l e - n a m e C-a M-x r e p o r t - e m a c s - b u g Recent messages: Type "q" to restore previous buffer. Mark set Mark saved where search started Quit Type "q" to restore previous buffer. uncompressing files.el.gz...done Note: file is write protected Mark saved where search started [2 times] Quit Mark saved where search started [2 times] Load-path shadows: /home/rrt/.emacs.d/elpa/dictionary-1.8.7/dictionary-init hides /usr/local/share/emacs/24.0.96/site-lisp/dictionary-el/dictionary-init /home/rrt/.emacs.d/elpa/dictionary-1.8.7/dictionary hides /usr/local/share/emacs/24.0.96/site-lisp/dictionary-el/dictionary /home/rrt/.emacs.d/elpa/dictionary-1.8.7/link hides /usr/local/share/emacs/24.0.96/site-lisp/dictionary-el/link /home/rrt/.emacs.d/elpa/dictionary-1.8.7/connection hides /usr/local/share/emacs/24.0.96/site-lisp/dictionary-el/connection /home/rrt/local/share/emacs/site-lisp/dict hides /usr/local/share/emacs/24.0.96/site-lisp/emacs-goodies-el/dict /usr/local/share/emacs/24.0.96/site-lisp/auctex/tex-style hides /usr/share/emacs/site-lisp/auctex/tex-style /usr/local/share/emacs/24.0.96/site-lisp/auctex/tex-mik hides /usr/share/emacs/site-lisp/auctex/tex-mik /usr/local/share/emacs/24.0.96/site-lisp/auctex/multi-prompt hides /usr/share/emacs/site-lisp/auctex/multi-prompt /usr/local/share/emacs/24.0.96/site-lisp/auctex/tex-jp hides /usr/share/emacs/site-lisp/auctex/tex-jp /usr/local/share/emacs/24.0.96/site-lisp/auctex/tex-info hides /usr/share/emacs/site-lisp/auctex/tex-info /usr/local/share/emacs/24.0.96/site-lisp/auctex/latex hides /usr/share/emacs/site-lisp/auctex/latex /usr/local/share/emacs/24.0.96/site-lisp/auctex/tex hides /usr/share/emacs/site-lisp/auctex/tex /usr/local/share/emacs/24.0.96/site-lisp/auctex/texmathp hides /usr/share/emacs/site-lisp/auctex/texmathp /usr/local/share/emacs/24.0.96/site-lisp/auctex/context-nl hides /usr/share/emacs/site-lisp/auctex/context-nl /usr/local/share/emacs/24.0.96/site-lisp/auctex/tex-font hides /usr/share/emacs/site-lisp/auctex/tex-font /usr/local/share/emacs/24.0.96/site-lisp/auctex/toolbar-x hides /usr/share/emacs/site-lisp/auctex/toolbar-x /usr/local/share/emacs/24.0.96/site-lisp/auctex/tex-buf hides /usr/share/emacs/site-lisp/auctex/tex-buf /usr/local/share/emacs/24.0.96/site-lisp/auctex/tex-fptex hides /usr/share/emacs/site-lisp/auctex/tex-fptex /usr/local/share/emacs/24.0.96/site-lisp/auctex/bib-cite hides /usr/share/emacs/site-lisp/auctex/bib-cite /usr/local/share/emacs/24.0.96/site-lisp/auctex/context-en hides /usr/share/emacs/site-lisp/auctex/context-en /usr/local/share/emacs/24.0.96/site-lisp/auctex/tex-fold hides /usr/share/emacs/site-lisp/auctex/tex-fold /usr/local/share/emacs/24.0.96/site-lisp/auctex/tex-bar hides /usr/share/emacs/site-lisp/auctex/tex-bar /usr/local/share/emacs/24.0.96/site-lisp/auctex/context hides /usr/share/emacs/site-lisp/auctex/context /usr/local/share/emacs/24.0.96/site-lisp/auctex/font-latex hides /usr/share/emacs/site-lisp/auctex/font-latex Features: (shadow sort gnus-util mail-extr emacsbug message format-spec rfc822 mml mml-sec mm-decode mm-bodies mm-encode mail-parse rfc2231 mailabbrev gmm-utils mailheader sendmail rfc2047 rfc2045 ietf-drums mm-util mail-prsvr mail-utils jka-compr find-func shell pcomplete grep apropos pp help-mode view log-edit pcvs-util add-log diff-git diff-mode vc ediff-merg ediff-diff ediff-wind ediff-help ediff-util ediff-mult ediff-init ediff vc-dispatcher multi-isearch coffee-mode flymake compile comint ansi-color ring vc-git face-remap regexp-opt flyspell smart-quotes auto-dictionary-autoloads c-eldoc-autoloads dictionary-autoloads diff-git-autoloads dired-isearch-autoloads full-ack-autoloads guess-style-autoloads kill-ring-search-autoloads magit-autoloads mv-shell-autoloads tumble-autoloads http-post-simple-autoloads package tabulated-list completing-help recentf tree-widget wid-edit uniquify paren server savehist minibuf-eldef iswitchb icomplete whitespace autorevert desktop cus-start cus-load ropemacs pymacs go-mode-load ispell advice advice-preload yasnippet help-fns derived edmacro kmacro easymenu assoc cl muse-autoloads emacs-goodies-el emacs-goodies-custom emacs-goodies-loaddefs easy-mmode preview-latex tex-site auto-loads user-site-loaddefs time-date tooltip ediff-hook vc-hooks lisp-float-type mwheel x-win x-dnd tool-bar dnd fontset image fringe lisp-mode register page menu-bar rfn-eshadow timer select scroll-bar mouse jit-lock font-lock syntax facemenu font-core frame cham georgian utf-8-lang misc-lang vietnamese tibetan thai tai-viet lao korean japanese hebrew greek romanian slovak czech european ethiopic indian cyrillic chinese case-table epa-hook jka-cmpr-hook help simple abbrev minibuffer loaddefs button faces cus-face files text-properties overlay sha1 md5 base64 format env code-pages mule custom widget hashtable-print-readable backquote make-network-process dbusbind dynamic-setting system-font-setting font-render-setting move-toolbar gtk x-toolkit x multi-tty emacs) -- http://rrt.sc3d.org/