GNU bug report logs - #8330
Undefined macros during compilation in mm-util

Previous Next

Packages: gnus, emacs;

Reported by: Stefan Monnier <monnier <at> iro.umontreal.ca>

Date: Wed, 23 Mar 2011 17:59:01 UTC

Severity: important

Merged with 8339

Found in version 24.0.50

Done: Lars Magne Ingebrigtsen <lmi <at> gnus.org>

Bug is archived. No further changes may be made.

To add a comment to this bug, you must first unarchive it, by sending
a message to control AT debbugs.gnu.org, with unarchive 8330 in the body.
You can then email your comments to 8330 AT debbugs.gnu.org in the normal way.

Toggle the display of automated, internal messages from the tracker.

View this report as an mbox folder, status mbox, maintainer mbox


Report forwarded to owner <at> debbugs.gnu.org, bug-gnu-emacs <at> gnu.org, bugs <at> gnus.org:
bug#8330; Package emacs,gnus. (Wed, 23 Mar 2011 17:59:01 GMT) Full text and rfc822 format available.

Acknowledgement sent to Stefan Monnier <monnier <at> iro.umontreal.ca>:
New bug report received and forwarded. Copy sent to bug-gnu-emacs <at> gnu.org, bugs <at> gnus.org. (Wed, 23 Mar 2011 17:59:02 GMT) Full text and rfc822 format available.

Message #5 received at submit <at> debbugs.gnu.org (full text, mbox):

From: Stefan Monnier <monnier <at> iro.umontreal.ca>
To: bug-gnu-emacs <at> gnu.org
Subject: Undefined macros during compilation in mm-util
Date: Wed, 23 Mar 2011 13:58:09 -0400
Package: Emacs,Gnus
Version: 24.0.50

mm-til uses the mm-handle-type macro from mm-decode but doesn't require
mm-decode, so the macro call is compiled as a function call, leading to
runtime errors about invalid function.

