[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
bug#56110: 27+; switching from line-mode to char-mode
From: |
Stefan Monnier |
Subject: |
bug#56110: 27+; switching from line-mode to char-mode |
Date: |
Sun, 26 Jun 2022 04:17:26 -0400 |
User-agent: |
Gnus/5.13 (Gnus v5.13) Emacs/29.0.50 (gnu/linux) |
> First: Don't buffer local variables come with the same problem?
The problem is somewhat orthogonal to buffer-local vs global, yes.
> Second: When somebody changes a binding using `add/remove-function` with
> a scope limited to the scope of my `let', we have no problem.
Indeed.
> So let's assume a global scope is wanted. Then that somebody still has
> to figure out what exactly to add-function to, and if the currently seen
> value is not the global one, or what the scope of the currently seen
> binding is. Bindings can be local or buffer local.
The same holds if they want to use `let` (except that it's a lot more
difficult to let-bind the global value of a variable when there is
a buffer-local value).
> Then one has to figure out if the binding (variable), or the value is to
> be modified.
I don't understand what you mean by that.
> You yourself got it wrong in this case. So using
> `add/remove-function` is still absolutely nontrivial if I used
> `add-function' instead of `let'.
Yup. The purpose is not to protect you from your own errors, but to let
you write code whose semantics is more precisely the ones you need such
that the interaction with other code out there will be correct even for
"unexpected" code.
> Finally, what about variables that can be bound to functions but also
> other types like strings? You can't use `add-function' on them, right?
That's right (well, you still can if the variable currently holds
a function, but it's less convenient in any case).
Stefan
- bug#56110: 27+; switching from line-mode to char-mode, (continued)
- bug#56110: 27+; switching from line-mode to char-mode, Michael Heerdegen, 2022/06/21
- bug#56110: 27+; switching from line-mode to char-mode, Stefan Monnier, 2022/06/22
- bug#56110: 27+; switching from line-mode to char-mode, Michael Heerdegen, 2022/06/23
- bug#56110: 27+; switching from line-mode to char-mode, Stefan Monnier, 2022/06/23
- bug#56110: 27+; switching from line-mode to char-mode, Michael Heerdegen, 2022/06/25
- bug#56110: 27+; switching from line-mode to char-mode,
Stefan Monnier <=
- bug#56110: 27+; switching from line-mode to char-mode, Michael Heerdegen, 2022/06/26
- bug#56110: 27+; switching from line-mode to char-mode, Stefan Monnier, 2022/06/26
- bug#56110: 27+; switching from line-mode to char-mode, Michael Heerdegen, 2022/06/26
- bug#56110: 27+; switching from line-mode to char-mode, Stefan Monnier, 2022/06/26
- bug#56110: 27+; switching from line-mode to char-mode, Michael Heerdegen, 2022/06/26
- bug#56110: 27+; switching from line-mode to char-mode, Andreas Schwab, 2022/06/26
- bug#56110: 27+; switching from line-mode to char-mode, Michael Heerdegen, 2022/06/26
- bug#56110: 27+; switching from line-mode to char-mode, signal3, 2022/06/26
- bug#56110: 27+; switching from line-mode to char-mode, Michael Heerdegen, 2022/06/26
- bug#56110: 27+; switching from line-mode to char-mode, Michael Heerdegen, 2022/06/26