From mboxrd@z Thu Jan 1 00:00:00 1970 Path: news.gmane.io!.POSTED.blaine.gmane.org!not-for-mail From: Jean Louis Newsgroups: gmane.emacs.help Subject: Re: Fwd: How do I go about debugging my Elisp code? Date: Fri, 14 Jan 2022 11:24:06 +0300 Message-ID: References: Mime-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 7bit Injection-Info: ciao.gmane.io; posting-host="blaine.gmane.org:116.202.254.214"; logging-data="17367"; mail-complaints-to="usenet@ciao.gmane.io" User-Agent: Mutt/2.1.5+104 (cd3a5c8) (2022-01-09) Cc: help-gnu-emacs@gnu.org To: Davin Pearson Original-X-From: help-gnu-emacs-bounces+geh-help-gnu-emacs=m.gmane-mx.org@gnu.org Fri Jan 14 09:26:25 2022 Return-path: Envelope-to: geh-help-gnu-emacs@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 1n8Hui-0004LJ-Pp for geh-help-gnu-emacs@m.gmane-mx.org; Fri, 14 Jan 2022 09:26:24 +0100 Original-Received: from localhost ([::1]:58004 helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1n8Huh-00048D-Co for geh-help-gnu-emacs@m.gmane-mx.org; Fri, 14 Jan 2022 03:26:23 -0500 Original-Received: from eggs.gnu.org ([209.51.188.92]:36180) by lists.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1n8Hse-00046B-IR for help-gnu-emacs@gnu.org; Fri, 14 Jan 2022 03:24:18 -0500 Original-Received: from stw1.rcdrun.com ([217.170.207.13]:60371) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1n8Hsb-0003Xd-Qt for help-gnu-emacs@gnu.org; Fri, 14 Jan 2022 03:24:16 -0500 Original-Received: from localhost ([::ffff:41.75.187.28]) (AUTH: PLAIN admin, TLS: TLS1.3,256bits,ECDHE_RSA_AES_256_GCM_SHA384) by stw1.rcdrun.com with ESMTPSA id 0000000000037E5B.0000000061E1330A.00007C49; Fri, 14 Jan 2022 01:23:38 -0700 Mail-Followup-To: Davin Pearson , help-gnu-emacs@gnu.org Content-Disposition: inline In-Reply-To: Received-SPF: pass client-ip=217.170.207.13; envelope-from=bugs@gnu.support; helo=stw1.rcdrun.com X-Spam_score_int: -18 X-Spam_score: -1.9 X-Spam_bar: - X-Spam_report: (-1.9 / 5.0 requ) BAYES_00=-1.9, SPF_HELO_PASS=-0.001, SPF_PASS=-0.001 autolearn=ham autolearn_force=no X-Spam_action: no action X-BeenThere: help-gnu-emacs@gnu.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: Users list for the GNU Emacs text editor List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: help-gnu-emacs-bounces+geh-help-gnu-emacs=m.gmane-mx.org@gnu.org Original-Sender: "help-gnu-emacs" Xref: news.gmane.io gmane.emacs.help:135284 Archived-At: I join to advise by Michael from Sweden as to make it a proper package, use byte-compiler messages and warnings first. You could use M-x emacs-lisp-byte-compile to find various warnings and that is also for debugging purposes. What I often do is instrumenting the function for Edebug and using xref package to move from function to function. Here is the method: 1. First find the function which you suspect or wish to debug, or the one which you are invoking. 2. Press C-u for prefix followed by C-M-x within the function. This will instrument the function for Edebug. 3. Run the function to begin the process. Once instrumenting process begins, click "n" for next and verify various values and how function is executed. You will find out what is wrong. 4. If you see that function is calling other function where you think that problem exists, instrument that other function as well. 5. To remove instrumentation use M-x edebug-remove-instrumentation and remove functions which you don't want to inspect any more. -- Jean Take action in Free Software Foundation campaigns: https://www.fsf.org/campaigns In support of Richard M. Stallman https://stallmansupport.org/