From mboxrd@z Thu Jan 1 00:00:00 1970 Path: news.gmane.io!.POSTED.blaine.gmane.org!not-for-mail From: Philip Kaludercic Newsgroups: gmane.emacs.devel Subject: Re: How do you develop emacs core packages? Date: Mon, 21 Nov 2022 09:12:41 +0000 Message-ID: <87h6ysbrhy.fsf@posteo.net> References: Mime-Version: 1.0 Content-Type: text/plain Injection-Info: ciao.gmane.io; posting-host="blaine.gmane.org:116.202.254.214"; logging-data="28702"; mail-complaints-to="usenet@ciao.gmane.io" Cc: emacs-devel@gnu.org To: Ackerley Tng Original-X-From: emacs-devel-bounces+ged-emacs-devel=m.gmane-mx.org@gnu.org Mon Nov 21 10:13:30 2022 Return-path: Envelope-to: ged-emacs-devel@m.gmane-mx.org Original-Received: from lists.gnu.org ([209.51.188.17]) by ciao.gmane.io with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.92) (envelope-from ) id 1ox2rp-0007HE-07 for ged-emacs-devel@m.gmane-mx.org; Mon, 21 Nov 2022 10:13:29 +0100 Original-Received: from localhost ([::1] helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1ox2r9-0007up-2E; Mon, 21 Nov 2022 04:12:47 -0500 Original-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 1ox2r7-0007uH-64 for emacs-devel@gnu.org; Mon, 21 Nov 2022 04:12:45 -0500 Original-Received: from mout01.posteo.de ([185.67.36.65]) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1ox2r4-0006gV-Od for emacs-devel@gnu.org; Mon, 21 Nov 2022 04:12:44 -0500 Original-Received: from submission (posteo.de [185.67.36.169]) by mout01.posteo.de (Postfix) with ESMTPS id 0F65D24002B for ; Mon, 21 Nov 2022 10:12:40 +0100 (CET) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=posteo.net; s=2017; t=1669021961; bh=RK9gxsaJqbITobNZJ+y+kTFg1SmyT63D3ObLpbZ3Z/w=; h=From:To:Cc:Subject:Date:From; b=dH0wrySqV4Y2IV1jO2o8L2cHRNpN2OVe6Lm9hNtadE72n5uUvfpFbhOlJM1cNJD9J SNIgqbRS9j5FwyrhrCjCwrG/WYu21Za300lFXbhAiJLV6Tamo+FmZY3qksMQBGyqTU KubskTkQ4A3wJffIVLQp/kxWf1a5+W3/n4MoyWqSAWtc0nDnt/GGS+cs7YvWAU1q1Q yCiZIpCiG/UZ6jYy6NOloEyFMWnoxLaD+xBR9+SBgjT9TnsjTwFSPy/ckRYHqyjf4/ GBJHz6IgeAeqpbZqqVxHnnhiLQiS8JTFrOtjkSxw7kQJRh0UYt7h95bwi9XkCbFToi 42WANoVoxD0PQ== Original-Received: from customer (localhost [127.0.0.1]) by submission (posteo.de) with ESMTPSA id 4NG1r84XH3z6tnW; Mon, 21 Nov 2022 10:12:40 +0100 (CET) In-Reply-To: (Ackerley Tng's message of "Sun, 20 Nov 2022 10:18:52 -0800") Received-SPF: pass client-ip=185.67.36.65; envelope-from=philipk@posteo.net; helo=mout01.posteo.de X-Spam_score_int: -20 X-Spam_score: -2.1 X-Spam_bar: -- X-Spam_report: (-2.1 / 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, RCVD_IN_DNSWL_NONE=-0.0001, SPF_HELO_NONE=0.001, SPF_PASS=-0.001 autolearn=ham autolearn_force=no X-Spam_action: no action X-BeenThere: emacs-devel@gnu.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: "Emacs development discussions." List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: emacs-devel-bounces+ged-emacs-devel=m.gmane-mx.org@gnu.org Original-Sender: emacs-devel-bounces+ged-emacs-devel=m.gmane-mx.org@gnu.org Xref: news.gmane.io gmane.emacs.devel:300284 Archived-At: Ackerley Tng writes: > Hi Emacs Developers! > > Would like to learn your workflow while developing core packages. > > I use the package manager's version of emacs, so I have a lot of > .el.gz files in some system directory. > > If I want to develop on one of those, I usually make a copy of the > entire file, and then iterate by evaluating the function in emacs to > override existing definitions, but sometimes when global variables > initialized on emacs startup need to be adjusted, I find it hard to > undo those steps, which the default package sets up. > > What's your workflow for developing core packages, do you have any > tricks to share? The main thing would be to build Emacs from source, then you always have the newest versions of any file you wish to work on (which will prevent issues when applying patches), and if you clone the emacs.git repository, you'll be able to prepare git patches and see the version history. This might be of use: https://git.savannah.gnu.org/cgit/emacs.git/tree/CONTRIBUTE