all messages for Emacs-related lists mirrored at yhetil.org
 help / color / mirror / code / Atom feed
From: Stefan Monnier <monnier@iro.umontreal.ca>
Cc: romain@orebokech.com, rms@gnu.org, emacs-devel@gnu.org
Subject: Re: Emacs unconditionally loads tramp.el
Date: Tue, 25 Apr 2006 14:44:00 -0400	[thread overview]
Message-ID: <jwvvesxcxg1.fsf-monnier+emacs@gnu.org> (raw)
In-Reply-To: <nq8xpt5xw4.fsf@alcatel.de> (Michael Albinus's message of "Tue, 25 Apr 2006 20:10:51 +0200")

>> So how about if move the Tramp completion function to files.el
>> in the same way?

> That would solve this problem. `tramp-completion-file-name-handler´ is
> sufficiently stable (last change on 2002-10-11). Shall I apply this patch?

BTW if you'd rather keep all the code in tramp.el rather than spread a bit
of it in files.el, you can use the ;;;###autoload trick.

That is, place in tramp.el either

;;;###autoload (defun tramp-completion-file-name-handler (operation &rest args)
;;;###autoload   "Invoke tramp file name completion handler.
;;;###autoload Falls back to normal file name handler if no tramp file name handler exists."
;;;###autoload ;;   (setq tramp-debug-buffer t)
;;;###autoload ;;   (tramp-message 1 "%s %s" operation args)
;;;###autoload ;;   (tramp-message 1 "%s %s\n%s"
;;;###autoload ;; 		 operation args (with-output-to-string (backtrace)))
;;;###autoload   (let ((fn (assoc operation tramp-completion-file-name-handler-alist)))
;;;###autoload     (if fn
;;;###autoload 	(save-match-data (apply (cdr fn) args))
;;;###autoload       (tramp-completion-run-real-handler operation args))))

or

;;;###autoload
(progn
 (defun tramp-completion-file-name-handler (operation &rest args)
  "Invoke tramp file name completion handler.
Falls back to normal file name handler if no tramp file name handler exists."
;;   (setq tramp-debug-buffer t)
;;   (tramp-message 1 "%s %s" operation args)
;;   (tramp-message 1 "%s %s\n%s"
;; 		 operation args (with-output-to-string (backtrace)))
  (let ((fn (assoc operation tramp-completion-file-name-handler-alist)))
    (if fn
	(save-match-data (apply (cdr fn) args))
      (tramp-completion-run-real-handler operation args)))))

so that the complete function gets copied to loaddefs.el (not just a short
`autoload statement).  We use this in vc-*.el so that the code that
determines whether a file is under CVS or not can be in vc-cvs.el and
preloaded even though vc-cvs.el is not itself preloaded.


        Stefan

  reply	other threads:[~2006-04-25 18:44 UTC|newest]

Thread overview: 67+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2006-04-24  9:16 Emacs unconditionally loads tramp.el Romain Francoise
2006-04-24 11:33 ` Michael Albinus
2006-04-24 12:12   ` Romain Francoise
2006-04-24 13:18     ` Michael Albinus
2006-04-24 13:33       ` Stefan Monnier
2006-04-24 13:49         ` Romain Francoise
2006-04-24 19:43         ` Michael Albinus
2006-04-25 16:48           ` Richard Stallman
2006-04-25 18:10             ` Michael Albinus
2006-04-25 18:44               ` Stefan Monnier [this message]
2006-04-28  4:11                 ` Michael Albinus
2006-04-26  3:56               ` Richard Stallman
2006-04-28  4:26                 ` Michael Albinus
2006-04-28  6:15                   ` Eli Zaretskii
2006-04-28 20:01                     ` Michael Albinus
2006-04-29 14:26                       ` Eli Zaretskii
2006-04-29 16:09                         ` Michael Albinus
2006-04-29 16:55                           ` Eli Zaretskii
2006-04-29 18:30                             ` Michael Albinus
2006-04-29 18:57                               ` Michael Price
2006-04-29 19:10                                 ` Michael Albinus
2006-04-29 20:47                                   ` Miles Bader
2006-04-29 21:37                                     ` Michael Albinus
2006-04-29 22:50                                       ` Miles Bader
2006-04-30  8:23                                         ` Michael Albinus
2006-04-29 21:40                                     ` David Kastrup
2006-04-29 22:12                                       ` Drew Adams
2006-04-29 22:49                                         ` Jason Rumney
2006-04-29 22:58                                           ` Lennart Borgman
2006-04-30 11:18                                             ` Oscar Fuentes
2006-04-30 12:13                                               ` Jason Rumney
2006-04-30 13:03                                                 ` Oscar Fuentes
2006-04-30 17:46                                                   ` Eli Zaretskii
2006-04-29 23:33                                           ` Drew Adams
2006-04-30  3:45                                             ` Eli Zaretskii
2006-04-30 14:18                                               ` Drew Adams
2006-04-30 14:47                                                 ` Michael Price
2006-04-30 16:31                                                 ` Eli Zaretskii
2006-04-30 16:51                                                   ` Drew Adams
2006-04-30 17:36                                                     ` Eli Zaretskii
2006-04-30 17:41                                                       ` Drew Adams
2006-04-30 18:06                                                     ` Michael Albinus
2006-04-30 18:08                                                       ` Drew Adams
2006-04-30  5:26                                             ` Stefan Monnier
2006-04-30 14:11                                               ` Drew Adams
2006-04-30  6:50                                           ` Tramp & Cygwin (was: Emacs unconditionally loads tramp.el) Michael Albinus
2006-04-30 12:12                                             ` Tramp & Cygwin Jason Rumney
2006-04-30 12:28                                               ` Michael Albinus
2006-04-30 14:10                                                 ` Drew Adams
2006-04-30 14:19                                             ` Tramp & Cygwin (was: Emacs unconditionally loads tramp.el) Drew Adams
2006-04-30 16:11                                             ` Eli Zaretskii
2006-04-30 16:45                                               ` Tramp & Cygwin Michael Albinus
2006-04-30 17:19                                                 ` Eli Zaretskii
2006-04-30 13:04                                       ` Tramp performance (was: Emacs unconditionally loads tramp.el) Michael Albinus
2006-04-30  3:47                               ` Emacs unconditionally loads tramp.el Eli Zaretskii
2006-04-30  7:00                                 ` Michael Albinus
2006-04-30 16:16                                   ` Eli Zaretskii
2006-04-28 15:45                   ` Richard Stallman
2006-04-28 19:58                     ` Michael Albinus
2006-04-29 14:31                       ` Eli Zaretskii
2006-05-01 13:45                         ` Michael Albinus
2006-04-29 19:09                       ` Richard Stallman
2006-04-29 19:55                         ` Michael Albinus
2006-04-30  3:04                           ` Richard Stallman
2006-05-01 13:28                         ` Michael Albinus
2006-04-24 17:52   ` Richard Stallman
2006-04-24 19:48     ` Michael Albinus

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=jwvvesxcxg1.fsf-monnier+emacs@gnu.org \
    --to=monnier@iro.umontreal.ca \
    --cc=emacs-devel@gnu.org \
    --cc=rms@gnu.org \
    --cc=romain@orebokech.com \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
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.