]> code.delx.au - gnu-emacs/blobdiff - lisp/net/socks.el
Merge from emacs-24; up to 2012-12-20T16:09:05Z!dmantipov@yandex.ru
[gnu-emacs] / lisp / net / socks.el
index df4ffb732496d483abc34d1cdeab934326b1b5ef..415397c4171646786198520dcc8235a83dcd4289 100644 (file)
@@ -1,7 +1,7 @@
 ;;; socks.el --- A Socks v5 Client for Emacs
 
-;; Copyright (C) 1996, 1997, 1998, 1999, 2000, 2002,
-;;   2007, 2008, 2009, 2010, 2011 Free Software Foundation, Inc.
+;; Copyright (C) 1996-2000, 2002, 2007-2013 Free Software Foundation,
+;; Inc.
 
 ;; Author: William M. Perry <wmperry@gnu.org>
 ;;         Dave Love <fx@gnu.org>
@@ -36,6 +36,8 @@
   (require 'wid-edit))
 (require 'custom)
 
+;; FIXME this is bad practice, and who is it for anyway, since Emacs
+;; has split-string since at least 21.1.
 (if (not (fboundp 'split-string))
     (defun split-string (string &optional pattern)
       "Return a list of substrings of STRING which are separated by PATTERN.
@@ -336,10 +338,17 @@ If PATTERN is omitted, it defaults to \"[ \\f\\t\\n\\r\\v]+\"."
 
 (declare-function socks-original-open-network-stream "socks") ; fset
 
+;; FIXME this is a terrible idea.
+;; It is not even compatible with the argument spec of open-network-stream
+;; in 24.1.  If this is really necessary, open-network-stream
+;; could get a wrapper hook, or defer to open-network-stream-function.
+
 (defvar socks-override-functions nil
-  "*Whether to overwrite the open-network-stream function with the SOCKSified
+  "Whether to overwrite the open-network-stream function with the SOCKSified
 version.")
 
+(require 'network-stream)
+
 (if (fboundp 'socks-original-open-network-stream)
     nil                                ; Do nothing, we've been here already
   (defalias 'socks-original-open-network-stream
@@ -415,7 +424,7 @@ version.")
               ((= atype socks-address-type-name)
                (format "%c%s" (length address) address))
               (t
-               (error "Unkown address type: %d" atype))))
+               (error "Unknown address type: %d" atype))))
        (info (gethash proc socks-connections))
        request version)
     (or info (error "socks-send-command called on non-SOCKS connection %S"
@@ -472,7 +481,7 @@ version.")
 \f
 ;; Replacement functions for open-network-stream, etc.
 (defvar socks-noproxy nil
-  "*List of regexps matching hosts that we should not socksify connections to")
+  "List of regexps matching hosts that we should not socksify connections to")
 
 (defun socks-find-route (host service)
   (let ((route socks-server)
@@ -618,7 +627,7 @@ version.")
 
 \f
 (defcustom socks-nslookup-program "nslookup"
-  "*If non-NIL then a string naming the nslookup program."
+  "If non-NIL then a string naming the nslookup program."
   :type '(choice (const :tag "None" :value nil) string)
   :group 'socks)
 
@@ -639,7 +648,7 @@ version.")
              (progn
                (setq res (buffer-substring (match-beginning 2)
                                            (match-end 2))
-                     res (mapcar 'string-to-int (split-string res "\\.")))))
+                     res (mapcar 'string-to-number (split-string res "\\.")))))
          (kill-buffer (current-buffer)))
        res)
     host))