Fix finger
This commit is contained in:
parent
3586cecd8b
commit
995f998872
5
init.el
5
init.el
|
@ -431,6 +431,11 @@
|
||||||
(global-set-key (vector 'right-margin click) 'mwheel-scroll)
|
(global-set-key (vector 'right-margin click) 'mwheel-scroll)
|
||||||
(global-set-key (vector 'left-margin click) 'mwheel-scroll)))
|
(global-set-key (vector 'left-margin click) 'mwheel-scroll)))
|
||||||
|
|
||||||
|
(setup net-utils
|
||||||
|
(:require +finger) ; fixes `finger' to use var below
|
||||||
|
(:option finger-X.500-host-regexps '(".") ; only send username
|
||||||
|
))
|
||||||
|
|
||||||
(setup org
|
(setup org
|
||||||
;; Plain org with the `setup' form for sorting, but I install with straight.
|
;; Plain org with the `setup' form for sorting, but I install with straight.
|
||||||
(:straight (org
|
(:straight (org
|
||||||
|
|
46
lisp/+finger.el
Normal file
46
lisp/+finger.el
Normal file
|
@ -0,0 +1,46 @@
|
||||||
|
;;; +finger.el --- Finger bugfix -*- lexical-binding: t; -*-
|
||||||
|
|
||||||
|
;;; Commentary:
|
||||||
|
|
||||||
|
;; `net-utils' defines `finger', which purportedly consults
|
||||||
|
;; `finger-X.500-host-regexps' to determine what hosts to only send a username
|
||||||
|
;; to. I've found that that is not the case, and so I've patched it. At some
|
||||||
|
;; point I'll submit this to Emacs itself.
|
||||||
|
|
||||||
|
;;; Code:
|
||||||
|
|
||||||
|
(require 'net-utils) ; this requires everything else I'll need.
|
||||||
|
(require 'seq)
|
||||||
|
|
||||||
|
(defun finger (user host)
|
||||||
|
"Finger USER on HOST.
|
||||||
|
This command uses `finger-X.500-host-regexps'
|
||||||
|
and `network-connection-service-alist', which see."
|
||||||
|
;; One of those great interactive statements that's actually
|
||||||
|
;; longer than the function call! The idea is that if the user
|
||||||
|
;; uses a string like "pbreton@cs.umb.edu", we won't ask for the
|
||||||
|
;; host name. If we don't see an "@", we'll prompt for the host.
|
||||||
|
(interactive
|
||||||
|
(let* ((answer (read-from-minibuffer "Finger User: "
|
||||||
|
(net-utils-url-at-point)))
|
||||||
|
(index (string-match (regexp-quote "@") answer)))
|
||||||
|
(if index
|
||||||
|
(list (substring answer 0 index)
|
||||||
|
(substring answer (1+ index)))
|
||||||
|
(list answer
|
||||||
|
(read-from-minibuffer "At Host: "
|
||||||
|
(net-utils-machine-at-point))))))
|
||||||
|
(let* ((user-and-host (concat user "@" host))
|
||||||
|
(process-name (concat "Finger [" user-and-host "]"))
|
||||||
|
(regexps finger-X.500-host-regexps)
|
||||||
|
) ;; found
|
||||||
|
(when (seq-some (lambda (r) (string-match-p r host)) regexps)
|
||||||
|
(setq user-and-host user))
|
||||||
|
(run-network-program
|
||||||
|
process-name
|
||||||
|
host
|
||||||
|
(cdr (assoc 'finger network-connection-service-alist))
|
||||||
|
user-and-host)))
|
||||||
|
|
||||||
|
(provide '+finger)
|
||||||
|
;;; +finger.el ends here
|
Loading…
Reference in New Issue
Block a user