Subject: bug#12135: 24.1.50; compatibility between compiled files in emacs-24.1 and 24.2

From: Thierry Volpiatto <[email-masked]>
Date: Sat, 04 Aug 2012 11:27:36 +0200

When switching from Emacs-24.1 to Emacs-24.2 byte compiled files
containing `flet' are not compatible.

You can reproduce with helm:
https://github.com/emacs-helm/helm.git

1) Start in Emacs-24.2 (trunk)

2) get the latest version of helm
git clone https://github.com/emacs-helm/helm.git

3) cd to helm directory

4) Run make

5) Run ./emacs-helm.sh

6) Hit C-x c M-x

7) Enter "helm" in pattern prompt.

Ok good you have completion on all helm commands.

Now quit Emacs-24.2 and switch to Emacs-24.1.
Start from 5) and repeat 6) and 7)

You have no completion on helm commands.

Quit Emacs-24.1 and run make again to recompile helm files.
Start again from 5) and repeat 6) and 7)

Ok good you have completion on all helm commands.

You can read the code of `helm-M-x' in helm-command.el.

In GNU Emacs 24.1.50.1 (i686-pc-linux-gnu, X toolkit, Xaw3d scroll bars)
 of 2012-08-03 on thierry-MM061
Windowing system distributor `The X.Org Foundation', version 11.0.11103000
Configured using:
 `configure '--with-x-toolkit=lucid' '--with-wide-int' '--without-gconf'
 '--without-gsettings''

Important settings:
  value of $LANG: fr_FR.UTF-8
  locale-coding-system: utf-8-unix
  default enable-multibyte-characters: t

Major mode: Lisp Interaction

Minor modes in effect:
  global-undo-tree-mode: t
  undo-tree-mode: t
  auto-image-file-mode: t
  show-paren-mode: t
  display-time-mode: t
  savehist-mode: t
  minibuffer-depth-indicate-mode: t
  eldoc-mode: t
  helm-mode: t
  helm-dired-mode: Enable helm completion in Dired functions.
