From mboxrd@z Thu Jan 1 00:00:00 1970 Path: news.gmane.org!not-for-mail From: Glenn Morris Newsgroups: gmane.emacs.bugs Subject: bug#4446: remove ###autoload from ediff-hook.el Date: Sat, 26 Sep 2009 15:18:25 -0400 Message-ID: References: <200909161118.n8GBIPDV012011@godzilla.ics.uci.edu> <82iqfi2gb0.fsf@fencepost.gnu.org> <200909171811.n8HIB7Wi026045@godzilla.ics.uci.edu> <7dljk4hyuu.fsf@fencepost.gnu.org> <200909251816.n8PIGPKs021224@godzilla.ics.uci.edu> Reply-To: Glenn Morris , 4446@emacsbugs.donarmstrong.com NNTP-Posting-Host: lo.gmane.org Mime-Version: 1.0 Content-Type: text/plain; charset=us-ascii X-Trace: ger.gmane.org 1253993259 24943 80.91.229.12 (26 Sep 2009 19:27:39 GMT) X-Complaints-To: usenet@ger.gmane.org NNTP-Posting-Date: Sat, 26 Sep 2009 19:27:39 +0000 (UTC) Cc: Dan Nicolaescu , 4446@emacsbugs.donarmstrong.com To: Stefan Monnier Original-X-From: bug-gnu-emacs-bounces+geb-bug-gnu-emacs=m.gmane.org@gnu.org Sat Sep 26 21:27:31 2009 Return-path: Envelope-to: geb-bug-gnu-emacs@m.gmane.org Original-Received: from lists.gnu.org ([199.232.76.165]) by lo.gmane.org with esmtp (Exim 4.50) id 1Mrcva-00058x-OH for geb-bug-gnu-emacs@m.gmane.org; Sat, 26 Sep 2009 21:27:31 +0200 Original-Received: from localhost ([127.0.0.1]:60551 helo=lists.gnu.org) by lists.gnu.org with esmtp (Exim 4.43) id 1Mrcva-0002Io-3b for geb-bug-gnu-emacs@m.gmane.org; Sat, 26 Sep 2009 15:27:30 -0400 Original-Received: from mailman by lists.gnu.org with tmda-scanned (Exim 4.43) id 1MrcvL-0002AG-EO for bug-gnu-emacs@gnu.org; Sat, 26 Sep 2009 15:27:15 -0400 Original-Received: from exim by lists.gnu.org with spam-scanned (Exim 4.43) id 1MrcvG-00025y-33 for bug-gnu-emacs@gnu.org; Sat, 26 Sep 2009 15:27:14 -0400 Original-Received: from [199.232.76.173] (port=41261 helo=monty-python.gnu.org) by lists.gnu.org with esmtp (Exim 4.43) id 1MrcvF-00025o-N0 for bug-gnu-emacs@gnu.org; Sat, 26 Sep 2009 15:27:09 -0400 Original-Received: from mx20.gnu.org ([199.232.41.8]:23421) by monty-python.gnu.org with esmtps (TLS-1.0:RSA_AES_256_CBC_SHA1:32) (Exim 4.60) (envelope-from ) id 1MrcvF-00073V-6M for bug-gnu-emacs@gnu.org; Sat, 26 Sep 2009 15:27:09 -0400 Original-Received: from rzlab.ucr.edu ([138.23.92.77]) by mx20.gnu.org with esmtp (Exim 4.60) (envelope-from ) id 1MrcvE-0008KS-Ct for bug-gnu-emacs@gnu.org; Sat, 26 Sep 2009 15:27:08 -0400 Original-Received: from rzlab.ucr.edu (rzlab.ucr.edu [127.0.0.1]) by rzlab.ucr.edu (8.14.3/8.14.3/Debian-5) with ESMTP id n8QJR51C003054; Sat, 26 Sep 2009 12:27:06 -0700 Original-Received: (from debbugs@localhost) by rzlab.ucr.edu (8.14.3/8.14.3/Submit) id n8QJP7fo002599; Sat, 26 Sep 2009 12:25:07 -0700 Resent-Date: Sat, 26 Sep 2009 12:25:07 -0700 X-Loop: owner@emacsbugs.donarmstrong.com Resent-From: Glenn Morris Resent-To: bug-submit-list@donarmstrong.com Resent-CC: Emacs Bugs 2Resent-Date: Sat, 26 Sep 2009 19:25:07 +0000 Resent-Message-ID: Resent-Sender: owner@emacsbugs.donarmstrong.com X-Emacs-PR-Message: followup 4446 X-Emacs-PR-Package: emacs X-Emacs-PR-Keywords: Original-Received: via spool by 4446-submit@emacsbugs.donarmstrong.com id=B4446.12539927091681 (code B ref 4446); Sat, 26 Sep 2009 19:25:07 +0000 Original-Received: (at 4446) by emacsbugs.donarmstrong.com; 26 Sep 2009 19:18:29 +0000 X-Spam-Bayes: score:0.5 Bayes not run. spammytokens:Tokens not available. hammytokens:Tokens not available. Original-Received: from fencepost.gnu.org (fencepost.gnu.org [140.186.70.10]) by rzlab.ucr.edu (8.14.3/8.14.3/Debian-5) with ESMTP id n8QJIR0k001678 for <4446@emacsbugs.donarmstrong.com>; Sat, 26 Sep 2009 12:18:28 -0700 Original-Received: from rgm by fencepost.gnu.org with local (Exim 4.67) (envelope-from ) id 1Mrcmn-0001nQ-7B; Sat, 26 Sep 2009 15:18:25 -0400 X-Spook: bce condor FIPS140 mindwar PET counter terrorism global X-Ran: bRc8?Vdp]L"%i93?~+Y;%ro?CEmRyA@#Q$O$0=ZNGC>laFmBTKcXFrQ~6/8k*zY9b349a[ X-Hue: green X-Attribution: GM User-Agent: Gnus (www.gnus.org), GNU Emacs (www.gnu.org/software/emacs/) X-detected-operating-system: by mx20.gnu.org: GNU/Linux 2.6 (newer, 2) X-detected-operating-system: by monty-python.gnu.org: GNU/Linux 2.6, seldom 2.4 (older, 4) Resent-Date: Sat, 26 Sep 2009 15:27:14 -0400 X-BeenThere: bug-gnu-emacs@gnu.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: "Bug reports for GNU Emacs, the Swiss army knife of text editors" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Original-Sender: bug-gnu-emacs-bounces+geb-bug-gnu-emacs=m.gmane.org@gnu.org Errors-To: bug-gnu-emacs-bounces+geb-bug-gnu-emacs=m.gmane.org@gnu.org Xref: news.gmane.org gmane.emacs.bugs:31537 Archived-At: Stefan Monnier wrote: > Then you want the list that's in src/Makefile.in, since it includes the > distinction between those files that are preloaded on all systems vs > those that are system-dependent. That's a good suggestion, thanks. I found that setting preloaded-file-list in bootstrap-emacs does not work anyway. At that stage files are being loaded uncompiled, so extra files (eg cl) end up being added to preloaded-file-list due to eval-when-compile. Anyway, here's an attempt at your suggestion. The final version probably should not print the "skipped" message. Index: Makefile.in =================================================================== RCS file: /sources/emacs/emacs/lisp/Makefile.in,v retrieving revision 1.193 diff -c -c -w -r1.193 Makefile.in *** Makefile.in 16 Sep 2009 03:10:17 -0000 1.193 --- Makefile.in 26 Sep 2009 19:16:12 -0000 *************** *** 131,143 **** # The chmod +w is to handle env var CVSREAD=1. Files named # are identified by being the value of `generated-autoload-file'. ! autoloads: $(LOADDEFS) doit chmod +w $(lisp)/ps-print.el $(lisp)/emulation/tpu-edt.el \ $(lisp)/emacs-lisp/cl-loaddefs.el $(lisp)/mail/rmail.el \ $(lisp)/dired.el $(lisp)/ibuffer.el wd=$(lisp); $(setwins_almost); \ echo Directories: $$wins; \ ! $(emacs) -l autoload --eval '(setq generated-autoload-file "$(lisp)/loaddefs.el")' -f batch-update-autoloads $$wins # This is required by the bootstrap-emacs target in ../src/Makefile, so # we know that if we have an emacs executable, we also have a subdirs.el. --- 131,146 ---- # The chmod +w is to handle env var CVSREAD=1. Files named # are identified by being the value of `generated-autoload-file'. ! # The Makefile dependency is to make any missing-file error more explicit. ! autoloads: $(LOADDEFS) ../src/Makefile doit chmod +w $(lisp)/ps-print.el $(lisp)/emulation/tpu-edt.el \ $(lisp)/emacs-lisp/cl-loaddefs.el $(lisp)/mail/rmail.el \ $(lisp)/dired.el $(lisp)/ibuffer.el wd=$(lisp); $(setwins_almost); \ echo Directories: $$wins; \ ! preload=`sed -n -e '/^lisp=/ s/$${lispsource}//g p' ../src/Makefile | \ ! sed 's/^lisp= //'`; \ ! $(emacs) -l autoload --eval "(setq generated-autoload-file \"$(lisp)/loaddefs.el\" autoload-excludes \"$${preload}\")" -f batch-update-autoloads $$wins # This is required by the bootstrap-emacs target in ../src/Makefile, so # we know that if we have an emacs executable, we also have a subdirs.el. Index: autoload.el =================================================================== RCS file: /sources/emacs/emacs/lisp/emacs-lisp/autoload.el,v retrieving revision 1.143 diff -c -c -w -r1.143 autoload.el *** autoload.el 5 Jan 2009 03:20:44 -0000 1.143 --- autoload.el 26 Sep 2009 19:16:22 -0000 *************** *** 58,63 **** --- 58,66 ---- read and an autoload made for it. If there is further text on the line, that text will be copied verbatim to `generated-autoload-file'.") + (defvar autoload-excludes nil + "If non-nil, list of absolute file names not to scan for autoloads.") + (defconst generate-autoload-section-header "\f\n;;;### " "String that marks the form at the start of a new file's autoload section.") *************** *** 347,353 **** relfile ;; nil until we found a cookie. output-start) ! (with-current-buffer (or visited ;; It is faster to avoid visiting the file. (autoload-find-file file)) --- 350,357 ---- relfile ;; nil until we found a cookie. output-start) ! (if (member absfile autoload-excludes) ! (message "Generating autoloads for %s...skipped" file) (with-current-buffer (or visited ;; It is faster to avoid visiting the file. (autoload-find-file file)) *************** *** 452,458 **** (message "Generating autoloads for %s...done" file)) (or visited ;; We created this buffer, so we should kill it. ! (kill-buffer (current-buffer)))) ;; If the entries were added to some other buffer, then the file ;; doesn't add entries to OUTFILE. (or (not output-start) otherbuf)))) --- 456,462 ---- (message "Generating autoloads for %s...done" file)) (or visited ;; We created this buffer, so we should kill it. ! (kill-buffer (current-buffer))))) ;; If the entries were added to some other buffer, then the file ;; doesn't add entries to OUTFILE. (or (not output-start) otherbuf)))) *************** *** 649,654 **** --- 653,670 ---- (defun batch-update-autoloads () "Update loaddefs.el autoloads in batch mode. Calls `update-directory-autoloads' on the command line arguments." + ;; For use during the Emacs build process only. We do the file-name + ;; expansion here rather than in lisp/Makefile in order to keep the + ;; shell command line short. (Long lines are an issue on some systems.) + (if (stringp autoload-excludes) + (setq autoload-excludes + (mapcar + (lambda (file) + (concat + (expand-file-name (file-name-sans-extension file) + (file-name-directory generated-autoload-file)) + ".el")) + (split-string autoload-excludes)))) (let ((args command-line-args-left)) (setq command-line-args-left nil) (apply 'update-directory-autoloads args)))