From debbugs-submit-bounces@debbugs.gnu.org Wed Nov 28 10:08:25 2012 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 From debbugs-submit-bounces@debbugs.gnu.org Wed Nov 28 23:29:42 2012 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 To: bug-gnu-emacs@gnu.org Subject: Re: bug#13021: 24.2.90; compile eval-after-load form 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-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.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 debbugs-submit-bounces@debbugs.gnu.org Thu Nov 29 06:34:28 2012 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: Subject: Re: bug#13021: 24.2.90; compile eval-after-load form To: Stefan Monnier Content-Type: text/plain; charset=UTF-8 X-Spam-Score: 0.1 (/) X-Debbugs-Envelope-To: 13021 Cc: 13021@debbugs.gnu.org, 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: 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 debbugs-submit-bounces@debbugs.gnu.org Wed Jun 19 19:55:35 2013 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 From debbugs-submit-bounces@debbugs.gnu.org Thu Jun 20 18:56:08 2013 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 To: 13021@debbugs.gnu.org Subject: Re: bug#13021: 24.2.90; compile eval-after-load form 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-Debbugs-Envelope-To: 13021 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 debbugs-submit-bounces@debbugs.gnu.org Thu Jun 20 21:08:51 2013 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 To: 13021@debbugs.gnu.org Subject: Re: bug#13021: 24.2.90; compile eval-after-load form 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-Debbugs-Envelope-To: 13021 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. --=-=-=-- From unknown Sun Jun 22 07:49:48 2025 Received: (at fakecontrol) by fakecontrolmessage; To: internal_control@debbugs.gnu.org From: Debbugs Internal Request Subject: Internal Control Message-Id: bug archived. Date: Fri, 19 Jul 2013 11:24:03 +0000 User-Agent: Fakemail v42.6.9 # This is a fake control message. # # The action: # bug archived. thanks # This fakemail brought to you by your local debbugs # administrator