Bindings affected are C, R, S, H.
This is deprecated for Emacs24+ users, use `helm-mode' instead.
  shell-dirtrack-mode: t
  helm-match-plugin-mode: t
  diff-auto-refine-mode: t
  tooltip-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

Recent input:
M-x h e l m <right> C-g M-x r e p o r <down> t - e 
m a c s <down> <return>

Recent messages:
Restoring buffers...92%
OVERVIEW
Restoring buffers...94%
OVERVIEW
Restoring buffers...95%
OVERVIEW
Restoring buffers...done

Quit

Load-path shadows:
~/.emacs.d/emacs-config-laptop/.gnus hides ~/.emacs.d/.gnus
~/elisp/emacs-wget/lpath hides ~/elisp/auctex/lpath
~/elisp/magit/.dir-locals hides /usr/local/share/emacs/24.1.50/lisp/gnus/.dir-locals
~/elisp/emms/lisp/tq hides /usr/local/share/emacs/24.1.50/lisp/emacs-lisp/tq

Features:
(shadow gnus-dired nnir mail-extr gnus-msg emacsbug helm-misc
helm-command tabify org-table conf-mode vc-rcs sh-script smie executable
vc-git xgit-dvc xgit xgit-annotate dvc-annotate xgit-log dvc-revlist
jka-compr xhg-dvc bzr-core xdarcs-core xgit-core xmtn-minimal
naquadah-theme em-unix em-script em-prompt em-ls em-hist em-pred em-glob
em-dirs em-cmpl em-basic em-banner em-alias esh-var esh-io esh-cmd
esh-opt esh-ext esh-proc esh-groups eshell esh-module esh-mode align-let
server winner undo-tree diff slime-xref-browser slime-banner slime-tramp
slime-asdf slime-fancy slime-fontifying-fu slime-package-fu
slime-references slime-scratch slime-presentations slime-fuzzy
slime-fancy-inspector slime-c-p-c slime-editing-commands slime-autodoc
slime-parse slime-repl image-file newsticker newst-treeview tree-widget
newst-plainview newst-reader newst-ticker newst-backend xdvi-search
preview-latex pcomplete-extension em-term term disp-table ehelp electric
helm-ipython helm-elisp helm-eval python rx whitespace paren time avoid
savehist smtpmail-async smtpmail sendmail helm-async markdown-mode
org-google-weather google-weather url-cache iterator googlecl
google-maps google-maps-static google-maps-geocode google-maps-base json
simple-call-tree el-expectations el-mock csv2org iedit rect zop-to-char
smallurl mm-url rectangle-utils tv-utils async pcvs pcvs-parse pcvs-info
pcvs-defs mb-depth ioccur cl-info slime hyperspec slime-autoloads
ledger-config ledger esh-arg esh-util tex-site auto-loads esh-toggle
flymake eldoc-eval eldoc no-word regex-tool dired-extension
emms-mpd-config emms-playlist-limit emms-volume emms-volume-amixer
emms-i18n emms-history emms-score emms-stream-info
emms-metaplaylist-mode emms-bookmarks emms-cue emms-mode-line-icon
emms-browser sort emms-playlist-sort emms-last-played emms-player-xine
emms-player-mpd tq emms-playing-time emms-lyrics emms-url hl-line
emms-tag-editor emms-mark emms-mode-line emms-cache emms-info-ogginfo
emms-info-mp3info emms-playlist-mode emms-player-vlc emms-player-mplayer
emms-info emms-streams later-do emms-source-playlist emms-source-file
emms-player-simple emms-setup emms emms-compat dvc-init bzr-gnus
tla-gnus xgit-gnus xhg-gnus gnus-art mm-uu mml2015 mm-view mml-smime
smime dig gnus-sum nnoo gnus-group gnus-undo nnmail mail-source
gnus-start gnus-spec gnus-int gnus-range gnus-win gnus gnus-ems nnheader
dvc-gnus tla-core tla-autoconf tla-defs dvc-log vc vc-dispatcher
ediff-merg ediff-diff ediff-wind ediff-help ediff-util ediff-mult
ediff-init ediff dvc-autoloads magit-stgit magit-bisect magit-key-mode
magit log-edit pcvs-util add-log htmlize-hack htmlize muse-colors
muse-docbook muse-texinfo texnfo-upd texinfo muse-latex muse-html
muse-xml-common muse-wiki cus-edit cus-start cus-load muse-publish
muse-project muse-protocols muse-regexps wid-edit muse muse-nested-tags
muse-mode muse-autoloads org-config-thierry ob-sh org-crypt cal-china
lunar solar cal-dst cal-bahai cal-islam cal-hebrew holidays hol-loaddefs
vc-hg org-wl org-w3m org-vm org-rmail org-mhe org-mew org-irc org-jsinfo
org-infojs org-html org-exp ob-exp org-exp-blocks find-func org-info
org-gnus org-docview org-bibtex bibtex org-bbdb org-agenda appt
diary-lib diary-loaddefs org-annotation-helper org-capture org-mks
remember org-remember org-datetree addressbook-bookmark message rfc822
mml mml-sec mm-decode mm-bodies mm-encode mail-parse rfc2231 rfc2047
rfc2045 ietf-drums mailabbrev mail-utils gmm-utils mailheader
firefox-protocol bookmark-firefox-handler bookmark-extensions org
ob-emacs-lisp ob-tangle ob-ref ob-lob ob-table org-footnote org-src
ob-comint ob-keys ob ob-eval org-pcomplete org-list org-faces org-compat
org-entities org-macs noutline outline cal-menu calendar cal-loaddefs
bookmark pp init-helm-thierry helm-mode helm-ls-git helm-files
image-dired tramp tramp-compat tramp-loaddefs shell pcomplete
format-spec dired-aux ffap thingatpt helm-buffers helm-elscreen
helm-tags helm-bookmark helm-adaptative helm-info helm-net browse-url
url url-proxy url-privacy url-expand url-methods url-history url-cookie
url-domsuf url-util url-parse url-vars mailcap helm-plugin helm-help
helm-match-plugin helm-grep helm-regexp grep helm-external helm-utils
compile comint ansi-color ring helm-descbinds helm-delicious xml
helm-mercurial xhg xhg-annotate xhg-mq xhg-log xhg-core dvc-diff
uniquify dvc-fileinfo dvc-unified dvc-tips diff-mode easy-mmode dvc-core
dvc-lisp dvc-buffers dvc-ui dvc-register dvc-utils dvc-emacs ewoc
dvc-defs dvc-site dired-x cl-macs gv dired helm-locate helm warnings
advice help-fns advice-preload helm-config edmacro kmacro epa-file epa
derived epg epg-config auth-source eieio byte-opt bytecomp byte-compile
cconv gnus-util time-date mm-util mail-prsvr password-cache usage-memo
cl cl-lib macroexp info easymenu tooltip ediff-hook vc-hooks
lisp-float-type mwheel x-win x-dnd tool-bar dnd fontset image regexp-opt
fringe tabulated-list newcomment lisp-mode register page menu-bar
rfn-eshadow timer select scroll-bar mouse jit-lock font-lock syntax
facemenu 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 sha1 md5 base64 format env
code-pages mule custom widget hashtable-print-readable backquote
make-network-process dbusbind dynamic-setting font-render-setting
x-toolkit x multi-tty emacs)

-- 
  Thierry
Get my Gnupg key:
gpg --keyserver pgp.mit.edu --recv-keys 59F29997