unofficial mirror of bug-gnu-emacs@gnu.org 
 help / color / mirror / code / Atom feed
* bug#27253: 25.2; Suggestion: On startup after Emacs version change, package should offer to correct invalid bytecode
@ 2017-06-05 15:19 N. Jackson
  2022-05-17 19:08 ` Lars Ingebrigtsen
  0 siblings, 1 reply; 5+ messages in thread
From: N. Jackson @ 2017-06-05 15:19 UTC (permalink / raw)
  To: 27253

It would be nice on Emacs startup, if Package could detect
incompatible byte code in packages compiled with a different
version of Emacs, and offer to recompile them.

What happens now in this situation is that on startup a message is
displayed complaining of invalid byte code in the user's init file
which is slightly confusing, and not very helpful. [Or, at least,
not as helpful as offering to recompile the offending package.]


In GNU Emacs 25.2.1 (x86_64-unknown-linux-gnu, GTK+ Version 3.22.11)
 of 2017-04-26 built on moondust.localdomain
Windowing system distributor 'Fedora Project', version 11.0.11903000
System Description:	Fedora release 25 (Twenty Five)

Configured features:
XPM JPEG TIFF GIF PNG RSVG IMAGEMAGICK SOUND DBUS GSETTINGS NOTIFY ACL
LIBSELINUX GNUTLS LIBXML2 FREETYPE LIBOTF XFT ZLIB TOOLKIT_SCROLL_BARS
GTK3 X11

Important settings:
  value of $LANG: en_CA.UTF-8
  value of $XMODIFIERS: @im=none
  locale-coding-system: utf-8-unix

Major mode: Group

Minor modes in effect:
  diff-auto-refine-mode: t
  TeX-PDF-mode: t
  pdf-occur-global-minor-mode: t
  gnus-undo-mode: t
  shell-dirtrack-mode: t
  recentf-mode: t
  display-battery-mode: t
  display-time-mode: t
  show-paren-mode: t
  savehist-mode: t
  save-place-mode: t
  electric-pair-mode: t
  desktop-save-mode: t
  delete-selection-mode: t
  cua-mode: t
  tooltip-mode: t
  global-eldoc-mode: t
  electric-indent-mode: t
  mouse-wheel-mode: t
  file-name-shadow-mode: t
  global-font-lock-mode: t
  font-lock-mode: t
  blink-cursor-mode: t
  auto-composition-mode: t
  auto-encryption-mode: t
  auto-compression-mode: t
  temp-buffer-resize-mode: t
  buffer-read-only: t
  size-indication-mode: t
  column-number-mode: t
  line-number-mode: t
  global-visual-line-mode: t
  visual-line-mode: t
  transient-mark-mode: t

Load-path shadows:
/home/nlj/.emacs.d/elpa/org-plus-contrib-20170515/org-contacts hides ~/.emacs.d/modules/org-contacts
/home/nlj/.emacs.d/elpa/org-plus-contrib-20170515/org-habit hides /data/projects/vc/emacs/emacs-25.2/lisp/org/org-habit
/home/nlj/.emacs.d/elpa/org-plus-contrib-20170515/ob-python hides /data/projects/vc/emacs/emacs-25.2/lisp/org/ob-python
/home/nlj/.emacs.d/elpa/org-plus-contrib-20170515/ob-clojure hides /data/projects/vc/emacs/emacs-25.2/lisp/org/ob-clojure
/home/nlj/.emacs.d/elpa/org-plus-contrib-20170515/ox-md hides /data/projects/vc/emacs/emacs-25.2/lisp/org/ox-md
/home/nlj/.emacs.d/elpa/org-plus-contrib-20170515/org-macs hides /data/projects/vc/emacs/emacs-25.2/lisp/org/org-macs
/home/nlj/.emacs.d/elpa/org-plus-contrib-20170515/ox-odt hides /data/projects/vc/emacs/emacs-25.2/lisp/org/ox-odt
/home/nlj/.emacs.d/elpa/org-plus-contrib-20170515/ox-texinfo hides /data/projects/vc/emacs/emacs-25.2/lisp/org/ox-texinfo
/home/nlj/.emacs.d/elpa/org-plus-contrib-20170515/org-protocol hides /data/projects/vc/emacs/emacs-25.2/lisp/org/org-protocol
/home/nlj/.emacs.d/elpa/org-plus-contrib-20170515/ob-io hides /data/projects/vc/emacs/emacs-25.2/lisp/org/ob-io
/home/nlj/.emacs.d/elpa/org-plus-contrib-20170515/org-list hides /data/projects/vc/emacs/emacs-25.2/lisp/org/org-list
/home/nlj/.emacs.d/elpa/org-plus-contrib-20170515/ob-scheme hides /data/projects/vc/emacs/emacs-25.2/lisp/org/ob-scheme
/home/nlj/.emacs.d/elpa/org-plus-contrib-20170515/ob hides /data/projects/vc/emacs/emacs-25.2/lisp/org/ob
/home/nlj/.emacs.d/elpa/org-plus-contrib-20170515/org-docview hides /data/projects/vc/emacs/emacs-25.2/lisp/org/org-docview
/home/nlj/.emacs.d/elpa/org-plus-contrib-20170515/ob-latex hides /data/projects/vc/emacs/emacs-25.2/lisp/org/ob-latex
/home/nlj/.emacs.d/elpa/org-plus-contrib-20170515/ox-html hides /data/projects/vc/emacs/emacs-25.2/lisp/org/ox-html
/home/nlj/.emacs.d/elpa/org-plus-contrib-20170515/org-ctags hides /data/projects/vc/emacs/emacs-25.2/lisp/org/org-ctags
/home/nlj/.emacs.d/elpa/org-plus-contrib-20170515/org-src hides /data/projects/vc/emacs/emacs-25.2/lisp/org/org-src
/home/nlj/.emacs.d/elpa/org-plus-contrib-20170515/ob-octave hides /data/projects/vc/emacs/emacs-25.2/lisp/org/ob-octave
/home/nlj/.emacs.d/elpa/org-plus-contrib-20170515/org-w3m hides /data/projects/vc/emacs/emacs-25.2/lisp/org/org-w3m
/home/nlj/.emacs.d/elpa/org-plus-contrib-20170515/org-bibtex hides /data/projects/vc/emacs/emacs-25.2/lisp/org/org-bibtex
/home/nlj/.emacs.d/elpa/org-plus-contrib-20170515/org-info hides /data/projects/vc/emacs/emacs-25.2/lisp/org/org-info
/home/nlj/.emacs.d/elpa/org-plus-contrib-20170515/ox-beamer hides /data/projects/vc/emacs/emacs-25.2/lisp/org/ox-beamer
/home/nlj/.emacs.d/elpa/org-plus-contrib-20170515/ob-maxima hides /data/projects/vc/emacs/emacs-25.2/lisp/org/ob-maxima
/home/nlj/.emacs.d/elpa/org-plus-contrib-20170515/org-table hides /data/projects/vc/emacs/emacs-25.2/lisp/org/org-table
/home/nlj/.emacs.d/elpa/org-plus-contrib-20170515/ob-R hides /data/projects/vc/emacs/emacs-25.2/lisp/org/ob-R
/home/nlj/.emacs.d/elpa/org-plus-contrib-20170515/ox-publish hides /data/projects/vc/emacs/emacs-25.2/lisp/org/ox-publish
/home/nlj/.emacs.d/elpa/org-plus-contrib-20170515/ob-mscgen hides /data/projects/vc/emacs/emacs-25.2/lisp/org/ob-mscgen
/home/nlj/.emacs.d/elpa/org-plus-contrib-20170515/ob-scala hides /data/projects/vc/emacs/emacs-25.2/lisp/org/ob-scala
/home/nlj/.emacs.d/elpa/org-plus-contrib-20170515/ob-keys hides /data/projects/vc/emacs/emacs-25.2/lisp/org/ob-keys
/home/nlj/.emacs.d/elpa/org-plus-contrib-20170515/ob-css hides /data/projects/vc/emacs/emacs-25.2/lisp/org/ob-css
/home/nlj/.emacs.d/elpa/org-plus-contrib-20170515/ob-haskell hides /data/projects/vc/emacs/emacs-25.2/lisp/org/ob-haskell
/home/nlj/.emacs.d/elpa/org-plus-contrib-20170515/ob-picolisp hides /data/projects/vc/emacs/emacs-25.2/lisp/org/ob-picolisp
/home/nlj/.emacs.d/elpa/org-plus-contrib-20170515/org-timer hides /data/projects/vc/emacs/emacs-25.2/lisp/org/org-timer
/home/nlj/.emacs.d/elpa/org-plus-contrib-20170515/org-feed hides /data/projects/vc/emacs/emacs-25.2/lisp/org/org-feed
/home/nlj/.emacs.d/elpa/org-plus-contrib-20170515/ob-emacs-lisp hides /data/projects/vc/emacs/emacs-25.2/lisp/org/ob-emacs-lisp
/home/nlj/.emacs.d/elpa/org-plus-contrib-20170515/org-mhe hides /data/projects/vc/emacs/emacs-25.2/lisp/org/org-mhe
/home/nlj/.emacs.d/elpa/org-plus-contrib-20170515/ob-exp hides /data/projects/vc/emacs/emacs-25.2/lisp/org/ob-exp
/home/nlj/.emacs.d/elpa/org-plus-contrib-20170515/org-rmail hides /data/projects/vc/emacs/emacs-25.2/lisp/org/org-rmail
/home/nlj/.emacs.d/elpa/org-plus-contrib-20170515/org-attach hides /data/projects/vc/emacs/emacs-25.2/lisp/org/org-attach
/home/nlj/.emacs.d/elpa/org-plus-contrib-20170515/ob-lilypond hides /data/projects/vc/emacs/emacs-25.2/lisp/org/ob-lilypond
/home/nlj/.emacs.d/elpa/org-plus-contrib-20170515/org-version hides /data/projects/vc/emacs/emacs-25.2/lisp/org/org-version
/home/nlj/.emacs.d/elpa/org-plus-contrib-20170515/ob-makefile hides /data/projects/vc/emacs/emacs-25.2/lisp/org/ob-makefile
/home/nlj/.emacs.d/elpa/org-plus-contrib-20170515/ob-sql hides /data/projects/vc/emacs/emacs-25.2/lisp/org/ob-sql
/home/nlj/.emacs.d/elpa/org-plus-contrib-20170515/ob-lob hides /data/projects/vc/emacs/emacs-25.2/lisp/org/ob-lob
/home/nlj/.emacs.d/elpa/org-plus-contrib-20170515/ob-java hides /data/projects/vc/emacs/emacs-25.2/lisp/org/ob-java
/home/nlj/.emacs.d/elpa/org-plus-contrib-20170515/org-loaddefs hides /data/projects/vc/emacs/emacs-25.2/lisp/org/org-loaddefs
/home/nlj/.emacs.d/elpa/org-plus-contrib-20170515/org-element hides /data/projects/vc/emacs/emacs-25.2/lisp/org/org-element
/home/nlj/.emacs.d/elpa/org-plus-contrib-20170515/org-id hides /data/projects/vc/emacs/emacs-25.2/lisp/org/org-id
/home/nlj/.emacs.d/elpa/org-plus-contrib-20170515/org-crypt hides /data/projects/vc/emacs/emacs-25.2/lisp/org/org-crypt
/home/nlj/.emacs.d/elpa/org-plus-contrib-20170515/org hides /data/projects/vc/emacs/emacs-25.2/lisp/org/org
/home/nlj/.emacs.d/elpa/org-plus-contrib-20170515/org-plot hides /data/projects/vc/emacs/emacs-25.2/lisp/org/org-plot
/home/nlj/.emacs.d/elpa/org-plus-contrib-20170515/ob-ruby hides /data/projects/vc/emacs/emacs-25.2/lisp/org/ob-ruby
/home/nlj/.emacs.d/elpa/org-plus-contrib-20170515/ob-matlab hides /data/projects/vc/emacs/emacs-25.2/lisp/org/ob-matlab
/home/nlj/.emacs.d/elpa/org-plus-contrib-20170515/ob-ditaa hides /data/projects/vc/emacs/emacs-25.2/lisp/org/ob-ditaa
/home/nlj/.emacs.d/elpa/org-plus-contrib-20170515/org-irc hides /data/projects/vc/emacs/emacs-25.2/lisp/org/org-irc
/home/nlj/.emacs.d/elpa/org-plus-contrib-20170515/org-gnus hides /data/projects/vc/emacs/emacs-25.2/lisp/org/org-gnus
/home/nlj/.emacs.d/elpa/org-plus-contrib-20170515/ob-C hides /data/projects/vc/emacs/emacs-25.2/lisp/org/ob-C
/home/nlj/.emacs.d/elpa/org-plus-contrib-20170515/ob-comint hides /data/projects/vc/emacs/emacs-25.2/lisp/org/ob-comint
/home/nlj/.emacs.d/elpa/org-plus-contrib-20170515/org-colview hides /data/projects/vc/emacs/emacs-25.2/lisp/org/org-colview
/home/nlj/.emacs.d/elpa/org-plus-contrib-20170515/ob-tangle hides /data/projects/vc/emacs/emacs-25.2/lisp/org/ob-tangle
/home/nlj/.emacs.d/elpa/org-plus-contrib-20170515/ob-dot hides /data/projects/vc/emacs/emacs-25.2/lisp/org/ob-dot
/home/nlj/.emacs.d/elpa/org-plus-contrib-20170515/org-mobile hides /data/projects/vc/emacs/emacs-25.2/lisp/org/org-mobile
/home/nlj/.emacs.d/elpa/org-plus-contrib-20170515/org-eshell hides /data/projects/vc/emacs/emacs-25.2/lisp/org/org-eshell
/home/nlj/.emacs.d/elpa/org-plus-contrib-20170515/ob-sass hides /data/projects/vc/emacs/emacs-25.2/lisp/org/ob-sass
/home/nlj/.emacs.d/elpa/org-plus-contrib-20170515/ob-gnuplot hides /data/projects/vc/emacs/emacs-25.2/lisp/org/ob-gnuplot
/home/nlj/.emacs.d/elpa/org-plus-contrib-20170515/ox-icalendar hides /data/projects/vc/emacs/emacs-25.2/lisp/org/ox-icalendar
/home/nlj/.emacs.d/elpa/org-plus-contrib-20170515/ox-man hides /data/projects/vc/emacs/emacs-25.2/lisp/org/ox-man
/home/nlj/.emacs.d/elpa/org-plus-contrib-20170515/org-capture hides /data/projects/vc/emacs/emacs-25.2/lisp/org/org-capture
/home/nlj/.emacs.d/elpa/org-plus-contrib-20170515/ob-plantuml hides /data/projects/vc/emacs/emacs-25.2/lisp/org/ob-plantuml
/home/nlj/.emacs.d/elpa/org-plus-contrib-20170515/org-footnote hides /data/projects/vc/emacs/emacs-25.2/lisp/org/org-footnote
/home/nlj/.emacs.d/elpa/org-plus-contrib-20170515/org-clock hides /data/projects/vc/emacs/emacs-25.2/lisp/org/org-clock
/home/nlj/.emacs.d/elpa/org-plus-contrib-20170515/ob-js hides /data/projects/vc/emacs/emacs-25.2/lisp/org/ob-js
/home/nlj/.emacs.d/elpa/org-plus-contrib-20170515/ox-latex hides /data/projects/vc/emacs/emacs-25.2/lisp/org/ox-latex
/home/nlj/.emacs.d/elpa/org-plus-contrib-20170515/ox-ascii hides /data/projects/vc/emacs/emacs-25.2/lisp/org/ox-ascii
/home/nlj/.emacs.d/elpa/org-plus-contrib-20170515/ob-ref hides /data/projects/vc/emacs/emacs-25.2/lisp/org/ob-ref
/home/nlj/.emacs.d/elpa/org-plus-contrib-20170515/ob-ocaml hides /data/projects/vc/emacs/emacs-25.2/lisp/org/ob-ocaml
/home/nlj/.emacs.d/elpa/org-plus-contrib-20170515/org-agenda hides /data/projects/vc/emacs/emacs-25.2/lisp/org/org-agenda
/home/nlj/.emacs.d/elpa/org-plus-contrib-20170515/org-indent hides /data/projects/vc/emacs/emacs-25.2/lisp/org/org-indent
/home/nlj/.emacs.d/elpa/org-plus-contrib-20170515/ob-core hides /data/projects/vc/emacs/emacs-25.2/lisp/org/ob-core
/home/nlj/.emacs.d/elpa/org-plus-contrib-20170515/org-pcomplete hides /data/projects/vc/emacs/emacs-25.2/lisp/org/org-pcomplete
/home/nlj/.emacs.d/elpa/org-plus-contrib-20170515/org-datetree hides /data/projects/vc/emacs/emacs-25.2/lisp/org/org-datetree
/home/nlj/.emacs.d/elpa/org-plus-contrib-20170515/ob-ledger hides /data/projects/vc/emacs/emacs-25.2/lisp/org/ob-ledger
/home/nlj/.emacs.d/elpa/org-plus-contrib-20170515/ob-shen hides /data/projects/vc/emacs/emacs-25.2/lisp/org/ob-shen
/home/nlj/.emacs.d/elpa/org-plus-contrib-20170515/org-entities hides /data/projects/vc/emacs/emacs-25.2/lisp/org/org-entities
/home/nlj/.emacs.d/elpa/org-plus-contrib-20170515/org-macro hides /data/projects/vc/emacs/emacs-25.2/lisp/org/org-macro
/home/nlj/.emacs.d/elpa/org-plus-contrib-20170515/org-mouse hides /data/projects/vc/emacs/emacs-25.2/lisp/org/org-mouse
/home/nlj/.emacs.d/elpa/org-plus-contrib-20170515/ob-sqlite hides /data/projects/vc/emacs/emacs-25.2/lisp/org/ob-sqlite
/home/nlj/.emacs.d/elpa/org-plus-contrib-20170515/ox-org hides /data/projects/vc/emacs/emacs-25.2/lisp/org/ox-org
/home/nlj/.emacs.d/elpa/org-plus-contrib-20170515/ob-screen hides /data/projects/vc/emacs/emacs-25.2/lisp/org/ob-screen
/home/nlj/.emacs.d/elpa/org-plus-contrib-20170515/ob-asymptote hides /data/projects/vc/emacs/emacs-25.2/lisp/org/ob-asymptote
/home/nlj/.emacs.d/elpa/org-plus-contrib-20170515/ob-eval hides /data/projects/vc/emacs/emacs-25.2/lisp/org/ob-eval
/home/nlj/.emacs.d/elpa/org-plus-contrib-20170515/org-archive hides /data/projects/vc/emacs/emacs-25.2/lisp/org/org-archive
/home/nlj/.emacs.d/elpa/org-plus-contrib-20170515/ox hides /data/projects/vc/emacs/emacs-25.2/lisp/org/ox
/home/nlj/.emacs.d/elpa/org-plus-contrib-20170515/ob-org hides /data/projects/vc/emacs/emacs-25.2/lisp/org/ob-org
/home/nlj/.emacs.d/elpa/org-plus-contrib-20170515/ob-perl hides /data/projects/vc/emacs/emacs-25.2/lisp/org/ob-perl
/home/nlj/.emacs.d/elpa/org-plus-contrib-20170515/org-faces hides /data/projects/vc/emacs/emacs-25.2/lisp/org/org-faces
/home/nlj/.emacs.d/elpa/org-plus-contrib-20170515/org-bbdb hides /data/projects/vc/emacs/emacs-25.2/lisp/org/org-bbdb
/home/nlj/.emacs.d/elpa/org-plus-contrib-20170515/org-compat hides /data/projects/vc/emacs/emacs-25.2/lisp/org/org-compat
/home/nlj/.emacs.d/elpa/org-plus-contrib-20170515/ob-lisp hides /data/projects/vc/emacs/emacs-25.2/lisp/org/ob-lisp
/home/nlj/.emacs.d/elpa/org-plus-contrib-20170515/org-install hides /data/projects/vc/emacs/emacs-25.2/lisp/org/org-install
/home/nlj/.emacs.d/elpa/org-plus-contrib-20170515/ob-awk hides /data/projects/vc/emacs/emacs-25.2/lisp/org/ob-awk
/home/nlj/.emacs.d/elpa/org-plus-contrib-20170515/ob-calc hides /data/projects/vc/emacs/emacs-25.2/lisp/org/ob-calc
/home/nlj/.emacs.d/elpa/org-plus-contrib-20170515/org-inlinetask hides /data/projects/vc/emacs/emacs-25.2/lisp/org/org-inlinetask
/home/nlj/.emacs.d/elpa/org-plus-contrib-20170515/ob-table hides /data/projects/vc/emacs/emacs-25.2/lisp/org/ob-table
/home/nlj/.emacs.d/elpa/org-plus-contrib-20170515/ob-fortran hides /data/projects/vc/emacs/emacs-25.2/lisp/org/ob-fortran
/home/nlj/.emacs.d/elpa/soap-client-3.1.2/soap-client hides /data/projects/vc/emacs/emacs-25.2/lisp/net/soap-client
/home/nlj/.emacs.d/elpa/soap-client-3.1.2/soap-inspect hides /data/projects/vc/emacs/emacs-25.2/lisp/net/soap-inspect

Features:
(shadow sort bbdb-message mail-extr emacsbug sendmail mm-archive
url-http url-gw url-cache url-auth url-handlers nnrss mm-url url
url-proxy url-privacy url-expand url-methods url-history url-cookie
url-domsuf url-util url-parse url-vars nndraft nnmh utf-7 server
pinentry epa-file epa derived network-stream nsm starttls nnfolder
bbdb-gnus bbdb-mua nnnil gnus-agent gnus-srvr gnus-score score-mode
nnvirtual gnus-msg nntp gnus-cache latexenc preview prv-emacs view
cc-mode cc-fonts cc-guess cc-menus cc-cmds cc-styles cc-align cc-engine
cc-vars cc-defs cdlatex texmathp vc-git diff-mode font-latex plain-tex
tex-buf latex tex-ispell tex-style tex dbus xml tex-mode flyspell ispell
ox-koma-letter ox-odt rng-loc rng-uri rng-parse rng-match rng-dt
rng-util rng-pttrn nxml-parse nxml-ns nxml-enc xmltok nxml-util
ox-icalendar ox-html table ox-beamer ox-latex ox-ascii ox-publish ox
pdf-occur ibuf-ext ibuffer tablist tablist-filter semantic/wisent/comp
semantic/wisent semantic/wisent/wisent semantic/util-modes semantic/util
semantic semantic/tag semantic/lex semantic/fw mode-local cedet
pdf-isearch let-alist pdf-misc imenu pdf-tools compile cus-edit pdf-view
bookmark pp pdf-cache pdf-info tq pdf-util org-contacts org-capture
gnus-art mm-uu mml2015 mm-view mml-smime smime dig mailcap gnus-sum
gnus-group gnus-undo gnus-start gnus-cloud nnimap nnmail mail-source tls
gnutls utf7 netrc nnoo parse-time gnus-spec gnus-int gnus-range message
rfc822 mml mml-sec epg mm-decode mm-bodies mm-encode mail-parse rfc2231
rfc2047 rfc2045 ietf-drums gmm-utils mailheader gnus-win gnus gnus-ems
nnheader mail-utils org-eldoc org-w3m org-rmail org-mhe org-irc org-info
org-habit org-gnus org-docview doc-view subr-x jka-compr image-mode
dired org-bibtex bibtex org-bbdb org-agenda org-element avl-tree org
org-macro org-footnote org-pcomplete org-list org-faces org-entities
noutline outline easy-mmode org-version ob-shell ob-R ob-python
ob-plantuml ob-org ob-gnuplot ob-ditaa ob-calc calc-store calc-trail
calc-ext calc calc-loaddefs calc-macs ob-awk ob-dot ob-maxima ob-latex
ob-emacs-lisp ob ob-tangle org-src ob-ref ob-lob ob-table ob-keys ob-exp
ob-comint tramp tramp-compat auth-source cl-seq eieio eieio-core cl-macs
gnus-util mm-util help-fns mail-prsvr password-cache tramp-loaddefs
trampver ucs-normalize shell pcomplete advice comint ansi-color ring
ob-core ob-eval org-compat org-macs org-loaddefs format-spec find-func
bbdb-anniv diary-lib diary-loaddefs cal-menu calendar cal-loaddefs
bbdb-com crm mailabbrev bbdb bbdb-site timezone bbdb-loaddefs finder-inf
tex-site info package epg-config seq byte-opt gv bytecomp byte-compile
cl-extra help-mode cconv edmacro kmacro recentf tree-widget wid-edit
easymenu battery time wheatgrass-theme paren savehist saveplace
elec-pair desktop frameset cl-loaddefs pcase cl-lib delsel cua-base
cus-start cus-load time-date mule-util tooltip eldoc electric uniquify
ediff-hook vc-hooks lisp-float-type mwheel x-win term/common-win x-dnd
tool-bar dnd fontset image regexp-opt fringe tabulated-list newcomment
elisp-mode lisp-mode prog-mode register page menu-bar rfn-eshadow timer
select scroll-bar mouse jit-lock font-lock syntax facemenu font-core
frame cl-generic cham georgian utf-8-lang misc-lang vietnamese tibetan
thai tai-viet lao korean japanese eucjp-ms cp51932 hebrew greek romanian
slovak czech european ethiopic indian cyrillic chinese charscript
case-table epa-hook jka-cmpr-hook help simple abbrev minibuffer
cl-preloaded nadvice loaddefs button faces cus-face macroexp files
text-properties overlay sha1 md5 base64 format env code-pages mule
custom widget hashtable-print-readable backquote dbusbind inotify
dynamic-setting system-font-setting font-render-setting move-toolbar gtk
x-toolkit x multi-tty make-network-process emacs)

Memory information:
((conses 16 686459 29249)
 (symbols 48 109469 0)
 (miscs 40 20792 11437)
 (strings 32 173511 14163)
 (string-bytes 1 6050287)
 (vectors 16 74872)
 (vector-slots 8 1180979 10259)
 (floats 8 640 309)
 (intervals 56 4626 0)
 (buffers 976 206))





^ permalink raw reply	[flat|nested] 5+ messages in thread

* bug#27253: 25.2; Suggestion: On startup after Emacs version change, package should offer to correct invalid bytecode
  2017-06-05 15:19 bug#27253: 25.2; Suggestion: On startup after Emacs version change, package should offer to correct invalid bytecode N. Jackson
@ 2022-05-17 19:08 ` Lars Ingebrigtsen
  2022-06-15 16:44   ` Lars Ingebrigtsen
  0 siblings, 1 reply; 5+ messages in thread
From: Lars Ingebrigtsen @ 2022-05-17 19:08 UTC (permalink / raw)
  To: N. Jackson; +Cc: 27253

nljlistbox2@gmail.com (N. Jackson) writes:

> It would be nice on Emacs startup, if Package could detect
> incompatible byte code in packages compiled with a different
> version of Emacs, and offer to recompile them.
>
> What happens now in this situation is that on startup a message is
> displayed complaining of invalid byte code in the user's init file
> which is slightly confusing, and not very helpful. [Or, at least,
> not as helpful as offering to recompile the offending package.]

(I'm going through old bug reports that unfortunately weren't resolved
at the time.)

Do you have an example of such a message on startup?

In general, it's not just invalid bytecode that's a problem, but also
other things like macros that have changed definitions (so the old
.elc doesn't quite work right).  But that's hard to detect.

There should perhaps be a command to recompile all installed packages?
Or does that exist somewhere?  (I don't see any such command...)

-- 
(domestic pets only, the antidote for overdose, milk.)
   bloggy blog: http://lars.ingebrigtsen.no





^ permalink raw reply	[flat|nested] 5+ messages in thread

* bug#27253: 25.2; Suggestion: On startup after Emacs version change, package should offer to correct invalid bytecode
  2022-05-17 19:08 ` Lars Ingebrigtsen
