unofficial mirror of bug-gnu-emacs@gnu.org 
 help / color / mirror / code / Atom feed
* bug#7583: 23.2; ido loads tramp too eagerly
@ 2010-12-07 17:38 Dave Abrahams
  2011-10-16  9:00 ` Michael Albinus
  2011-10-16 18:31 ` Juanma Barranquero
  0 siblings, 2 replies; 32+ messages in thread
From: Dave Abrahams @ 2010-12-07 17:38 UTC (permalink / raw)
  To: 7583

This seems a bit overeager.  It takes a while to load up tramp, and ido
shouldn't need to consider tramp filename completions if tramp isn't
already loaded.

emacs -Q
`M-x ido-mode RET'
`C-x C-f'           <wait while tramp loads>



In GNU Emacs 23.2.1 (x86_64-apple-darwin, NS apple-appkit-1038.29)
 of 2010-05-08 on black.local
Windowing system distributor `Apple', version 10.3.1038
configured using `configure  '--host=x86_64-apple-darwin' '--build=i686-apple-darwin' '--with-ns' 'build_alias=i686-apple-darwin' 'host_alias=x86_64-apple-darwin' 'CC=gcc -mmacosx-version-min=10.5''

Important settings:
  value of $LC_ALL: nil
  value of $LC_COLLATE: nil
  value of $LC_CTYPE: nil
  value of $LC_MESSAGES: nil
  value of $LC_MONETARY: nil
  value of $LC_NUMERIC: nil
  value of $LC_TIME: nil
  value of $LANG: nil
  value of $XMODIFIERS: nil
  locale-coding-system: nil
  default enable-multibyte-characters: t

Major mode: Emacs-Lisp

Minor modes in effect:
  shell-dirtrack-mode: t
  diff-auto-refine-mode: t
  show-paren-mode: t
  global-auto-revert-mode: t
  delete-selection-mode: t
  tooltip-mode: t
  mouse-wheel-mode: t
  menu-bar-mode: t
  file-name-shadow-mode: t
  global-font-lock-mode: t
  font-lock-mode: t
  auto-encryption-mode: t
  auto-compression-mode: t
  line-number-mode: t
  transient-mark-mode: t

Recent input:
C-p C-p C-p C-p C-p C-p C-p C-p C-p C-p C-p C-p C-p 
C-p C-p C-p C-p C-n C-x C-f C-SPC C-a C-SPC C-f C-SPC 
C-a M-w C-g M-! e m a c s 2 SPC - Q <return> C-! C-! 
M-! M-p <return> C-x M-x M-x e m <backspace> <backspace> 
r e p o <tab> r t - t r a <tab> C-, C-SPC C-, <backspace> 
C-e <tab> m <tab> <tab> s u <tab> <return> t r a m 
p C-! C-e SPC l o a d e d SPC b y SPC f i n d - f i 
l e SPC w i t h SPC i d o - m o d e SPC o n <return> 
M-! M-p <return> l a u n c h <backspace> <backspace> 
<backspace> <backspace> <backspace> <backspace> e m 
a c s SPC - Q <return> M - x C-a ` C-e SPC i d o - 
m o d e SPC R E T ' C-! M-! M-p <return> <return> ` 
C - x SPC C - f ' C-n C-p C-p C-p C-p C-k C-n C-n C-n 
C-p C-p C-p C-p <return> <return> C-p T h i s SPC s 
e e m s SPC a SPC b i t SPC o v e r e a g e r . SPC 
SPC M-x f i n d - l i b <tab> <return> i d o <return> 
C-s t r a m p C-s C-s C-s C-s C-s C-s C-s C-s C-s C-s 
C-s C-s C-s C-s C-s C-s C-s C-s C-n C-p C-p C-p C-x 
C-k C-n C-n C-p C-p C-a C-SPC C-n C-n C-n C-n C-n C-n 
M-w C-x C-k y e s <return> M-x r e p o r t - e m <tab> 
<return>

Recent messages:
Making completion list... [3 times]
Wrote /Users/dave/DropBox/home/.emacs.d/byte-cache/!Users!dave!DropBox!home!.emacs.d!el-get!magit!Users!dave!DropBox!home!.emacs.d!el-get!semi!smime.elc
Formatting bug report buffer...............
Please enter your report.  Type C-c C-c to send, C-c C-k to abort.
(Shell command succeeded with no output) [2 times]
uncompressing ido.el.gz...done
ido.el.gz has auto save data; consider M-x recover-this-file
Auto-saving...
Mark saved where search started
Mark set

