From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from mp2 ([2001:41d0:2:bcc0::]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits)) by ms0.migadu.com with LMTPS id 0KFiHI76p2FJFgEAgWs5BA (envelope-from ) for ; Wed, 01 Dec 2021 23:43:26 +0100 Received: from aspmx1.migadu.com ([2001:41d0:2:bcc0::]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits)) by mp2 with LMTPS id YDAMGI76p2EBeQAAB5/wlQ (envelope-from ) for ; Wed, 01 Dec 2021 22:43:26 +0000 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 E0161332AF for ; Wed, 1 Dec 2021 23:43:25 +0100 (CET) Received: from localhost ([::1]:43008 helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1msYJx-0006mh-11 for larch@yhetil.org; Wed, 01 Dec 2021 17:43:25 -0500 Received: from eggs.gnu.org ([209.51.188.92]:58268) by lists.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1msYIz-0006TG-H4 for emacs-orgmode@gnu.org; Wed, 01 Dec 2021 17:42:25 -0500 Received: from [2607:f8b0:4864:20::536] (port=33648 helo=mail-pg1-x536.google.com) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_128_GCM_SHA256:128) (Exim 4.90_1) (envelope-from ) id 1msYIx-0003mP-4r for emacs-orgmode@gnu.org; Wed, 01 Dec 2021 17:42:25 -0500 Received: by mail-pg1-x536.google.com with SMTP id f125so11843787pgc.0 for ; Wed, 01 Dec 2021 14:42:22 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20210112; h=references:user-agent:from:to:subject:date:in-reply-to:message-id :mime-version; bh=3uwYC5D41uWUxJ7jsyXu9s6gpJJktxhQzDiV/73jrHU=; b=pCpGMK4POySwj15ken1FPLRUOH1pPzINWAGVx2PnhiwBPsH9GNUQeU/yl1N88zuOGj 3nZ2vkdCWdaOQhJ+83wSP1sukSsTuui7I8XqXPk4vfS9sI2nCOJKWliyl+lQCP8VdOiq 6lFhhdOFOHLGq/WwRRqvgEzHg6aq++rrKuxkl85UHVNynowUH7J9GXvguTN0xw1rS5HR Tbm28n7DHguj1THOQPdJz8ZtrA93hgFIttjCXmFIHCway48Bf6sakcZwMgyrZZeT71QA G58rQGx6IYl4xDR1GdzPZsEoSD36ELQuxBUVrS6MSKsy512I3oW902DEfTWsDzPNomwx ya5g== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20210112; h=x-gm-message-state:references:user-agent:from:to:subject:date :in-reply-to:message-id:mime-version; bh=3uwYC5D41uWUxJ7jsyXu9s6gpJJktxhQzDiV/73jrHU=; b=i5zbwi9a5NAkzaMEGXBT/9W/mi5UNKTpvGQJQBE9U1JRZySCcosp+cf1CixyWVEc1H ebB+d/KN2IFa94vGbKjKs8q8h2jqS9b2JxK1biLfQnpp8V5lxqnrwMuZ111TKucxIX+l +0oV02VgRNzsX/fpum1pdEWtiduOWVJU4gg0l84Zye3dj2VT5W5HtYDFFwcuNLeNgTiu 1qXtX9ooNxDIrt60TBqCv0W4tU2Ns1pqV+yyhrHDTWOlnD8lwCqBeXx4vp/n0yeiMhn8 9V0QQpUU4XHrelTu3ANQY0LfdMfLBtzbn7c646mqVaCVhjpn+uuw7PwU10oZfuD38IRT bhfw== X-Gm-Message-State: AOAM5306ylMh3cqz1Od4FQUlcPfa7ouASLuIs/mLuBvSwWJQD2xbevyd CK7dRgxNVV8TcaMlalniLtUfV7diaXI= X-Google-Smtp-Source: ABdhPJwuPhZ5g6PtIH8GKttb6eb3y4ONlM55sGdHkTjPU9b5iULRh9GWgM7aWdQG/qsR2mogIOcllA== X-Received: by 2002:a63:2217:: with SMTP id i23mr6600052pgi.332.1638398541201; Wed, 01 Dec 2021 14:42:21 -0800 (PST) Received: from dingbat (2001-44b8-31f2-bb00-a541-f132-a1f3-83b1.static.ipv6.internode.on.net. [2001:44b8:31f2:bb00:a541:f132:a1f3:83b1]) by smtp.gmail.com with ESMTPSA id i193sm856980pfe.87.2021.12.01.14.42.19 for (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Wed, 01 Dec 2021 14:42:20 -0800 (PST) References: User-agent: mu4e 1.7.5; emacs 28.0.60 From: Tim Cross To: emacs-orgmode@gnu.org Subject: Re: frustrations Date: Thu, 02 Dec 2021 09:12:38 +1100 In-reply-to: Message-ID: <87h7bshrqu.fsf@gmail.com> MIME-Version: 1.0 Content-Type: text/plain X-Host-Lookup-Failed: Reverse DNS lookup failed for 2607:f8b0:4864:20::536 (failed) Received-SPF: pass client-ip=2607:f8b0:4864:20::536; envelope-from=theophilusx@gmail.com; helo=mail-pg1-x536.google.com X-Spam_score_int: -12 X-Spam_score: -1.3 X-Spam_bar: - X-Spam_report: (-1.3 / 5.0 requ) BAYES_00=-1.9, DKIM_SIGNED=0.1, DKIM_VALID=-0.1, DKIM_VALID_AU=-0.1, DKIM_VALID_EF=-0.1, FREEMAIL_FROM=0.001, PDS_HP_HELO_NORDNS=0.001, RCVD_IN_DNSWL_NONE=-0.0001, RDNS_NONE=0.793, 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" X-Migadu-Flow: FLOW_IN X-Migadu-Country: US ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=yhetil.org; s=key1; t=1638398606; 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:in-reply-to:in-reply-to: references:references:list-id:list-help:list-unsubscribe: list-subscribe:list-post:dkim-signature; bh=3uwYC5D41uWUxJ7jsyXu9s6gpJJktxhQzDiV/73jrHU=; b=UYM8GS/YDVil0NjybhvCdRPHdgQ7P1iOPtiX7MEmsQH8vCm3710wav4GMJlbBRdcGOBRtl vkeWEa33dySoqDVDyCb1eO+9uaqbFSXiGEe53MuajYLxmy8AZ5L3LpiaI57NTS+8vtHcpt DtiVjBBPTxE3X0hBQfyjVPErwTW+W2WHpX6EBSrlOGHayFJ1vcVvqXgTYpqZKbxYfLshfD MDPybfaDMq7aE3zzTnYrmEbTBDg3chDnW9vS7E/mlpTlSYZ6DxfIvAO0RqhiyD2kdtQR0l 5D1ZIKMvAE1GZSPCVh9NxDcDuoJKhJxbfE4xmOeOWdE7BJCPl3nAOnkmJhxKrw== ARC-Seal: i=1; s=key1; d=yhetil.org; t=1638398606; a=rsa-sha256; cv=none; b=m7IMZUoroWcdv/wrfFBV2/ekWqwRA+/Oodquv+b0CtmvV/vF6nUX44eF9p+gdNSAhTvK7b M614YBi7yy2O1MzQ2xI8q3Ihy+NPOcVKBWEH0jSzx5HeKfUskeIuTQDqTb8FQGRjpPQnGq Hm7dbxzORJgGRrNHeo7EHQtVYaaBoAsz+5vuKA+QMF0L17Zm/EyweLbRolDVyjF10G7fyO qZyjReCrgwV6A/HWOJ1U9YMEJlOl+JEmSs6QwZGgGbLqqqWunmBjIaulNmEMPBr8m+hEFN IhwKxBY68/vztzYbfCA9quqhuzswHDT9lM/9CQwr+uvsLcHuPd+Ff2N9yFm9tA== ARC-Authentication-Results: i=1; aspmx1.migadu.com; dkim=pass header.d=gmail.com header.s=20210112 header.b=pCpGMK4P; dmarc=pass (policy=none) header.from=gmail.com; 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-Spam-Score: -4.12 Authentication-Results: aspmx1.migadu.com; dkim=pass header.d=gmail.com header.s=20210112 header.b=pCpGMK4P; dmarc=pass (policy=none) header.from=gmail.com; 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-Queue-Id: E0161332AF X-Spam-Score: -4.12 X-Migadu-Scanner: scn0.migadu.com X-TUID: dA12sf3bjgs0 Jan Ulrich Hasecke writes: > Hi all, > > after happily using straight for quite a while I am currently frustrated by a > couple of problems. > > In a different thread I asked about exporting citations, which does not > work for me at all. > > Today I discovered that pamparam does not work anymore with an error > message mentioned here: > https://github.com/nobiot/org-transclusion/issues/105 > > Even to get to this error, as pamparam didn't start at all, I had to > manually fix something in worf.el > https://github.com/leotaku/worf/commit/38e901d3888e3a245a5cba14a061bffa1c5fd20b > > If I understand correctly, straight uses the bleeding of packages from > github. Maybe this is not what I want. Maybe in the past I just was > lucky not to hit a bug or an incompatible change. > > There are some more issues. Startup time of my emacs is more than 30 > seconds even after optimizing something with esup. I have 10.000+ files > in my org-roam and fear that I hit some limitation either of org-roam or > my hardware. > > How do you configure your emacs using current versions like org 9.5 but > at the same time avoiding problems with incompatible packages or newly > introduced bugs? > > In a few days I'll get a new computer and I have serious doubt whether > to copy my settings.org to the new one, because there are too many > problems in the last couple of weeks. > As mentioned by others, this is really a general Emacs and software maintenance issue. However, I'll add a couple of points to what has already been said (most of which is good advice). - Don't use straight. I've never used it primarily because installing directly from git is high risk. There is no guarantee that a git repository is stable or if the head of a branch is fully tested etc. Instead, stick with package.el and in particular, the GNU ELPA and NONGNU repositories. One reason for this is that when an updated package gets into one of the repositories, it does so because the maintainer has released a new version. This is not necessarily the case when you install directly from a git repository (either using straight or git directly). - Often it is useful to steal (borrow) ideas from others. In particular, some of the curated 'canned' emacs setups, like spacemacs and doom implement a package rollback facility. You can upgrade packages and if you find they break your workflow in some way, you can rollback to a previous version. You may not want to use one of these curated configurations. However, this doesn't stop you from taking the ideas (and in most cases, even the code as it is typically GPL'd). These days, I use spacemacs and one reason is because I'm not interested in having to constantly tweak and review my packages and additional libraries. I now just leave that to spacemacs and enjoy the time it saves me. With updates and stability, I think there are two approaches - Update regularly - at least once a week if not more often. Doing this tends to result in only small changes and when things do break, it usually isn't too hard to fix. However, you are more likely to have small breakage more often. I tend to do my updates on Sunday so taht I ahve time to fix any problems before work on Monday. - Only update when you encounter problems and need recent bug fixes or when a package you use has released a new version which has features you want. This results in far fewer instances of things breaking. However, the downside is that when you do upgrade, lots will likely change and tracking down the cause of problems can be more difficult. This approach often requires more planning and takes longer, but you do it less frequently. This I would do during a week off or over a holiday period etc. One trick which I've used in the past is to - Ensure all my library and package dependencies are located under .emacs.d - Use something like use-package to manage installation of additional packages (via the :enable stanza). Before doing an update/upgrade, I make a copy of .emacs.d called emacs.d-yyyymmdd (i.e. emacs.d with the date appended to the name). I then do the update/upgrade. If things a broken, I simply delete .emacs.d and then move the copy back to .emacs.d and I'm back to where I was before the upgrade. It is somewhat crude, but simple and reliable. In reality, I've put lots of my configuration files under git, so I can easily restore a configuration on any system. With regards to startup time, the key thing is to ensure you don't load things until they are needed. Emacs has built in support for this with the 'autoload' facility (get more details from the manual). Alternatively, you can use something like use-package, which has the :deferred stanza that will defer loading a package until a specific command is executed (pretty sure it just uses the autoload facility under the hood). I load approx 500 additional Emacs packages in my setup and my load time is only a cople of seconds. I really like the use-package library. It can make your init.el file much cleaner and you can setup things so that the only thing you need to backup is your init.el file. Whenever you want to do a clean install with all the latest versions of packages, you can just wipe away .emacs.d, copy in your init.el into a fresh .emacs.d directory and then startup Emacs. The first run will be slow as use-pakage downloads all the packages you use, but after that, provided you have used the :defer stanza appropriately, startup times will typically be quite short. Finally, it may be worth looking closely at eh documentation for package.el and use-package as they also provide facilities which may be useful. For example, you can configure things so that packages are pinned to a specific version or specific repository. For example, you could specify that certain key packages will stay at a specific version until you explicitly tell Emacs you want to update to a new version. I've used this for some packages which have high frequency of releases and which are not always stable. This allows me to do do a package update and know that a couple of key packages I really depend on will not change. So, in summary, there are quite a few things you can do to address your frustrations. Unfortunately, the frustrating part is that you will likely need to digest some key manuals and spend some time getting the setup right. I would also suggest sticking to the ELPA and NONGNU package repositories as much as possible. Other repositories, like MELPA, might have more recent versions of some packages, but they tend to be less stable (and are often of greatly varying quality).