From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from mp11.migadu.com ([2001:41d0:8:6d80::]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits)) by ms9.migadu.com with LMTPS id zHB8OomvKWTZlwAASxT56A (envelope-from ) for ; Sun, 02 Apr 2023 18:38:34 +0200 Received: from aspmx1.migadu.com ([2001:41d0:8:6d80::]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits)) by mp11.migadu.com with LMTPS id sC+0OYmvKWQzHQAA9RJhRA (envelope-from ) for ; Sun, 02 Apr 2023 18:38:33 +0200 Received: from lists.gnu.org (lists.gnu.org [209.51.188.17]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by aspmx1.migadu.com (Postfix) with ESMTPS id 7E71226A9F for ; Sun, 2 Apr 2023 18:38:33 +0200 (CEST) Received: from localhost ([::1] helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1pj0i3-0002F7-Ps; Sun, 02 Apr 2023 12:37:39 -0400 Received: from eggs.gnu.org ([2001:470:142:3::10]) by lists.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1pj0i1-0002Es-Mt for emacs-orgmode@gnu.org; Sun, 02 Apr 2023 12:37:37 -0400 Received: from ciao.gmane.io ([116.202.254.214]) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1pj0i0-0006Ow-9h for emacs-orgmode@gnu.org; Sun, 02 Apr 2023 12:37:37 -0400 Received: from list by ciao.gmane.io with local (Exim 4.92) (envelope-from ) id 1pj0hy-0000Dw-6c for emacs-orgmode@gnu.org; Sun, 02 Apr 2023 18:37:34 +0200 X-Injected-Via-Gmane: http://gmane.org/ To: emacs-orgmode@gnu.org From: Max Nikulin Subject: Re: [PATCH] Add compat.el support to Org (was: [POLL] Use compat.el in Org? (was: Useful package? Compat.el)) Date: Sun, 2 Apr 2023 23:37:25 +0700 Message-ID: References: <87sfx7degz.fsf@gmail.com> <87v8ks6rhf.fsf@localhost> <87r0t3gahd.fsf@localhost> Mime-Version: 1.0 Content-Type: text/plain; charset=UTF-8; format=flowed Content-Transfer-Encoding: 7bit User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:102.0) Gecko/20100101 Thunderbird/102.9.0 Content-Language: en-US In-Reply-To: <87r0t3gahd.fsf@localhost> Received-SPF: pass client-ip=116.202.254.214; envelope-from=geo-emacs-orgmode@m.gmane-mx.org; helo=ciao.gmane.io X-Spam_score_int: 4 X-Spam_score: 0.4 X-Spam_bar: / X-Spam_report: (0.4 / 5.0 requ) BAYES_00=-1.9, DKIM_ADSP_CUSTOM_MED=0.001, FORGED_GMAIL_RCVD=1, FORGED_MUA_MOZILLA=2.309, FREEMAIL_FORGED_FROMDOMAIN=0.25, FREEMAIL_FROM=0.001, HEADER_FROM_DIFFERENT_DOMAINS=0.25, NICE_REPLY_A=-2.37, NML_ADSP_CUSTOM_MED=0.9, SPF_HELO_NONE=0.001, SPF_PASS=-0.001 autolearn=no autolearn_force=no X-Spam_action: no action X-BeenThere: emacs-orgmode@gnu.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: "General discussions about Org-mode." List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: emacs-orgmode-bounces+larch=yhetil.org@gnu.org Sender: emacs-orgmode-bounces+larch=yhetil.org@gnu.org X-Migadu-Country: US X-Migadu-Flow: FLOW_IN ARC-Seal: i=1; s=key1; d=yhetil.org; t=1680453513; a=rsa-sha256; cv=none; b=lMWTMJj0HxeezzvVrQBcucWOPGvbSqt7g6SP2o6cgmoWCgXlDEu0BeIVtJZhebtHDGuBsj LrPLnz166xTZIDq5n/ms4Wh3h++sKcSmnd4WOmRLXc5Fcuovq5obpopaAxigZGp1KSFIN8 SwwDn6IiSuQyr/fDIBrS6q0Ytt2CoKdxRI87q84qWcHQyeueJP25fYBjbGIB/pQcBwvamu 4XvimuMbK0LaR5xAF88SErhTND08xkOsCj0B5ihaiCDwBtFCnsx1D03uFpB0rvIJH4WQx0 rDruFk/LEUC+a/3WWKIeqa6gwlehSseGmR6qZf9vNhGADxF3wvAhs1KUt1jsnw== ARC-Authentication-Results: i=1; aspmx1.migadu.com; dkim=none; dmarc=fail reason="SPF not aligned (relaxed), No valid DKIM" header.from=gmail.com (policy=none); spf=pass (aspmx1.migadu.com: domain of "emacs-orgmode-bounces+larch=yhetil.org@gnu.org" designates 209.51.188.17 as permitted sender) smtp.mailfrom="emacs-orgmode-bounces+larch=yhetil.org@gnu.org" ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=yhetil.org; s=key1; t=1680453513; h=from:from:sender:sender:reply-to:subject:subject:date:date: message-id:message-id:to:to:cc:mime-version:mime-version: content-type:content-type: content-transfer-encoding:content-transfer-encoding: in-reply-to:in-reply-to:references:references:list-id:list-help: list-unsubscribe:list-subscribe:list-post; bh=k1lIuNDosSkElI90u1saXfp+N6DMQC1LOVsiGq172uI=; b=SncsgTmmeuPUmV2w+rd2dbUpaZaJZlZ6sOSzdvb/MPE/nVmhUwVNPrFb3U2vDQ2j01UHj9 0fZYpRZcTwwvFfmx2yOxodcO3kb9xGYZgmVY55/bONURexyImvqOBNteDMaknEb3t84W8n qRH8XDxclZvCD/iYQxep4ff4K0L+U7oRD+cb2TNwcc3GB85jj2XDjK149Ch4WqGA/Zkdsk 8cnOXeR5kRKxTY0gKKiRLWdUJ5iK6NeBdJc183pj/IAEkjAnasHoFyDOKQBFvOR5Zl6HZW kWUzSDwMhRG8EzphWIGrCgUq/tvUIX9LzdP9QqzsCl38KmcvjX36VJWBI3RvgA== Authentication-Results: aspmx1.migadu.com; dkim=none; dmarc=fail reason="SPF not aligned (relaxed), No valid DKIM" header.from=gmail.com (policy=none); spf=pass (aspmx1.migadu.com: domain of "emacs-orgmode-bounces+larch=yhetil.org@gnu.org" designates 209.51.188.17 as permitted sender) smtp.mailfrom="emacs-orgmode-bounces+larch=yhetil.org@gnu.org" X-Migadu-Scanner: scn0.migadu.com X-Migadu-Spam-Score: -1.43 X-Spam-Score: -1.43 X-Migadu-Queue-Id: 7E71226A9F X-TUID: Pc65mSfspG5I On 01/04/2023 17:31, Ihor Radchenko wrote: > > See the attached patch set adding support of compat.el. Ihor, do added makefile rules follow best practices used by other Emacs packages in respect to dependencies? I do not like the idea of network queries on every make. In some cases I would prefer to specify a directory where compat.el is installed, so Makefile should not try to manage this directory. My impression is that package management code in Emacs is too oriented for interactive usage. E.g. python's pip caches downloaded packages or allows to specify a proxy or an alternative source. Moreover precise version may be specified while only last version is hosted on ELPA. In other package managers version lock is often preferred to avoid unexpected effects of spurious update. Fortunately ELPA packages are at least reviewed before publication. Originally I expected that either compat.el would be included into Org repository either as a copy of the file or as git submodule. In addition I am afraid of recursive removal of directories. It is too easy to remove too much. > +pkgdir = $(shell pwd)/pkg-deps Make has CURDIR variable, but I am unsure if it is safe to use it in this context. > + -$(FIND) $(pkgdir) \( -name \*.elc \) -exec $(RM) {} + find has -delete action. I see that "-exec $(RM)" is already used. > +cleanpkg: > + -$(RMR) $(pkgdir) Perhaps it is impossible to completely avoid recursive deleting of directories, but I still afraid of cases like https://github.com/MrMEEE/bumblebee-Old-and-abbandoned/issues/123 https://news.ycombinator.com/item?id=9254876 > Subject: [PATCH 2/3] Use compat.el library instead of ad-hoc compatibility > function set It would be easier to review if this patch was split into 2 parts: - add compat.el dependency (unused) - replace functions to ones from compat.el