@ 2022-06-15 16:44   ` Lars Ingebrigtsen
  2022-06-15 17:18     ` Stefan Monnier via Bug reports for GNU Emacs, the Swiss army knife of text editors
  0 siblings, 1 reply; 5+ messages in thread
From: Lars Ingebrigtsen @ 2022-06-15 16:44 UTC (permalink / raw)
  To: N. Jackson; +Cc: Stefan Monnier, 27253

Lars Ingebrigtsen <larsi@gnus.org> writes:

> There should perhaps be a command to recompile all installed packages?
> Or does that exist somewhere?  (I don't see any such command...)

Perhaps Stefan knows; added to the CCs.

-- 
(domestic pets only, the antidote for overdose, milk.)
   bloggy blog: http://lars.ingebrigtsen.no





^ permalink raw reply	[flat|nested] 5+ messages in thread

* bug#27253: 25.2; Suggestion: On startup after Emacs version change, package should offer to correct invalid bytecode
  2022-06-15 16:44   ` Lars Ingebrigtsen
@ 2022-06-15 17:18     ` Stefan Monnier via Bug reports for GNU Emacs, the Swiss army knife of text editors
  2022-06-16 11:50       ` Lars Ingebrigtsen
  0 siblings, 1 reply; 5+ messages in thread
From: Stefan Monnier via Bug reports for GNU Emacs, the Swiss army knife of text editors @ 2022-06-15 17:18 UTC (permalink / raw)
  To: Lars Ingebrigtsen; +Cc: N. Jackson, 27253

Lars Ingebrigtsen [2022-06-15 18:44:25] wrote:
> Lars Ingebrigtsen <larsi@gnus.org> writes:
>> There should perhaps be a command to recompile all installed packages?
>> Or does that exist somewhere?  (I don't see any such command...)
> Perhaps Stefan knows; added to the CCs.

There should be a command/function to recompile an installed package,
and maybe another to do the same for all packages, yes.

I don't think the OP's situation would be best served by recompiling
everything, because usually recompilation is only needed for those few
packages that were compiled a *long* time ago ( where I'd expect most
packages have probably been recompiled since then because of
package updates).

But there's definitely room for improvement along the path of:
detecting the presence of a file that's too old, figuring out which
package needs to be recompiled, and then recompiling it.


        Stefan






^ permalink raw reply	[flat|nested] 5+ messages in thread

* bug#27253: 25.2; Suggestion: On startup after Emacs version change, package should offer to correct invalid bytecode
  2022-06-15 17:18     ` Stefan Monnier via Bug reports for GNU Emacs, the Swiss army knife of text editors
@ 2022-06-16 11:50       ` Lars Ingebrigtsen
  0 siblings, 0 replies; 5+ messages in thread
From: Lars Ingebrigtsen @ 2022-06-16 11:50 UTC (permalink / raw)
  To: Stefan Monnier; +Cc: N. Jackson, 27253

Stefan Monnier <monnier@iro.umontreal.ca> writes:

> There should be a command/function to recompile an installed package,
> and maybe another to do the same for all packages, yes.

OK; I've now added two commands for that to Emacs 29.

> I don't think the OP's situation would be best served by recompiling
> everything, because usually recompilation is only needed for those few
> packages that were compiled a *long* time ago ( where I'd expect most
> packages have probably been recompiled since then because of
> package updates).
>
> But there's definitely room for improvement along the path of:
> detecting the presence of a file that's too old, figuring out which
> package needs to be recompiled, and then recompiling it.

I'm not sure there's any way of doing that that would be reliable enough
not to be annoying?  That is, we can determine if an .elc file is
readable, but we can't really detect if it's using a macro that has
changed so much that the .elc file should be rebuilt...

-- 
(domestic pets only, the antidote for overdose, milk.)
   bloggy blog: http://lars.ingebrigtsen.no





^ permalink raw reply	[flat|nested] 5+ messages in thread

end of thread, other threads:[~2022-06-16 11:50 UTC | newest]

Thread overview: 5+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2017-06-05 15:19 bug#27253: 25.2; Suggestion: On startup after Emacs version change, package should offer to correct invalid bytecode N. Jackson
2022-05-17 19:08 ` Lars Ingebrigtsen
2022-06-15 16:44   ` Lars Ingebrigtsen
2022-06-15 17:18     ` Stefan Monnier via Bug reports for GNU Emacs, the Swiss army knife of text editors
2022-06-16 11:50       ` Lars Ingebrigtsen

Code repositories for project(s) associated with this public inbox

	https://git.savannah.gnu.org/cgit/emacs.git

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for read-only IMAP folder(s) and NNTP newsgroup(s).