Hi Jean, now I when opening Emacs I am getting this message: > > Warning: desktop file appears to be in use by process with PID 10234. > Using it may cause conflicts if that process still runs. > Use desktop file anyway? (y or n) > Error running timer ‘rcd-asciidoctor-preview-buffer-as-html’: (text-read-only) [187 times] I was checking the PID with: ps -fp 10234 and I am getting this message: UID PID PPID C STIME TTY TIME CMD Interestingly in htop this PID doesn’t show up. I don’t know why. Is there a way to solve this problem? Kind regards Gottfried > 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/ Am 26.02.23 um 17:50 schrieb Jean Louis: > * Gottfried [2023-02-26 19:07]: >> Your help solved my problem and I have learned a lot through your >> explanations. > >>>>> This error means emacs cannot find the "add-to-path" function. Maybe >>>>> you want "add-to-list"? > > That was my mistake. Maybe I should make alias function `add-to-path' > > (defun add-to-path (path) > (add-to-list 'load-path (expand-file-name path))) > --