Load-path shadows:
/Users/dave/DropBox/home/.emacs.d/el-get/apel/site-lisp/emu/static hides /Applications/Emacs.app/Contents/Resources/site-lisp/emu/static
/Users/dave/DropBox/home/.emacs.d/el-get/apel/site-lisp/emu/richtext hides /Applications/Emacs.app/Contents/Resources/site-lisp/emu/richtext
/Users/dave/DropBox/home/.emacs.d/el-get/apel/site-lisp/emu/pym hides /Applications/Emacs.app/Contents/Resources/site-lisp/emu/pym
/Users/dave/DropBox/home/.emacs.d/el-get/apel/site-lisp/emu/product hides /Applications/Emacs.app/Contents/Resources/site-lisp/emu/product
/Users/dave/DropBox/home/.emacs.d/el-get/apel/site-lisp/emu/poem hides /Applications/Emacs.app/Contents/Resources/site-lisp/emu/poem
/Users/dave/DropBox/home/.emacs.d/el-get/apel/site-lisp/emu/poem-e20_3 hides /Applications/Emacs.app/Contents/Resources/site-lisp/emu/poem-e20_3
/Users/dave/DropBox/home/.emacs.d/el-get/apel/site-lisp/emu/poem-e20 hides /Applications/Emacs.app/Contents/Resources/site-lisp/emu/poem-e20
/Users/dave/DropBox/home/.emacs.d/el-get/apel/site-lisp/emu/poe hides /Applications/Emacs.app/Contents/Resources/site-lisp/emu/poe
/Users/dave/DropBox/home/.emacs.d/el-get/apel/site-lisp/emu/pcustom hides /Applications/Emacs.app/Contents/Resources/site-lisp/emu/pcustom
/Users/dave/DropBox/home/.emacs.d/el-get/apel/site-lisp/emu/pces hides /Applications/Emacs.app/Contents/Resources/site-lisp/emu/pces
/Users/dave/DropBox/home/.emacs.d/el-get/apel/site-lisp/emu/pces-e20 hides /Applications/Emacs.app/Contents/Resources/site-lisp/emu/pces-e20
/Users/dave/DropBox/home/.emacs.d/el-get/apel/site-lisp/emu/pces-20 hides /Applications/Emacs.app/Contents/Resources/site-lisp/emu/pces-20
/Users/dave/DropBox/home/.emacs.d/el-get/apel/site-lisp/emu/pccl hides /Applications/Emacs.app/Contents/Resources/site-lisp/emu/pccl
/Users/dave/DropBox/home/.emacs.d/el-get/apel/site-lisp/emu/pccl-20 hides /Applications/Emacs.app/Contents/Resources/site-lisp/emu/pccl-20
/Users/dave/DropBox/home/.emacs.d/el-get/apel/site-lisp/emu/mule-caesar hides /Applications/Emacs.app/Contents/Resources/site-lisp/emu/mule-caesar
/Users/dave/DropBox/home/.emacs.d/el-get/apel/site-lisp/emu/mcs-e20 hides /Applications/Emacs.app/Contents/Resources/site-lisp/emu/mcs-e20
/Users/dave/DropBox/home/.emacs.d/el-get/apel/site-lisp/emu/mcs-20 hides /Applications/Emacs.app/Contents/Resources/site-lisp/emu/mcs-20
/Users/dave/DropBox/home/.emacs.d/el-get/apel/site-lisp/emu/mcharset hides /Applications/Emacs.app/Contents/Resources/site-lisp/emu/mcharset
/Users/dave/DropBox/home/.emacs.d/el-get/apel/site-lisp/emu/invisible hides /Applications/Emacs.app/Contents/Resources/site-lisp/emu/invisible
/Users/dave/DropBox/home/.emacs.d/el-get/apel/site-lisp/emu/inv-23 hides /Applications/Emacs.app/Contents/Resources/site-lisp/emu/inv-23
/Users/dave/DropBox/home/.emacs.d/el-get/apel/site-lisp/emu/emu hides /Applications/Emacs.app/Contents/Resources/site-lisp/emu/emu
/Users/dave/DropBox/home/.emacs.d/el-get/apel/site-lisp/emu/broken hides /Applications/Emacs.app/Contents/Resources/site-lisp/emu/broken
/Users/dave/DropBox/home/.emacs.d/el-get/apel/site-lisp/emu/apel-ver hides /Applications/Emacs.app/Contents/Resources/site-lisp/emu/apel-ver
/Users/dave/DropBox/home/.emacs.d/el-get/flim/site-lisp/flim/sha1 hides /Applications/Emacs.app/Contents/Resources/lisp/sha1
/Users/dave/DropBox/home/.emacs.d/el-get/semi/pgg hides /Applications/Emacs.app/Contents/Resources/lisp/pgg
/Users/dave/DropBox/home/.emacs.d/el-get/semi/pgg-pgp5 hides /Applications/Emacs.app/Contents/Resources/lisp/pgg-pgp5
/Users/dave/DropBox/home/.emacs.d/el-get/semi/pgg-pgp hides /Applications/Emacs.app/Contents/Resources/lisp/pgg-pgp
/Users/dave/DropBox/home/.emacs.d/el-get/semi/pgg-parse hides /Applications/Emacs.app/Contents/Resources/lisp/pgg-parse
/Users/dave/DropBox/home/.emacs.d/el-get/semi/pgg-gpg hides /Applications/Emacs.app/Contents/Resources/lisp/pgg-gpg
/Users/dave/DropBox/home/.emacs.d/el-get/semi/pgg-def hides /Applications/Emacs.app/Contents/Resources/lisp/pgg-def
/Users/dave/DropBox/home/.emacs.d/el-get/flim/site-lisp/flim/md4 hides /Applications/Emacs.app/Contents/Resources/lisp/md4
/Users/dave/DropBox/home/.emacs.d/el-get/flim/site-lisp/flim/hex-util hides /Applications/Emacs.app/Contents/Resources/lisp/hex-util
/Users/dave/DropBox/home/.emacs.d/el-get/org-mode/lisp/org hides /Applications/Emacs.app/Contents/Resources/lisp/org/org
/Users/dave/DropBox/home/.emacs.d/el-get/org-mode/lisp/org-xoxo hides /Applications/Emacs.app/Contents/Resources/lisp/org/org-xoxo
/Users/dave/DropBox/home/.emacs.d/el-get/org-mode/lisp/org-wl hides /Applications/Emacs.app/Contents/Resources/lisp/org/org-wl
/Users/dave/DropBox/home/.emacs.d/el-get/org-mode/lisp/org-w3m hides /Applications/Emacs.app/Contents/Resources/lisp/org/org-w3m
/Users/dave/DropBox/home/.emacs.d/el-get/org-mode/lisp/org-vm hides /Applications/Emacs.app/Contents/Resources/lisp/org/org-vm
/Users/dave/DropBox/home/.emacs.d/el-get/org-mode/lisp/org-timer hides /Applications/Emacs.app/Contents/Resources/lisp/org/org-timer
/Users/dave/DropBox/home/.emacs.d/el-get/org-mode/lisp/org-table hides /Applications/Emacs.app/Contents/Resources/lisp/org/org-table
/Users/dave/DropBox/home/.emacs.d/el-get/org-mode/lisp/org-src hides /Applications/Emacs.app/Contents/Resources/lisp/org/org-src
/Users/dave/DropBox/home/.emacs.d/el-get/org-mode/lisp/org-rmail hides /Applications/Emacs.app/Contents/Resources/lisp/org/org-rmail
/Users/dave/DropBox/home/.emacs.d/el-get/org-mode/lisp/org-remember hides /Applications/Emacs.app/Contents/Resources/lisp/org/org-remember
/Users/dave/DropBox/home/.emacs.d/el-get/org-mode/lisp/org-publish hides /Applications/Emacs.app/Contents/Resources/lisp/org/org-publish
/Users/dave/DropBox/home/.emacs.d/el-get/org-mode/lisp/org-protocol hides /Applications/Emacs.app/Contents/Resources/lisp/org/org-protocol
/Users/dave/DropBox/home/.emacs.d/el-get/org-mode/lisp/org-plot hides /Applications/Emacs.app/Contents/Resources/lisp/org/org-plot
/Users/dave/DropBox/home/.emacs.d/el-get/org-mode/lisp/org-mouse hides /Applications/Emacs.app/Contents/Resources/lisp/org/org-mouse
/Users/dave/DropBox/home/.emacs.d/el-get/org-mode/lisp/org-mobile hides /Applications/Emacs.app/Contents/Resources/lisp/org/org-mobile
/Users/dave/DropBox/home/.emacs.d/el-get/org-mode/lisp/org-mhe hides /Applications/Emacs.app/Contents/Resources/lisp/org/org-mhe
/Users/dave/DropBox/home/.emacs.d/el-get/org-mode/lisp/org-mew hides /Applications/Emacs.app/Contents/Resources/lisp/org/org-mew
/Users/dave/DropBox/home/.emacs.d/el-get/org-mode/lisp/org-macs hides /Applications/Emacs.app/Contents/Resources/lisp/org/org-macs
/Users/dave/DropBox/home/.emacs.d/el-get/org-mode/lisp/org-mac-message hides /Applications/Emacs.app/Contents/Resources/lisp/org/org-mac-message
/Users/dave/DropBox/home/.emacs.d/el-get/org-mode/lisp/org-list hides /Applications/Emacs.app/Contents/Resources/lisp/org/org-list
/Users/dave/DropBox/home/.emacs.d/el-get/org-mode/lisp/org-latex hides /Applications/Emacs.app/Contents/Resources/lisp/org/org-latex
/Users/dave/DropBox/home/.emacs.d/el-get/org-mode/lisp/org-jsinfo hides /Applications/Emacs.app/Contents/Resources/lisp/org/org-jsinfo
/Users/dave/DropBox/home/.emacs.d/el-get/org-mode/lisp/org-irc hides /Applications/Emacs.app/Contents/Resources/lisp/org/org-irc
/Users/dave/DropBox/home/.emacs.d/el-get/org-mode/lisp/org-install hides /Applications/Emacs.app/Contents/Resources/lisp/org/org-install
/Users/dave/DropBox/home/.emacs.d/el-get/org-mode/lisp/org-inlinetask hides /Applications/Emacs.app/Contents/Resources/lisp/org/org-inlinetask
/Users/dave/DropBox/home/.emacs.d/el-get/org-mode/lisp/org-info hides /Applications/Emacs.app/Contents/Resources/lisp/org/org-info
/Users/dave/DropBox/home/.emacs.d/el-get/org-mode/lisp/org-indent hides /Applications/Emacs.app/Contents/Resources/lisp/org/org-indent
/Users/dave/DropBox/home/.emacs.d/el-get/org-mode/lisp/org-id hides /Applications/Emacs.app/Contents/Resources/lisp/org/org-id
/Users/dave/DropBox/home/.emacs.d/el-get/org-mode/lisp/org-icalendar hides /Applications/Emacs.app/Contents/Resources/lisp/org/org-icalendar
/Users/dave/DropBox/home/.emacs.d/el-get/org-mode/lisp/org-html hides /Applications/Emacs.app/Contents/Resources/lisp/org/org-html
/Users/dave/DropBox/home/.emacs.d/el-get/org-mode/lisp/org-habit hides /Applications/Emacs.app/Contents/Resources/lisp/org/org-habit
/Users/dave/DropBox/home/.emacs.d/el-get/org-mode/lisp/org-gnus hides /Applications/Emacs.app/Contents/Resources/lisp/org/org-gnus
/Users/dave/DropBox/home/.emacs.d/el-get/org-mode/lisp/org-freemind hides /Applications/Emacs.app/Contents/Resources/lisp/org/org-freemind
/Users/dave/DropBox/home/.emacs.d/el-get/org-mode/lisp/org-footnote hides /Applications/Emacs.app/Contents/Resources/lisp/org/org-footnote
/Users/dave/DropBox/home/.emacs.d/el-get/org-mode/lisp/org-feed hides /Applications/Emacs.app/Contents/Resources/lisp/org/org-feed
/Users/dave/DropBox/home/.emacs.d/el-get/org-mode/lisp/org-faces hides /Applications/Emacs.app/Contents/Resources/lisp/org/org-faces
/Users/dave/DropBox/home/.emacs.d/el-get/org-mode/lisp/org-exp hides /Applications/Emacs.app/Contents/Resources/lisp/org/org-exp
/Users/dave/DropBox/home/.emacs.d/el-get/org-mode/lisp/org-exp-blocks hides /Applications/Emacs.app/Contents/Resources/lisp/org/org-exp-blocks
/Users/dave/DropBox/home/.emacs.d/el-get/org-mode/lisp/org-docbook hides /Applications/Emacs.app/Contents/Resources/lisp/org/org-docbook
/Users/dave/DropBox/home/.emacs.d/el-get/org-mode/lisp/org-datetree hides /Applications/Emacs.app/Contents/Resources/lisp/org/org-datetree
/Users/dave/DropBox/home/.emacs.d/el-get/org-mode/lisp/org-crypt hides /Applications/Emacs.app/Contents/Resources/lisp/org/org-crypt
/Users/dave/DropBox/home/.emacs.d/el-get/org-mode/lisp/org-compat hides /Applications/Emacs.app/Contents/Resources/lisp/org/org-compat
/Users/dave/DropBox/home/.emacs.d/el-get/org-mode/lisp/org-colview hides /Applications/Emacs.app/Contents/Resources/lisp/org/org-colview
/Users/dave/DropBox/home/.emacs.d/el-get/org-mode/lisp/org-clock hides /Applications/Emacs.app/Contents/Resources/lisp/org/org-clock
/Users/dave/DropBox/home/.emacs.d/el-get/org-mode/lisp/org-bibtex hides /Applications/Emacs.app/Contents/Resources/lisp/org/org-bibtex
/Users/dave/DropBox/home/.emacs.d/el-get/org-mode/lisp/org-bbdb hides /Applications/Emacs.app/Contents/Resources/lisp/org/org-bbdb
/Users/dave/DropBox/home/.emacs.d/el-get/org-mode/lisp/org-attach hides /Applications/Emacs.app/Contents/Resources/lisp/org/org-attach
/Users/dave/DropBox/home/.emacs.d/el-get/org-mode/lisp/org-ascii hides /Applications/Emacs.app/Contents/Resources/lisp/org/org-ascii
/Users/dave/DropBox/home/.emacs.d/el-get/org-mode/lisp/org-archive hides /Applications/Emacs.app/Contents/Resources/lisp/org/org-archive
/Users/dave/DropBox/home/.emacs.d/el-get/org-mode/lisp/org-agenda hides /Applications/Emacs.app/Contents/Resources/lisp/org/org-agenda
/Users/dave/DropBox/home/.emacs.d/el-get/flim/site-lisp/flim/sasl hides /Applications/Emacs.app/Contents/Resources/lisp/net/sasl
/Users/dave/DropBox/home/.emacs.d/el-get/flim/site-lisp/flim/sasl-ntlm hides /Applications/Emacs.app/Contents/Resources/lisp/net/sasl-ntlm
/Users/dave/DropBox/home/.emacs.d/el-get/flim/site-lisp/flim/sasl-digest hides /Applications/Emacs.app/Contents/Resources/lisp/net/sasl-digest
/Users/dave/DropBox/home/.emacs.d/el-get/flim/site-lisp/flim/sasl-cram hides /Applications/Emacs.app/Contents/Resources/lisp/net/sasl-cram
/Users/dave/DropBox/home/.emacs.d/el-get/flim/site-lisp/flim/ntlm hides /Applications/Emacs.app/Contents/Resources/lisp/net/ntlm
/Users/dave/DropBox/home/.emacs.d/el-get/flim/site-lisp/flim/hmac-md5 hides /Applications/Emacs.app/Contents/Resources/lisp/net/hmac-md5
/Users/dave/DropBox/home/.emacs.d/el-get/flim/site-lisp/flim/hmac-def hides /Applications/Emacs.app/Contents/Resources/lisp/net/hmac-def
/Users/dave/DropBox/home/.emacs.d/el-get/wanderlust/site-lisp/wl/rfc2368 hides /Applications/Emacs.app/Contents/Resources/lisp/mail/rfc2368
/Users/dave/DropBox/home/.emacs.d/el-get/wanderlust/site-lisp/wl/utf7 hides /Applications/Emacs.app/Contents/Resources/lisp/gnus/utf7
/Users/dave/DropBox/home/.emacs.d/el-get/semi/smime hides /Applications/Emacs.app/Contents/Resources/lisp/gnus/smime
/Users/dave/DropBox/home/.emacs.d/el-get/mailcrypt/timer hides /Applications/Emacs.app/Contents/Resources/lisp/emacs-lisp/timer

