GNU bug report logs -
#22091
[PATCH 1/2] * lisp/env.el: Add (whereis-command)
Previous Next
Reported by: lu4nx <lx <at> shellcodes.org>
Date: Fri, 4 Dec 2015 07:27:02 UTC
Severity: wishlist
Tags: patch
Fixed in version 25.1
Done: Glenn Morris <rgm <at> gnu.org>
Bug is archived. No further changes may be made.
To add a comment to this bug, you must first unarchive it, by sending
a message to control AT debbugs.gnu.org, with unarchive 22091 in the body.
You can then email your comments to 22091 AT debbugs.gnu.org in the normal way.
Toggle the display of automated, internal messages from the tracker.
Report forwarded
to
bug-gnu-emacs <at> gnu.org
:
bug#22091
; Package
emacs
.
(Fri, 04 Dec 2015 07:27:02 GMT)
Full text and
rfc822 format available.
Acknowledgement sent
to
lu4nx <lx <at> shellcodes.org>
:
New bug report received and forwarded. Copy sent to
bug-gnu-emacs <at> gnu.org
.
(Fri, 04 Dec 2015 07:27:02 GMT)
Full text and
rfc822 format available.
Message #5 received at submit <at> debbugs.gnu.org (full text, mbox):
---
lisp/env.el | 7 +++++++
1 file changed, 7 insertions(+)
diff --git a/lisp/env.el b/lisp/env.el
index 3966ab1..a16f534 100644
--- a/lisp/env.el
+++ b/lisp/env.el
@@ -218,6 +218,13 @@ in the environment list of the selected frame."
(message "%s" (if value value "Not set")))
value))
+(defun whereis-command (command)
+ (let ((paths (split-string (getenv "PATH") ":")))
+ (remove-if-not
+ (lambda (path)
+ (file-exists-p (format "%s/%s" path command)))
+ paths)))
+
(provide 'env)
;;; env.el ends here
--
2.5.0
Information forwarded
to
bug-gnu-emacs <at> gnu.org
:
bug#22091
; Package
emacs
.
(Fri, 04 Dec 2015 07:59:02 GMT)
Full text and
rfc822 format available.
Message #8 received at submit <at> debbugs.gnu.org (full text, mbox):
In some Linux distribution default not found `ifconfig` command, such as CentOS7.
- `ifconfig-program` and `ifconfig-program-options` add support `ip` command.
---
lisp/net/net-utils.el | 10 +++++++---
1 file changed, 7 insertions(+), 3 deletions(-)
diff --git a/lisp/net/net-utils.el b/lisp/net/net-utils.el
index c6d40b6..74e832a 100644
--- a/lisp/net/net-utils.el
+++ b/lisp/net/net-utils.el
@@ -87,7 +87,9 @@ These options can be used to limit how many ICMP packets are emitted."
(defcustom ifconfig-program
(if (eq system-type 'windows-nt)
"ipconfig"
- "ifconfig")
+ (if (whereis-command "ifconfig")
+ "ifconfig"
+ "ip"))
"Program to print network configuration information."
:group 'net-utils
:type 'string)
@@ -97,8 +99,10 @@ These options can be used to limit how many ICMP packets are emitted."
(defcustom ifconfig-program-options
(list
- (if (eq system-type 'windows-nt)
- "/all" "-a"))
+ (cond ((eq system-type 'windows-nt) "/all")
+ ((and (whereis-command "ip")
+ (not (whereis-command "ifconfig"))) "addr")
+ (t "-a")))
"Options for the ifconfig program."
:group 'net-utils
:type '(repeat string))
--
2.5.0
Information forwarded
to
bug-gnu-emacs <at> gnu.org
:
bug#22091
; Package
emacs
.
(Fri, 04 Dec 2015 08:04:01 GMT)
Full text and
rfc822 format available.
Message #11 received at 22091 <at> debbugs.gnu.org (full text, mbox):
lu4nx wrote:
> +(defun whereis-command (command)
> + (let ((paths (split-string (getenv "PATH") ":")))
> + (remove-if-not
> + (lambda (path)
> + (file-exists-p (format "%s/%s" path command)))
> + paths)))
You use a CL function without requiring CL.
But 'executable-find' already exists anyway, so this isn't needed.
Also, you sent 4 or 5 identical copies of each of your mails in rapid
succession (filtered out by list moderation). Please fix your mailer.
Information forwarded
to
bug-gnu-emacs <at> gnu.org
:
bug#22091
; Package
emacs
.
(Fri, 04 Dec 2015 16:30:04 GMT)
Full text and
rfc822 format available.
Message #14 received at 22091 <at> debbugs.gnu.org (full text, mbox):
[Message part 1 (text/plain, inline)]
I'm sorry, his is new patch, thank you Glenn Morris:
diff --git a/lisp/net/net-utils.el b/lisp/net/net-utils.el
index c6d40b6..0a4693f 100644
--- a/lisp/net/net-utils.el
+++ b/lisp/net/net-utils.el
@@ -87,7 +87,9 @@ These options can be used to limit how many ICMP packets are emitted."
(defcustom ifconfig-program
(if (eq system-type 'windows-nt)
"ipconfig"
- "ifconfig")
+ (if (executable-find "ifconfig")
+ "ifconfig"
+ "ip"))
"Program to print network configuration information."
:group 'net-utils
:type 'string)
@@ -97,8 +99,10 @@ These options can be used to limit how many ICMP packets are emitted."
(defcustom ifconfig-program-options
(list
- (if (eq system-type 'windows-nt)
- "/all" "-a"))
+ (cond ((eq system-type 'windows-nt) "/all")
+ ((and (executable-find "ip")
+ (not (executable-find "ifconfig"))) "addr")
+ (t "-a")))
"Options for the ifconfig program."
:group 'net-utils
:type '(repeat string))
--
2.5.0
------------------ 原始邮件 ------------------
发件人: "Glenn Morris";<rgm <at> gnu.org>;
发送时间: 2015年12月4日(星期五) 下午4:03
收件人: "lux"<lx <at> shellcodes.org>;
抄送: "22091"<22091 <at> debbugs.gnu.org>;
主题: bug#22091: [PATCH 1/2] * lisp/env.el: Add (whereis-command)
lu4nx wrote:
> +(defun whereis-command (command)
> + (let ((paths (split-string (getenv "PATH") ":")))
> + (remove-if-not
> + (lambda (path)
> + (file-exists-p (format "%s/%s" path command)))
> + paths)))
You use a CL function without requiring CL.
But 'executable-find' already exists anyway, so this isn't needed.
Also, you sent 4 or 5 identical copies of each of your mails in rapid
succession (filtered out by list moderation). Please fix your mailer.
[Message part 2 (text/html, inline)]
[0001-lisp-net-net-utils.el-ifconfig-function-support-ip.patch (application/octet-stream, attachment)]
Reply sent
to
Glenn Morris <rgm <at> gnu.org>
:
You have taken responsibility.
(Sat, 05 Dec 2015 00:54:01 GMT)
Full text and
rfc822 format available.
Notification sent
to
lu4nx <lx <at> shellcodes.org>
:
bug acknowledged by developer.
(Sat, 05 Dec 2015 00:54:02 GMT)
Full text and
rfc822 format available.
Message #19 received at 22091-done <at> debbugs.gnu.org (full text, mbox):
Version: 25.1
Thanks for the report and the patch(es).
I installed something slightly different into emacs-25, to take care of
a few other related bits at the same time:
--- a/lisp/net/net-utils.el
+++ b/lisp/net/net-utils.el
@@ -35,15 +35,19 @@
;; * Support connections to HOST/PORT, generally for debugging and the like.
;; In other words, for doing much the same thing as "telnet HOST PORT", and
;; then typing commands.
-;;
-;; PATHS
-;;
-;; On some systems, some of these programs are not in normal user path,
-;; but rather in /sbin, /usr/sbin, and so on.
-
;;; Code:
+;; On some systems, programs like ifconfig are not in normal user
+;; path, but rather in /sbin, /usr/sbin, etc (but non-root users can
+;; still use them for queries). Actually the trend these
+;; day is for /sbin to be a symlink to /usr/sbin, but we still need to
+;; search both for older systems.
+(defun net-utils--executable-find-sbin (command)
+ "Return absolute name of COMMAND if found in an sbin directory."
+ (let ((exec-path '("/sbin" "/usr/sbin" "/usr/local/sbin")))
+ (executable-find command)))
+
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
;; Customization Variables
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
@@ -85,10 +89,13 @@ These options can be used to limit how many ICMP packets are emitted."
(define-obsolete-variable-alias 'ipconfig-program 'ifconfig-program "22.2")
(defcustom ifconfig-program
- (if (eq system-type 'windows-nt)
- "ipconfig"
- "ifconfig")
+ (cond ((eq system-type 'windows-nt) "ipconfig")
+ ((executable-find "ifconfig") "ifconfig")
+ ((net-utils--executable-find-sbin "ifconfig"))
+ ((net-utils--executable-find-sbin "ip"))
+ (t "ip"))
"Program to print network configuration information."
+ :version "25.1" ; add ip
:group 'net-utils
:type 'string)
@@ -96,10 +103,12 @@ These options can be used to limit how many ICMP packets are emitted."
'ifconfig-program-options "22.2")
(defcustom ifconfig-program-options
- (list
- (if (eq system-type 'windows-nt)
- "/all" "-a"))
+ (cond ((string-match "ipconfig\\'" ifconfig-program) '("/all"))
+ ((string-match "ifconfig\\'" ifconfig-program) '("-a"))
+ ((string-match "ip\\'" ifconfig-program) '("addr")))
"Options for the ifconfig program."
+ :version "25.1"
+ :set-after '(ifconfig-program)
:group 'net-utils
:type '(repeat string))
@@ -126,7 +135,7 @@ These options can be used to limit how many ICMP packets are emitted."
:group 'net-utils
:type '(repeat string))
-(defcustom arp-program "arp"
+(defcustom arp-program (or (net-utils--executable-find-sbin "arp") "arp")
"Program to print IP to address translation tables."
:group 'net-utils
:type 'string)
bug archived.
Request was from
Debbugs Internal Request <help-debbugs <at> gnu.org>
to
internal_control <at> debbugs.gnu.org
.
(Sat, 02 Jan 2016 12:24:04 GMT)
Full text and
rfc822 format available.
This bug report was last modified 9 years and 174 days ago.
Previous Next
GNU bug tracking system
Copyright (C) 1999 Darren O. Benham,
1997,2003 nCipher Corporation Ltd,
1994-97 Ian Jackson.