Function: net-utils-run-simple

net-utils-run-simple is a byte-compiled function defined in net-utils.el.gz.

Signature

(net-utils-run-simple BUFFER PROGRAM-NAME ARGS &optional NODISPLAY)

Documentation

Run a network utility for diagnostic output only.

Source Code

;; Defined in /usr/src/emacs/lisp/net/net-utils.el.gz
(defun net-utils-run-simple (buffer program-name args &optional nodisplay)
  "Run a network utility for diagnostic output only."
  (with-current-buffer (if (stringp buffer) (get-buffer-create buffer) buffer)
    (let ((proc (get-buffer-process (current-buffer))))
      (when proc
        (set-process-filter proc nil)
        (delete-process proc)))
    (let ((inhibit-read-only t))
      (erase-buffer))
    (net-utils-mode)
    (setq-local net-utils--revert-cmd
                `(net-utils-run-simple ,(current-buffer)
                                       ,program-name ,args nodisplay))
    (let ((coding-system-for-read
	   ;; MS-Windows versions of network utilities output text
	   ;; encoded in the console (a.k.a. "OEM") codepage, which is
	   ;; different from the default system (a.k.a. "ANSI")
	   ;; codepage.
	   (if (eq system-type 'windows-nt)
	       (intern (format "cp%d" (w32-get-console-output-codepage)))
	     coding-system-for-read)))
      (set-process-filter
       (apply #'start-process program-name
              (current-buffer) program-name args)
       #'net-utils-remove-ctrl-m-filter))
    (unless nodisplay (display-buffer (current-buffer)))))