Features:
(shadow sort mail-extr emacsbug jka-compr thingatpt find-func sendmail
gnus-cite gnus-msg gnus-art mm-uu mml2015 epg-config mm-view mel
mime-def alist mcharset mcs-20 mcs-e20 pces pces-e20 pces-20 broken
pcustom path-util poe pym static apel-ver product gnus-sum nnoo
gnus-group gnus-undo nnmail mail-source gnus-start gnus-spec gnus-int
gnus-range gnus-win message ecomplete rfc822 mml mml-sec mm-decode
mm-bodies mm-encode mailcap mail-parse rfc2231 rfc2047 rfc2045 qp
ietf-drums mailabbrev gmm-utils mailheader canlock sha1 sha1-el hex-util
hashcash reporter tramp-imap tramp-gw tramp-fish tramp-smb tramp-cache
tramp-ftp tramp-cmds tramp auth-source shell password-cache format-spec
tramp-compat trampver ffap ido multi-isearch two-column iso-transl magit
diff-mode log-edit pcvs-util add-log magit-key-mode assoc image-mode
disp-table bookmark pp org-mac-message org-habit org-agenda org-id
org-crypt org ob-emacs-lisp ob-tangle ob-ref ob-lob ob-table
org-footnote org-src ob-comint ob-keys ob ob-eval org-complete pcomplete
org-list org-faces org-compat org-entities org-macs noutline outline
easy-mmode cal-menu calendar cal-loaddefs vc-git sgml-mode help-mode
view .loaddefs elhome byte-code-cache dwa/packages auto-complete edmacro
kmacro popup byte-opt flex-mode derived bbdb-autoloads bbdb timezone
org-install info package compile comint ring el-get autoload bytecomp
byte-compile cl cl-19 dired regexp-opt advice help-fns advice-preload
gnus gnus-ems nnheader gnus-util netrc time-date mail-utils mm-util
mail-prsvr wid-edit initsplit warnings paren server autorevert delsel
cus-start cus-load tooltip ediff-hook vc-hooks lisp-float-type mwheel
ns-win easymenu tool-bar dnd fontset image fringe lisp-mode register
page menu-bar rfn-eshadow timer select scroll-bar mldrag mouse jit-lock
font-lock syntax facemenu font-core frame cham georgian utf-8-lang
misc-lang vietnamese tibetan thai tai-viet lao korean japanese hebrew
greek romanian slovak czech european ethiopic indian cyrillic chinese
case-table epa-hook jka-cmpr-hook help simple abbrev loaddefs button
minibuffer faces cus-face files text-properties overlay md5 base64
format env code-pages mule custom widget hashtable-print-readable
backquote make-network-process ns multi-tty emacs)





^ permalink raw reply	[flat|nested] 32+ messages in thread

* bug#7583: 23.2; ido loads tramp too eagerly
  2010-12-07 17:38 bug#7583: 23.2; ido loads tramp too eagerly Dave Abrahams
@ 2011-10-16  9:00 ` Michael Albinus
  2011-10-19 19:31   ` Dave Abrahams
  2011-10-16 18:31 ` Juanma Barranquero
  1 sibling, 1 reply; 32+ messages in thread
From: Michael Albinus @ 2011-10-16  9:00 UTC (permalink / raw)
  To: Dave Abrahams; +Cc: 7583

Dave Abrahams <dave@boostpro.com> writes:

Hi Dave,

> This seems a bit overeager.  It takes a while to load up tramp, and ido
> shouldn't need to consider tramp filename completions if tramp isn't
> already loaded.

I (still) cannot speak about ido. But Tramp 2.2 has been rewritten for
Emacs 24 to load only the minimum part at startup. More Lisp objects of
Tramp have been moved to autoload files.

> emacs -Q
> `M-x ido-mode RET'
> `C-x C-f'           <wait while tramp loads>

Running this recipe with Emacs 24.0.90, I don't see a serious delay due
to Tramp. Do you still believe we need to fix something?

Best regards, Michael.





^ permalink raw reply	[flat|nested] 32+ messages in thread

* bug#7583: 23.2; ido loads tramp too eagerly
  2010-12-07 17:38 bug#7583: 23.2; ido loads tramp too eagerly Dave Abrahams
  2011-10-16  9:00 ` Michael Albinus
@ 2011-10-16 18:31 ` Juanma Barranquero
  2011-10-16 19:17   ` Thierry Volpiatto
  1 sibling, 1 reply; 32+ messages in thread
From: Juanma Barranquero @ 2011-10-16 18:31 UTC (permalink / raw)
  To: Dave Abrahams; +Cc: 7583

> This seems a bit overeager.  It takes a while to load up tramp, and ido
> shouldn't need to consider tramp filename completions if tramp isn't
> already loaded.

Would help to set ido-enable-tramp-completions to nil, and set it back
to t after loading tramp?

    Juanma





^ permalink raw reply	[flat|nested] 32+ messages in thread

