all messages for Emacs-related lists mirrored at yhetil.org
 help / color / mirror / code / Atom feed
* bug#71438: [PATCH] Allow ping to receive optional arguments
@ 2024-06-08 15:28 TOMAS FABRIZIO ORSI
  2024-06-08 18:48 ` Peter Breton via Bug reports for GNU Emacs, the Swiss army knife of text editors
  2024-06-09 12:02 ` Stefan Kangas
  0 siblings, 2 replies; 15+ messages in thread
From: TOMAS FABRIZIO ORSI @ 2024-06-08 15:28 UTC (permalink / raw)
  To: pbreton; +Cc: 71438


[-- Attachment #1.1: Type: text/plain, Size: 705 bytes --]

Hi! This small patch makes it so that the "ping" interactive
function can receive optional arguments.
This allows the caller to change its argument every time. If no
arguments are passed, the default variable will be used.

Prior to this (if I am not mistaken), one had to change the
variable each time.

I would love to get some feedback! Thanks in advance.

Version: GNU Emacs 29.3 (build 1, x86_64-pc-linux-gnu,
GTK+ Version 3.24.41, cairo version 1.18.0) of 2024-05-18

PS: This is my first time sending an email to the emacs
mailing list. I CC'd  bug-gnu-emacs@gnu.org because it
was the address that the CONTRIBUTE file stated one
should send patches to. I apologize in advance if I made
a mistake.

[-- Attachment #1.2: Type: text/html, Size: 1026 bytes --]

[-- Attachment #2: 0001-ping-Added-optional-arguments.patch --]
[-- Type: text/x-patch, Size: 2141 bytes --]

From de527784bb1f6e60a65291e5ab798328fd18c8e0 Mon Sep 17 00:00:00 2001
From: Tomas Fabrizio Orsi <torsi@fi.uba.ar>
Date: Sat, 8 Jun 2024 12:11:18 -0300
Subject: [PATCH] ping: Added optional arguments

Signed-off-by: Tomas Fabrizio Orsi <torsi@fi.uba.ar>
---
 lisp/net/net-utils.el | 21 ++++++++++++---------
 1 file changed, 12 insertions(+), 9 deletions(-)

diff --git a/lisp/net/net-utils.el b/lisp/net/net-utils.el
index 83842cd..6f69326 100644
--- a/lisp/net/net-utils.el
+++ b/lisp/net/net-utils.el
@@ -78,7 +78,7 @@
 
 ;; On GNU/Linux and Irix, the system's ping program seems to send packets
 ;; indefinitely unless told otherwise
-(defcustom ping-program-options
+(defcustom ping-program-default-options
   (and (eq system-type 'gnu/linux)
        (list "-c" "4"))
   "Options for the ping program.
@@ -425,22 +425,25 @@ This variable is only used if the variable
      options)))
 
 ;;;###autoload
-(defun ping (host)
+(defun ping (host &optional options)
   "Ping HOST.
+Optional argument OPTIONS sets which options will be passed to `ping-program'
+If OPTIONS is not set, then `ping-program-default-options' will be used.
 If your system's ping continues until interrupted, you can try setting
-`ping-program-options'."
+`ping-program-default-options'."
   (interactive
    (list (let ((default (ffap-machine-at-point)))
-           (read-string (format-prompt "Ping host" default) nil nil default))))
-  (let ((options
-	 (if ping-program-options
-	     (append ping-program-options (list host))
-	   (list host))))
+           (read-string (format-prompt "Ping host" default) nil nil default))
+         (split-string (read-string (format-prompt "Ping options (RET for defaults)" nil) nil nil nil) " ")))
+  (let ((full-command
+	 (if (or (equal options (list "")) (not options))
+	     (append ping-program-default-options (list host))
+	     (append options (list host)))))
     (net-utils-run-program
      (concat "Ping" " " host)
      (concat "** Ping ** " ping-program " ** " host)
      ping-program
-     options)))
+     full-command)))
 
 ;;;###autoload
 (defun nslookup-host (host &optional name-server)
-- 
2.44.2


^ permalink raw reply related	[flat|nested] 15+ messages in thread

end of thread, other threads:[~2024-06-20 18:45 UTC | newest]

Thread overview: 15+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2024-06-08 15:28 bug#71438: [PATCH] Allow ping to receive optional arguments TOMAS FABRIZIO ORSI
2024-06-08 18:48 ` Peter Breton via Bug reports for GNU Emacs, the Swiss army knife of text editors
2024-06-08 18:57   ` TOMAS FABRIZIO ORSI
2024-06-09 12:02 ` Stefan Kangas
2024-06-09 13:47   ` Eli Zaretskii
2024-06-09 15:03     ` TOMAS FABRIZIO ORSI
2024-06-09 15:21       ` Eli Zaretskii
2024-06-09 15:38       ` Stefan Kangas
2024-06-09 15:48         ` TOMAS FABRIZIO ORSI
2024-06-16 21:46           ` TOMAS FABRIZIO ORSI
2024-06-17  1:14             ` Stefan Kangas
2024-06-17  2:03               ` TOMAS FABRIZIO ORSI
2024-06-17  6:19                 ` Stefan Kangas
2024-06-19  2:17                   ` TOMAS FABRIZIO ORSI
2024-06-20 18:45                     ` Stefan Kangas

Code repositories for project(s) associated with this external index

	https://git.savannah.gnu.org/cgit/emacs.git
	https://git.savannah.gnu.org/cgit/emacs/org-mode.git

This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.