]> git.eshelyaron.com Git - emacs.git/commitdiff
Require less packages in Tramp
authorMichael Albinus <michael.albinus@gmx.de>
Sat, 18 May 2019 14:04:02 +0000 (16:04 +0200)
committerMichael Albinus <michael.albinus@gmx.de>
Sat, 18 May 2019 14:04:02 +0000 (16:04 +0200)
* lisp/net/tramp-compat.el (format-spec): Do not require advice, cl-lib,
custom, password-cache, timer and ucs-normalize.

* lisp/net/tramp-gvfs.el: Do not require zeroconf.  Declare
zeroconf-* functions.
(tramp-gvfs-enabled): Autoload `zeroconf-init'.

* lisp/net/tramp-sh.el: Do not require dired.

* lisp/net/tramp.el (tramp-get-debug-buffer): Do not require outline.
(tramp-file-name-for-operation): Extend docstring.
(tramp-parse-netrc): Do not require netrc.  Autoload `netrc-parse'.

lisp/net/tramp-compat.el
lisp/net/tramp-gvfs.el
lisp/net/tramp-integration.el
lisp/net/tramp-sh.el
lisp/net/tramp.el

index b515f253c9202496b846b6f245a7ded7cd5def86..21a819f79fd824d1be4bbee13adb77b500f3254f 100644 (file)
 (defun tramp-unload-file-name-handlers ())
 
 (require 'auth-source)
-(require 'advice)
-(require 'cl-lib)
-(require 'custom)
 (require 'format-spec)
 (require 'parse-time)
-(require 'password-cache)
 (require 'shell)
-(require 'timer)
-(require 'ucs-normalize)
 
 (declare-function tramp-handle-temporary-file-directory "tramp")
 
index 52eaf686eaafeff78312d5c7dda551e20e9b70dc..03870537c9af0eafc254e1d1197201aac8e187a5 100644 (file)
 
 (eval-when-compile (require 'cl-lib))
 (require 'tramp)
-
 (require 'dbus)
 (require 'url-parse)
 (require 'url-util)
-(require 'zeroconf)
 
 ;; Pacify byte-compiler.
 (eval-when-compile
   (require 'custom))
 
+(declare-function zeroconf-init "zeroconf")
+(declare-function zeroconf-list-service-types "zeroconf")
+(declare-function zeroconf-list-services "zeroconf")
+(declare-function zeroconf-service-host "zeroconf")
+(declare-function zeroconf-service-port "zeroconf")
+(declare-function zeroconf-service-txt "zeroconf")
+
 ;; We don't call `dbus-ping', because this would load dbus.el.
 (defconst tramp-gvfs-enabled
   (ignore-errors
index da168adce772759308f5c756c5bfbf84542a0845..35d2eb38e6085c91dd414f06eb2a4749ada94d1b 100644 (file)
 
 ;; Pacify byte-compiler.
 (require 'cl-lib)
+(declare-function recentf-cleanup "recentf")
 (declare-function tramp-dissect-file-name "tramp")
 (declare-function tramp-file-name-equal-p "tramp")
 (declare-function tramp-tramp-file-p "tramp")
-(declare-function recentf-cleanup "recentf")
 (defvar eshell-path-env)
 (defvar recentf-exclude)
 (defvar tramp-current-connection)
index 95fa61af98332e55cfee18b168a8e7be0a7e8295..2d27baf454a3fac0f7b026828481ec8415af41ce 100644 (file)
 (eval-when-compile (require 'cl-lib))
 (require 'tramp)
 
-;; Pacify byte-compiler.
-(eval-when-compile
-  (require 'dired))
-
 (declare-function dired-remove-file "dired-aux")
 (defvar dired-compress-file-suffixes)
 (defvar vc-handled-backends)
index 88389346c3343dfc79e63ef9cce2f6669c96ddad..48152444a61577c02f734cd761bf694476eaa9b6 100644 (file)
@@ -1641,8 +1641,6 @@ The outline level is equal to the verbosity of the Tramp message."
       (get-buffer-create (tramp-debug-buffer-name vec))
     (when (bobp)
       (setq buffer-undo-list t)
-      ;; So it does not get loaded while `outline-regexp' is let-bound.
-      (require 'outline)
       ;; Activate `outline-mode'.  This runs `text-mode-hook' and
       ;; `outline-mode-hook'.  We must prevent that local processes
       ;; die.  Yes: I've seen `flyspell-mode', which starts "ispell".
@@ -2142,7 +2140,11 @@ pass to the OPERATION."
 ;; function as well but regexp only.
 (defun tramp-file-name-for-operation (operation &rest args)
   "Return file name related to OPERATION file primitive.
-ARGS are the arguments OPERATION has been called with."
+ARGS are the arguments OPERATION has been called with.
+
+It does not always return a Tramp file name, for example if the
+first argument of `expand-file-name' is absolute and not remote.
+Must be handled by the callers."
   (cond
    ;; FILE resp DIRECTORY.
    ((member operation
@@ -2954,7 +2956,9 @@ Host is always \"localhost\"."
 (defun tramp-parse-netrc (filename)
   "Return a list of (user host) tuples allowed to access.
 User may be nil."
-  (require 'netrc)
+  ;; The declaration is not sufficient at runtime, because netrc.el is
+  ;; not autoloaded.
+  (autoload 'netrc-parse "netrc")
   (mapcar
    (lambda (item)
      (and (assoc "machine" item)
@@ -3387,6 +3391,7 @@ User is always nil."
     (access-file filename "Reading directory"))
   (with-parsed-tramp-file-name (expand-file-name filename) nil
     (with-tramp-progress-reporter v 0 (format "Opening directory %s" filename)
+      ;; We must load it in order to get the advice around `insert-directory'.
       (require 'ls-lisp)
       (let (ls-lisp-use-insert-directory-program start)
        (tramp-run-real-handler
@@ -4879,7 +4884,6 @@ Only works for Bourne-like shells."
 ;; - Unload all `tramp-*' packages
 ;; - Reset `file-name-handler-alist'
 ;; - Cleanup hooks where Tramp functions are in
-;; - Cleanup advised functions
 ;; - Cleanup autoloads
 ;;;###autoload
 (defun tramp-unload-tramp ()