From 436ccc6967146e5fbcf7a27a90fb44d0452cb901 Mon Sep 17 00:00:00 2001 From: Stefan Monnier Date: Fri, 21 Jun 2019 10:30:50 -0400 Subject: * lisp/emacs-lisp/bytecomp.el (byte-compile-dynamic): Mark obsolete MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit See bug#11649 for an example problem, and emacs-devel discussion «Prickliness of the "invalid byte code" stuff». * lisp/wid-edit.el, lisp/wdired.el, lisp/vc/pcvs-util.el: * lisp/progmodes/executable.el, lisp/mail/sendmail.el: * lisp/emacs-lisp/cl-seq.el, lisp/emacs-lisp/cl-macs.el: * lisp/emacs-lisp/cl-lib.el, lisp/emacs-lisp/cl-extra.el: * lisp/dired-x.el, lisp/dired-aux.el, lisp/calendar/calendar.el: Don't use byte-compile-dynamic any more. --- etc/NEWS | 6 ++++++ lisp/calendar/calendar.el | 7 +------ lisp/dired-aux.el | 1 - lisp/dired-x.el | 1 - lisp/emacs-lisp/bytecomp.el | 3 ++- lisp/emacs-lisp/cl-extra.el | 1 - lisp/emacs-lisp/cl-lib.el | 4 ---- lisp/emacs-lisp/cl-macs.el | 1 - lisp/emacs-lisp/cl-seq.el | 1 - lisp/mail/sendmail.el | 5 ----- lisp/progmodes/executable.el | 2 +- lisp/vc/pcvs-util.el | 2 +- lisp/wdired.el | 5 ----- lisp/wid-edit.el | 2 +- 14 files changed, 12 insertions(+), 29 deletions(-) diff --git a/etc/NEWS b/etc/NEWS index f880e393c02..fabf5a3341b 100644 --- a/etc/NEWS +++ b/etc/NEWS @@ -472,6 +472,12 @@ current and the previous or the next line, as before. * Changes in Specialized Modes and Packages in Emacs 27.1 +** byte compiler +*** byte-compile-dynamic is now obsolete +This is because on the one hand it suffers from various misbehaviors in corner +cases that have plagued it for years, and on the other experiments indicated +that it doesn't bring any measurable benefit. + ** compile.el --- *** In 'compilation-error-regexp-alist', 'line' (and 'end-line') can diff --git a/lisp/calendar/calendar.el b/lisp/calendar/calendar.el index 2baa01f9d5a..1e988c2712f 100644 --- a/lisp/calendar/calendar.el +++ b/lisp/calendar/calendar.el @@ -212,8 +212,7 @@ update the calendar display to reflect the change, otherwise movement commands will not work correctly." :type 'integer ;; Change the initialize so that if you reload calendar.el, it will not - ;; cause a redraw (which may fail, e.g. with "invalid byte-code in - ;; calendar.elc" because of the "byte-compile-dynamic"). + ;; cause a redraw. :initialize 'custom-initialize-default :set (lambda (sym val) (set sym val) @@ -2666,8 +2665,4 @@ If called by a mouse-event, pops up a menu with the result." (provide 'calendar) -;; Local variables: -;; byte-compile-dynamic: t -;; End: - ;;; calendar.el ends here diff --git a/lisp/dired-aux.el b/lisp/dired-aux.el index 41fcd062fb8..2705c0ad2a3 100644 --- a/lisp/dired-aux.el +++ b/lisp/dired-aux.el @@ -2959,7 +2959,6 @@ instead." (provide 'dired-aux) ;; Local Variables: -;; byte-compile-dynamic: t ;; generated-autoload-file: "dired-loaddefs.el" ;; End: diff --git a/lisp/dired-x.el b/lisp/dired-x.el index 3b78ec47d93..b7ec41aa95f 100644 --- a/lisp/dired-x.el +++ b/lisp/dired-x.el @@ -1598,7 +1598,6 @@ If `current-prefix-arg' is non-nil, uses name at point as guess." (provide 'dired-x) ;; Local Variables: -;; byte-compile-dynamic: t ;; generated-autoload-file: "dired-loaddefs.el" ;; End: diff --git a/lisp/emacs-lisp/bytecomp.el b/lisp/emacs-lisp/bytecomp.el index b7351481106..431525431a4 100644 --- a/lisp/emacs-lisp/bytecomp.el +++ b/lisp/emacs-lisp/bytecomp.el @@ -240,6 +240,7 @@ For example, add -*-byte-compile-dynamic: t;-*- on the first line. When this option is true, if you load the compiled file and then move it, the functions you loaded will not be able to run.") +(make-obsolete-variable 'byte-compile-dynamic "not worthwhile any more." "27.1") ;;;###autoload(put 'byte-compile-dynamic 'safe-local-variable 'booleanp) (defvar byte-compile-disable-print-circle nil @@ -1031,7 +1032,7 @@ If STR is something like \"Buffer foo.el\", return # str)) (defconst emacs-lisp-compilation-parse-errors-filename-function - 'emacs-lisp-compilation-file-name-or-buffer + #'emacs-lisp-compilation-file-name-or-buffer "The value for `compilation-parse-errors-filename-function' for when we go into emacs-lisp-compilation-mode.") diff --git a/lisp/emacs-lisp/cl-extra.el b/lisp/emacs-lisp/cl-extra.el index a2400a0ba37..90533295b68 100644 --- a/lisp/emacs-lisp/cl-extra.el +++ b/lisp/emacs-lisp/cl-extra.el @@ -938,7 +938,6 @@ Outputs to the current buffer." (run-hooks 'cl-extra-load-hook) ;; Local variables: -;; byte-compile-dynamic: t ;; generated-autoload-file: "cl-loaddefs.el" ;; End: diff --git a/lisp/emacs-lisp/cl-lib.el b/lisp/emacs-lisp/cl-lib.el index 3a9280fae62..f014f8e0104 100644 --- a/lisp/emacs-lisp/cl-lib.el +++ b/lisp/emacs-lisp/cl-lib.el @@ -660,8 +660,4 @@ of record objects." (t (advice-remove 'type-of #'cl--old-struct-type-of)))) -;; Local variables: -;; byte-compile-dynamic: t -;; End: - ;;; cl-lib.el ends here diff --git a/lisp/emacs-lisp/cl-macs.el b/lisp/emacs-lisp/cl-macs.el index 24e79acfa55..7e11dd2e4aa 100644 --- a/lisp/emacs-lisp/cl-macs.el +++ b/lisp/emacs-lisp/cl-macs.el @@ -3397,7 +3397,6 @@ STRUCT and SLOT-NAME are symbols. INST is a structure instance." (run-hooks 'cl-macs-load-hook) ;; Local variables: -;; byte-compile-dynamic: t ;; generated-autoload-file: "cl-loaddefs.el" ;; End: diff --git a/lisp/emacs-lisp/cl-seq.el b/lisp/emacs-lisp/cl-seq.el index 87c02a6b54f..a15c994bc1a 100644 --- a/lisp/emacs-lisp/cl-seq.el +++ b/lisp/emacs-lisp/cl-seq.el @@ -1038,7 +1038,6 @@ Atoms are compared by `eql'; cons cells are compared recursively. (run-hooks 'cl-seq-load-hook) ;; Local variables: -;; byte-compile-dynamic: t ;; generated-autoload-file: "cl-loaddefs.el" ;; End: diff --git a/lisp/mail/sendmail.el b/lisp/mail/sendmail.el index 208ebb68017..291efab961e 100644 --- a/lisp/mail/sendmail.el +++ b/lisp/mail/sendmail.el @@ -2078,9 +2078,4 @@ you can move to one of them and type C-c C-c to recover that one." ;; Do not add anything but external entries on this page. (provide 'sendmail) - -;; Local Variables: -;; byte-compile-dynamic: t -;; End: - ;;; sendmail.el ends here diff --git a/lisp/progmodes/executable.el b/lisp/progmodes/executable.el index d7985a7c87a..8d206c38413 100644 --- a/lisp/progmodes/executable.el +++ b/lisp/progmodes/executable.el @@ -1,4 +1,4 @@ -;;; executable.el --- base functionality for executable interpreter scripts -*- byte-compile-dynamic: t -*- +;;; executable.el --- base functionality for executable interpreter scripts ;; Copyright (C) 1994-1996, 2000-2019 Free Software Foundation, Inc. diff --git a/lisp/vc/pcvs-util.el b/lisp/vc/pcvs-util.el index 55da04ff40a..5a50393d622 100644 --- a/lisp/vc/pcvs-util.el +++ b/lisp/vc/pcvs-util.el @@ -1,4 +1,4 @@ -;;; pcvs-util.el --- utility functions for PCL-CVS -*- byte-compile-dynamic: t -*- +;;; pcvs-util.el --- utility functions for PCL-CVS ;; Copyright (C) 1991-2019 Free Software Foundation, Inc. diff --git a/lisp/wdired.el b/lisp/wdired.el index d2a298bd25b..b52da777533 100644 --- a/lisp/wdired.el +++ b/lisp/wdired.el @@ -913,9 +913,4 @@ Like original function but it skips read-only words." (cons changes errors))) (provide 'wdired) - -;; Local Variables: -;; byte-compile-dynamic: t -;; End: - ;;; wdired.el ends here diff --git a/lisp/wid-edit.el b/lisp/wid-edit.el index 382eeb8925d..d6f42dab8c4 100644 --- a/lisp/wid-edit.el +++ b/lisp/wid-edit.el @@ -1,4 +1,4 @@ -;;; wid-edit.el --- Functions for creating and using widgets -*-byte-compile-dynamic: t; lexical-binding:t -*- +;;; wid-edit.el --- Functions for creating and using widgets -*- lexical-binding:t -*- ;; ;; Copyright (C) 1996-1997, 1999-2019 Free Software Foundation, Inc. ;; -- cgit v1.2.1