unofficial mirror of bug-gnu-emacs@gnu.org 
 help / color / mirror / code / Atom feed
* bug#11434: 24.0.96; Determining major mode for a given file extension
@ 2012-05-08 16:38 Reuben Thomas
  2012-05-08 16:44 ` Reuben Thomas
  0 siblings, 1 reply; 8+ messages in thread
From: Reuben Thomas @ 2012-05-08 16:38 UTC (permalink / raw)
  To: 11434

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:
<down> <down> <down> <down> <down> <down> <down> <down> 
<down> <down> <down> <down> <down> <down> <down> <down> 
<down> <down> <down> <down> <down> <down> <down> <down> 
<down> <down> <down> <down> <down> <down> <down> <down> 
<down> <down> <down> <up> <up> <up> <up> <up> <up> 
<up> <up> <up> <up> <up> <up> <up> <up> <up> <up> <up> 
<up> <up> <up> <up> <up> <up> <up> <up> <up> <up> <up> 
<up> <up> <up> <up> <up> <up> <up> <up> <up> <up> <up> 
<up> <up> <up> <up> <up> <up> <up> <up> <up> <up> <up> 
<up> <up> <up> <up> <up> <up> <up> <up> <up> <up> <up> 
<up> <up> <up> <up> <up> <up> <up> <up> <up> <up> <up> 
<up> <up> <up> <up> <up> <up> <up> <up> <up> <up> <up> 
<up> <up> <up> <up> <up> <up> <up> <up> <up> <up> <up> 
<up> <up> <up> <up> <up> <up> <up> <up> <up> <up> <up> 
<up> <up> <up> <up> <up> <up> <up> <up> <up> <up> <up> 
<up> <up> <up> <up> <up> <up> <up> <up> <up> <up> <up> 
<up> <up> <up> <up> <up> <up> <up> <up> <up> <down> 
<down> <down> <down> <down> <down> <down> <down> <down> 
<down> C-s f i l l <backspace> e - n a m e C-a <up> 
<up> <up> <up> <up> <up> <up> <up> <up> <up> <up> <up> 
<up> <up> <up> <up> <up> <up> <up> <up> <up> <up> <up> 
<up> <up> <up> <up> <up> <up> <up> <up> <up> <up> <up> 
<up> <up> <up> <up> <up> <up> <up> <up> <up> <up> <up> 
<up> <up> <up> <up> <up> <up> <up> <up> <up> <up> <up> 
<up> <up> <up> <up> <up> <up> <up> <up> <up> <up> <up> 
<up> <up> <up> <up> <up> <down> <down> <down> <down> 
<down> <down> <down> <down> <down> <down> <down> <down> 
<down> <down> <down> <down> M-x r e p o r t - e m a 
c s - b u g <return>

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/





^ permalink raw reply	[flat|nested] 8+ messages in thread

* bug#11434: 24.0.96; Determining major mode for a given file extension
  2012-05-08 16:38 bug#11434: 24.0.96; Determining major mode for a given file extension Reuben Thomas
@ 2012-05-08 16:44 ` Reuben Thomas
  2012-05-08 18:24   ` Stefan Monnier
  0 siblings, 1 reply; 8+ messages in thread
From: Reuben Thomas @ 2012-05-08 16:44 UTC (permalink / raw)
  To: 11434

On 8 May 2012 17:38, Reuben Thomas <rrt@sc3d.org> wrote:
> 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.

Since it's the file name, not the buffer name, that matters, my
current solution is to do:

  (setq buffer-file-name "compiled.js")
  (set-auto-mode)
  (setq buffer-file-name nil)

Does that seem reasonable?

-- 
http://rrt.sc3d.org





^ permalink raw reply	[flat|nested] 8+ messages in thread

* bug#11434: 24.0.96; Determining major mode for a given file extension
  2012-05-08 16:44 ` Reuben Thomas
@ 2012-05-08 18:24   ` Stefan Monnier
  2012-05-08 18:30     ` Reuben Thomas
  0 siblings, 1 reply; 8+ messages in thread
From: Stefan Monnier @ 2012-05-08 18:24 UTC (permalink / raw)
  To: Reuben Thomas; +Cc: 11434

>> 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.

> Since it's the file name, not the buffer name, that matters, my
> current solution is to do:

>   (setq buffer-file-name "compiled.js")
>   (set-auto-mode)
>   (setq buffer-file-name nil)

> Does that seem reasonable?

I'd use (let ((buffer-file-name "foo.js")) (set-auto-mode)) instead.


        Stefan





^ permalink raw reply	[flat|nested] 8+ messages in thread

* bug#11434: 24.0.96; Determining major mode for a given file extension
  2012-05-08 18:24   ` Stefan Monnier
@ 2012-05-08 18:30     ` Reuben Thomas
  2012-05-09 12:35       ` Stefan Monnier
  0 siblings, 1 reply; 8+ messages in thread
From: Reuben Thomas @ 2012-05-08 18:30 UTC (permalink / raw)
  To: Stefan Monnier; +Cc: 11434

On 8 May 2012 19:24, Stefan Monnier <monnier@iro.umontreal.ca> wrote:
>>> 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.
>
>> Since it's the file name, not the buffer name, that matters, my
>> current solution is to do:
>
>>   (setq buffer-file-name "compiled.js")
>>   (set-auto-mode)
>>   (setq buffer-file-name nil)
>
>> Does that seem reasonable?
>
> I'd use (let ((buffer-file-name "foo.js")) (set-auto-mode)) instead.

So it's just my Lisp that's bad, not my approach? :)

-- 
http://rrt.sc3d.org





^ permalink raw reply	[flat|nested] 8+ messages in thread

* bug#11434: 24.0.96; Determining major mode for a given file extension
  2012-05-08 18:30     ` Reuben Thomas
