Search code examples
elisp

How do I delete the newline from a process output?


I call git get the toplevel dir (according to Is there a way to get the git root directory in one command? ).

(let ((tmpbuffer (get-buffer-create (make-temp-name "git"))))
  (call-process "git" nil tmpbuffer nil "rev-parse" "--show-toplevel")
  (with-current-buffer tmpbuffer
    (with-output-to-string
      (princ (buffer-string))
      (kill-buffer))))

But there's a trailing newline in the string returned. I'm not sure how to get rid of it.


Solution

  • I think you can do

    (replace-regexp-in-string "\n$" "" 
                  (shell-command-to-string "git rev-parse --show-toplevel"))