From mboxrd@z Thu Jan 1 00:00:00 1970 Path: news.gmane.io!.POSTED.blaine.gmane.org!not-for-mail From: Michael Heerdegen Newsgroups: gmane.emacs.devel Subject: Re: Best (or common) pratices on package development workflow Date: Fri, 02 Jun 2023 01:56:36 +0200 Message-ID: <87h6rqspmz.fsf@web.de> References: Mime-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit Injection-Info: ciao.gmane.io; posting-host="blaine.gmane.org:116.202.254.214"; logging-data="9398"; mail-complaints-to="usenet@ciao.gmane.io" User-Agent: Gnus/5.13 (Gnus v5.13) To: emacs-devel@gnu.org Cancel-Lock: sha1:+w2Z5dsoDk+fmJ7WpN/geAm3wWQ= Original-X-From: emacs-devel-bounces+ged-emacs-devel=m.gmane-mx.org@gnu.org Fri Jun 02 01:57:01 2023 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 1q4sA9-0002Gz-L6 for ged-emacs-devel@m.gmane-mx.org; Fri, 02 Jun 2023 01:57:01 +0200 Original-Received: from localhost ([::1] helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1q4s9w-00049M-DB; Thu, 01 Jun 2023 19:56:48 -0400 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 1q4s9u-000498-1w for emacs-devel@gnu.org; Thu, 01 Jun 2023 19:56:46 -0400 Original-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 1q4s9s-0006XL-IC for emacs-devel@gnu.org; Thu, 01 Jun 2023 19:56:45 -0400 Original-Received: from list by ciao.gmane.io with local (Exim 4.92) (envelope-from ) id 1q4s9q-0001rE-Ps for emacs-devel@gnu.org; Fri, 02 Jun 2023 01:56:42 +0200 X-Injected-Via-Gmane: http://gmane.org/ Received-SPF: pass client-ip=116.202.254.214; envelope-from=ged-emacs-devel@m.gmane-mx.org; helo=ciao.gmane.io X-Spam_score_int: -13 X-Spam_score: -1.4 X-Spam_bar: - X-Spam_report: (-1.4 / 5.0 requ) BAYES_00=-1.9, FREEMAIL_FORGED_FROMDOMAIN=0.248, FREEMAIL_FROM=0.001, HEADER_FROM_DIFFERENT_DOMAINS=0.249, SPF_HELO_NONE=0.001, SPF_PASS=-0.001, T_SCC_BODY_TEXT_LINE=-0.01 autolearn=no 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:306536 Archived-At: "Lic. Federico G. Stilman" writes: > Every time I make a change to the init value of the defcustom > declaration, I have to unload the feature provided by the package, > with something like: > > (unload-feature 'my-package) > > and after that, reload the library with something like > > (load-library "my-package") > > If not, the customization framework doesn't account for the change on > the default value of the custom variables. In simple cases, you can follow this advice: | When you evaluate a top-level ‘defvar’ form with ‘C-M-x’ | (‘eval-defun’) or with ‘C-x C-e’ (‘eval-last-sexp’) in Emacs Lisp | mode, a special feature of these two commands arranges to set the | variable unconditionally, without testing whether its value is | void. (info "(elisp) Defining Variables") If you changed a lot of `defvar's, unloading might be the cleaner way (note that if you do not unload, declared variables are still special and bound, and you might miss places in your code that still depend on such an actually already removed variable). If you work intensively on a certain library, it might be better to do the coding in one instance and test the code in another instance that you restart regularly. Michael.