@ 2012-05-09 12:35       ` Stefan Monnier
  2019-10-31  7:31         ` Stefan Kangas
  2019-11-01 18:12         ` Stefan Kangas
  0 siblings, 2 replies; 8+ messages in thread
From: Stefan Monnier @ 2012-05-09 12:35 UTC (permalink / raw)
  To: Reuben Thomas; +Cc: 11434

>> I'd use (let ((buffer-file-name "foo.js")) (set-auto-mode)) instead.
> So it's just my Lisp that's bad, not my approach? :)

I think so, yes.  You can also use create-file-buffer with some dummy
file name and then call after-find-file (that's what I did in PCL-CVS).


        Stefan





^ permalink raw reply	[flat|nested] 8+ messages in thread

* bug#11434: 24.0.96; Determining major mode for a given file extension
  2012-05-09 12:35       ` Stefan Monnier
@ 2019-10-31  7:31         ` Stefan Kangas
  2019-11-29 12:45           ` Stefan Kangas
  2019-11-01 18:12         ` Stefan Kangas
  1 sibling, 1 reply; 8+ messages in thread
From: Stefan Kangas @ 2019-10-31  7:31 UTC (permalink / raw)
  To: Stefan Monnier; +Cc: 11434, Reuben Thomas

Stefan Monnier <monnier@iro.umontreal.ca> writes:

>>> I'd use (let ((buffer-file-name "foo.js")) (set-auto-mode)) instead.
>> So it's just my Lisp that's bad, not my approach? :)
>
> I think so, yes.  You can also use create-file-buffer with some dummy
> file name and then call after-find-file (that's what I did in PCL-CVS).

It seems to me like there is no bug here.  Am I missing something?

If I don't hear back within a couple of weeks, I'll go ahead and close
this bug report.

Best regards,
Stefan Kangas





^ permalink raw reply	[flat|nested] 8+ messages in thread

* bug#11434: 24.0.96; Determining major mode for a given file extension
  2012-05-09 12:35       ` Stefan Monnier
  2019-10-31  7:31         ` Stefan Kangas
@ 2019-11-01 18:12         ` Stefan Kangas
  1 sibling, 0 replies; 8+ messages in thread
From: Stefan Kangas @ 2019-11-01 18:12 UTC (permalink / raw)
  To: Stefan Monnier; +Cc: 11434, Reuben Thomas

Stefan Monnier <monnier@iro.umontreal.ca> writes:

>>> I'd use (let ((buffer-file-name "foo.js")) (set-auto-mode)) instead.
>> So it's just my Lisp that's bad, not my approach? :)
>
> I think so, yes.  You can also use create-file-buffer with some dummy
> file name and then call after-find-file (that's what I did in PCL-CVS).

It seems to me like there is no bug here.  Am I missing something?

If I don't hear back within a couple of weeks, I'll go ahead and close
this bug report.

Best regards,
Stefan Kangas





^ permalink raw reply	[flat|nested] 8+ messages in thread

* bug#11434: 24.0.96; Determining major mode for a given file extension
  2019-10-31  7:31         ` Stefan Kangas
@ 2019-11-29 12:45           ` Stefan Kangas
  0 siblings, 0 replies; 8+ messages in thread
From: Stefan Kangas @ 2019-11-29 12:45 UTC (permalink / raw)
  To: Stefan Monnier; +Cc: 11434, Reuben Thomas

tags 11434 + notabug
close 11434
thanks

Stefan Kangas <stefankangas@gmail.com> writes:

> Stefan Monnier <monnier@iro.umontreal.ca> writes:
>
>>>> I'd use (let ((buffer-file-name "foo.js")) (set-auto-mode)) instead.
>>> So it's just my Lisp that's bad, not my approach? :)
>>
>> I think so, yes.  You can also use create-file-buffer with some dummy
>> file name and then call after-find-file (that's what I did in PCL-CVS).
>
> It seems to me like there is no bug here.  Am I missing something?
>
> If I don't hear back within a couple of weeks, I'll go ahead and close
> this bug report.

More information was requested, but none was given within 4 weeks, so
I'll assume this is not a bug and close this bug report.

If this is incorrect, please reply to this email (use "Reply to all"
in your email client) and we can reopen the bug report.

Best regards,
Stefan Kangas





^ permalink raw reply	[flat|nested] 8+ messages in thread

end of thread, other threads:[~2019-11-29 12:45 UTC | newest]

Thread overview: 8+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2012-05-08 16:38 bug#11434: 24.0.96; Determining major mode for a given file extension Reuben Thomas
2012-05-08 16:44 ` Reuben Thomas
2012-05-08 18:24   ` Stefan Monnier
2012-05-08 18:30     ` Reuben Thomas
2012-05-09 12:35       ` Stefan Monnier
2019-10-31  7:31         ` Stefan Kangas
2019-11-29 12:45           ` Stefan Kangas
2019-11-01 18:12         ` Stefan Kangas

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).