GNU bug report logs - #60787
setq-mode-local doesn't work for buffers not visiting files

Previous Next

Package: emacs;

Reported by: Sean Whitton <spwhitton <at> spwhitton.name>

Date: Fri, 13 Jan 2023 17:33:02 UTC

Severity: normal

Full log


View this message in rfc822 format

From: Eli Zaretskii <eliz <at> gnu.org>
To: Sean Whitton <spwhitton <at> spwhitton.name>
Cc: 60787 <at> debbugs.gnu.org, juri <at> linkov.net
Subject: bug#60787: setq-mode-local doesn't work for buffers not visiting files
Date: Thu, 19 Jan 2023 08:31:57 +0200
> Cc: 60787 <at> debbugs.gnu.org
> From: Sean Whitton <spwhitton <at> spwhitton.name>
> Date: Wed, 18 Jan 2023 15:42:42 -0700
> 
> On Tue 17 Jan 2023 at 09:31AM +02, Juri Linkov wrote:
> 
> >>   (setq-mode-local diff-mode view-read-only nil)
> >>
> >> doesn't affect *vc-diff* buffers, but it should, according to the docstring of
> >> setq-mode-local.
> >
> > Is this because of the condition `(buffer-file-name b)`
> > in mode-local-map-file-buffers?
> 
> Yes, but also how setq-mode-local relies on find-file-hook.

All of mode-local.el is written under the assumption that only
file-visiting buffers are supported.  Evidently, it assumes that modes
for buffers that don't visit files are "not interesting" enough.  This
assumption is explicitly in the doc strings of some of its functions.

I don't know why this was the assumption (maybe because CEDET was
about support of editing program source files?), but if we want to
lift the restriction, it would require changing many of the functions
in the package, not just this one.  Maybe we should do that.
mode-local.el wasn't significantly changed since it was added to Emacs
as part of CEDET merge, so maybe it's time to extend it?




This bug report was last modified 2 years and 147 days ago.

Previous Next


GNU bug tracking system
Copyright (C) 1999 Darren O. Benham, 1997,2003 nCipher Corporation Ltd, 1994-97 Ian Jackson.