help-gnu-emacs
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Editing Emacs buffer with external editor


From: Jean Louis
Subject: Editing Emacs buffer with external editor
Date: Sat, 22 May 2021 23:22:40 +0300

For those people who wish edit Emacs buffers with external editor
within Emacs editing session:

(defcustom rcd-external-editor "notepadqq"
  "The external editor as an option for some functions"
  :group 'rcd
  :type 'string)

(defun rcd-edit-with-external-editor (&optional text)
  "Editing with external editor as defined in `rcd-external-editor'.

It will either edit the optional TEXT as string
argument. Otherwise it will edit the current buffer and replace
it with the result."
  (interactive)
  (let* ((buffer-or-text (if text nil t))
         (text (if buffer-or-text (buffer-substring-no-properties (point-min) 
(point-max)) text))
         (point (point))
         ;; (mode major-mode)
         (file (concat (or (getenv "TMPDIR") "/tmp/") "temp-file")))
    (string-to-file-force text file)
    (call-process rcd-external-editor nil nil nil file)
    (if buffer-or-text 
        (progn
          (erase-buffer)
          (insert (file-to-string file))
          (goto-char point))
      (file-to-string file))))




Jean

Take action in Free Software Foundation campaigns:
https://www.fsf.org/campaigns

Sign an open letter in support of Richard M. Stallman
https://stallmansupport.org/



reply via email to

[Prev in Thread] Current Thread [Next in Thread]