Package: emacs24
Version: 24.4+1-5
User: [email protected]
Usertags: randomness

emacs24 is not currently reproducible, for many reasons.  One of those
reasons is that .el files are generated with hash tables and lists that
are ordered stochastically.  Sorting the lists or hashtables before
generating the .el should avoid this particular problem.

One example can be seen in the difference in
/usr/share/emacs/24.4/lisp/finder-inf.el from here:

https://reproducible.debian.net/dbd/unstable/amd64/emacs24_24.4+1-5.debbindiff.html

compare the list after "convenience" here, which sorts the first 13
items differently on each build:

​convenience·​(table·​picture·​emacs·​makeinfo·​flyspell·​calc·​keypad·​cua-​base·​erc·​diff-​mode·​compare-​w·​winner·​windmove·​vcursor·​tmm·​ruler-​mode·​repeat·​pcomplete·​minibuf-​eldef·​mb-​depth·​linum·​kmacro·​json·​imenu·​ido·​ibuffer·​hippie-​exp·​frameset·​follow·​filesets·​filecache·​ffap·​ebuff-​menu·​desktop·​delsel·​dabbrev·​completion·​chistory·​calculator·​bs·​autorevert·​autoinsert·​align)​

​convenience·​(emacs·​keypad·​cua-​base·​diff-​mode·​compare-​w·​calc·​erc·​table·​picture·​makeinfo·​flyspell·​winner·​windmove·​vcursor·​tmm·​ruler-​mode·​repeat·​pcomplete·​minibuf-​eldef·​mb-​depth·​linum·​kmacro·​json·​imenu·​ido·​ibuffer·​hippie-​exp·​frameset·​follow·​filesets·​filecache·​ffap·​ebuff-​menu·​desktop·​delsel·​dabbrev·​completion·​chistory·​calculator·​bs·​autorevert·​autoinsert·​align)​


This file is generated in lisp/Makefile.in with:

        $(emacs) -l finder \
          --eval '(setq generated-finder-keywords-file (unmsys--file-name 
"$(srcdir)/finder-inf.el"))' \
          -f finder-compile-keywords-make-dist $$wins


which maps back to finder-compile-keywords in lisp/finder.el.  Maybe
someplace in that function can do a sort before emitting the file?

Sorry to not be enough of an elisp hacker to provide a patch directly.

      --dkg

Reply via email to