Questions tagged [buffer-local]

The tag has no usage guidance.

Filter by
Sorted by
Tagged with
22 votes
1 answer
6k views

What does `setq-local` do, and when should I use it?

I'm not quite clear on all the variations of buffer-local variables, even after reading all the doc and a bunch of postings here on SX. Here's a summary of my understandings: (defvar foo ..) ...
Kevin's user avatar
  • 1,318
15 votes
1 answer
2k views

Mark a local variable safe for any value

The variable safe-local-variable-values can store name/value pairs that are safe as file-local or directory-local. However sometimes I want to say any value is valid for a given variable. The manual ...
Brendan's user avatar
  • 303
14 votes
1 answer
1k views

Make a buffer-local variable become global again

I was experimenting with local variables and set: (defvar-local foo nil "Buffer local foo") I later redesigned my program to use a global variable instead using: (defvar foo nil "Not buffer local ...
Maciej Goszczycki's user avatar
12 votes
2 answers
2k views

How to Persist Evil Markers?

I want to be able to save my buffer local evil markers (m to mark a location and then ' or ` to jump to it) across emacs sessions/instances. I'm not really sure how to do this. I tried installing/...
noctuid's user avatar
  • 439
9 votes
2 answers
4k views

How to modify-face for a specific buffer?

I work with a lot of tabular data files and use stripe-buffer.el make them easier to read. But I also work with more than one, so I'd like to make it easier to distinguish among them as well and want ...
wdkrnls's user avatar
  • 3,707
7 votes
2 answers
998 views

The default value of buffer-local variable not set until first `setq`

Say I define a buffer-local variable foo, and its default value is "a": (defvar foo "a") (make-variable-buffer-local 'foo) (default-value 'foo) ;; => "a" Immediately after this I run the ...
cutejumper's user avatar
6 votes
1 answer
2k views

How can I get buffer-local environment variables via .dir-locals?

I'm using emacs for many different projects. For some of them, I need, for example, different entries in $PATH, or different $MAKEFLAGS, whatever, you name it... I thought this would be possible ...
Markus's user avatar
  • 481
6 votes
1 answer
3k views

How do you disable the buffer end/beginning warnings in the minibuffer?

I see that I can do something like this: (defun limit-warnings () (set (make-local-variable 'warning-minimum-level) 'fatal)) (add-hook 'minibuffer-setup-hook 'disable-warnings) (Sorry for syntax ...
bright-star's user avatar
5 votes
2 answers
1k views

Set buffer-local variable in buffer other than the current one?

I'm in buffer A and I want to set a buffer-local variable in buffer B. I'm currently doing: (with-current-buffer B (setq-local some-var 'some-val)) but is there a way to do this without changing ...
ivan's user avatar
  • 1,938
5 votes
2 answers
2k views

How to customize major mode initialization with local variables?

Seems like most major modes clear all local variables before initializing. It also seems like many major modes read variables while initializing to customize their behavior. If I want to set a file ...
sfridman's user avatar
  • 151
5 votes
1 answer
1k views

What is the difference between setq-mode-local and setq-local

I don't understand how setq-mode-local works (mode-local is a package from cedet). The macro's documentation says: setq-mode-local is a Lisp macro in `mode-local.el'. (setq-mode-local MODE &...
Łukasz Gruner's user avatar
5 votes
1 answer
1k views

How to get an value from a buffer local variable

I have the following code in the file1.el: (with-current-buffer (get-buffer-create "TestBuffer") (read-only-mode -1) (erase-buffer) (make-local-variable 'source) (setq source (get-source-...
Andrii Tykhonov's user avatar
4 votes
1 answer
595 views

org-mode: have flycheck resolve relative config while editing code blocks

Desired behaviour While editing code blocks with org-mode by pressing C-c ' I'd like Flycheck to resolve relevant configuration the same way it does for normal files. I'm using JavaScript, and these ...
Mike McFarland's user avatar
4 votes
1 answer
216 views

How can I set a buffer-local variable (format-all-mode) to nil within .dir-locals.el? (using Doom emacs)

I have a project where I want to disable format-all-mode for all my python files. I can do this manually by running M-x format-all-mode every time I open up a python file for that project. I tried ...
modulitos's user avatar
  • 2,472
4 votes
1 answer
875 views

buffer-local advice

I am trying to create a buffer local advice to run some code when a minor mode is disabled. I looked through the documentation for add-function and saw this If PLACE is a symbol, its `default-value' ...
Prgrm.celeritas's user avatar
4 votes
1 answer
759 views

How to find out if variable is buffer-local?

I'm trying to get rid of tabs, following this guide: (setq-default indent-tabs-mode nil) So: why setq-default and not setq? I know I would need to use setq-default for a buffer-local variable, but I ...
djechlin's user avatar
  • 923
3 votes
1 answer
3k views

Use `.dir-locals.el' to append to `before-save-hook' as a buffer local variable

I want to use .dir-locals.el to append to the before-save-hook in a project for c++ files. Currently I'm using: (add-hook 'c++-mode-hook (lambda () (add-hook 'before-save-hook '...
kain88's user avatar
  • 835
3 votes
1 answer
634 views

whitespace-mode ignores whitespace-line-column

In ~/.emacs I've globally enabled whitespace-mode: (require 'whitespace) (setq whitespace-style '(face empty tabs lines-tail trailing)) (global-whitespace-mode t) Example buffer content: -*- fill-...
feklee's user avatar
  • 1,079
3 votes
1 answer
137 views

Make a Variable Buffer-Local within a Let-Binding

12.11.2 Creating and Deleting Buffer-Local Bindings: Making a variable buffer-local within a let-binding for that variable does not work reliably, unless the buffer in which you do this is not ...
shynur's user avatar
  • 5,174
2 votes
1 answer
223 views

Why isn't face-remapping-alist permanent-local by default?

text-scale-mode uses a buffer-local face-remapping-alist to scale the buffer's text, adding values like (:height 1.2). It stores a "cookie" with the scaling it has applied in another local variable, ...
ivan's user avatar
  • 1,938
2 votes
1 answer
333 views

How can I get the effect of buffer-local symbol plist property values?

Does Emacs have a way to set buffer-local properties on symbols? It's well-known that there are buffer-local variables. But a property belongs to a symbol, not to a variable. Hence, if I have ...
Lassi's user avatar
  • 377
2 votes
1 answer
653 views

Making a variable window-local

I am developing a feature to adapt a mode-line to the width of the window. I have developped it so far using buffer-local variables to store the state of the mode-line, however, when I open the same ...
deb0ch's user avatar
  • 203
2 votes
1 answer
209 views

Buffer-local hook shadowing default value for subsequently loaded libraries

After having a problem with debugging a package I write, I finally tracked down the problem to the following: auto-revert-mode is making kill-buffer-hook buffer-local (which is fine by me). The ...
François Févotte's user avatar
2 votes
1 answer
67 views

`make-local-variable` Behaves Differently depending on Whether Variable is Special

Two examples (both are in the *scratch* buffer and under lexical scoping rule): _ (setq xx :default) (let ((xx :let)) (with-current-buffer (get-buffer-create "tmp") (make-local-...
shynur's user avatar
  • 5,174
2 votes
2 answers
50 views

Can I bind a key as buffer local but not in the active keymap?

So I'm writing some custom functions to help me editing some guitar chords using LaTeX's songs package. I find convenient to rebind isearch-exit, so that when I press RET, the cursor is left at the ...
Alessandro Bertulli's user avatar
2 votes
1 answer
45 views

Cannot get a symbol's value for the first time when using `setq-default`

I can use setq-default to set a symbol's default value, as follows: (with-temp-buffer (make-local-variable 'bar) (setq-default bar "xyz") (symbol-value 'bar)) When I first executed ...
Searene's user avatar
  • 489
2 votes
0 answers
28 views

How to preserve buffer local variables through `recompile`?

In a compilation buffer, when I set buffer local variable like so: (setq-local foo 'bar) Doing a (recompile) will unset this variable. Is there a way to keep the buffer local value permanent ...
rgrinberg's user avatar
  • 143
1 vote
2 answers
3k views

Buffer-local after-save-hook?

I'd like to register an after-save-hook that is only active in certain buffers that I specify. For example, assume there are 3 functions currently registered in my after-save-hook: hook-01, hook-02, ...
HippoMan's user avatar
  • 594
1 vote
2 answers
308 views

How to set a variable on a single buffer?

To set functions on a local buffer I use the following technique: * Local Variables :noexport: # Local Variables: # eval: (view-mode 1) # eval: (visual-line-mode 0) ... # End: However, when I try to ...
crocefisso's user avatar
  • 1,244
1 vote
3 answers
372 views

Buffer-local input history for read-from-minibuffer

I've been trying to create a command that, when run, calls another function (my-function) which reads from the minibuffer and does some processing on the input. I want the command history for this ...
Federico's user avatar
  • 197
1 vote
2 answers
610 views

How to get an insert-text-button 'action property accessing a dynamically-bound buffer-local variable

In realgud I have a text button that needs access to a dynamically-bound buffer-local variable. The situation occurs like this. Inside one buffer that has the buffer local variable, there is a ...
rocky's user avatar
  • 898
1 vote
1 answer
111 views

Is it possible to associate minor modes with windows rather than buffers?

Does Emacs have some notion of associating minor modes with windows rather than setting them as "global" or "buffer-local"? For example, in a certain window layout I may wish to have a minor mode ...
ebpa's user avatar
  • 7,439
1 vote
3 answers
2k views

How can I change external program to open org URLs for one org file only

In my Emacs config, I have set Firefox to be the browser to open URLs with, (setq browse-url-browser-function 'browse-url-firefox) Now, I have one org-mode file, in which I would like to open URLs ...
andreas-h's user avatar
  • 1,559
1 vote
1 answer
92 views

How do buffer local bindings go into effect?

I'm learning to program with buffer local variables. The emacs documentation describes buffer local variables as: A buffer-local variable has a buffer-local binding associated with a particular ...
djechlin's user avatar
  • 923
1 vote
1 answer
60 views

Is there a reason for having beginning-of-defun-function/end-of-defun-function global?

I was working on a mode, setq'ed them with my functions and... emacs broke (really) For some reason these variable are global. I made them buffer-local, but is there a good reason for having them ...
Lorenzo Marcantonio's user avatar
1 vote
1 answer
31 views

How to provide my own ediff-make-wide-display-function for ediff

For Ediff's wide display feature I like to use my own ediff-make-wide-display function. Ediff has a variable for this: ediff-make-wide-display-function. However when I write: (defun my-ediff-make-wide-...
halloleo's user avatar
  • 1,341
1 vote
2 answers
482 views

Defining minor-mode buffer-local variables

I want to do something VERY simple. I want to create a minor mode, which when enabled sets a buffer-local variable (say left-margin-width, for instance) with a specific value. I can do this: (define-...
sixter's user avatar
  • 113
1 vote
1 answer
381 views

Have shell inherit buffer local process-environment

I have made buffer local changes to `process-environment' using the technique described in How can I get buffer-local environment variables via .dir-locals. I then call shell from that buffer. If I ...
Benilda Key's user avatar
1 vote
1 answer
348 views

setq in init file not overriding the default for indent-tabs-mode

It works when using setq-default in place of setq or when customizing through C-h v. C-h v reports that it is set in 'C source code'. I was thinking it might be affected by my c-default-style, but my ...
mcp's user avatar
  • 546
1 vote
1 answer
420 views

org-mode in-buffer todo setting not working as expected

I am using org-mode TODO tracking change (in-buffer settings) and I'm having some issues. All the info is taken from the official docs (https://orgmode.org/manual/Tracking-TODO-state-changes.html) I ...
Sergiu Elmi's user avatar
1 vote
0 answers
48 views

How can I change buffer local key binding C-h, C-x, M-x in term raw mode?

I'm running a specific console application in a term window (char/raw mode). This application has no need for C-h, C-x, and M-x, so they should just do what they always do in Emacs. However, I don't ...
fred's user avatar
  • 21
1 vote
1 answer
317 views

How do I clear a global variable that also is buffer-local?

I called add-hook multiple times because I had a few typos in the hook function, and now there are a bunch of broken copies of it in the hook. I want to do (setq after-save-hook nil), but after doing ...
user1122107's user avatar
1 vote
0 answers
139 views

Buffer-local exec-path?

Is there a way to make buffer-local overrides to exec-path (whose value is normally initialized with the PATH environment variable)? I tried (make-variable-buffer-local 'exec-path) and local ...
Lassi's user avatar
  • 377
1 vote
0 answers
529 views

Can I override global-hl-line-mode in a buffer/window?

I have the following line turning hl-line-mode on globally in my init file: (global-hl-line-mode) Most of the time, that's how I like it. But sometimes I want to turn it off. I'd hoped that I could ...
ivan's user avatar
  • 1,938
0 votes
2 answers
51 views

cannot use buffer-local variables after defining them

I'm trying to define a buffer-local variable inside a function using setq-local in a function here is the function definition: (defun set-buffer-local-variable () (with-current-buffer (get-buffer-...
ntriisii's user avatar
0 votes
1 answer
96 views

setq versus setq-local for tab-always-indent

Have found the tab-always-indent setting and wonder the appropriateness of (setq tab-always-indent 'complete) versus (setq-local tab-always-indent 'complete)
Dilna's user avatar
  • 1
0 votes
1 answer
249 views

Is it possible to make a function local to the buffer?

I want to override the function helm-swoop-pre-input-optimize in man mode using its hook, but not anywhere else. Is there something similar to make-local-variable for functions?
HappyFace's user avatar
  • 830
0 votes
1 answer
207 views

Adding to kill-buffer-hook results in "setq: Wrong type argument"

Subtract a buffer's (the file's) size from a variable before killing it. Emacs 26. (defvar cumulative-open-bytes '0 ) (defun buffer-settings-calc-bytes () (interactive) (let ((current-open-file-...
Austin's user avatar
  • 3
0 votes
1 answer
228 views

Setting hl-line-mode for programming modes

In my init file I have this: (add-hook 'prog-mode-hook (lambda () (linum-mode 1))) So it shows line numbers only for programming modes. I tried to do the same with hl-line-mode, but it does not work:...
Juan Herrero Diaz's user avatar
0 votes
0 answers
30 views

How to reliably use run-python with venv in buffer-env?

I have a python project using venv under PROJECT_FOLDER/.venv. I wrote an .envrc file there to activate the environment. buffer-env-describe seems to know about it. However, when I am in a python ...
wdkrnls's user avatar
  • 3,707