From: Kevin Rodgers <kevin.d.rodgers@gmail.com>
To: 10773@debbugs.gnu.org
Subject: bug#10773: set-variable can't change values of user options
Date: Fri, 10 Feb 2012 01:18:06 -0700 [thread overview]
Message-ID: <jh2jpq$qur$1@dough.gmane.org> (raw)
In-Reply-To: <5w1uq3lv3z.fsf@fencepost.gnu.org>
On 2/9/12 11:28 AM, Glenn Morris wrote:
> Juri Linkov wrote:
>
>> Why users are allowed to change the value of `outline-mode-hook',
>> but not `outline-minor-mode-hook'?
>
> The former is defined with (defvar ... "*...").
> The latter is not defined anywhere, but as define-derived-mode says
> about hooks and has been covered several times:
>
> No problems result if this variable is not bound.
> `add-hook' automatically binds it. (This is true for all hook variables.)
>
> I would says it's not very useful to pass a hook to set-variable anyway,
> since you need to type a lisp expression, and probably should use
> an explicit add-hook statement.
Or allow add-hook (and remove-hook) to be called interactively, for convenience:
--- - 2012-02-10 01:14:16.000000000 -0700
+++ /tmp/subr.el 2012-02-10 01:13:17.000000000 -0700
@@ -1216,15 +1216,17 @@
unless the optional argument APPEND is non-nil, in which case
FUNCTION is added at the end.
-The optional fourth argument, LOCAL, if non-nil, says to modify
-the hook's buffer-local value rather than its default value.
-This makes the hook buffer-local if needed, and it makes t a member
-of the buffer-local value. That acts as a flag to run the hook
-functions in the default value as well as in the local value.
+The optional fourth argument, LOCAL, if non-nil or an interactive
+prefix arg, says to modify the hook's buffer-local value rather
+than its default value. This makes the hook buffer-local if
+needed, and it makes t a member of the buffer-local value. That
+acts as a flag to run the hook functions in the default value as
+well as in the local value.
HOOK should be a symbol, and FUNCTION may be any valid function. If
HOOK is void, it is first set to nil. If HOOK's value is a single
function, it is changed to a list of functions."
+ (interactive "SHook: \naFunction: \ni\nP")
(or (boundp hook) (set hook nil))
(or (default-boundp hook) (set-default hook nil))
(if local (unless (local-variable-if-set-p hook)
@@ -1264,8 +1266,10 @@
FUNCTION isn't the value of HOOK, or, if FUNCTION doesn't appear in the
list of hooks to run in HOOK, then nothing is done. See `add-hook'.
-The optional third argument, LOCAL, if non-nil, says to modify
-the hook's buffer-local value rather than its default value."
+The optional third argument, LOCAL, if non-nil (interactively,
+with prefix argument) says to modify the hook's buffer-local
+value rather than its default value."
+ (interactive "SHook: \naFunction: \nP")
(or (boundp hook) (set hook nil))
(or (default-boundp hook) (set-default hook nil))
;; Do nothing if LOCAL is t but this hook has no local binding.
--
Kevin Rodgers
Denver, Colorado, USA
next prev parent reply other threads:[~2012-02-10 8:18 UTC|newest]
Thread overview: 17+ messages / expand[flat|nested] mbox.gz Atom feed top
2012-02-09 9:43 bug#10773: set-variable can't change values of user options Juri Linkov
2012-02-09 18:28 ` Glenn Morris
2012-02-10 8:18 ` Kevin Rodgers [this message]
2012-02-10 10:18 ` Juri Linkov
2012-02-10 17:31 ` Glenn Morris
2012-02-10 18:01 ` Glenn Morris
2012-02-12 4:34 ` Stefan Monnier
2012-02-12 20:16 ` Glenn Morris
2012-02-13 2:58 ` Stefan Monnier
2020-09-19 15:21 ` Lars Ingebrigtsen
2020-09-19 15:46 ` Stefan Monnier
2020-09-19 15:49 ` Lars Ingebrigtsen
2020-09-19 16:04 ` Stefan Monnier
2020-09-20 9:14 ` Lars Ingebrigtsen
2012-02-21 0:40 ` Juri Linkov
2012-02-21 15:26 ` Drew Adams
2012-02-22 0:16 ` Juri Linkov
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to='jh2jpq$qur$1@dough.gmane.org' \
--to=kevin.d.rodgers@gmail.com \
--cc=10773@debbugs.gnu.org \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
Code repositories for project(s) associated with this external index
https://git.savannah.gnu.org/cgit/emacs.git
https://git.savannah.gnu.org/cgit/emacs/org-mode.git
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.