Adding a (require 'mm-decode) seems to lead to a circular require loop,
so I'm not sure what's the best fix.


        Stefan
        



In GNU Emacs 24.0.50.1 (i686-pc-linux-gnu, X toolkit, Xaw3d scroll bars)
 of 2011-03-12 on pastel
Windowing system distributor `The X.Org Foundation', version 11.0.10707000
configured using `configure  '--enable-maintainer-mode' 'CFLAGS=-Wall -Wno-pointer-sign -DUSE_LISP_UNION_TYPE -DSYNC_INPUT -DENABLE_CHECKING -DXASSERTS -DFONTSET_DEBUG -g -O1 -I/usr/include/GNUstep' '--with-x-toolkit=lucid''

Important settings:
  value of $LC_ALL: nil
  value of $LC_COLLATE: nil
  value of $LC_CTYPE: nil
  value of $LC_MESSAGES: nil
  value of $LC_MONETARY: nil
  value of $LC_NUMERIC: nil
  value of $LC_TIME: nil
  value of $LANG: fr_CH.UTF-8
  value of $XMODIFIERS: nil
  locale-coding-system: utf-8-unix
  default enable-multibyte-characters: t

Major mode: Emacs-Lisp

Minor modes in effect:
  diff-auto-refine-mode: t
  outline-minor-mode: t
  flyspell-mode: t
  eldoc-mode: t
  checkdoc-minor-mode: t
  electric-pair-mode: t
  electric-indent-mode: t
  url-handler-mode: t
  global-reveal-mode: t
  reveal-mode: t
  auto-insert-mode: t
  savehist-mode: t
  minibuffer-electric-default-mode: t
  mouse-wheel-mode: t
  menu-bar-mode: t
  file-name-shadow-mode: t
  global-font-lock-mode: t
  font-lock-mode: t
  auto-composition-mode: t
  auto-encryption-mode: t
  auto-compression-mode: t
  line-number-mode: t
  transient-mark-mode: t

Recent input:
C-c @ C-a <down-mouse-5> <mouse-5> <down-mouse-5> <mouse-5> 
<down-mouse-5> <mouse-5> <down-mouse-1> <mouse-1> C-u 
M-x g r e p <return> <left> <left> <left> <left> * 
* / <return> <switch-frame> <switch-frame> <switch-frame> 
<switch-frame> <switch-frame> <switch-frame> C-x v 
l <switch-frame> <switch-frame> <switch-frame> <switch-frame> 
<switch-frame> <switch-frame> <switch-frame> <switch-frame> 
<switch-frame> <switch-frame> <switch-frame> <switch-frame> 
<switch-frame> <switch-frame> <switch-frame> <switch-frame> 
<switch-frame> <switch-frame> <switch-frame> <switch-frame> 
<switch-frame> <switch-frame> <switch-frame> <help-echo> 
<switch-frame> <switch-frame> <switch-frame> <switch-frame> 
<switch-frame> M-< <down> <down> <down> <down> C-e 
<return> ( e v a l - w h e n - c o m p <tab> ( r e 
q u i r e SPC ' ' <backspace> m m - d e c o d e C-e 
M-; F o r SPC v a r i o u s SPC m a c r o s . C-x C-s 
<switch-frame> <switch-frame> <select-window> <switch-frame> 
<switch-frame> <select-window> <switch-frame> <switch-frame> 
<switch-frame> <switch-frame> <select-window> <select-window> 
<select-window> <select-window> <select-window> <select-window> 
<select-window> <select-window> <select-window> <select-window> 
<select-window> <select-window> <select-window> <select-window> 
<select-window> <select-window> <select-window> <select-window> 
<select-window> <select-window> <select-window> <switch-frame> 
<switch-frame> <switch-frame> C-x v = <switch-frame> 
M-b <M-backspace> C-e <backspace> SPC l i k e SPC m 
m - h a n d l e - t y p e . C-a C-x C-s C-x v = <switch-frame> 
<switch-frame> <switch-frame> <switch-frame> <switch-frame> 
<switch-frame> <switch-frame> <switch-frame> <switch-frame> 
<switch-frame> <switch-frame> <switch-frame> <switch-frame> 
<switch-frame> <switch-frame> <switch-frame> <switch-frame> 
<switch-frame> <switch-frame> <switch-frame> <switch-frame> 
<switch-frame> <switch-frame> <switch-frame> <switch-frame> 
<switch-frame> <switch-frame> <switch-frame> <switch-frame> 
<switch-frame> <switch-frame> <switch-frame> <switch-frame> 
<switch-frame> <switch-frame> <switch-frame> <switch-frame> 
<down-mouse-1> <mouse-movement> <mouse-1> C-u C-x 5 
1 <up> <up> <up> M-x c d <return> <M-backspace> <M-backspace> 
<M-backspace> w o <tab> <return> <M-return> <select-window> 
<help-echo> C-x 1 <switch-frame> C-c C-a <switch-frame> 
C-x C-s <switch-frame> <switch-frame> <switch-frame> 
<switch-frame> <switch-frame> <switch-frame> <switch-frame> 
<switch-frame> <switch-frame> <switch-frame> M-x m 
m <backspace> <backspace> b u g - <M-backspace> r e 
p - e m - b u <tab> <return>

Recent messages:
Wrote /home/monnier/src/emacs/trunk/lisp/gnus/mm-util.el
Finding changes in /home/monnier/src/emacs/trunk/lisp/gnus/mm-util.el...done
Saving file /home/monnier/src/emacs/trunk/lisp/gnus/mm-util.el...
Wrote /home/monnier/src/emacs/trunk/lisp/gnus/mm-util.el
Finding changes in /home/monnier/src/emacs/trunk/lisp/gnus/mm-util.el...done
Hunk not yet applied
Hunk applied
diff-hunk-next: No next hunk
Saving file /home/monnier/src/emacs/work/lisp/gnus/mm-util.el...
Wrote /home/monnier/src/emacs/work/lisp/gnus/mm-util.el

Load-path shadows:
/usr/share/emacs23/site-lisp/bbdb/bbdb hides /usr/share/emacs/site-lisp/bbdb/lisp/bbdb
/usr/share/emacs23/site-lisp/bbdb/bbdb-mhe hides /usr/share/emacs/site-lisp/bbdb/lisp/bbdb-mhe
/usr/share/emacs23/site-lisp/bbdb/bbdb-gnus hides /usr/share/emacs/site-lisp/bbdb/lisp/bbdb-gnus
/usr/share/emacs23/site-lisp/bbdb/bbdb-migrate hides /usr/share/emacs/site-lisp/bbdb/lisp/bbdb-migrate
/usr/share/emacs23/site-lisp/bbdb/bbdb-sc hides /usr/share/emacs/site-lisp/bbdb/lisp/bbdb-sc
/usr/share/emacs23/site-lisp/bbdb/bbdb-snarf hides /usr/share/emacs/site-lisp/bbdb/lisp/bbdb-snarf
/usr/share/emacs23/site-lisp/bbdb/bbdb-w3 hides /usr/share/emacs/site-lisp/bbdb/lisp/bbdb-w3
/usr/share/emacs23/site-lisp/bbdb/bbdb-gui hides /usr/share/emacs/site-lisp/bbdb/lisp/bbdb-gui
/usr/share/emacs23/site-lisp/bbdb/bbdb-print hides /usr/share/emacs/site-lisp/bbdb/lisp/bbdb-print
/usr/share/emacs23/site-lisp/bbdb/bbdb-rmail hides /usr/share/emacs/site-lisp/bbdb/lisp/bbdb-rmail
/usr/share/emacs23/site-lisp/bbdb/bbdb-vm hides /usr/share/emacs/site-lisp/bbdb/lisp/bbdb-vm
/usr/share/emacs23/site-lisp/bbdb/bbdb-ftp hides /usr/share/emacs/site-lisp/bbdb/lisp/bbdb-ftp
/usr/share/emacs23/site-lisp/bbdb/bbdb-merge hides /usr/share/emacs/site-lisp/bbdb/lisp/bbdb-merge
/usr/share/emacs23/site-lisp/bbdb/bbdb-whois hides /usr/share/emacs/site-lisp/bbdb/lisp/bbdb-whois
/usr/share/emacs23/site-lisp/bbdb/bbdb-com hides /usr/share/emacs/site-lisp/bbdb/lisp/bbdb-com
/usr/share/emacs23/site-lisp/bbdb/bbdb-hooks hides /usr/share/emacs/site-lisp/bbdb/lisp/bbdb-hooks

Features:
(mail-extr message sendmail format-spec rfc822 mml mml-sec mm-decode
mm-bodies mm-encode mail-parse rfc2231 rfc2047 rfc2045 ietf-drums
mailabbrev mail-utils mailheader emacsbug url-util log-view cl-specs
etags informat info texinfo vc-annotate sh-script smie ediff-merg
ediff-diff ediff-wind ediff-help ediff-util ediff-mult ediff-init ediff
dabbrev make-mode grep compile hideif cpp cmacexp log-edit pcvs-util
cc-mode cc-fonts cc-menus cc-cmds cc-styles cc-align cc-engine cc-vars
cc-defs add-log vc-sccs vc-svn vc-cvs vc-rcs vc-dir skeleton nxml-uchnm
rng-xsd xsd-regexp rng-cmpct rng-nxml rng-valid rng-loc rng-uri
rng-parse nxml-parse rng-match rng-dt rng-util rng-pttrn nxml-ns
nxml-mode nxml-outln nxml-rap nxml-util nxml-glyph nxml-enc xmltok
epa-file epa derived epg epg-config vc vc-dispatcher whitespace
smerge-mode diff-mode executable copyright xscheme trace testcover
scheme unsafep re-builder shadow inf-lisp ielm pp comint ring gmm-utils
ert find-func ewoc debug elp edebug cust-print cus-edit cus-start
cus-load wid-edit vc-bzr sha1 hex-util filecache multi-isearch sort mpc
server noutline outline easy-mmode flyspell ispell eldoc checkdoc
regexp-opt thingatpt help-mode easymenu view prog-mode electric
url-handlers url-parse auth-source warnings eieio byte-opt bytecomp
byte-compile cconv macroexp assoc gnus-util time-date password-cache
url-vars mm-util mail-prsvr reveal autoinsert uniquify advice help-fns
advice-preload savehist minibuf-eldef cl cl-loaddefs proof-site
proof-autoloads pg-vars bbdb-autoloads agda2 tooltip ediff-hook vc-hooks
lisp-float-type mwheel x-win x-dnd tool-bar dnd fontset image fringe
lisp-mode register page newcomment menu-bar rfn-eshadow timer select
scroll-bar mouse jit-lock font-lock syntax font-core frame cham georgian
utf-8-lang misc-lang vietnamese tibetan thai tai-viet lao korean
japanese hebrew greek romanian slovak czech european ethiopic indian
cyrillic chinese case-table epa-hook jka-cmpr-hook help simple abbrev
minibuffer loaddefs button faces cus-face files text-properties overlay
md5 base64 format env code-pages mule custom widget
hashtable-print-readable backquote make-network-process dbusbind
dynamic-setting system-font-setting font-render-setting x-toolkit
x multi-tty emacs)




Information forwarded to owner <at> debbugs.gnu.org, bug-gnu-emacs <at> gnu.org, bugs <at> gnus.org:
bug#8330; Package emacs,gnus. (Wed, 23 Mar 2011 21:10:03 GMT) Full text and rfc822 format available.

Message #8 received at 8330 <at> debbugs.gnu.org (full text, mbox):

From: Lennart Borgman <lennart.borgman <at> gmail.com>
To: Stefan Monnier <monnier <at> iro.umontreal.ca>
Cc: 8330 <at> debbugs.gnu.org
Subject: Re: bug#8330: Undefined macros during compilation in mm-util
Date: Wed, 23 Mar 2011 22:08:50 +0100
On Wed, Mar 23, 2011 at 6:58 PM, Stefan Monnier
<monnier <at> iro.umontreal.ca> wrote:
> Package: Emacs,Gnus
> Version: 24.0.50
>
> mm-til uses the mm-handle-type macro from mm-decode but doesn't require
> mm-decode, so the macro call is compiled as a function call, leading to
> runtime errors about invalid function.
>
> Adding a (require 'mm-decode) seems to lead to a circular require loop,
> so I'm not sure what's the best fix.

Move the macros to a new elisp file?




Information forwarded to owner <at> debbugs.gnu.org, bug-gnu-emacs <at> gnu.org, bugs <at> gnus.org:
bug#8330; Package emacs,gnus. (Thu, 24 Mar 2011 16:11:02 GMT) Full text and rfc822 format available.

Message #11 received at 8330 <at> debbugs.gnu.org (full text, mbox):

From: Luca Capello <luca <at> pca.it>
To: 8330 <at> debbugs.gnu.org
Cc: Lennart Borgman <lennart.borgman <at> gmail.com>,
	Stefan Monnier <monnier <at> iro.umontreal.ca>
Subject: Re: Undefined macros during compilation in mm-util
Date: Thu, 24 Mar 2011 17:09:46 +0100
[Message part 1 (text/plain, inline)]
severity 8330 important
thanks

Hi there!

On Wed, 23 Mar 2011 18:58:09 +0100, Stefan Monnier wrote:
> Package: Emacs,Gnus
> Version: 24.0.50
>
> mm-til uses the mm-handle-type macro from mm-decode but doesn't require
> mm-decode, so the macro call is compiled as a function call, leading to
> runtime errors about invalid function.

Severity: to important given that this causes most of the email in Gnus
to not be available (latest Debian emacs-snapshot package, version
20110323-1), for example with a post on debian-devel <at> lists.d.o:

  <http://lists.debian.org/msgid-search/%3c20110324144017.GD8136%40michelle1%3e>

=====
Debugger entered--Lisp error: (invalid-function mm-handle-type)
  mm-handle-type((#<buffer  *mm*<2>> ("text/plain" (charset . "iso-8859-1")) quoted-printable nil ("inline") nil nil nil))
  mm-handle-filename((#<buffer  *mm*<2>> ("text/plain" (charset . "iso-8859-1")) quoted-printable nil ("inline") nil nil nil))
  mm-display-inline-fontify((#<buffer  *mm*<2>> ("text/plain" (charset . "iso-8859-1")) quoted-printable nil ("inline") nil ni$
  mm-inline-text((#<buffer  *mm*<2>> ("text/plain" (charset . "iso-8859-1")) quoted-printable nil ("inline") nil nil nil))
  mm-display-inline((#<buffer  *mm*<2>> ("text/plain" (charset . "iso-8859-1")) quoted-printable nil ("inline") nil nil nil))
  mm-display-part((#<buffer  *mm*<2>> ("text/plain" (charset . "iso-8859-1")) quoted-printable nil ("inline") nil nil nil) t)
  byte-code("^H\203^W^@\306^H\211A^P@   \"\203^@^@\307\300\310\"\210\202^@^@\n\211^[\205\"^@\311\312^K!!)\203/^@r\nq\210\f)\20$
  gnus-mime-display-single((#<buffer  *mm*<2>> ("text/plain" (charset . "iso-8859-1")) quoted-printable nil ("inline") nil nil$
  gnus-mime-display-part((#<buffer  *mm*<2>> ("text/plain" (charset . "iso-8859-1")) quoted-printable nil ("inline") nil nil n$
  gnus-mime-display-security((#("multipart/signed" 0 16 (boundary "=_samba3-13102-1300977618-0001-2" protocol "application/pgp$
  gnus-mime-display-part((#("multipart/signed" 0 16 (boundary "=_samba3-13102-1300977618-0001-2" protocol "application/pgp-sig$
  gnus-display-mime()
  gnus-article-prepare-display()
  gnus-article-prepare(11517 nil)
  gnus-summary-display-article(11517 nil)
  gnus-summary-select-article(nil nil pseudo)
  gnus-summary-scroll-up(1)
  call-interactively(gnus-summary-scroll-up nil nil)
=====

FWIW, re-loading mm-util.el.gz (from Debian emacs-snapshot-el) solves it:

  (load-file "/usr/share/emacs/24.0.50/lisp/gnus/mm-util.el.gz")

> Adding a (require 'mm-decode) seems to lead to a circular require loop,
> so I'm not sure what's the best fix.

I guess because mm-decode requires mm-bodies which requires mm-util...

Thx, bye,
Gismo / Luca
                                    
In GNU Emacs 24.0.50.1 (x86_64-pc-linux-gnu, GTK+ Version 2.24.3)
 of 2011-03-23 on cigue, modified by Debian
 (emacs-snapshot package, version 1:20110323-1)
configured using `configure  '--build' 'x86_64-linux-gnu' '--host' 'x86_64-linux-gnu' '--prefix=/usr' '--sharedstatedir=/var/lib' '--libexecdir=/usr/lib' '--localstatedir=/var' '--infodir=/usr/share/info' '--mandir=/usr/share/man' '--with-pop=yes' '--enable-locallisppath=/etc/emacs-snapshot:/etc/emacs:/usr/local/share/emacs/24.0.50/site-lisp:/usr/local/share/emacs/site-lisp:/usr/share/emacs/24.0.50/site-lisp:/usr/share/emacs/site-lisp' '--without-compress-info' '--with-x=yes' '--with-x-toolkit=gtk' '--with-imagemagick=yes' 'build_alias=x86_64-linux-gnu' 'host_alias=x86_64-linux-gnu' 'CFLAGS=-DDEBIAN -DSITELOAD_PURESIZE_EXTRA=5000 -g -O2' 'LDFLAGS=-g -Wl,--as-needed' 'CPPFLAGS=''

Important settings:
  value of $LC_ALL: nil
  value of $LC_COLLATE: nil
  value of $LC_CTYPE: nil
  value of $LC_MESSAGES: en_US.UTF-8
  value of $LC_MONETARY: nil
  value of $LC_NUMERIC: en_US.UTF-8
  value of $LC_TIME: nil
  value of $LANG: en_US.UTF-8
  value of $XMODIFIERS: nil
  locale-coding-system: utf-8-unix
  default enable-multibyte-characters: t

Major mode: Summary

Minor modes in effect:
  gpm-mouse-mode: t
  display-battery-mode: t
  display-time-mode: t
  show-paren-mode: t
  mouse-wheel-mode: t
  file-name-shadow-mode: t
  global-font-lock-mode: t
  font-lock-mode: t
  auto-composition-mode: t
  auto-encryption-mode: t
  auto-compression-mode: t
  column-number-mode: t
  line-number-mode: t
  transient-mark-mode: t
[Message part 2 (application/pgp-signature, inline)]

Severity set to 'important' from 'normal' Request was from Luca Capello <luca <at> pca.it> to control <at> debbugs.gnu.org. (Thu, 24 Mar 2011 16:11:02 GMT) Full text and rfc822 format available.

Forcibly Merged 8330 8339. Request was from Glenn Morris <rgm <at> gnu.org> to control <at> debbugs.gnu.org. (Thu, 24 Mar 2011 19:12:01 GMT) Full text and rfc822 format available.

bug archived. Request was from Debbugs Internal Request <help-debbugs <at> gnu.org> to internal_control <at> debbugs.gnu.org. (Wed, 27 Apr 2011 11:24:04 GMT) Full text and rfc822 format available.

This bug report was last modified 14 years and 115 days ago.

Previous Next


GNU bug tracking system
Copyright (C) 1999 Darren O. Benham, 1997,2003 nCipher Corporation Ltd, 1994-97 Ian Jackson.