From: Stefan Monnier <monnier@IRO.UMontreal.CA>
To: Glenn Morris <rgm@gnu.org>
Cc: 14529@debbugs.gnu.org
Subject: bug#14529: gv--defsetter, advice--set-buffer-local compilation warnings
Date: Fri, 23 Mar 2018 19:25:01 -0400 [thread overview]
Message-ID: <jwvfu4qv0mo.fsf-monnier+emacs@gnu.org> (raw)
In-Reply-To: <j2r2oalcg7.fsf@fencepost.gnu.org> (Glenn Morris's message of "Fri, 23 Mar 2018 17:16:40 -0400")
Glenn Morris <rgm@gnu.org> writes:
> Stefan Monnier wrote:
>
>>> the function `gv--defsetter' might not be defined at runtime.
>>> (image-mode, winner, avl-tree []
>>
>> gv--setter is used inside a function placed on the `gv-expander'
>> property of some symbols, which should never be used except by gv.el
>> code (at which point gv--defsetter will be defined).
>
> These warnings have come back following 97b7e58.
> Obviously they can be declare-functioned away, but it would be nicer if
> there was a general solution that did not require modifying each file
> that declares a gv-setter.
I'd love to have a general way to say things like "code on symbol
property `gv-expand' can use any function provided by gv.el", but in the
mean time would the patch below work?
Stefan
diff --git a/lisp/emacs-lisp/gv.el b/lisp/emacs-lisp/gv.el
index 1e5347d206..230d59f189 100644
--- a/lisp/emacs-lisp/gv.el
+++ b/lisp/emacs-lisp/gv.el
@@ -216,6 +216,8 @@ gv-define-setter
(declare (indent 2) (debug (&define name sexp body)))
`(gv-define-expander ,name
(lambda (do &rest args)
+ (declare-function
+ gv--defsetter "gv" (name setter do args &optional vars))
(gv--defsetter ',name (lambda ,arglist ,@body) do args))))
;;;###autoload
next prev parent reply other threads:[~2018-03-23 23:25 UTC|newest]
Thread overview: 7+ messages / expand[flat|nested] mbox.gz Atom feed top
2013-06-01 22:39 bug#14529: gv--defsetter, advice--set-buffer-local compilation warnings Glenn Morris
2013-06-02 2:42 ` Stefan Monnier
2018-03-23 21:16 ` Glenn Morris
2018-03-23 23:25 ` Stefan Monnier [this message]
2018-04-17 18:28 ` Glenn Morris
2018-04-18 19:57 ` Stefan Monnier
2015-11-25 11:12 ` Alan Mackenzie
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=jwvfu4qv0mo.fsf-monnier+emacs@gnu.org \
--to=monnier@iro.umontreal.ca \
--cc=14529@debbugs.gnu.org \
--cc=rgm@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.