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: pandoc-mode /Asciidoc Date: Thu, 23 Feb 2023 23:17:43 +0300 Message-ID: References: <7e1cf128-6006-2995-6f71-06fa307ba655@posteo.de> <8ae47be3-a333-4b7b-bf0d-82e7a53f77cf@posteo.de> 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="22807"; mail-complaints-to="usenet@ciao.gmane.io" User-Agent: Mutt/2.2.9+54 (af2080d) (2022-11-21) Cc: "help-gnu-emacs@gnu.org" To: Gottfried Original-X-From: help-gnu-emacs-bounces+geh-help-gnu-emacs=m.gmane-mx.org@gnu.org Thu Feb 23 21:23:17 2023 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 1pVI7Y-0005iw-Qw for geh-help-gnu-emacs@m.gmane-mx.org; Thu, 23 Feb 2023 21:23:16 +0100 Original-Received: from localhost ([::1] helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1pVI72-0005Al-HW; Thu, 23 Feb 2023 15:22:44 -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 1pVI70-0005AD-LW for help-gnu-emacs@gnu.org; Thu, 23 Feb 2023 15:22:42 -0500 Original-Received: from stw1.rcdrun.com ([217.170.207.13]) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1pVI6y-00010f-W2 for help-gnu-emacs@gnu.org; Thu, 23 Feb 2023 15:22:42 -0500 Original-Received: from localhost ([::ffff:197.239.5.154]) (AUTH: PLAIN admin, TLS: TLS1.3,256bits,ECDHE_RSA_AES_256_GCM_SHA384) by stw1.rcdrun.com with ESMTPSA id 0000000000103A06.0000000063F7CAF4.000044BF; Thu, 23 Feb 2023 13:22:12 -0700 Mail-Followup-To: Gottfried , "help-gnu-emacs@gnu.org" Content-Disposition: inline In-Reply-To: <8ae47be3-a333-4b7b-bf0d-82e7a53f77cf@posteo.de> Received-SPF: pass client-ip=217.170.207.13; envelope-from=bugs@gnu.support; helo=stw1.rcdrun.com X-Spam_score_int: -17 X-Spam_score: -1.8 X-Spam_bar: - X-Spam_report: (-1.8 / 5.0 requ) BAYES_00=-1.9, RCVD_IN_SBL=0.141, SPF_HELO_PASS=-0.001, SPF_PASS=-0.001 autolearn=no 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-bounces+geh-help-gnu-emacs=m.gmane-mx.org@gnu.org Xref: news.gmane.io gmane.emacs.help:142823 Archived-At: It is better that you create some files where you put functions you need, instead of putting everything in init.el You can create asciidoc.el file and put inside what is for Asciidoc. Similar for markdown. Then in init.el you can put: (load "markdown.el") (load "asciidoc.el") If your files are in some directory /my/directory, then you make sure that Emacs can find them, to load them. (add-to-path 'load-path "/my/directory") (load "markdown.el") (load "asciidoc.el") or once you have this setting in init.el: (add-to-path 'load-path "/my/directory") and you have got all your other files in that directory, you can load files when you need by using M-: (load-file "markdown") or by using `l' in Dired directory, or M-x load-file Even better is if you use packages or learn how to make them. That will be most beneficial. And about setting up timers, I would rather set them up this way: ;; following is mimicing (run-with-timer SECS REPEAT FUNCTION &rest ARGS) ;; by using the variable storing the values (defvar my-timer '(1 5 my-function)) Then I could have this function to simply toggle the timer: (defun rcd-toggle-timer (symbol) "Toggle global SYMBOL timer as TRUE or FALSE." (cond ((boundp symbol) (cond ((and (nth 3 (symbol-value symbol)) (timerp (nth 3 (symbol-value symbol)))) (cancel-timer (nth 3 (symbol-value symbol))) (setf (symbol-value symbol) (list (nth 0 (symbol-value symbol)) (nth 1 (symbol-value symbol)) (nth 2 (symbol-value symbol))))) ((and (not (nth 3 (symbol-value symbol))) (nth 2 (symbol-value symbol))) (setf (symbol-value symbol) (list (nth 0 (symbol-value symbol)) (nth 1 (symbol-value symbol)) (nth 2 (symbol-value symbol)) (run-with-timer (nth 0 (symbol-value symbol)) (nth 1 (symbol-value symbol)) (nth 2 (symbol-value symbol)))))) (t (message "Could not set up timer `%s'" symbol))) (symbol-value symbol)) (t (user-error "Cannot setup timer `%s'" symbol)))) And then I apply the function: (rcd-toggle-timer 'my-timer) Then for automatic preview: (defvar my-timer '(1 5 my-preview-function)) (defun toggle-markdown-preview () (interactive) (rcd-toggle-timer 'my-timer)) Then I could invoke it as command: M-x toggle-markdown-preview and then timer toggles, it turns on or turns off. Then you could hold your variable with the timer and timer function in separate file, it need not be init.el and you load it when you need it. -- Jean Take action in Free Software Foundation campaigns: https://www.fsf.org/campaigns In support of Richard M. Stallman https://stallmansupport.org/