all messages for Emacs-related lists mirrored at yhetil.org
 help / color / mirror / code / Atom feed
From: Glenn Morris <rgm@gnu.org>
To: 8646@debbugs.gnu.org
Subject: bug#8646: byte-compile-initial-macro-environment confuses byte-compile-arglist-warn
Date: Wed, 11 May 2011 00:33:15 -0400	[thread overview]
Message-ID: <gdoc39c0vo.fsf@fencepost.gnu.org> (raw)
In-Reply-To: <le4o529opc.fsf@fencepost.gnu.org> (Glenn Morris's message of "Tue, 10 May 2011 18:26:55 -0400")


Here's a patch that I think might be right in general, but still leaves
a warning in this specific case:

In declare-function:
subr.el:39:11:Warning: macro declare-function used to take 2+ arguments,
  now takes 2-4

Strictly speaking, that warning is correct.

Actually, I guess this patch is not fully correct, because something
that is in byte-compile-initial-macro-environment could be redefined
more than once, in theory. But it's better than the current version. (?)


*** lisp/emacs-lisp/bytecomp.el	2011-05-07 04:03:49 +0000
--- lisp/emacs-lisp/bytecomp.el	2011-05-11 04:22:58 +0000
***************
*** 1314,1320 ****
  ;; number of arguments.
  (defun byte-compile-arglist-warn (form macrop)
    (let* ((name (nth 1 form))
!          (old (byte-compile-fdefinition name macrop)))
      (if (and old (not (eq old t)))
  	(progn
  	  (and (eq 'macro (car-safe old))
--- 1314,1327 ----
  ;; number of arguments.
  (defun byte-compile-arglist-warn (form macrop)
    (let* ((name (nth 1 form))
!          (old (byte-compile-fdefinition name macrop))
!          (initial (and macrop
!                        (cdr (assq name
!                                   byte-compile-initial-macro-environment)))))
!     ;; Assumes an element of b-c-i-macro-env that is a symbol points
!     ;; to a defined function.
!     (and initial (symbolp initial)
!          (setq old (byte-compile-fdefinition initial nil)))
      (if (and old (not (eq old t)))
  	(progn
  	  (and (eq 'macro (car-safe old))






  reply	other threads:[~2011-05-11  4:33 UTC|newest]

Thread overview: 7+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2011-05-10 22:26 bug#8646: byte-compile-initial-macro-environment confuses byte-compile-arglist-warn Glenn Morris
2011-05-11  4:33 ` Glenn Morris [this message]
2011-05-11 13:54   ` Stefan Monnier
2011-05-11 17:39     ` Glenn Morris
2011-05-12  1:00       ` Stefan Monnier
2011-05-19 19:06         ` Glenn Morris
2011-05-20  2:18           ` Stefan Monnier

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=gdoc39c0vo.fsf@fencepost.gnu.org \
    --to=rgm@gnu.org \
    --cc=8646@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.