From unknown Sun Jun 22 00:43:09 2025 X-Loop: help-debbugs@gnu.org Subject: bug#13021: 24.2.90; compile eval-after-load form Resent-From: Christopher Schmidt Original-Sender: debbugs-submit-bounces@debbugs.gnu.org Resent-CC: bug-gnu-emacs@gnu.org Resent-Date: Wed, 28 Nov 2012 15:09:02 +0000 Resent-Message-ID: Resent-Sender: help-debbugs@gnu.org X-GNU-PR-Message: report 13021 X-GNU-PR-Package: emacs X-GNU-PR-Keywords: To: 13021@debbugs.gnu.org Cc: Michael Heerdegen X-Debbugs-Original-To: bug-gnu-emacs@gnu.org Received: via spool by submit@debbugs.gnu.org id=B.135411530525487 (code B ref -1); Wed, 28 Nov 2012 15:09:02 +0000 Received: (at submit) by debbugs.gnu.org; 28 Nov 2012 15:08:25 +0000 Received: from localhost ([127.0.0.1]:43705 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.72) (envelope-from ) id 1TdjFR-0006d2-1A for submit@debbugs.gnu.org; Wed, 28 Nov 2012 10:08:25 -0500 Received: from eggs.gnu.org ([208.118.235.92]:40751) by debbugs.gnu.org with esmtp (Exim 4.72) (envelope-from ) id 1TdjFP-0006cv-1V for submit@debbugs.gnu.org; Wed, 28 Nov 2012 10:08:23 -0500 Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1TdjDO-0004LD-RR for submit@debbugs.gnu.org; Wed, 28 Nov 2012 10:06:28 -0500 X-Spam-Checker-Version: SpamAssassin 3.3.2 (2011-06-06) on eggs.gnu.org X-Spam-Level: X-Spam-Status: No, score=-6.9 required=5.0 tests=BAYES_00,RCVD_IN_DNSWL_HI, T_DKIM_INVALID autolearn=unavailable version=3.3.2 Received: from lists.gnu.org ([208.118.235.17]:36141) by eggs.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1TdjDO-0004L8-NN for submit@debbugs.gnu.org; Wed, 28 Nov 2012 10:06:18 -0500 Received: from eggs.gnu.org ([208.118.235.92]:33082) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1TdjDF-00045U-BB for bug-gnu-emacs@gnu.org; Wed, 28 Nov 2012 10:06:18 -0500 Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1TdjD5-0004JQ-Od for bug-gnu-emacs@gnu.org; Wed, 28 Nov 2012 10:06:09 -0500 Received: from ristopher.com ([146.185.21.93]:33882 helo=saturn.ch.ristopher.com) by eggs.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1TdjD5-0004JB-Ft for bug-gnu-emacs@gnu.org; Wed, 28 Nov 2012 10:05:59 -0500 Received: by saturn.ch.ristopher.com (Postfix, from userid 0) id 04C24214B1; Wed, 28 Nov 2012 15:05:57 +0000 (GMT) DKIM-Signature: v=1; a=rsa-sha256; c=simple/simple; d=ch.ristopher.com; s=mail; t=1354115157; bh=2dpe3AJbjym1esnsdV52WF01AvI3vqTR8b4ov4rcSfY=; h=From:To:Cc:Subject:Message-ID:MIME-Version:Content-Type:Date; b=Ta4EKdcEtbq7KYtW026AVTXvjtJuDYlGsH2fgryJIYwAkY51Nah2raMxOwG7HweWm Ifxjn4EDSczsgHuXZ61fI5v2Cu43OQRZ9n1Oy9O1/+iOsj3rq/X+0gWLntiEja7I2W VvXfdcxGL7uwFHYrBY6vMC2Q67LMCXoP4nB2oE+Y= From: Christopher Schmidt Message-ID: <87624p4vjd@ch.ristopher.com> Mail-Followup-To: bug-gnu-emacs@gnu.org, Michael Heerdegen MIME-Version: 1.0 Content-Type: text/plain Date: Wed, 28 Nov 2012 15:05:56 +0000 (GMT) X-detected-operating-system: by eggs.gnu.org: GNU/Linux 2.4.x X-detected-operating-system: by eggs.gnu.org: GNU/Linux 2.6.x X-Received-From: 208.118.235.17 X-Spam-Score: -4.2 (----) X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.13 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Sender: debbugs-submit-bounces@debbugs.gnu.org Errors-To: debbugs-submit-bounces@debbugs.gnu.org X-Spam-Score: -4.2 (----) severity: wishlist I think it is a good idea to compile the form that is passed to eval-after-load. The advantage is that one gets compiler warnings and errors and the form itself is executed faster. This is what I use: (defmacro eal (package &rest forms) (declare (indent 1) (debug t)) `(,(if (if (symbolp package) (require package nil t) (load package t t)) 'progn (message "eal: cannot find %s" package) 'with-no-warnings) (eval-after-load ',package `(funcall (function ,(lambda () ,@forms)))))) This is what Michael (Heerdegen) uses: (defun-safe init-file-eval-after-load (file &rest forms) "Like `eval-after-load', but byte-compile FORMS before eval." (eval-after-load file `(let ((byte-compile-log-buffer "*Warnings*") (byte-compile-current-form (format "`init-file-eval-after-load': %s" ',file))) (funcall (byte-compile (lambda () ,@forms)))))) Could vanilla eval-after-load be modified so it compiles the form? I am thinking of an optional third parameter, one that allows to either keep the current behaviour (default), load the package & compile the form at compile time or compile the form at run-time before evaling. WDYT? Christopher From unknown Sun Jun 22 00:43:09 2025 X-Loop: help-debbugs@gnu.org Subject: bug#13021: 24.2.90; compile eval-after-load form Resent-From: Stefan Monnier Original-Sender: debbugs-submit-bounces@debbugs.gnu.org Resent-CC: bug-gnu-emacs@gnu.org Resent-Date: Thu, 29 Nov 2012 04:30:02 +0000 Resent-Message-ID: Resent-Sender: help-debbugs@gnu.org X-GNU-PR-Message: followup 13021 X-GNU-PR-Package: emacs X-GNU-PR-Keywords: To: 13021@debbugs.gnu.org Cc: Michael Heerdegen X-Debbugs-Original-To: bug-gnu-emacs@gnu.org Received: via spool by submit@debbugs.gnu.org id=B.135416338212266 (code B ref -1); Thu, 29 Nov 2012 04:30:02 +0000 Received: (at submit) by debbugs.gnu.org; 29 Nov 2012 04:29:42 +0000 Received: from localhost ([127.0.0.1]:44419 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.72) (envelope-from ) id 1Tdvkr-0003Bm-Jv for submit@debbugs.gnu.org; Wed, 28 Nov 2012 23:29:41 -0500 Received: from eggs.gnu.org ([208.118.235.92]:47765) by debbugs.gnu.org with esmtp (Exim 4.72) (envelope-from ) id 1Tdvkn-0003Be-Rw for submit@debbugs.gnu.org; Wed, 28 Nov 2012 23:29:39 -0500 Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1Tdvit-00059m-8I for submit@debbugs.gnu.org; Wed, 28 Nov 2012 23:27:39 -0500 X-Spam-Checker-Version: SpamAssassin 3.3.2 (2011-06-06) on eggs.gnu.org X-Spam-Level: X-Spam-Status: No, score=-6.9 required=5.0 tests=BAYES_00,RCVD_IN_DNSWL_HI autolearn=unavailable version=3.3.2 Received: from lists.gnu.org ([208.118.235.17]:40451) by eggs.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1Tdvit-00059a-4z for submit@debbugs.gnu.org; Wed, 28 Nov 2012 23:27:39 -0500 Received: from eggs.gnu.org ([208.118.235.92]:52702) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1Tdvis-0006pS-7q for bug-gnu-emacs@gnu.org; Wed, 28 Nov 2012 23:27:39 -0500 Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1Tdvir-00055G-4i for bug-gnu-emacs@gnu.org; Wed, 28 Nov 2012 23:27:38 -0500 Received: from ironport2-out.teksavvy.com ([206.248.154.182]:44816) by eggs.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1Tdvir-000556-0k for bug-gnu-emacs@gnu.org; Wed, 28 Nov 2012 23:27:37 -0500 X-IronPort-Anti-Spam-Filtered: true X-IronPort-Anti-Spam-Result: Ai0FAG6Zu09FxKh9/2dsb2JhbABEsEiDSYEIghUBAQQBViMFCws0EhQYDYhABboJjSaDHgOIQppxgViDBw X-IronPort-AV: E=Sophos;i="4.75,637,1330923600"; d="scan'208";a="208722462" Received: from 69-196-168-125.dsl.teksavvy.com (HELO pastel.home) ([69.196.168.125]) by ironport2-out.teksavvy.com with ESMTP/TLS/ADH-AES256-SHA; 28 Nov 2012 23:27:36 -0500 Received: by pastel.home (Postfix, from userid 20848) id BA9BD58B5B; Wed, 28 Nov 2012 23:27:35 -0500 (EST) From: Stefan Monnier Message-ID: References: <87624p4vjd@ch.ristopher.com> Date: Wed, 28 Nov 2012 23:27:35 -0500 In-Reply-To: <87624p4vjd@ch.ristopher.com> (Christopher Schmidt's message of "Wed, 28 Nov 2012 15:05:56 +0000 (GMT)") User-Agent: Gnus/5.13 (Gnus v5.13) Emacs/24.3.50 (gnu/linux) MIME-Version: 1.0 Content-Type: text/plain X-detected-operating-system: by eggs.gnu.org: Genre and OS details not recognized. X-detected-operating-system: by eggs.gnu.org: GNU/Linux 2.6.x X-Received-From: 208.118.235.17 X-Spam-Score: -3.5 (---) X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.13 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Sender: debbugs-submit-bounces@debbugs.gnu.org Errors-To: debbugs-submit-bounces@debbugs.gnu.org X-Spam-Score: -4.3 (----) > I think it is a good idea to compile the form that is passed to > eval-after-load. I agree. More to the point, I think it should be a macro so you don't need to wrap the code in '(progn ...). But changing it to a macro would not be backward compatible (you can convert a macro to a function, like I did recently for kbd, but not other way around). I learned this when I tried to convert .... eval-after-load ;-) many years ago. IOW, I'm open to introducing a replacement for eval-after-load which would be a macro, but under another name. Stefan From unknown Sun Jun 22 00:43:09 2025 X-Loop: help-debbugs@gnu.org Subject: bug#13021: 24.2.90; compile eval-after-load form Resent-From: Juanma Barranquero Original-Sender: debbugs-submit-bounces@debbugs.gnu.org Resent-CC: bug-gnu-emacs@gnu.org Resent-Date: Thu, 29 Nov 2012 11:35:02 +0000 Resent-Message-ID: Resent-Sender: help-debbugs@gnu.org X-GNU-PR-Message: followup 13021 X-GNU-PR-Package: emacs X-GNU-PR-Keywords: To: Stefan Monnier Cc: 13021@debbugs.gnu.org, Michael Heerdegen Received: via spool by 13021-submit@debbugs.gnu.org id=B13021.135418886817785 (code B ref 13021); Thu, 29 Nov 2012 11:35:02 +0000 Received: (at 13021) by debbugs.gnu.org; 29 Nov 2012 11:34:28 +0000 Received: from localhost ([127.0.0.1]:44580 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.72) (envelope-from ) id 1Te2Nv-0004cn-J6 for submit@debbugs.gnu.org; Thu, 29 Nov 2012 06:34:27 -0500 Received: from mail-ea0-f172.google.com ([209.85.215.172]:52098) by debbugs.gnu.org with esmtp (Exim 4.72) (envelope-from ) id 1Te2Nt-0004cg-6U for 13021@debbugs.gnu.org; Thu, 29 Nov 2012 06:34:26 -0500 Received: by mail-ea0-f172.google.com with SMTP id a1so5421203eaa.3 for <13021@debbugs.gnu.org>; Thu, 29 Nov 2012 03:32:24 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20120113; h=mime-version:in-reply-to:references:from:date:message-id:subject:to :cc:content-type; bh=Jvn3Y7LhXh4XPQwQpouS32tL8yyoccHxLyl893myLJs=; b=npssjV8EF2c/M9zkN/yFDSajKc8sJL3NJxg23gjRvVkFmnkyvhN8ipa9vhJ463Tsw7 D/z8pbIe3HT8EbEfGPsfNvFnxUTlD+podoH1oeQCfNiFt+eLUMdfSlvKOHUMXfP0KKBV Ahg3pUiNrcqbQHNQUUOK966w0IIApsCthWcmgoIbNX87KznyJ3YkrY48f/7nECvS0B9f 5srdBeoRdFkoZH+dWtVPclzryONSo7/bAusgl6U0ZWOXDZZbw/veGF6rvssENQuMWjze LGby64pIesL1fBVqKKJNeUGyluYsswsCiOiJXZ6ZWyz++fNcVWml23GdhBVIeSV/3grH sq5A== Received: by 10.14.203.2 with SMTP id e2mr80912728eeo.20.1354188744713; Thu, 29 Nov 2012 03:32:24 -0800 (PST) MIME-Version: 1.0 Received: by 10.223.4.209 with HTTP; Thu, 29 Nov 2012 03:31:44 -0800 (PST) In-Reply-To: References: <87624p4vjd@ch.ristopher.com> From: Juanma Barranquero Date: Thu, 29 Nov 2012 12:31:44 +0100 Message-ID: Content-Type: text/plain; charset=UTF-8 X-Spam-Score: 0.1 (/) X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.13 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Sender: debbugs-submit-bounces@debbugs.gnu.org Errors-To: debbugs-submit-bounces@debbugs.gnu.org X-Spam-Score: 0.1 (/) On Thu, Nov 29, 2012 at 5:27 AM, Stefan Monnier wrote: > I think it should be a macro so you don't > need to wrap the code in '(progn ...). [...] > IOW, I'm open to introducing a replacement for eval-after-load which > would be a macro, but under another name. That would be really nice. From unknown Sun Jun 22 00:43:09 2025 MIME-Version: 1.0 X-Mailer: MIME-tools 5.503 (Entity 5.503) X-Loop: help-debbugs@gnu.org From: help-debbugs@gnu.org (GNU bug Tracking System) To: Christopher Schmidt Subject: bug#13021: closed (Re: bug#13021: 24.2.90; compile eval-after-load form) Message-ID: References: <87mwql64gk@ch.ristopher.com> <87624p4vjd@ch.ristopher.com> X-Gnu-PR-Message: they-closed 13021 X-Gnu-PR-Package: emacs Reply-To: 13021@debbugs.gnu.org Date: Wed, 19 Jun 2013 23:56:02 +0000 Content-Type: multipart/mixed; boundary="----------=_1371686162-19884-1" This is a multi-part message in MIME format... ------------=_1371686162-19884-1 Content-Disposition: inline Content-Transfer-Encoding: quoted-printable Content-Type: text/plain; charset="utf-8" Your bug report #13021: 24.2.90; compile eval-after-load form which was filed against the emacs package, has been closed. The explanation is attached below, along with your original report. If you require more details, please reply to 13021@debbugs.gnu.org. --=20 13021: http://debbugs.gnu.org/cgi/bugreport.cgi?bug=3D13021 GNU Bug Tracking System Contact help-debbugs@gnu.org with problems ------------=_1371686162-19884-1 Content-Type: message/rfc822 Content-Disposition: inline Content-Transfer-Encoding: 7bit Received: (at 13021-done) by debbugs.gnu.org; 19 Jun 2013 23:55:35 +0000 Received: from localhost ([127.0.0.1]:56825 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.80) (envelope-from ) id 1UpSDu-00059n-89 for submit@debbugs.gnu.org; Wed, 19 Jun 2013 19:55:34 -0400 Received: from ristopher.com ([146.185.21.93]:46479 helo=saturn.ch.ristopher.com) by debbugs.gnu.org with esmtp (Exim 4.80) (envelope-from ) id 1UpSDq-00059a-9x for 13021-done@debbugs.gnu.org; Wed, 19 Jun 2013 19:55:31 -0400 Received: by saturn.ch.ristopher.com (Postfix, from userid 0) id AC724206A9; Thu, 20 Jun 2013 00:55:27 +0100 (BST) DKIM-Signature: v=1; a=rsa-sha256; c=simple/simple; d=ch.ristopher.com; s=mail; t=1371686127; bh=ZZp+pKemeyAsKDFEtVyg8UqJ3IsDlkBGEP+jB45OvMw=; h=From:To:Subject:In-Reply-To:Message-ID:References:MIME-Version: Content-Type:Date; b=XfOocgBvoXdV2xW/ORWx7JHxQOERe5qqGBWGdDkBJvMqTjBK35hqBJV2AQrFdh+yo OYdVwuGGG7l/TvCa4DbU78MPgqDE5t8SG//JnXPmeNGmfMqvkez5fMPFQuRIjOAiNg ZixeUg7ueFa7sGfedIvfqzBuIPguiRVlpNuWbzJk= From: Christopher Schmidt To: 13021-done@debbugs.gnu.org Subject: Re: bug#13021: 24.2.90; compile eval-after-load form In-Reply-To: <87624p4vjd@ch.ristopher.com> (Christopher Schmidt's message of "Wed, 28 Nov 2012 15:05:56 +0000 (GMT)") Message-ID: <87mwql64gk@ch.ristopher.com> References: <87624p4vjd@ch.ristopher.com> MIME-Version: 1.0 Content-Type: text/plain Date: Thu, 20 Jun 2013 00:55:27 +0100 (BST) X-Spam-Score: -1.3 (-) X-Debbugs-Envelope-To: 13021-done X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.15 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: debbugs-submit-bounces@debbugs.gnu.org Sender: "Debbugs-submit" X-Spam-Score: -1.3 (-) Christopher Schmidt writes: > I think it is a good idea to compile the form that is passed to > eval-after-load. There is with-eval-after-load now. Christopher ------------=_1371686162-19884-1 Content-Type: message/rfc822 Content-Disposition: inline Content-Transfer-Encoding: 7bit Received: (at submit) by debbugs.gnu.org; 28 Nov 2012 15:08:25 +0000 Received: from localhost ([127.0.0.1]:43705 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.72) (envelope-from ) id 1TdjFR-0006d2-1A for submit@debbugs.gnu.org; Wed, 28 Nov 2012 10:08:25 -0500 Received: from eggs.gnu.org ([208.118.235.92]:40751) by debbugs.gnu.org with esmtp (Exim 4.72) (envelope-from ) id 1TdjFP-0006cv-1V for submit@debbugs.gnu.org; Wed, 28 Nov 2012 10:08:23 -0500 Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1TdjDO-0004LD-RR for submit@debbugs.gnu.org; Wed, 28 Nov 2012 10:06:28 -0500 X-Spam-Checker-Version: SpamAssassin 3.3.2 (2011-06-06) on eggs.gnu.org X-Spam-Level: X-Spam-Status: No, score=-6.9 required=5.0 tests=BAYES_00,RCVD_IN_DNSWL_HI, T_DKIM_INVALID autolearn=unavailable version=3.3.2 Received: from lists.gnu.org ([208.118.235.17]:36141) by eggs.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1TdjDO-0004L8-NN for submit@debbugs.gnu.org; Wed, 28 Nov 2012 10:06:18 -0500 Received: from eggs.gnu.org ([208.118.235.92]:33082) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1TdjDF-00045U-BB for bug-gnu-emacs@gnu.org; Wed, 28 Nov 2012 10:06:18 -0500 Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1TdjD5-0004JQ-Od for bug-gnu-emacs@gnu.org; Wed, 28 Nov 2012 10:06:09 -0500 Received: from ristopher.com ([146.185.21.93]:33882 helo=saturn.ch.ristopher.com) by eggs.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1TdjD5-0004JB-Ft for bug-gnu-emacs@gnu.org; Wed, 28 Nov 2012 10:05:59 -0500 Received: by saturn.ch.ristopher.com (Postfix, from userid 0) id 04C24214B1; Wed, 28 Nov 2012 15:05:57 +0000 (GMT) DKIM-Signature: v=1; a=rsa-sha256; c=simple/simple; d=ch.ristopher.com; s=mail; t=1354115157; bh=2dpe3AJbjym1esnsdV52WF01AvI3vqTR8b4ov4rcSfY=; h=From:To:Cc:Subject:Message-ID:MIME-Version:Content-Type:Date; b=Ta4EKdcEtbq7KYtW026AVTXvjtJuDYlGsH2fgryJIYwAkY51Nah2raMxOwG7HweWm Ifxjn4EDSczsgHuXZ61fI5v2Cu43OQRZ9n1Oy9O1/+iOsj3rq/X+0gWLntiEja7I2W VvXfdcxGL7uwFHYrBY6vMC2Q67LMCXoP4nB2oE+Y= From: Christopher Schmidt To: bug-gnu-emacs@gnu.org Subject: 24.2.90; compile eval-after-load form Message-ID: <87624p4vjd@ch.ristopher.com> Mail-Followup-To: bug-gnu-emacs@gnu.org, Michael Heerdegen MIME-Version: 1.0 Content-Type: text/plain Date: Wed, 28 Nov 2012 15:05:56 +0000 (GMT) X-detected-operating-system: by eggs.gnu.org: GNU/Linux 2.4.x X-detected-operating-system: by eggs.gnu.org: GNU/Linux 2.6.x X-Received-From: 208.118.235.17 X-Spam-Score: -4.2 (----) X-Debbugs-Envelope-To: submit Cc: Michael Heerdegen X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.13 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Sender: debbugs-submit-bounces@debbugs.gnu.org Errors-To: debbugs-submit-bounces@debbugs.gnu.org X-Spam-Score: -4.2 (----) severity: wishlist I think it is a good idea to compile the form that is passed to eval-after-load. The advantage is that one gets compiler warnings and errors and the form itself is executed faster. This is what I use: (defmacro eal (package &rest forms) (declare (indent 1) (debug t)) `(,(if (if (symbolp package) (require package nil t) (load package t t)) 'progn (message "eal: cannot find %s" package) 'with-no-warnings) (eval-after-load ',package `(funcall (function ,(lambda () ,@forms)))))) This is what Michael (Heerdegen) uses: (defun-safe init-file-eval-after-load (file &rest forms) "Like `eval-after-load', but byte-compile FORMS before eval." (eval-after-load file `(let ((byte-compile-log-buffer "*Warnings*") (byte-compile-current-form (format "`init-file-eval-after-load': %s" ',file))) (funcall (byte-compile (lambda () ,@forms)))))) Could vanilla eval-after-load be modified so it compiles the form? I am thinking of an optional third parameter, one that allows to either keep the current behaviour (default), load the package & compile the form at compile time or compile the form at run-time before evaling. WDYT? Christopher ------------=_1371686162-19884-1-- From unknown Sun Jun 22 00:43:09 2025 X-Loop: help-debbugs@gnu.org Subject: bug#13021: 24.2.90; compile eval-after-load form Resent-From: Michael Heerdegen Original-Sender: "Debbugs-submit" Resent-CC: bug-gnu-emacs@gnu.org Resent-Date: Thu, 20 Jun 2013 22:57:02 +0000 Resent-Message-ID: Resent-Sender: help-debbugs@gnu.org X-GNU-PR-Message: followup 13021 X-GNU-PR-Package: emacs X-GNU-PR-Keywords: To: 13021@debbugs.gnu.org Received: via spool by 13021-submit@debbugs.gnu.org id=B13021.137176896822951 (code B ref 13021); Thu, 20 Jun 2013 22:57:02 +0000 Received: (at 13021) by debbugs.gnu.org; 20 Jun 2013 22:56:08 +0000 Received: from localhost ([127.0.0.1]:59472 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.80) (envelope-from ) id 1Upnlw-0005y7-6k for submit@debbugs.gnu.org; Thu, 20 Jun 2013 18:56:08 -0400 Received: from mout.web.de ([212.227.17.11]:55078) by debbugs.gnu.org with esmtp (Exim 4.80) (envelope-from ) id 1Upnlo-0005xT-Ud for 13021@debbugs.gnu.org; Thu, 20 Jun 2013 18:56:02 -0400 Received: from drachen.dragon ([90.186.122.149]) by smtp.web.de (mrweb003) with ESMTPSA (Nemesis) id 0LfAro-1UVuPB3S1Y-00ok3M; Fri, 21 Jun 2013 00:55:54 +0200 From: Michael Heerdegen References: <87624p4vjd@ch.ristopher.com> <87mwql64gk@ch.ristopher.com> Date: Fri, 21 Jun 2013 00:55:49 +0200 In-Reply-To: <87mwql64gk@ch.ristopher.com> (Christopher Schmidt's message of "Thu, 20 Jun 2013 00:55:27 +0100 (BST)") Message-ID: <87obb0cryi.fsf@web.de> User-Agent: Gnus/5.13 (Gnus v5.13) Emacs/24.3.50 (gnu/linux) MIME-Version: 1.0 Content-Type: text/plain X-Provags-ID: V03:K0:UNv2Gu9in6QjFP+RCjuVDxjxo5OmErQE2MipBASzeKv0C4ZRkHl kQdBN4oWFlXQRNGQfJjk5DWuEsr4GRQE6dJFq6ji2nzCN2W6N2OkE0P6KeSeoR2kt9yeYkE +AxcdSlq5qH/rrb1Qp3xgoLhFT+ykDGgEpwETn5o4/07z4x+e9S3NnGKjkUa3lsxQNfO7sa iipiE6H3vieyWiDcZJkBA== X-Spam-Score: -1.3 (-) X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.15 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: debbugs-submit-bounces@debbugs.gnu.org Sender: "Debbugs-submit" X-Spam-Score: -1.3 (-) Christopher Schmidt writes: > There is with-eval-after-load now. Can we add fontification for it? Michael. From unknown Sun Jun 22 00:43:09 2025 X-Loop: help-debbugs@gnu.org Subject: bug#13021: 24.2.90; compile eval-after-load form Resent-From: Michael Heerdegen Original-Sender: "Debbugs-submit" Resent-CC: bug-gnu-emacs@gnu.org Resent-Date: Fri, 21 Jun 2013 01:09:02 +0000 Resent-Message-ID: Resent-Sender: help-debbugs@gnu.org X-GNU-PR-Message: followup 13021 X-GNU-PR-Package: emacs X-GNU-PR-Keywords: To: 13021@debbugs.gnu.org Received: via spool by 13021-submit@debbugs.gnu.org id=B13021.13717769324141 (code B ref 13021); Fri, 21 Jun 2013 01:09:02 +0000 Received: (at 13021) by debbugs.gnu.org; 21 Jun 2013 01:08:52 +0000 Received: from localhost ([127.0.0.1]:59701 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.80) (envelope-from ) id 1UppqN-00014j-FI for submit@debbugs.gnu.org; Thu, 20 Jun 2013 21:08:51 -0400 Received: from mout.web.de ([212.227.15.3]:52385) by debbugs.gnu.org with esmtp (Exim 4.80) (envelope-from ) id 1UppqL-00014Q-7E for 13021@debbugs.gnu.org; Thu, 20 Jun 2013 21:08:50 -0400 Received: from drachen.dragon ([90.186.122.149]) by smtp.web.de (mrweb001) with ESMTPSA (Nemesis) id 0MejSy-1Uevkv0oVE-00OJoI; Fri, 21 Jun 2013 03:08:42 +0200 From: Michael Heerdegen References: <87624p4vjd@ch.ristopher.com> <87mwql64gk@ch.ristopher.com> <87obb0cryi.fsf@web.de> Date: Fri, 21 Jun 2013 03:08:35 +0200 In-Reply-To: <87obb0cryi.fsf@web.de> (Michael Heerdegen's message of "Fri, 21 Jun 2013 00:55:49 +0200") Message-ID: <87ppvgnucs.fsf@web.de> User-Agent: Gnus/5.13 (Gnus v5.13) Emacs/24.3.50 (gnu/linux) MIME-Version: 1.0 Content-Type: multipart/mixed; boundary="=-=-=" X-Provags-ID: V03:K0:dN3AuoIkehwqaVBuuuRkDHq7of52EEdRwBlkmZOYX39tHESnFQA QfXyeWWRJVrZzDS9N3eifUstseTJ+8DEpykzzEEehWOj4p+ZBeIG/vwDJMnJpoHvWllJFE9 G4sHuWEWNNCNgXnkBi+znWQSGQNKp4WB3/sZB9bdMX5zWEoYgam4YkidaR9DHeG4EdX/NIB riGHSwOcrDGiCjswZNfEQ== X-Spam-Score: -1.3 (-) X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.15 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: debbugs-submit-bounces@debbugs.gnu.org Sender: "Debbugs-submit" X-Spam-Score: -1.3 (-) --=-=-= Content-Type: text/plain Michael Heerdegen writes: > > There is with-eval-after-load now. > > Can we add fontification for it? I guess this should DTRT (right, Chris?): --=-=-= Content-Type: text/x-diff Content-Disposition: inline; filename=font-lock.patch *** /home/micha/today/font-lock.el 2013-06-21 02:47:30.861222585 +0200 --- /home/micha/today/font-lock-new.el 2013-06-21 03:03:20.816992853 +0200 *************** *** 2288,2298 **** "save-window-excursion" "save-match-data" "save-current-buffer" "combine-after-change-calls" "unwind-protect" "condition-case" "condition-case-unless-debug" ! "track-mouse" "eval-after-load" "eval-and-compile" ! "eval-when-compile" "eval-when" "eval-next-after-load" ! "with-case-table" "with-category-table" "with-coding-priority" ! "with-current-buffer" "with-demoted-errors" ! "with-electric-help" "with-local-quit" "with-no-warnings" "with-output-to-string" "with-output-to-temp-buffer" "with-selected-window" "with-selected-frame" --- 2288,2298 ---- "save-window-excursion" "save-match-data" "save-current-buffer" "combine-after-change-calls" "unwind-protect" "condition-case" "condition-case-unless-debug" ! "track-mouse" "eval-after-load" "with-eval-after-load" ! "eval-and-compile" "eval-when-compile" "eval-when" ! "eval-next-after-load" "with-case-table" "with-category-table" ! "with-coding-priority" "with-current-buffer" ! "with-demoted-errors" "with-electric-help" "with-local-quit" "with-no-warnings" "with-output-to-string" "with-output-to-temp-buffer" "with-selected-window" "with-selected-frame" --=-=-= Content-Type: text/plain Regards, Michael. --=-=-=--