* bug#7583: 23.2; ido loads tramp too eagerly
  2011-10-16 18:31 ` Juanma Barranquero
@ 2011-10-16 19:17   ` Thierry Volpiatto
  2011-10-16 19:40     ` Michael Albinus
  0 siblings, 1 reply; 32+ messages in thread
From: Thierry Volpiatto @ 2011-10-16 19:17 UTC (permalink / raw)
  To: 7583

Juanma Barranquero <lekktu@gmail.com> writes:

>> This seems a bit overeager.  It takes a while to load up tramp, and ido
>> shouldn't need to consider tramp filename completions if tramp isn't
>> already loaded.
>
> Would help to set ido-enable-tramp-completions to nil, and set it back
> to t after loading tramp?
The problem, I guess is tramp start immediately when you enter the first
":" due to `tramp-file-name-regexp'.  This is a common problem for all
incremental UI with tramp.
In anything i let bound `tramp-file-name-regexp' to another value that
wait you type in the second ":".
I don't know for ido but due to it's nature, i guess it's the same.

See `anything-ff-set-pattern' in anything-config.el.
http://repo.or.cz/w/anything-config.git

  (let ((methods (mapcar 'car tramp-methods))
        (reg "\\`/\\([^[/:]+\\|[^/]+]\\):.*:")
        cur-method tramp-name)

Where reg replace the tramp regexp.

-- 
  Thierry
Get my Gnupg key:
gpg --keyserver pgp.mit.edu --recv-keys 59F29997 






^ permalink raw reply	[flat|nested] 32+ messages in thread

* bug#7583: 23.2; ido loads tramp too eagerly
  2011-10-16 19:17   ` Thierry Volpiatto
@ 2011-10-16 19:40     ` Michael Albinus
  2011-10-16 21:20       ` Thierry Volpiatto
  0 siblings, 1 reply; 32+ messages in thread
From: Michael Albinus @ 2011-10-16 19:40 UTC (permalink / raw)
  To: Thierry Volpiatto; +Cc: 7583

Thierry Volpiatto <thierry.volpiatto@gmail.com> writes:

> The problem, I guess is tramp start immediately when you enter the first
> ":" due to `tramp-file-name-regexp'.  This is a common problem for all
> incremental UI with tramp.
> In anything i let bound `tramp-file-name-regexp' to another value that
> wait you type in the second ":".
> I don't know for ido but due to it's nature, i guess it's the same.>
> See `anything-ff-set-pattern' in anything-config.el.
> http://repo.or.cz/w/anything-config.git
>
>   (let ((methods (mapcar 'car tramp-methods))
>         (reg "\\`/\\([^[/:]+\\|[^/]+]\\):.*:")
>         cur-method tramp-name)
>
> Where reg replace the tramp regexp.

You disable then method / user name / host name completion. If you want
so, you shall make it configurable, at least.

Best regards, Michael.





^ permalink raw reply	[flat|nested] 32+ messages in thread

* bug#7583: 23.2; ido loads tramp too eagerly
  2011-10-16 19:40     ` Michael Albinus
@ 2011-10-16 21:20       ` Thierry Volpiatto
  2011-10-17  6:16         ` Thierry Volpiatto
  0 siblings, 1 reply; 32+ messages in thread
From: Thierry Volpiatto @ 2011-10-16 21:20 UTC (permalink / raw)
  To: Michael Albinus; +Cc: 7583

Michael Albinus <michael.albinus@gmx.de> writes:

> Thierry Volpiatto <thierry.volpiatto@gmail.com> writes:
>
>> The problem, I guess is tramp start immediately when you enter the first
>> ":" due to `tramp-file-name-regexp'.  This is a common problem for all
>> incremental UI with tramp.
>> In anything i let bound `tramp-file-name-regexp' to another value that
>> wait you type in the second ":".
>> I don't know for ido but due to it's nature, i guess it's the same.>
>> See `anything-ff-set-pattern' in anything-config.el.
>> http://repo.or.cz/w/anything-config.git
>>
>>   (let ((methods (mapcar 'car tramp-methods))
>>         (reg "\\`/\\([^[/:]+\\|[^/]+]\\):.*:")
>>         cur-method tramp-name)
>>
>> Where reg replace the tramp regexp.
>
> You disable then method / user name / host name completion. If you want
> so, you shall make it configurable, at least.
Actually yes, this completion is disabled, but why do you have to start 
tramp to have such completion?
i.e There is no need to start tramp to make a completion based on the
content of ~/.ssh/config

Maybe tramp should have other regexp(s) that (try to) complete this without
starting tramp.

Note that this kind of completion lead to bugs in other places in Emacs.
e.g create an ssh hostname in ~/.ssh/config that start by "t", and in
eshell, write /t and <tab> to complete to "/tmp"; tramp will start and 
fail. 


-- 
  Thierry
Get my Gnupg key:
gpg --keyserver pgp.mit.edu --recv-keys 59F29997 





^ permalink raw reply	[flat|nested] 32+ messages in thread

* bug#7583: 23.2; ido loads tramp too eagerly
  2011-10-16 21:20       ` Thierry Volpiatto
@ 2011-10-17  6:16         ` Thierry Volpiatto
  2011-10-17  7:38           ` Michael Albinus
  2011-10-17 13:31           ` Stefan Monnier
  0 siblings, 2 replies; 32+ messages in thread
From: Thierry Volpiatto @ 2011-10-17  6:16 UTC (permalink / raw)
  To: 7583

Thierry Volpiatto <thierry.volpiatto@gmail.com> writes:

> Michael Albinus <michael.albinus@gmx.de> writes:
>
>> Thierry Volpiatto <thierry.volpiatto@gmail.com> writes:
>>
>>> The problem, I guess is tramp start immediately when you enter the first
>>> ":" due to `tramp-file-name-regexp'.  This is a common problem for all
>>> incremental UI with tramp.
>>> In anything i let bound `tramp-file-name-regexp' to another value that
>>> wait you type in the second ":".
>>> I don't know for ido but due to it's nature, i guess it's the same.>
>>> See `anything-ff-set-pattern' in anything-config.el.
>>> http://repo.or.cz/w/anything-config.git
>>>
>>>   (let ((methods (mapcar 'car tramp-methods))
>>>         (reg "\\`/\\([^[/:]+\\|[^/]+]\\):.*:")
>>>         cur-method tramp-name)
>>>
>>> Where reg replace the tramp regexp.
>>
>> You disable then method / user name / host name completion. If you want
>> so, you shall make it configurable, at least.
> Actually yes, this completion is disabled, but why do you have to start 
> tramp to have such completion?
> i.e There is no need to start tramp to make a completion based on the
> content of ~/.ssh/config
>
> Maybe tramp should have other regexp(s) that (try to) complete this without
> starting tramp.
Not needed i think.

example1:

1a)prompt: /t! => complete on all hostname/method/directories starting by t
                  without starting tramp

now i choose thievol in list completion, i have now:
1b)prompt: /thievol:! => enter the ":" if thievol is member of hostname completion
                         list and not a directory and start tramp.

example2:

prompt: /s! => same as in 1a 

now i choose scpc in list completion, i have now:
prompt: /scpc: => same as in 1b and now i complete on only hostname list

now i choose thievol in list, i have now:
prompt: /scpc:thievol => i do not start tramp, waiting user enter the
                         last ":", when it's done start tramp only now.                                 




> Note that this kind of completion lead to bugs in other places in Emacs.
> e.g create an ssh hostname in ~/.ssh/config that start by "t", and in
> eshell, write /t and <tab> to complete to "/tmp"; tramp will start and 
> fail. 
I will submit a bug report for this.

-- 
  Thierry
Get my Gnupg key:
gpg --keyserver pgp.mit.edu --recv-keys 59F29997 






^ permalink raw reply	[flat|nested] 32+ messages in thread

* bug#7583: 23.2; ido loads tramp too eagerly
  2011-10-17  6:16         ` Thierry Volpiatto
@ 2011-10-17  7:38           ` Michael Albinus
  2011-10-17 13:31           ` Stefan Monnier
  1 sibling, 0 replies; 32+ messages in thread
From: Michael Albinus @ 2011-10-17  7:38 UTC (permalink / raw)
  To: Thierry Volpiatto; +Cc: 7583

Thierry Volpiatto <thierry.volpiatto@gmail.com> writes:

Hi Thierry,

[Maybe we shall change the subject, and we shall go out of Bug#7583,
because we are discussing non-ido related topics]

>>> You disable then method / user name / host name completion. If you want
>>> so, you shall make it configurable, at least.
>> Actually yes, this completion is disabled, but why do you have to start 
>> tramp to have such completion?
>> i.e There is no need to start tramp to make a completion based on the
>> content of ~/.ssh/config
>>
>> Maybe tramp should have other regexp(s) that (try to) complete this without
>> starting tramp.
> Not needed i think.

Tramp gives you (as package ffap, for example) a mean to configure its
behaviour. You could let-bind `non-essential' to t; in this case Tramp
wouldn't disturb your own completion algorithm.

ido.el and icomplete.el use this variable such a way.

If you want to disable Tramp completely, you could let-bind `tramp-mode'
to t.

Best regards, Michael.





^ permalink raw reply	[flat|nested] 32+ messages in thread

* bug#7583: 23.2; ido loads tramp too eagerly
  2011-10-17  6:16         ` Thierry Volpiatto
  2011-10-17  7:38           ` Michael Albinus
@ 2011-10-17 13:31           ` Stefan Monnier
  2011-10-17 14:18             ` Thierry Volpiatto
  2011-10-17 15:10             ` Michael Albinus
  1 sibling, 2 replies; 32+ messages in thread
From: Stefan Monnier @ 2011-10-17 13:31 UTC (permalink / raw)
  To: Thierry Volpiatto; +Cc: 7583

>                   without starting tramp

I do not know what that means.  AFAIK there are two relevant "actions":
- start a Tramp session.  This means to connect to a particular host, so
  clearly it can't be done before you've actually typed the complete
  host name.
- load "tramp.el".  Nowadays, this should be barely noticeable.
  But indeed I do see a "Loading tramp-sh...done".  I wonder where this
  message comes from, we should probably suppress it.


        Stefan





^ permalink raw reply	[flat|nested] 32+ messages in thread

* bug#7583: 23.2; ido loads tramp too eagerly
  2011-10-17 13:31           ` Stefan Monnier
@ 2011-10-17 14:18             ` Thierry Volpiatto
  2011-10-17 15:44               ` Stefan Monnier
  2011-10-17 15:10             ` Michael Albinus
  1 sibling, 1 reply; 32+ messages in thread
From: Thierry Volpiatto @ 2011-10-17 14:18 UTC (permalink / raw)
  To: Stefan Monnier; +Cc: 7583

Stefan Monnier <monnier@iro.umontreal.ca> writes:

>>                   without starting tramp
>
> I do not know what that means.
I mean trying to connect to a remote host via tramp.
  
> AFAIK there are two relevant "actions":
>
> - start a Tramp session.  This means to connect to a particular host, so
>   clearly it can't be done before you've actually typed the complete
>   host name.
> - load "tramp.el".  Nowadays, this should be barely noticeable.
>   But indeed I do see a "Loading tramp-sh...done".  I wonder where this
>   message comes from, we should probably suppress it.
>
>
>         Stefan

-- 
  Thierry
Get my Gnupg key:
gpg --keyserver pgp.mit.edu --recv-keys 59F29997 





^ permalink raw reply	[flat|nested] 32+ messages in thread

* bug#7583: 23.2; ido loads tramp too eagerly
  2011-10-17 13:31           ` Stefan Monnier
  2011-10-17 14:18             ` Thierry Volpiatto
@ 2011-10-17 15:10             ` Michael Albinus
  1 sibling, 0 replies; 32+ messages in thread
From: Michael Albinus @ 2011-10-17 15:10 UTC (permalink / raw)
  To: Stefan Monnier; +Cc: 7583, Thierry Volpiatto

Stefan Monnier <monnier@iro.umontreal.ca> writes:

>   But indeed I do see a "Loading tramp-sh...done".  I wonder where this
>   message comes from, we should probably suppress it.

Hmm, yes. Some months (years?) ago, when the "Loading ..." message has
been removed from load.el, there were complaints that loading tramp.el
takes a long time tp load, and nobody knows what happens. So I have
added this message to tramp.el as exceptional case.

Now Tramp loads better, and I should remove this message, indeed.

Will do.

>         Stefan

Best regards, Michael.





^ permalink raw reply	[flat|nested] 32+ messages in thread

* bug#7583: 23.2; ido loads tramp too eagerly
  2011-10-17 14:18             ` Thierry Volpiatto
@ 2011-10-17 15:44               ` Stefan Monnier
  2011-10-17 17:02                 ` Thierry Volpiatto
  0 siblings, 1 reply; 32+ messages in thread
From: Stefan Monnier @ 2011-10-17 15:44 UTC (permalink / raw)
  To: Thierry Volpiatto; +Cc: 7583

>>> without starting tramp
>> I do not know what that means.
> I mean trying to connect to a remote host via tramp.

So you're saying that Tramp tries to connect to "toto" when you type
"/toto:"?  If so, I think the problem is indeed the same as for
icomplete and ido and the solution is to bind the variable
`non-essential'.


        Stefan





^ permalink raw reply	[flat|nested] 32+ messages in thread

* bug#7583: 23.2; ido loads tramp too eagerly
  2011-10-17 15:44               ` Stefan Monnier
@ 2011-10-17 17:02                 ` Thierry Volpiatto
  2011-10-17 19:36                   ` Stefan Monnier
  0 siblings, 1 reply; 32+ messages in thread
From: Thierry Volpiatto @ 2011-10-17 17:02 UTC (permalink / raw)
  To: Stefan Monnier; +Cc: 7583

Stefan Monnier <monnier@iro.umontreal.ca> writes:

>>>> without starting tramp
>>> I do not know what that means.
>> I mean trying to connect to a remote host via tramp.
>
> So you're saying that Tramp tries to connect to "toto" when you type
> "/toto:"?
Yes, but that is what we expect. (/toto: should be a valid hostname
maybe set in ~/.ssh/config)
What we don't want is when you write:
/ssh: => tramp try to connect
or
/sudo: ==> tramp try to connect

we expect tramp to connect only when we have:
/sudo:: and not before (i.e before entering the second ":").

> If so, I think the problem is indeed the same as for
> icomplete and ido and the solution is to bind the variable
> `non-essential'.
Yes maybe.

But I have no problem here with my code (anything), 
it seem the problem is in ido and/or icomplete.

And to implement completion on method/users/hostname, `non-essential' is
no help for me, i will use something else later, as described in
one of precedent post.
Anyway i am glad to now existence of `non-essential'.
Thanks.

-- 
  Thierry
Get my Gnupg key:
gpg --keyserver pgp.mit.edu --recv-keys 59F29997 





^ permalink raw reply	[flat|nested] 32+ messages in thread

* bug#7583: 23.2; ido loads tramp too eagerly
  2011-10-17 17:02                 ` Thierry Volpiatto
@ 2011-10-17 19:36                   ` Stefan Monnier
  2011-10-18  5:39                     ` Thierry Volpiatto
  0 siblings, 1 reply; 32+ messages in thread
From: Stefan Monnier @ 2011-10-17 19:36 UTC (permalink / raw)
  To: Thierry Volpiatto; +Cc: 7583

>>>>> without starting tramp
>>>> I do not know what that means.
>>> I mean trying to connect to a remote host via tramp.
>> So you're saying that Tramp tries to connect to "toto" when you type
>> "/toto:"?
> Yes, but that is what we expect. (/toto: should be a valid hostname
> maybe set in ~/.ssh/config)
> What we don't want is when you write:
> /ssh: => tramp try to connect

Does this happen?  Where does it connect to?

> /sudo: ==> tramp try to connect

Again, where does Tramp try to connect in this case?

> we expect tramp to connect only when we have:
> /sudo:: and not before (i.e before entering the second ":").

When I do C-x C-f /ssh: TAB Tramp does not try to connect to anything,
it just shows me some hostname completion.

> But I have no problem here with my code (anything), 
> it seem the problem is in ido and/or icomplete.

I get the same behavior with or without icomplete-mode.  I think we need
you to give us a more specific recipe.


        Stefan





^ permalink raw reply	[flat|nested] 32+ messages in thread

* bug#7583: 23.2; ido loads tramp too eagerly
  2011-10-17 19:36                   ` Stefan Monnier
@ 2011-10-18  5:39                     ` Thierry Volpiatto
  2011-10-18 13:22                       ` Stefan Monnier
  0 siblings, 1 reply; 32+ messages in thread
From: Thierry Volpiatto @ 2011-10-18  5:39 UTC (permalink / raw)
  To: Stefan Monnier; +Cc: 7583

Stefan Monnier <monnier@iro.umontreal.ca> writes:

>>>>>> without starting tramp
>>>>> I do not know what that means.
>>>> I mean trying to connect to a remote host via tramp.
>>> So you're saying that Tramp tries to connect to "toto" when you type
>>> "/toto:"?
>> Yes, but that is what we expect. (/toto: should be a valid hostname
>> maybe set in ~/.ssh/config)
>> What we don't want is when you write:
>> /ssh: => tramp try to connect
>
> Does this happen?  Where does it connect to?
>
>> /sudo: ==> tramp try to connect
>
> Again, where does Tramp try to connect in this case?
No where, that's the problem.

>> we expect tramp to connect only when we have:
>> /sudo:: and not before (i.e before entering the second ":").
>
> When I do C-x C-f /ssh: TAB Tramp does not try to connect to anything,
> it just shows me some hostname completion.
Because this implementation works for vanilla emacs completion, but is
unusable elsewhere. (like try-completion)

>> But I have no problem here with my code (anything), 
>> it seem the problem is in ido and/or icomplete.
>
> I get the same behavior with or without icomplete-mode.  I think we need
> you to give us a more specific recipe.
So it's ok if it works, just forget it.

-- 
  Thierry
Get my Gnupg key:
gpg --keyserver pgp.mit.edu --recv-keys 59F29997 





^ permalink raw reply	[flat|nested] 32+ messages in thread

* bug#7583: 23.2; ido loads tramp too eagerly
  2011-10-18  5:39                     ` Thierry Volpiatto
@ 2011-10-18 13:22                       ` Stefan Monnier
  2011-10-18 17:01                         ` Thierry Volpiatto
  0 siblings, 1 reply; 32+ messages in thread
From: Stefan Monnier @ 2011-10-18 13:22 UTC (permalink / raw)
  To: Thierry Volpiatto; +Cc: 7583

>>> /sudo: ==> tramp try to connect
>> Again, where does Tramp try to connect in this case?
> No where, that's the problem.

I don't understand.  Please be specific:
1- does it try to start a Tramp session?
2- do you want it to try to start a Tramp session?
3- where does it try to connect?

From what I understand you're saying that (1) is true, and that (2) is
false, whereas in my experience (1) is false.
Also I don't know what it means for Tramp to "try to connect to nowhere".

>>> we expect tramp to connect only when we have:
>>> /sudo:: and not before (i.e before entering the second ":").
>> When I do C-x C-f /ssh: TAB Tramp does not try to connect to anything,
>> it just shows me some hostname completion.
> Because this implementation works for vanilla Emacs completion, but is
> unusable elsewhere. (like try-completion)

"vanilla Emacs completion" uses try-completion, so you must thinking of
some other "elsewhere".  What is that other "elsewhere"?

>>> But I have no problem here with my code (anything), 
>>> it seem the problem is in ido and/or icomplete.
>> I get the same behavior with or without icomplete-mode.  I think we need
>> you to give us a more specific recipe.
> So it's ok if it works, just forget it.

Are you saying that the problem you reported only affects older Emacsen
and has been fixed in the trunk?


        Stefan





^ permalink raw reply	[flat|nested] 32+ messages in thread

* bug#7583: 23.2; ido loads tramp too eagerly
  2011-10-18 13:22                       ` Stefan Monnier
@ 2011-10-18 17:01                         ` Thierry Volpiatto
  2011-10-18 19:04                           ` Stefan Monnier
  2011-10-20 13:50                           ` Michael Albinus
  0 siblings, 2 replies; 32+ messages in thread
From: Thierry Volpiatto @ 2011-10-18 17:01 UTC (permalink / raw)
  To: Stefan Monnier; +Cc: 7583

Stefan Monnier <monnier@iro.umontreal.ca> writes:

>>>> /sudo: ==> tramp try to connect
>>> Again, where does Tramp try to connect in this case?
>> No where, that's the problem.
>
> I don't understand.  Please be specific:
> 1- does it try to start a Tramp session?
Yes.
> 2- do you want it to try to start a Tramp session?
No
> 3- where does it try to connect?
To e.g "/ssh:" which is an incomplete address 
and hang indefinitely.
Just like when you do C-x C-f and enter in prompt /ssh: and press RET.

> From what I understand you're saying that (1) is true, and that (2) is
> false, whereas in my experience (1) is false.
> Also I don't know what it means for Tramp to "try to connect to nowhere".
>
>>>> we expect tramp to connect only when we have:
>>>> /sudo:: and not before (i.e before entering the second ":").
>>> When I do C-x C-f /ssh: TAB Tramp does not try to connect to anything,
>>> it just shows me some hostname completion.
>> Because this implementation works for vanilla Emacs completion, but is
>> unusable elsewhere. (like try-completion)
>
> "vanilla Emacs completion" uses try-completion, so you must thinking of
> some other "elsewhere".  What is that other "elsewhere"?
External libraries like anything create completion modes that replace
most completing-read's.
So the completing-read that use all-completions are ok, but the one that
use try-completion are usable only in a Vanilla emacs environment.

>>>> But I have no problem here with my code (anything), 
>>>> it seem the problem is in ido and/or icomplete.
>>> I get the same behavior with or without icomplete-mode.  I think we need
>>> you to give us a more specific recipe.
>> So it's ok if it works, just forget it.
>
> Are you saying that the problem you reported only affects older Emacsen
> and has been fixed in the trunk?
No i say completion in Emacs is made differently so it is acceptable,
though it should not hang like described above.
(Here i display in buffer "Invalid tramp file name" and wait user enter
something correct before trying to connect with tramp to this invalid
name).

What i was suggesting is just a different implementation that would
work more safely in all case.
It's what i did in anything except for hostname completion which is not
done yet. (see precedents posts).

-- 
  Thierry
Get my Gnupg key:
gpg --keyserver pgp.mit.edu --recv-keys 59F29997 





^ permalink raw reply	[flat|nested] 32+ messages in thread

* bug#7583: 23.2; ido loads tramp too eagerly
  2011-10-18 17:01                         ` Thierry Volpiatto
@ 2011-10-18 19:04                           ` Stefan Monnier
  2011-10-19 10:04                             ` Michael Albinus
  2011-10-20 13:50                           ` Michael Albinus
  1 sibling, 1 reply; 32+ messages in thread
From: Stefan Monnier @ 2011-10-18 19:04 UTC (permalink / raw)
  To: Thierry Volpiatto; +Cc: Michael Albinus, 7583

> To e.g "/ssh:" which is an incomplete address 
> and hang indefinitely.
> Just like when you do C-x C-f and enter in prompt /ssh: and press RET.

I'm beginning to understand.  Indeed, I see that C-x C-f /ssh: RET and
C-x C-f /sudo: RET both behave oddly (they try to connect to hosts `ssh'
or `sudo').  They don't hang for me, but arguably they should not even
try to treat the "ssh" or "sudo" as a hostname.

Michael?

>> "vanilla Emacs completion" uses try-completion, so you must thinking of
>> some other "elsewhere".  What is that other "elsewhere"?
> External libraries like anything create completion modes that replace
> most completing-read's.
> So the completing-read that use all-completions are ok, but the one that
> use try-completion are usable only in a vanilla Emacs environment.

So you're saying that Tramp handles try-completion subtly differently from
all-completions and that your completion code uses try-completion
subtly differently from the way vanilla completion uses it.

I wonder if the first pat is indeed true, and if so why (could be that
it was a hack to try and distinguish icomplete/ido from TAB, back when
we didn't have non-essential).

As for the second part, I have no reason to doubt you, tho I'd be
interested to try and understand how it is different and why that
triggers the problem.  My guess is that you're doing something similar
to lightning completion (i.e., roughly, call minibuffer-complete after
every key-press), yet ...

..Oh, wait, I think I see something interesting:

  % emacs -Q
  C-x C-f /ssh: TAB RET RET
  C-x C-f /ssh: TAB

The first C-x C-f just ends up loading Tramp then trying to connect to
`ssh' and fail, but it also changes something inside Tramp because on
the second C-x C-f the TAB causes Tramp to try to connect some "default"
host (apparently it uses the first host in my ~/.ssh/config, and
subsequent attempts will try subsequent hosts in that file).

We don't want that, and your completion scheme might be bumping into
this very problem.

Michael?

> No i say completion in Emacs is made differently so it is acceptable,
> though it should not hang like described above.

I think you're just seeing the result of bugs.


        Stefan





^ permalink raw reply	[flat|nested] 32+ messages in thread

* bug#7583: 23.2; ido loads tramp too eagerly
  2011-10-18 19:04                           ` Stefan Monnier
@ 2011-10-19 10:04                             ` Michael Albinus
  2011-10-19 12:49                               ` Stefan Monnier
  0 siblings, 1 reply; 32+ messages in thread
From: Michael Albinus @ 2011-10-19 10:04 UTC (permalink / raw)
  To: Stefan Monnier; +Cc: 7583, Thierry Volpiatto

Stefan Monnier <monnier@IRO.UMontreal.CA> writes:

>> To e.g "/ssh:" which is an incomplete address 
>> and hang indefinitely.
>> Just like when you do C-x C-f and enter in prompt /ssh: and press RET.
>
> I'm beginning to understand.  Indeed, I see that C-x C-f /ssh: RET and
> C-x C-f /sudo: RET both behave oddly (they try to connect to hosts `ssh'
> or `sudo').  They don't hang for me, but arguably they should not even
> try to treat the "ssh" or "sudo" as a hostname.

Why that? It is legal to have a hostname "ssh". Anybody can create such
an entry in ~/.ssh/config. Or an alias in /etc/hosts, or a DNS alias.

What we are speaking about is filename completion. If you enter RET, we
do not speak about completion anymore, but opening a file "/ssh:", using
Tramp's default connection method, which ought to be "scp" on GNU/Linux.

> ..Oh, wait, I think I see something interesting:
>
>   % emacs -Q
>   C-x C-f /ssh: TAB RET RET
>   C-x C-f /ssh: TAB
>
> The first C-x C-f just ends up loading Tramp then trying to connect to
> `ssh' and fail, but it also changes something inside Tramp because on
> the second C-x C-f the TAB causes Tramp to try to connect some "default"
> host (apparently it uses the first host in my ~/.ssh/config, and
> subsequent attempts will try subsequent hosts in that file).
>
> We don't want that, and your completion scheme might be bumping into
> this very problem.

Tramp has always the problem to understand what "C-x C-f /ssh: TAB"
means. This is due to the syntactic ambiguity of Tramp's file names
("ssh" can be both in this case, a method or a hostname).

[Side remark: with XEmacs, we use another syntax. There aren't such
 problems. But I guess it is much too late to change the syntax for GNU
 Emacs.]

I will try to change Tramp's completion algorithm such a way, that in
case "C-x C-f /foo: TAB" is pressed, and "foo" is a method found in
(mapcar 'car tramp-methods), Tramp does not check "foo" being a
hostname. This shall be sufficient for the incrimed case.

>         Stefan

Best regards, Michael.





^ permalink raw reply	[flat|nested] 32+ messages in thread

* bug#7583: 23.2; ido loads tramp too eagerly
  2011-10-19 10:04                             ` Michael Albinus
@ 2011-10-19 12:49                               ` Stefan Monnier
  2011-10-19 20:33                                 ` Michael Albinus
  0 siblings, 1 reply; 32+ messages in thread
From: Stefan Monnier @ 2011-10-19 12:49 UTC (permalink / raw)
  To: Michael Albinus; +Cc: 7583, Thierry Volpiatto

> I will try to change Tramp's completion algorithm such a way, that in
> case "C-x C-f /foo: TAB" is pressed, and "foo" is a method found in
> (mapcar 'car tramp-methods), Tramp does not check "foo" being a
> hostname. This shall be sufficient for the incrimed case.

That sounds right.  Hopefully it will also fix the problems that
Thierry encountered.


        Stefan





^ permalink raw reply	[flat|nested] 32+ messages in thread

* bug#7583: 23.2; ido loads tramp too eagerly
  2011-10-16  9:00 ` Michael Albinus
@ 2011-10-19 19:31   ` Dave Abrahams
  2011-10-26  8:47     ` Michael Albinus
  0 siblings, 1 reply; 32+ messages in thread
From: Dave Abrahams @ 2011-10-19 19:31 UTC (permalink / raw)
  To: Michael Albinus; +Cc: 7583


on Sun Oct 16 2011, Michael Albinus <michael.albinus-AT-gmx.de> wrote:

> Dave Abrahams <dave@boostpro.com> writes:
>
> Hi Dave,
>
>> This seems a bit overeager.  It takes a while to load up tramp, and ido
>> shouldn't need to consider tramp filename completions if tramp isn't
>> already loaded.
>
> I (still) cannot speak about ido. But Tramp 2.2 has been rewritten for
> Emacs 24 to load only the minimum part at startup. More Lisp objects of
> Tramp have been moved to autoload files.
>
>> emacs -Q
>> `M-x ido-mode RET'
>> `C-x C-f'           <wait while tramp loads>
>
> Running this recipe with Emacs 24.0.90, I don't see a serious delay due
> to Tramp. Do you still believe we need to fix something?

Yeah, I do (no pun intended).  See the other report I made today.
Again, I'm not sure it's *technically* Tramp's fault, but I think Tramp
should probably be more resilient to whatever ido is doing.

-- 
Dave Abrahams
BoostPro Computing
http://www.boostpro.com





^ permalink raw reply	[flat|nested] 32+ messages in thread

* bug#7583: 23.2; ido loads tramp too eagerly
  2011-10-19 12:49                               ` Stefan Monnier
@ 2011-10-19 20:33                                 ` Michael Albinus
  0 siblings, 0 replies; 32+ messages in thread
From: Michael Albinus @ 2011-10-19 20:33 UTC (permalink / raw)
  To: Stefan Monnier; +Cc: 7583, Thierry Volpiatto

Stefan Monnier <monnier@iro.umontreal.ca> writes:

>> I will try to change Tramp's completion algorithm such a way, that in
>> case "C-x C-f /foo: TAB" is pressed, and "foo" is a method found in
>> (mapcar 'car tramp-methods), Tramp does not check "foo" being a
>> hostname. This shall be sufficient for the incrimed case.
>
> That sounds right.  Hopefully it will also fix the problems that
> Thierry encountered.

I haven't done this change (yet), it's more complex than expected.

But during tests I've found another weakness that has led to the error
you have observed. I've committed a patch, maybe you can check?

I will also walk through Thierry's problems.

>         Stefan

Best regards, Michael.





^ permalink raw reply	[flat|nested] 32+ messages in thread

* bug#7583: 23.2; ido loads tramp too eagerly
  2011-10-18 17:01                         ` Thierry Volpiatto
  2011-10-18 19:04                           ` Stefan Monnier
@ 2011-10-20 13:50                           ` Michael Albinus
  2011-10-20 14:35                             ` Thierry Volpiatto
  1 sibling, 1 reply; 32+ messages in thread
From: Michael Albinus @ 2011-10-20 13:50 UTC (permalink / raw)
  To: Thierry Volpiatto; +Cc: 7583

Thierry Volpiatto <thierry.volpiatto@gmail.com> writes:

Hi Thierry,

> No i say completion in Emacs is made differently so it is acceptable,
> though it should not hang like described above.
> (Here i display in buffer "Invalid tramp file name" and wait user enter
> something correct before trying to connect with tramp to this invalid
> name).
>
> What i was suggesting is just a different implementation that would
> work more safely in all case.
> It's what i did in anything except for hostname completion which is not
> done yet. (see precedents posts).

I'm trying to understand what's left to do after submitting the recent
Tramp patches. Could you, please, show my a recipe about Tramp's
misbehaviour?

Best regards, Michael.





^ permalink raw reply	[flat|nested] 32+ messages in thread

* bug#7583: 23.2; ido loads tramp too eagerly
  2011-10-20 13:50                           ` Michael Albinus
@ 2011-10-20 14:35                             ` Thierry Volpiatto
  2011-10-20 18:22                               ` Michael Albinus
  2011-10-20 18:40                               ` Stefan Monnier
  0 siblings, 2 replies; 32+ messages in thread
From: Thierry Volpiatto @ 2011-10-20 14:35 UTC (permalink / raw)
  To: Michael Albinus; +Cc: 7583

Hi Michael,

Michael Albinus <michael.albinus@gmx.de> writes:

> Thierry Volpiatto <thierry.volpiatto@gmail.com> writes:
>
> Hi Thierry,
>
>> No i say completion in Emacs is made differently so it is acceptable,
>> though it should not hang like described above.
>> (Here i display in buffer "Invalid tramp file name" and wait user enter
>> something correct before trying to connect with tramp to this invalid
>> name).
>>
>> What i was suggesting is just a different implementation that would
>> work more safely in all case.
>> It's what i did in anything except for hostname completion which is not
>> done yet. (see precedents posts).
>
> I'm trying to understand what's left to do after submitting the recent
> Tramp patches. Could you, please, show my a recipe about Tramp's
> misbehaviour?
Sorry for late reply, i had network problems.
I think we misunderstand here, i have no real problems with tramp, i
have made my anything code working with tramp as i want, only
method/hostname completion are not implemented yet, but all is working
fine here.
I was suggesting at first using a tramp-file-name-regexp that detect a
tramp name only after the second ":" (what i do here in anything),
because i thought you had problems with ido, but it seem you have fixed
all, so i think it's ok.
For my use case in anything, i can deal with the actual tramp code, no
problems.
 
Thanks.

-- 
  Thierry
Get my Gnupg key:
gpg --keyserver pgp.mit.edu --recv-keys 59F29997 





^ permalink raw reply	[flat|nested] 32+ messages in thread

* bug#7583: 23.2; ido loads tramp too eagerly
  2011-10-20 14:35                             ` Thierry Volpiatto
@ 2011-10-20 18:22                               ` Michael Albinus
  2011-10-20 18:43                                 ` Thierry Volpiatto
  2011-10-20 18:40                               ` Stefan Monnier
  1 sibling, 1 reply; 32+ messages in thread
From: Michael Albinus @ 2011-10-20 18:22 UTC (permalink / raw)
  To: Thierry Volpiatto; +Cc: 7583

Thierry Volpiatto <thierry.volpiatto@gmail.com> writes:

> Hi Michael,

Hi Thierry,

> I think we misunderstand here, i have no real problems with tramp, i
> have made my anything code working with tramp as i want, only
> method/hostname completion are not implemented yet, but all is working
> fine here.

Good to know. So I will concentrate in this bug report on what's left
from Dave's problems with ido.

> I was suggesting at first using a tramp-file-name-regexp that detect a
> tramp name only after the second ":" (what i do here in anything),
> because i thought you had problems with ido, but it seem you have fixed
> all, so i think it's ok.

I recommend not to use an own `tramp-file-name-regexp'. There could
always be problems when Tramp is changing it, and there are in fact 3
different syntax notations for remote file names, which are supported by
Tramp.

Have you tried to apply `non-essential' instead?

> For my use case in anything, i can deal with the actual tramp code, no
> problems.
>  
> Thanks.

Best regards, Michael.





^ permalink raw reply	[flat|nested] 32+ messages in thread

* bug#7583: 23.2; ido loads tramp too eagerly
  2011-10-20 14:35                             ` Thierry Volpiatto
  2011-10-20 18:22                               ` Michael Albinus
@ 2011-10-20 18:40                               ` Stefan Monnier
  2011-10-24 10:17                                 ` Michael Albinus
  1 sibling, 1 reply; 32+ messages in thread
From: Stefan Monnier @ 2011-10-20 18:40 UTC (permalink / raw)
  To: Thierry Volpiatto; +Cc: Michael Albinus, 7583

> I think we misunderstand here, i have no real problems with tramp, i
> have made my anything code working with tramp as i want, only
> method/hostname completion are not implemented yet, but all is working
> fine here.

It sounds like you're saying that you managed to work around
Tramp's problem.  That's different from saying that there is no problem.


        Stefan





^ permalink raw reply	[flat|nested] 32+ messages in thread

* bug#7583: 23.2; ido loads tramp too eagerly
  2011-10-20 18:22                               ` Michael Albinus
@ 2011-10-20 18:43                                 ` Thierry Volpiatto
  0 siblings, 0 replies; 32+ messages in thread
From: Thierry Volpiatto @ 2011-10-20 18:43 UTC (permalink / raw)
  To: Michael Albinus; +Cc: 7583

Michael Albinus <michael.albinus@gmx.de> writes:

>
> I recommend not to use an own `tramp-file-name-regexp'. There could
> always be problems when Tramp is changing it, and there are in fact 3
> different syntax notations for remote file names, which are supported by
> Tramp.
I do not replace `tramp-file-name-regexp' by another value, i use a let
bound regexp similar to `tramp-file-name-regexp' but named differently.

--8<---------------cut here---------------start------------->8---
  (let ((methods (mapcar 'car tramp-methods))
        (reg "\\`/\\([^[/:]+\\|[^/]+]\\):.*:")
--8<---------------cut here---------------end--------------->8---

And then i reuse `tramp-file-name-regexp' where needed.

Use `anything-find-files' to try your tramp with anything completion ;-)

> Have you tried to apply `non-essential' instead?
It is no help for my use case.

Thanks.


-- 
  Thierry
Get my Gnupg key:
gpg --keyserver pgp.mit.edu --recv-keys 59F29997 





^ permalink raw reply	[flat|nested] 32+ messages in thread

* bug#7583: 23.2; ido loads tramp too eagerly
  2011-10-20 18:40                               ` Stefan Monnier
@ 2011-10-24 10:17                                 ` Michael Albinus
  2011-10-27 18:29                                   ` Thierry Volpiatto
  0 siblings, 1 reply; 32+ messages in thread
From: Michael Albinus @ 2011-10-24 10:17 UTC (permalink / raw)
  To: Thierry Volpiatto; +Cc: 7583

Stefan Monnier <monnier@IRO.UMontreal.CA> writes:

>> I think we misunderstand here, i have no real problems with tramp, i
>> have made my anything code working with tramp as i want, only
>> method/hostname completion are not implemented yet, but all is working
>> fine here.
>
> It sounds like you're saying that you managed to work around
> Tramp's problem.  That's different from saying that there is no problem.

Hi Thierry,

if there are problems with Tramp in anything.el, please report them. And
please make a new report; this one shall be didacated to ido integration
problems.

Best regards, Michael.





^ permalink raw reply	[flat|nested] 32+ messages in thread

* bug#7583: 23.2; ido loads tramp too eagerly
  2011-10-19 19:31   ` Dave Abrahams
@ 2011-10-26  8:47     ` Michael Albinus
  2011-10-26 18:19       ` Dave Abrahams
  0 siblings, 1 reply; 32+ messages in thread
From: Michael Albinus @ 2011-10-26  8:47 UTC (permalink / raw)
  To: Dave Abrahams; +Cc: 7583

Dave Abrahams <dave@boostpro.com> writes:

Hi Dave,

>>> emacs -Q
>>> `M-x ido-mode RET'
>>> `C-x C-f'           <wait while tramp loads>
>>
>> Running this recipe with Emacs 24.0.90, I don't see a serious delay due
>> to Tramp. Do you still believe we need to fix something?
>
> Yeah, I do (no pun intended).  See the other report I made today.
> Again, I'm not sure it's *technically* Tramp's fault, but I think Tramp
> should probably be more resilient to whatever ido is doing.

I've just committed a patch for ido.el, which removes explicit loading
of Tramp. Autoloads shall be sufficient.

This is all what could be done inside ido, IMHO. I've seen your other
report on the Tramp ML, and I'm working on this. Therefore, I believe we
can close *this* bug report.

Do you agree?

Best regards, Michael.





^ permalink raw reply	[flat|nested] 32+ messages in thread

* bug#7583: 23.2; ido loads tramp too eagerly
  2011-10-26  8:47     ` Michael Albinus
@ 2011-10-26 18:19       ` Dave Abrahams
  2011-10-26 18:27         ` Michael Albinus
  0 siblings, 1 reply; 32+ messages in thread
From: Dave Abrahams @ 2011-10-26 18:19 UTC (permalink / raw)
  To: Michael Albinus; +Cc: 7583


on Wed Oct 26 2011, Michael Albinus <michael.albinus-AT-gmx.de> wrote:

> Dave Abrahams <dave@boostpro.com> writes:
>
> Hi Dave,
>
>>>> emacs -Q
>>>> `M-x ido-mode RET'
>>>> `C-x C-f'           <wait while tramp loads>
>>>
>>> Running this recipe with Emacs 24.0.90, I don't see a serious delay due
>>> to Tramp. Do you still believe we need to fix something?
>>
>> Yeah, I do (no pun intended).  See the other report I made today.
>> Again, I'm not sure it's *technically* Tramp's fault, but I think Tramp
>> should probably be more resilient to whatever ido is doing.
>
> I've just committed a patch for ido.el, which removes explicit loading
> of Tramp. Autoloads shall be sufficient.
>
> This is all what could be done inside ido, IMHO. I've seen your other
> report on the Tramp ML, and I'm working on this. Therefore, I believe we
> can close *this* bug report.
>
> Do you agree?

Sure; if there are problems I'll bring them up anew :-)

-- 
Dave Abrahams
BoostPro Computing
http://www.boostpro.com





^ permalink raw reply	[flat|nested] 32+ messages in thread

* bug#7583: 23.2; ido loads tramp too eagerly
  2011-10-26 18:19       ` Dave Abrahams
@ 2011-10-26 18:27         ` Michael Albinus
  0 siblings, 0 replies; 32+ messages in thread
From: Michael Albinus @ 2011-10-26 18:27 UTC (permalink / raw)
  To: Dave Abrahams; +Cc: 7583-done

Dave Abrahams <dave@boostpro.com> writes:

>> I've just committed a patch for ido.el, which removes explicit loading
>> of Tramp. Autoloads shall be sufficient.
>>
>> This is all what could be done inside ido, IMHO. I've seen your other
>> report on the Tramp ML, and I'm working on this. Therefore, I believe we
>> can close *this* bug report.
>>
>> Do you agree?
>
> Sure; if there are problems I'll bring them up anew :-)

Thanks, I've closed the bug.

Best regards, Michael.





^ permalink raw reply	[flat|nested] 32+ messages in thread

* bug#7583: 23.2; ido loads tramp too eagerly
  2011-10-24 10:17                                 ` Michael Albinus
@ 2011-10-27 18:29                                   ` Thierry Volpiatto
  0 siblings, 0 replies; 32+ messages in thread
From: Thierry Volpiatto @ 2011-10-27 18:29 UTC (permalink / raw)
  To: Michael Albinus; +Cc: 7583

Hi Michael,
sorry for late reply.

Michael Albinus <michael.albinus@gmx.de> writes:

> Stefan Monnier <monnier@IRO.UMontreal.CA> writes:
>
>>> I think we misunderstand here, i have no real problems with tramp, i
>>> have made my anything code working with tramp as i want, only
>>> method/hostname completion are not implemented yet, but all is working
>>> fine here.
>>
>> It sounds like you're saying that you managed to work around
>> Tramp's problem.  That's different from saying that there is no problem.
>
> Hi Thierry,
>
> if there are problems with Tramp in anything.el, please report them. And
> please make a new report; this one shall be didacated to ido integration
> problems.
There is no problem actually, but i will report if it's the case.
Thanks to take anything.el in consideration.

-- 
  Thierry
Get my Gnupg key:
gpg --keyserver pgp.mit.edu --recv-keys 59F29997 





^ permalink raw reply	[flat|nested] 32+ messages in thread

end of thread, other threads:[~2011-10-27 18:29 UTC | newest]

Thread overview: 32+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2010-12-07 17:38 bug#7583: 23.2; ido loads tramp too eagerly Dave Abrahams
2011-10-16  9:00 ` Michael Albinus
2011-10-19 19:31   ` Dave Abrahams
2011-10-26  8:47     ` Michael Albinus
2011-10-26 18:19       ` Dave Abrahams
2011-10-26 18:27         ` Michael Albinus
2011-10-16 18:31 ` Juanma Barranquero
2011-10-16 19:17   ` Thierry Volpiatto
2011-10-16 19:40     ` Michael Albinus
2011-10-16 21:20       ` Thierry Volpiatto
2011-10-17  6:16         ` Thierry Volpiatto
2011-10-17  7:38           ` Michael Albinus
2011-10-17 13:31           ` Stefan Monnier
2011-10-17 14:18             ` Thierry Volpiatto
2011-10-17 15:44               ` Stefan Monnier
2011-10-17 17:02                 ` Thierry Volpiatto
2011-10-17 19:36                   ` Stefan Monnier
2011-10-18  5:39                     ` Thierry Volpiatto
2011-10-18 13:22                       ` Stefan Monnier
2011-10-18 17:01                         ` Thierry Volpiatto
2011-10-18 19:04                           ` Stefan Monnier
2011-10-19 10:04                             ` Michael Albinus
2011-10-19 12:49                               ` Stefan Monnier
2011-10-19 20:33                                 ` Michael Albinus
2011-10-20 13:50                           ` Michael Albinus
2011-10-20 14:35                             ` Thierry Volpiatto
2011-10-20 18:22                               ` Michael Albinus
2011-10-20 18:43                                 ` Thierry Volpiatto
2011-10-20 18:40                               ` Stefan Monnier
2011-10-24 10:17                                 ` Michael Albinus
2011-10-27 18:29                                   ` Thierry Volpiatto
2011-10-17 15:10             ` Michael Albinus

Code repositories for project(s) associated with this public inbox

	https://git.savannah.gnu.org/cgit/emacs.git

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for read-only IMAP folder(s) and NNTP newsgroup(s).