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: Is it alright to define-derived-mode dynamically? Date: Fri, 25 Dec 2020 23:03:37 +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="6230"; mail-complaints-to="usenet@ciao.gmane.io" User-Agent: Mutt/2.0 (3d08634) (2020-11-07) To: help-gnu-emacs@gnu.org Original-X-From: help-gnu-emacs-bounces+geh-help-gnu-emacs=m.gmane-mx.org@gnu.org Fri Dec 25 21:05:45 2020 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 1kstLM-0001VQ-EC for geh-help-gnu-emacs@m.gmane-mx.org; Fri, 25 Dec 2020 21:05:44 +0100 Original-Received: from localhost ([::1]:50098 helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1kstLL-0008NW-FH for geh-help-gnu-emacs@m.gmane-mx.org; Fri, 25 Dec 2020 15:05:43 -0500 Original-Received: from eggs.gnu.org ([2001:470:142:3::10]:35706) by lists.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1kstKR-0008N9-Ao for help-gnu-emacs@gnu.org; Fri, 25 Dec 2020 15:04:47 -0500 Original-Received: from stw1.rcdrun.com ([217.170.207.13]:47211) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1kstKP-0008D4-7Y for help-gnu-emacs@gnu.org; Fri, 25 Dec 2020 15:04:46 -0500 Original-Received: from localhost ([::ffff:41.210.159.185]) (AUTH: PLAIN securesender, TLS: TLS1.2,256bits,ECDHE_RSA_AES_256_GCM_SHA384) by stw1.rcdrun.com with ESMTPSA id 000000000002DFDF.000000005FE645DA.000046FA; Fri, 25 Dec 2020 13:04:41 -0700 Mail-Followup-To: 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.23 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:126764 Archived-At: * Stefan Monnier [2020-12-25 20:35]: > > Problem was invoking another derived mode from tabulated-list-mode > > where the other mode did appear and it was populated but it was not > > visible. The text I could not see but entries were there and the lines > > in existence, just everything white. > > There can only be one major mode active in a buffer at a time. > So whenever you call a major mode function, it "removes" the previously > set major mode. Those were invocations of new buffers. Now it works, but I guess it is related to `use-local-map' something as only when I moved its position in the function it got repaired. > >> - Don't use global variables's names for local variables. > > > > Did you mean: > > > > (defvar-local rcd-tabulated-marked-items nil > > "Collects IDs for tabulated list modes") > > So, I meant "local" as in let-bound variables or in your particular case > formal arguments of functions. I remember what you mean now. It is in my case in 1-3 functions among many. Do you think it is messing with program data? Or with readability? Often I will set global variable in let to temporarily change them, like in this example `vterm-kill-buffer-on-exit' (defun run-with-vterm (command) "Runs command with vterm" (let ((vterm-kill-buffer-on-exit t) (buffer (format "Running within vterm: %s" command)) (vterm-shell command)) (vterm buffer))) Those formal arguments of functions they get cleaned up later when function is perfected, they are more individually there for me to get used to it until function is working well.