How file names, directories and localnames are mangled and managed
* Localname deconstruction:: Breaking a localname into its components.
+@ifset emacs
+* External packages:: Integration with external Lisp packages.
+@end ifset
@end detailmenu
@end menu
@menu
* Localname deconstruction:: Breaking a localname into its components.
+@ifset emacs
+* External packages:: Integration with external Lisp packages.
+@end ifset
@end menu
effect while preserving the @value{tramp} file name information.
+@ifset emacs
+@node External packages
+@section Integration with external Lisp packages.
+
+While reading filenames in the minibuffer, @value{tramp} must decide
+whether it completes possible incomplete filenames, or not. Imagine
+there is the following situation: You have typed @kbd{C-x C-f
+@value{prefix}ssh@value{postfixhop} @key{TAB}}. @value{tramp} cannot
+know, whether @option{ssh} is a method or a host name. It checks
+therefore the last input character you have typed. If this is
+@key{TAB}, @key{SPACE} or @kbd{?}, @value{tramp} assumes that you are
+still in filename completion, and it does not connect to the possible
+remote host @option{ssh}.
+
+@vindex tramp-completion-mode
+External packages, which use other characters for completing filenames
+in the minibuffer, must signal this to @value{tramp}. For this case,
+the variable @code{tramp-completion-mode} can be bound temporarily to
+a non-nil value.
+
+@lisp
+(let ((tramp-completion-mode t))
+ ...)
+@end lisp
+@end ifset
+
+
@node Traces and Profiles
@chapter How to Customize Traces