unofficial mirror of bug-gnu-emacs@gnu.org 
 help / color / mirror / code / Atom feed
* bug#14030: 24.3; expand-file-name expands remote file name on Windows incorrectly
@ 2013-03-22 15:17 Vida Gábor
  2013-03-22 16:02 ` Eli Zaretskii
  2013-03-24 16:11 ` Eli Zaretskii
  0 siblings, 2 replies; 28+ messages in thread
From: Vida Gábor @ 2013-03-22 15:17 UTC (permalink / raw)
  To: 14030

Hi!

Emacs 24.2 on Windows doesn't expand remote file names:

  (expand-file-name "/ssh:user@host:/")
  "/ssh:user@host:/"

While Emacs 24.3.1 does:

(expand-file-name "/ssh:user@host:/")
"/ssh:user@host:c:/"

And this makes Tramp to fail (it can't find proper ls command, but
that's a side effect).

It's probably affects only the Windows build, because cygwin build of
emacs 24.3.1 doesn't produce the same fault.

I start Emacs from a Cygwin terminal (but not the Cygwin version of
Emacs). Just for your information.

-- 
Best regards,
Gábor

This bug report will be sent to the Bug-GNU-Emacs mailing list
and the GNU bug tracker at debbugs.gnu.org.  Please check that
the From: line contains a valid email address.  After a delay of up
to one day, you should receive an acknowledgment at that address.

Please write in English if possible, as the Emacs maintainers
usually do not have translators for other languages.

Please describe exactly what actions triggered the bug, and
the precise symptoms of the bug.  If you can, give a recipe
starting from `emacs -Q':



If Emacs crashed, and you have the Emacs process in the gdb debugger,
please include the output from the following gdb commands:
    `bt full' and `xbacktrace'.
For information about debugging Emacs, please read the file
c:/Users/evidgbo/Desktop/PROGS/installed/emacs-24.3/etc/DEBUG.


In GNU Emacs 24.3.1 (i386-mingw-nt6.1.7601)
 of 2013-03-17 on MARVIN
Windowing system distributor `Microsoft Corp.', version 6.1.7601
Configured using:
 `configure --with-gcc (4.7) --cflags
 -ID:/devel/emacs/libs/libXpm-3.5.8/include
 -ID:/devel/emacs/libs/libXpm-3.5.8/src
 -ID:/devel/emacs/libs/libpng-dev_1.4.3-1/include
 -ID:/devel/emacs/libs/zlib-dev_1.2.5-2/include
 -ID:/devel/emacs/libs/giflib-4.1.4-1/include
 -ID:/devel/emacs/libs/jpeg-6b-4/include
 -ID:/devel/emacs/libs/tiff-3.8.2-1/include
 -ID:/devel/emacs/libs/gnutls-3.0.9/include
 -ID:/devel/emacs/libs/libiconv-1.13.1-1-dev/include
 -ID:/devel/emacs/libs/libxml2-2.7.8/include/libxml2'

Important settings:
  value of $LANG: en_US.UTF-8
  locale-coding-system: cp1252
  default enable-multibyte-characters: t

Major mode: Lisp Interaction

Minor modes in effect:
  shell-dirtrack-mode: t
  tooltip-mode: t
  mouse-wheel-mode: t
  tool-bar-mode: t
  menu-bar-mode: t
  file-name-shadow-mode: t
  global-font-lock-mode: t
  font-lock-mode: t
  blink-cursor-mode: t
  auto-composition-mode: t
  auto-encryption-mode: t
  auto-compression-mode: t
  line-number-mode: t
  transient-mark-mode: t

Recent input:
C-x b * s c <tab> <return> C-y C-x C-e C-j C-p C-p 
C-SPC C-n C-n M-w M-x r e p o r t - e m a c s - b <tab> 
RET

Recent messages:
For information about GNU Emacs and the GNU system, type C-h C-a.
Mark set
"/ssh:user@host:c:/"
Mark activated

Load-path shadows:
None found.

Features:
(shadow sort mail-extr emacsbug message rfc822 mml easymenu mml-sec
mm-decode mm-bodies mm-encode mail-parse rfc2231 mailabbrev gmm-utils
mailheader sendmail rfc2047 rfc2045 ietf-drums mail-utils tramp-sh tramp
tramp-compat auth-source eieio byte-opt bytecomp byte-compile cconv
gnus-util mm-util mail-prsvr password-cache tramp-loaddefs shell
pcomplete comint ansi-color ring format-spec advice help-fns cl-lib
advice-preload time-date tooltip ediff-hook vc-hooks lisp-float-type
mwheel dos-w32 ls-lisp w32-common-fns disp-table w32-win w32-vars
tool-bar dnd fontset image regexp-opt fringe tabulated-list newcomment
lisp-mode register page menu-bar rfn-eshadow timer select scroll-bar
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
minibuffer loaddefs button faces cus-face macroexp files text-properties
overlay sha1 md5 base64 format env code-pages mule custom widget
hashtable-print-readable backquote make-network-process w32 multi-tty
emacs)





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

* bug#14030: 24.3; expand-file-name expands remote file name on Windows incorrectly
  2013-03-22 15:17 bug#14030: 24.3; expand-file-name expands remote file name on Windows incorrectly Vida Gábor
@ 2013-03-22 16:02 ` Eli Zaretskii
  2013-03-23 12:13   ` Michael Albinus
  2013-03-24 16:11 ` Eli Zaretskii
  1 sibling, 1 reply; 28+ messages in thread
From: Eli Zaretskii @ 2013-03-22 16:02 UTC (permalink / raw)
  To: Vida Gábor, Michael Albinus; +Cc: 14030

> Date: Fri, 22 Mar 2013 16:17:45 +0100
> From: Vida Gábor <vidagabor@gmail.com>
> 
> Emacs 24.2 on Windows doesn't expand remote file names:
> 
>   (expand-file-name "/ssh:user@host:/")
>   "/ssh:user@host:/"
> 
> While Emacs 24.3.1 does:
> 
> (expand-file-name "/ssh:user@host:/")
> "/ssh:user@host:c:/"
> 
> And this makes Tramp to fail (it can't find proper ls command, but
> that's a side effect).

This is due to some change in Tramp, specifically in
tramp-sh-file-name-handler: it returned "/ssh:user@host:/" in 24.2,
but "/ssh:user@host:c:/" in 24.3.  Michael, could you please take a
look?

> I start Emacs from a Cygwin terminal (but not the Cygwin version of
> Emacs). Just for your information.

I can easily reproduce this from the cmd window as well.






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

* bug#14030: 24.3; expand-file-name expands remote file name on Windows incorrectly
  2013-03-22 16:02 ` Eli Zaretskii
@ 2013-03-23 12:13   ` Michael Albinus
  2013-03-23 20:23     ` Eli Zaretskii
  0 siblings, 1 reply; 28+ messages in thread
From: Michael Albinus @ 2013-03-23 12:13 UTC (permalink / raw)
  To: Eli Zaretskii; +Cc: Vida Gábor, 14030

Eli Zaretskii <eliz@gnu.org> writes:

> This is due to some change in Tramp, specifically in
> tramp-sh-file-name-handler: it returned "/ssh:user@host:/" in 24.2,
> but "/ssh:user@host:c:/" in 24.3.  Michael, could you please take a
> look?

This is competely strange. In `tramp-sh-handle-expand-file-name', there
is the following code at the very end:

      (let ((directory-sep-char ?/)
	    (default-directory (tramp-compat-temporary-file-directory)))
	(tramp-make-tramp-file-name
	 method user host
	 (tramp-drop-volume-letter
	  (tramp-run-real-handler
	   'expand-file-name (list localname)))
	 hop)))))

In Emacs 24.3, `tramp-drop-volume-letter' is not executed:

| | | | 5 -> tramp-run-real-handler: operation=expand-file-name args=("/root/")
| | | | 5 <- tramp-run-real-handler: "c:/root/"
| | | | 5 -> tramp-make-tramp-file-name: method="plink" user=nil host="ford" localname="c:/root/" hop=nil
| | | | 5 <- tramp-make-tramp-file-name: "/plink:ford:c:/root/"

When I use Emacs 24.3.50, the latest snapshot, that function is
executed:

| | | | 5 -> (tramp-run-real-handler expand-file-name ("/root/"))
| | | | 5 <- tramp-run-real-handler: "c:/root/"
| | | | 5 -> (tramp-drop-volume-letter "c:/root/")
| | | | 5 <- tramp-drop-volume-letter: "/root/"
| | | | 5 -> (tramp-make-tramp-file-name "plink" nil "ford" "/root/" nil)
| | | | 5 <- tramp-make-tramp-file-name: "/plink:ford:/root/"

I have no idea, what prevents `tramp-drop-volume-letter' to be called.
If you want to reproduce my test, I have setup the traces like this:

(require 'tramp)
(require 'trace)
(dolist (elt (all-completions "tramp-" obarray 'functionp))
  (trace-function-background (intern elt)))

(expand-file-name "/plink:ford:")

Best regards, Michael.





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

* bug#14030: 24.3; expand-file-name expands remote file name on Windows incorrectly
  2013-03-23 12:13   ` Michael Albinus
@ 2013-03-23 20:23     ` Eli Zaretskii
  2013-03-23 21:37       ` Michael Albinus
  0 siblings, 1 reply; 28+ messages in thread
From: Eli Zaretskii @ 2013-03-23 20:23 UTC (permalink / raw)
  To: Michael Albinus; +Cc: vidagabor, 14030

> From: Michael Albinus <michael.albinus@gmx.de>
> Cc: Vida Gábor <vidagabor@gmail.com>,
>   14030@debbugs.gnu.org
> Date: Sat, 23 Mar 2013 13:13:37 +0100
> 
> This is competely strange. In `tramp-sh-handle-expand-file-name', there
> is the following code at the very end:
> 
>       (let ((directory-sep-char ?/)
> 	    (default-directory (tramp-compat-temporary-file-directory)))
> 	(tramp-make-tramp-file-name
> 	 method user host
> 	 (tramp-drop-volume-letter
> 	  (tramp-run-real-handler
> 	   'expand-file-name (list localname)))
> 	 hop)))))
> 
> In Emacs 24.3, `tramp-drop-volume-letter' is not executed:
> 
> | | | | 5 -> tramp-run-real-handler: operation=expand-file-name args=("/root/")
> | | | | 5 <- tramp-run-real-handler: "c:/root/"
> | | | | 5 -> tramp-make-tramp-file-name: method="plink" user=nil host="ford" localname="c:/root/" hop=nil
> | | | | 5 <- tramp-make-tramp-file-name: "/plink:ford:c:/root/"
> 
> When I use Emacs 24.3.50, the latest snapshot, that function is
> executed:
> 
> | | | | 5 -> (tramp-run-real-handler expand-file-name ("/root/"))
> | | | | 5 <- tramp-run-real-handler: "c:/root/"
> | | | | 5 -> (tramp-drop-volume-letter "c:/root/")
> | | | | 5 <- tramp-drop-volume-letter: "/root/"
> | | | | 5 -> (tramp-make-tramp-file-name "plink" nil "ford" "/root/" nil)
> | | | | 5 <- tramp-make-tramp-file-name: "/plink:ford:/root/"
> 
> I have no idea, what prevents `tramp-drop-volume-letter' to be called.

Since tramp-drop-volume-letter is not a function, it's a defalias, so
maybe it somehow doesn't get registered in the trace?

Or maybe it somehow takes the 'identity route?






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

* bug#14030: 24.3; expand-file-name expands remote file name on Windows incorrectly
  2013-03-23 20:23     ` Eli Zaretskii
@ 2013-03-23 21:37       ` Michael Albinus
  2013-03-24 16:10         ` Eli Zaretskii
  0 siblings, 1 reply; 28+ messages in thread
From: Michael Albinus @ 2013-03-23 21:37 UTC (permalink / raw)
  To: Eli Zaretskii; +Cc: vidagabor, 14030

Eli Zaretskii <eliz@gnu.org> writes:

>> From: Michael Albinus <michael.albinus@gmx.de>
>> Cc: Vida Gábor <vidagabor@gmail.com>,
>>   14030@debbugs.gnu.org
>> Date: Sat, 23 Mar 2013 13:13:37 +0100
>> 
>> This is competely strange. In `tramp-sh-handle-expand-file-name', there
>> is the following code at the very end:
>> 
>>       (let ((directory-sep-char ?/)
>> 	    (default-directory (tramp-compat-temporary-file-directory)))
>> 	(tramp-make-tramp-file-name
>> 	 method user host
>> 	 (tramp-drop-volume-letter
>> 	  (tramp-run-real-handler
>> 	   'expand-file-name (list localname)))
>> 	 hop)))))
>> 
>> In Emacs 24.3, `tramp-drop-volume-letter' is not executed:
>> 
>> | | | | 5 -> tramp-run-real-handler: operation=expand-file-name
>> | | | | args=("/root/")
>> | | | | 5 <- tramp-run-real-handler: "c:/root/"
>> | | | | 5 -> tramp-make-tramp-file-name: method="plink" user=nil
>> | | | | host="ford" localname="c:/root/" hop=nil
>> | | | | 5 <- tramp-make-tramp-file-name: "/plink:ford:c:/root/"
>> 
>> When I use Emacs 24.3.50, the latest snapshot, that function is
>> executed:
>> 
>> | | | | 5 -> (tramp-run-real-handler expand-file-name ("/root/"))
>> | | | | 5 <- tramp-run-real-handler: "c:/root/"
>> | | | | 5 -> (tramp-drop-volume-letter "c:/root/")
>> | | | | 5 <- tramp-drop-volume-letter: "/root/"
>> | | | | 5 -> (tramp-make-tramp-file-name "plink" nil "ford" "/root/" nil)
>> | | | | 5 <- tramp-make-tramp-file-name: "/plink:ford:/root/"
>> 
>> I have no idea, what prevents `tramp-drop-volume-letter' to be called.
>
> Since tramp-drop-volume-letter is not a function, it's a defalias, so
> maybe it somehow doesn't get registered in the trace?

But it is visible in the traces of Emacs 24.3.50.

> Or maybe it somehow takes the 'identity route?

No.

(tramp-drop-volume-letter "c:/root/")
  => "/root/"

Best regards, Michael.





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

* bug#14030: 24.3; expand-file-name expands remote file name on Windows incorrectly
  2013-03-23 21:37       ` Michael Albinus
@ 2013-03-24 16:10         ` Eli Zaretskii
  2013-03-24 17:21           ` Michael Albinus
  0 siblings, 1 reply; 28+ messages in thread
From: Eli Zaretskii @ 2013-03-24 16:10 UTC (permalink / raw)
  To: Michael Albinus; +Cc: vidagabor, 14030

> From: Michael Albinus <michael.albinus@gmx.de>
> Cc: vidagabor@gmail.com,  14030@debbugs.gnu.org
> Date: Sat, 23 Mar 2013 22:37:48 +0100
> 
> >>       (let ((directory-sep-char ?/)
> >> 	    (default-directory (tramp-compat-temporary-file-directory)))
> >> 	(tramp-make-tramp-file-name
> >> 	 method user host
> >> 	 (tramp-drop-volume-letter
> >> 	  (tramp-run-real-handler
> >> 	   'expand-file-name (list localname)))
> >> 	 hop)))))
> >> 
> >> In Emacs 24.3, `tramp-drop-volume-letter' is not executed:
> >> 
> >> | | | | 5 -> tramp-run-real-handler: operation=expand-file-name
> >> | | | | args=("/root/")
> >> | | | | 5 <- tramp-run-real-handler: "c:/root/"
> >> | | | | 5 -> tramp-make-tramp-file-name: method="plink" user=nil
> >> | | | | host="ford" localname="c:/root/" hop=nil
> >> | | | | 5 <- tramp-make-tramp-file-name: "/plink:ford:c:/root/"
> >> 
> >> When I use Emacs 24.3.50, the latest snapshot, that function is
> >> executed:
> >> 
> >> | | | | 5 -> (tramp-run-real-handler expand-file-name ("/root/"))
> >> | | | | 5 <- tramp-run-real-handler: "c:/root/"
> >> | | | | 5 -> (tramp-drop-volume-letter "c:/root/")
> >> | | | | 5 <- tramp-drop-volume-letter: "/root/"
> >> | | | | 5 -> (tramp-make-tramp-file-name "plink" nil "ford" "/root/" nil)
> >> | | | | 5 <- tramp-make-tramp-file-name: "/plink:ford:/root/"
> >> 
> >> I have no idea, what prevents `tramp-drop-volume-letter' to be called.

My crystal ball says that your 24.3.50 snapshot was bootstrapped on
MS-Windows, or at least Tramp was compiled on Windows.  See below.

> > Or maybe it somehow takes the 'identity route?
> 
> No.
> 
> (tramp-drop-volume-letter "c:/root/")
>   => "/root/"

That's not the same, because the call to tramp-drop-volume-letter in
tramp-sh-handle-expand-file-name could still be expanded to 'identity'
(= nothing) by the byte compiler when tramp-sh.elc was compiled.  And
indeed, disassembling tramp-sh-handle-expand-file-name from
tramp-sh.elc provided in the Emacs 24.3 tarball shows this:

  336	varbind	  default-directory
  337	varbind	  directory-sep-char
  339	constant  tramp-make-tramp-file-name
  340	varref	  method
  341	varref	  user
  342	varref	  host
  344	constant  tramp-run-real-handler
  345	constant  expand-file-name
  346	varref	  localname
  348	list1	  
  349	call	  2
  350	varref	  hop
  352	call	  5
  353	unbind	  8
  355	return	  

"Look, ma: no tramp-drop-volume-letter!"

If I now byte-compile tramp-sh.el on MS-Windows, I get this
disassembly:

  336	varbind	  default-directory
  337	varbind	  directory-sep-char
  339	constant  tramp-make-tramp-file-name
  340	varref	  method
  341	varref	  user
  342	varref	  host
  344	constant  tramp-drop-volume-letter  <<<<<<<<<<<<<<<<<<<<<<<<
  345	constant  tramp-run-real-handler
  346	constant  expand-file-name
  347	varref	  localname
  349	list1	  
  350	call	  2
  351	call	  1
  352	varref	  hop
  354	call	  5
  355	unbind	  8
  357	return	  

(And, btw, the .elc file I get is 50KB smaller than the one in the
tarball -- why?)

If I compile tramp-sh.el on GNU/Linux with the latest trunk, I still
don't see tramp-drop-volume-letter in the disassembly of
tramp-sh-handle-expand-file-name.  So the problem is still there in
the current trunk.  By contrast, if I compile tramp-sh.el with Emacs
24.2, I do see the call to tramp-drop-volume-letter in the
disassembly.

So, somehow, compiling tramp-sh.el on Unix replaces the call to
tramp-drop-volume-letter with nothing.  Perhaps the condition, viz.

  (defalias 'tramp-drop-volume-letter
    (if (memq system-type '(cygwin windows-nt))  <<<<<<<<<<<<<<<<<<<
	(lambda (name)
	  "Cut off unnecessary drive letter from file NAME.
  The functions `tramp-*-handle-expand-file-name' call `expand-file-name'
  locally on a remote file name.  When the local system is a W32 system
  but the remote system is Unix, this introduces a superfluous drive
  letter into the file name.  This function removes it."
	  (save-match-data
	    (if (string-match "\\`[a-zA-Z]:/" name)
		(replace-match "/" nil t name)
	      name)))

      'identity))

is expanded at byte-compile time, instead of at run time?

And I guess whatever has this effect was introduced between the
release of 24.2 and 24.3 (which was the trunk until 24.2 release).





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

* bug#14030: 24.3; expand-file-name expands remote file name on Windows incorrectly
  2013-03-22 15:17 bug#14030: 24.3; expand-file-name expands remote file name on Windows incorrectly Vida Gábor
  2013-03-22 16:02 ` Eli Zaretskii
@ 2013-03-24 16:11 ` Eli Zaretskii
  2013-03-25  8:53   ` Vida Gábor
  1 sibling, 1 reply; 28+ messages in thread
From: Eli Zaretskii @ 2013-03-24 16:11 UTC (permalink / raw)
  To: Vida Gábor; +Cc: 14030

> Date: Fri, 22 Mar 2013 16:17:45 +0100
> From: Vida Gábor <vidagabor@gmail.com>
> 
> Emacs 24.2 on Windows doesn't expand remote file names:
> 
>   (expand-file-name "/ssh:user@host:/")
>   "/ssh:user@host:/"
> 
> While Emacs 24.3.1 does:
> 
> (expand-file-name "/ssh:user@host:/")
> "/ssh:user@host:c:/"
> 
> And this makes Tramp to fail (it can't find proper ls command, but
> that's a side effect).
> 
> It's probably affects only the Windows build, because cygwin build of
> emacs 24.3.1 doesn't produce the same fault.

As a work-around, byte-compile tramp-sh.el on Windows, and the problem
will disappear.






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

* bug#14030: 24.3; expand-file-name expands remote file name on Windows incorrectly
  2013-03-24 16:10         ` Eli Zaretskii
@ 2013-03-24 17:21           ` Michael Albinus
  2013-03-24 17:35             ` Eli Zaretskii
  0 siblings, 1 reply; 28+ messages in thread
From: Michael Albinus @ 2013-03-24 17:21 UTC (permalink / raw)
  To: Eli Zaretskii; +Cc: vidagabor, 14030

Eli Zaretskii <eliz@gnu.org> writes:

> My crystal ball says that your 24.3.50 snapshot was bootstrapped on
> MS-Windows, or at least Tramp was compiled on Windows.  See below.

In GNU Emacs 24.3.50.1 (i386-mingw-nt6.1.7600)
 of 2013-03-14 on VBOX
Bzr revision: 112044 eliz@gnu.org-20130314173751-20hpndyud1tka138
Windowing system distributor `Microsoft Corp.', version 6.1.7600
Configured using:
 `configure --with-gcc (4.7) --no-opt --enable-checking --cflags
 -IC:/emacs/libs/libXpm-3.5.10/include -IC:/emacs/libs/libXpm-3.5.10/src
 -IC:/emacs/libs/libpng-dev_1.4.3-1_win32/include
 -IC:/emacs/libs/zlib-dev_1.2.5-2_win32/include
 -IC:/emacs/libs/giflib-4.1.4-1-lib/include
 -IC:/emacs/libs/jpeg-6b-4-lib/include
 -IC:/emacs/libs/tiff-3.8.2-1-lib/include
 -IC:/emacs/libs/libxml2-2.7.8-w32-bin/include/libxml2
 -IC:/emacs/libs/gnutls-3.1.8-w32/include
 -IC:/emacs/libs/libiconv-1.14-2-mingw32-dev/include'

> So, somehow, compiling tramp-sh.el on Unix replaces the call to
> tramp-drop-volume-letter with nothing.  Perhaps the condition, viz.

Yes, that is intended. tramp-drop-volume-letter is not needed on GNU/Linux.

>   (defalias 'tramp-drop-volume-letter
>     (if (memq system-type '(cygwin windows-nt))  <<<<<<<<<<<<<<<<<<<
> 	(lambda (name)
> 	  "Cut off unnecessary drive letter from file NAME.
>   The functions `tramp-*-handle-expand-file-name' call `expand-file-name'
>   locally on a remote file name.  When the local system is a W32 system
>   but the remote system is Unix, this introduces a superfluous drive
>   letter into the file name.  This function removes it."
> 	  (save-match-data
> 	    (if (string-match "\\`[a-zA-Z]:/" name)
> 		(replace-match "/" nil t name)
> 	      name)))
>
>       'identity))
>
> is expanded at byte-compile time, instead of at run time?

Looks like this, yes.

> And I guess whatever has this effect was introduced between the
> release of 24.2 and 24.3 (which was the trunk until 24.2 release).

Yes, it was changed in bzr commit #105625.

Does this mean, this declaration requests Tramp to be compiled on MS
Windows?  I have used the official distribution from
<http://ftp.gnu.org/gnu/emacs/windows/>. It reports

In GNU Emacs 24.3.1 (i386-mingw-nt6.1.7600)
 of 2013-03-17 on MARVIN
Windowing system distributor `Microsoft Corp.', version 6.1.7600
Configured using:
 `configure --with-gcc (4.7) --cflags
 -ID:/devel/emacs/libs/libXpm-3.5.8/include
 -ID:/devel/emacs/libs/libXpm-3.5.8/src
 -ID:/devel/emacs/libs/libpng-dev_1.4.3-1/include
 -ID:/devel/emacs/libs/zlib-dev_1.2.5-2/include
 -ID:/devel/emacs/libs/giflib-4.1.4-1/include
 -ID:/devel/emacs/libs/jpeg-6b-4/include
 -ID:/devel/emacs/libs/tiff-3.8.2-1/include
 -ID:/devel/emacs/libs/gnutls-3.0.9/include
 -ID:/devel/emacs/libs/libiconv-1.13.1-1-dev/include
 -ID:/devel/emacs/libs/libxml2-2.7.8/include/libxml2'

We shall repackage Emacs 24.3 for MS Windows then. Other packages might
suffer from the same problem.

Best regards, Michael.





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

* bug#14030: 24.3; expand-file-name expands remote file name on Windows incorrectly
  2013-03-24 17:21           ` Michael Albinus
@ 2013-03-24 17:35             ` Eli Zaretskii
  2013-03-24 18:32               ` Michael Albinus
  2013-03-25 14:28               ` Stefan Monnier
  0 siblings, 2 replies; 28+ messages in thread
From: Eli Zaretskii @ 2013-03-24 17:35 UTC (permalink / raw)
  To: Michael Albinus; +Cc: vidagabor, 14030

> From: Michael Albinus <michael.albinus@gmx.de>
> Cc: vidagabor@gmail.com,  14030@debbugs.gnu.org
> Date: Sun, 24 Mar 2013 18:21:48 +0100
> 
> > So, somehow, compiling tramp-sh.el on Unix replaces the call to
> > tramp-drop-volume-letter with nothing.  Perhaps the condition, viz.
> 
> Yes, that is intended. tramp-drop-volume-letter is not needed on GNU/Linux.

??? But byte-compiled files are supposed to be platform-independent.
The release tarball includes all of the *.elc files, which were
compiled on Unix when the release was tarred, and they are not
recompiled when Emacs is built on Windows (or on any other platform).
Now you seem to be saying that all the *.elc files need to be compiled
as part of the build on the target platform.  I think this isn't a
good thing.

> Does this mean, this declaration requests Tramp to be compiled on MS
> Windows?

No, it means tramp-drop-volume-letter has a bug that needs to be
fixed, IMO.

> We shall repackage Emacs 24.3 for MS Windows then.

Lisp files are not supposed to be recompiled on the target platform.
They are architecture-independent, and are installed in a directory
which can be shared among different architectures.

Sorry, but I think this is a grave bug.





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

* bug#14030: 24.3; expand-file-name expands remote file name on Windows incorrectly
  2013-03-24 17:35             ` Eli Zaretskii
@ 2013-03-24 18:32               ` Michael Albinus
  2013-03-24 19:23                 ` Eli Zaretskii
  2013-03-26  0:35                 ` Wolfgang Jenkner
  2013-03-25 14:28               ` Stefan Monnier
  1 sibling, 2 replies; 28+ messages in thread
From: Michael Albinus @ 2013-03-24 18:32 UTC (permalink / raw)
  To: Eli Zaretskii; +Cc: vidagabor, 14030

Eli Zaretskii <eliz@gnu.org> writes:

>> From: Michael Albinus <michael.albinus@gmx.de>
>> Cc: vidagabor@gmail.com,  14030@debbugs.gnu.org
>> Date: Sun, 24 Mar 2013 18:21:48 +0100
>> 
>> > So, somehow, compiling tramp-sh.el on Unix replaces the call to
>> > tramp-drop-volume-letter with nothing.  Perhaps the condition, viz.
>> 
>> Yes, that is intended. tramp-drop-volume-letter is not needed on GNU/Linux.
>
> ??? But byte-compiled files are supposed to be platform-independent.
> The release tarball includes all of the *.elc files, which were
> compiled on Unix when the release was tarred, and they are not
> recompiled when Emacs is built on Windows (or on any other platform).
> Now you seem to be saying that all the *.elc files need to be compiled
> as part of the build on the target platform.  I think this isn't a
> good thing.

Yes, you are right.

>> Does this mean, this declaration requests Tramp to be compiled on MS
>> Windows?
>
> No, it means tramp-drop-volume-letter has a bug that needs to be
> fixed, IMO.

The problem seems to be, that defalias is evaled during
byte-compilation. So I will revert the definition of
tramp-drop-volume-letter, that is is decided at runtime how it is
defined.

>> We shall repackage Emacs 24.3 for MS Windows then.
>
> Lisp files are not supposed to be recompiled on the target platform.
> They are architecture-independent, and are installed in a directory
> which can be shared among different architectures.
>
> Sorry, but I think this is a grave bug.

Yes. Unfortunately, all pretests for MS Windows were compiled on MS
Windows. So this hasn't been detected earlier.

What shall we do with Emacs 24.3 for MS Windows? I still believe, that
we must repackage it, and compile tramp.el on MS Windows.

Alternatively there could be an Emacs 24.3a with a changed tramp.el. But
this sounds too heavy to me.

Best regards, Michael.





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

* bug#14030: 24.3; expand-file-name expands remote file name on Windows incorrectly
  2013-03-24 18:32               ` Michael Albinus
@ 2013-03-24 19:23                 ` Eli Zaretskii
  2013-03-25  8:36                   ` Michael Albinus
  2013-03-26  0:35                 ` Wolfgang Jenkner
  1 sibling, 1 reply; 28+ messages in thread
From: Eli Zaretskii @ 2013-03-24 19:23 UTC (permalink / raw)
  To: Michael Albinus; +Cc: vidagabor, 14030

> From: Michael Albinus <michael.albinus@gmx.de>
> Cc: vidagabor@gmail.com,  14030@debbugs.gnu.org
> Date: Sun, 24 Mar 2013 19:32:00 +0100
> 
> The problem seems to be, that defalias is evaled during
> byte-compilation. So I will revert the definition of
> tramp-drop-volume-letter, that is is decided at runtime how it is
> defined.

Thanks.  It's probably best to do this on the emacs-24 branch.

> What shall we do with Emacs 24.3 for MS Windows? I still believe, that
> we must repackage it, and compile tramp.el on MS Windows.

I agree (but I think it's tramp-sh.el that needs to be recompiled).
And people who build their own Emacs from sources should recompile
tramp-sh.el on Windows.

> Alternatively there could be an Emacs 24.3a with a changed tramp.el. But
> this sounds too heavy to me.

Agreed, I see no need for that.

Thanks.





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

* bug#14030: 24.3; expand-file-name expands remote file name on Windows incorrectly
  2013-03-24 19:23                 ` Eli Zaretskii
@ 2013-03-25  8:36                   ` Michael Albinus
  2013-03-25  9:01                     ` Eli Zaretskii
  2013-03-27  0:11                     ` Wolfgang Jenkner
  0 siblings, 2 replies; 28+ messages in thread
From: Michael Albinus @ 2013-03-25  8:36 UTC (permalink / raw)
  To: Eli Zaretskii; +Cc: vidagabor, 14030

Eli Zaretskii <eliz@gnu.org> writes:

>> The problem seems to be, that defalias is evaled during
>> byte-compilation. So I will revert the definition of
>> tramp-drop-volume-letter, that is is decided at runtime how it is
>> defined.
>
> Thanks.  It's probably best to do this on the emacs-24 branch.
>
>> What shall we do with Emacs 24.3 for MS Windows? I still believe, that
>> we must repackage it, and compile tramp.el on MS Windows.

Well. I have reverted the change of `tramp-drop-volume-letter' to the
definition as it has been before the change in #105625. Compiled
tramp.el and tramp-sh.el on GNU/Linux. Copied the resulting tramp.elc
and tramp-sh.elc into the Emacs 24.3 tree on MS Windows. The problem
persists.

I have the impression, that there is a byte-compiler optimization, which
throws away the call of `tramp-drop-volume-letter' in
`tramp-sh-handle-expand-file-name'. As I have said earlier,
(tramp-drop-volume-letter "c:/something") still works correctly.

How could I avoid this eager optimization?

> Thanks.

Best regards, Michael.





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

* bug#14030: 24.3; expand-file-name expands remote file name on Windows incorrectly
  2013-03-24 16:11 ` Eli Zaretskii
@ 2013-03-25  8:53   ` Vida Gábor
  2020-09-09 13:56     ` Lars Ingebrigtsen
  0 siblings, 1 reply; 28+ messages in thread
From: Vida Gábor @ 2013-03-25  8:53 UTC (permalink / raw)
  To: Eli Zaretskii; +Cc: 14030

> As a work-around, byte-compile tramp-sh.el on Windows, and the problem
> will disappear.

Thanks Eli, it works.

-- 
Best regards,
Gábor Vida





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

* bug#14030: 24.3; expand-file-name expands remote file name on Windows incorrectly
  2013-03-25  8:36                   ` Michael Albinus
@ 2013-03-25  9:01                     ` Eli Zaretskii
  2013-03-25  9:20                       ` Michael Albinus
  2013-03-27  0:11                     ` Wolfgang Jenkner
  1 sibling, 1 reply; 28+ messages in thread
From: Eli Zaretskii @ 2013-03-25  9:01 UTC (permalink / raw)
  To: Michael Albinus; +Cc: vidagabor, 14030

> From: Michael Albinus <michael.albinus@gmx.de>
> Cc: vidagabor@gmail.com,  14030@debbugs.gnu.org
> Date: Mon, 25 Mar 2013 09:36:07 +0100
> 
> Well. I have reverted the change of `tramp-drop-volume-letter' to the
> definition as it has been before the change in #105625. Compiled
> tramp.el and tramp-sh.el on GNU/Linux. Copied the resulting tramp.elc
> and tramp-sh.elc into the Emacs 24.3 tree on MS Windows. The problem
> persists.

Revision 105625 cannot be the culprit, because it was done well before
Emacs 24.2 (which doesn't have the problem) was released.  It's got to
be something in the byte compiler.

> I have the impression, that there is a byte-compiler optimization, which
> throws away the call of `tramp-drop-volume-letter' in
> `tramp-sh-handle-expand-file-name'. As I have said earlier,
> (tramp-drop-volume-letter "c:/something") still works correctly.
> 
> How could I avoid this eager optimization?

How about making tramp-drop-volume-letter a simple function?





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

* bug#14030: 24.3; expand-file-name expands remote file name on Windows incorrectly
  2013-03-25  9:01                     ` Eli Zaretskii
@ 2013-03-25  9:20                       ` Michael Albinus
  2013-03-25  9:55                         ` Eli Zaretskii
  0 siblings, 1 reply; 28+ messages in thread
From: Michael Albinus @ 2013-03-25  9:20 UTC (permalink / raw)
  To: Eli Zaretskii; +Cc: vidagabor, 14030

Eli Zaretskii <eliz@gnu.org> writes:

>> How could I avoid this eager optimization?
>
> How about making tramp-drop-volume-letter a simple function?

For this problem it might be the right thing to do. But we shall
continue to investigate (Stefan?), because this problem could happen
elsewhere.

I've committed a respective patch to the emacs-24 branch.  Shall we put
a note somewhere, that tramp-sh.el of Emacs 24.3 needs to be recompiled
on MS Windows?

Best regards, Michael.





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

* bug#14030: 24.3; expand-file-name expands remote file name on Windows incorrectly
  2013-03-25  9:20                       ` Michael Albinus
@ 2013-03-25  9:55                         ` Eli Zaretskii
  2013-03-25 10:06                           ` Michael Albinus
  0 siblings, 1 reply; 28+ messages in thread
From: Eli Zaretskii @ 2013-03-25  9:55 UTC (permalink / raw)
  To: Michael Albinus; +Cc: vidagabor, 14030

> From: Michael Albinus <michael.albinus@gmx.de>
> Cc: vidagabor@gmail.com,  14030@debbugs.gnu.org
> Date: Mon, 25 Mar 2013 10:20:12 +0100
> 
> Eli Zaretskii <eliz@gnu.org> writes:
> 
> >> How could I avoid this eager optimization?
> >
> > How about making tramp-drop-volume-letter a simple function?
> 
> For this problem it might be the right thing to do. But we shall
> continue to investigate (Stefan?), because this problem could happen
> elsewhere.

I agree.

> I've committed a respective patch to the emacs-24 branch.

Thanks.

> Shall we put a note somewhere, that tramp-sh.el of Emacs 24.3 needs
> to be recompiled on MS Windows?

I couldn't think about any proper place.  This discussion is already
one way to make this issue and its solution known.  But if someone
comes with suggestions to advertise this in other places, I'm for it.





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

* bug#14030: 24.3; expand-file-name expands remote file name on Windows incorrectly
  2013-03-25  9:55                         ` Eli Zaretskii
@ 2013-03-25 10:06                           ` Michael Albinus
  0 siblings, 0 replies; 28+ messages in thread
From: Michael Albinus @ 2013-03-25 10:06 UTC (permalink / raw)
  To: Eli Zaretskii; +Cc: vidagabor, 14030

Eli Zaretskii <eliz@gnu.org> writes:

>> Shall we put a note somewhere, that tramp-sh.el of Emacs 24.3 needs
>> to be recompiled on MS Windows?
>
> I couldn't think about any proper place.  This discussion is already
> one way to make this issue and its solution known.  But if someone
> comes with suggestions to advertise this in other places, I'm for it.

Maybe <http://ftp.gnu.org/gnu/emacs/windows/README>. Its contents is
shown, when browsing to <http://ftp.gnu.org/gnu/emacs/windows>.

Another place might be <http://www.emacswiki.org/emacs/CategoryWThirtyTwo>.
Many people start to search on emacswiki.

Best regards, Michael.





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

* bug#14030: 24.3; expand-file-name expands remote file name on Windows incorrectly
  2013-03-24 17:35             ` Eli Zaretskii
  2013-03-24 18:32               ` Michael Albinus
@ 2013-03-25 14:28               ` Stefan Monnier
  2013-03-25 18:49                 ` Stefan Monnier
  1 sibling, 1 reply; 28+ messages in thread
From: Stefan Monnier @ 2013-03-25 14:28 UTC (permalink / raw)
  To: Eli Zaretskii; +Cc: 14030, Michael Albinus, vidagabor

> Sorry, but I think this is a grave bug.

Agreed, but it might be in the byte-compiler rather than in Tramp.
At least, nowhere does Tramp seem to request that
tramp-drop-volume-letter be inlined, so the call should stay in.


        Stefan "probably guilty"





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

* bug#14030: 24.3; expand-file-name expands remote file name on Windows incorrectly
  2013-03-25 14:28               ` Stefan Monnier
@ 2013-03-25 18:49                 ` Stefan Monnier
  2013-03-25 19:28                   ` Michael Albinus
  2013-03-25 20:32                   ` Eli Zaretskii
  0 siblings, 2 replies; 28+ messages in thread
From: Stefan Monnier @ 2013-03-25 18:49 UTC (permalink / raw)
  To: Eli Zaretskii; +Cc: 14030, Michael Albinus, vidagabor

>> Sorry, but I think this is a grave bug.
> Agreed, but it might be in the byte-compiler rather than in Tramp.
> At least, nowhere does Tramp seem to request that
> tramp-drop-volume-letter be inlined, so the call should stay in.

I think I know what's going on:
The byte-compiler now optimizes aliases to a function in the same way as
that function (so if you alias `my-add' to `+', (my-add 5 6) can be
optimized to 11 as well).

So your alias to `identity' is optimized just like `identity', IOW it's
compiled away.

This was made on purpose, because it's annoyingly difficult to define
such "optimized alias" without it.
One way around it is to use (lambda (x) x) instead of `identity'.


        Stefan





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

* bug#14030: 24.3; expand-file-name expands remote file name on Windows incorrectly
  2013-03-25 18:49                 ` Stefan Monnier
@ 2013-03-25 19:28                   ` Michael Albinus
  2013-03-25 20:32                   ` Eli Zaretskii
  1 sibling, 0 replies; 28+ messages in thread
From: Michael Albinus @ 2013-03-25 19:28 UTC (permalink / raw)
  To: Stefan Monnier; +Cc: vidagabor, 14030

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

> This was made on purpose, because it's annoyingly difficult to define
> such "optimized alias" without it.
> One way around it is to use (lambda (x) x) instead of `identity'.

I have thrown away the alias in tramp.el, using an ordinary defun as
suggested by Eli.

However, it shall be documented somewhere that there's such an
optimization trap now with defalias.

>         Stefan

Best regards, Michael.





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

* bug#14030: 24.3; expand-file-name expands remote file name on Windows incorrectly
  2013-03-25 18:49                 ` Stefan Monnier
  2013-03-25 19:28                   ` Michael Albinus
@ 2013-03-25 20:32                   ` Eli Zaretskii
  2013-03-26  0:23                     ` Stefan Monnier
  1 sibling, 1 reply; 28+ messages in thread
From: Eli Zaretskii @ 2013-03-25 20:32 UTC (permalink / raw)
  To: Stefan Monnier; +Cc: 14030, michael.albinus, vidagabor

> From: Stefan Monnier <monnier@iro.umontreal.ca>
> Cc: Michael Albinus <michael.albinus@gmx.de>,  vidagabor@gmail.com,  14030@debbugs.gnu.org
> Date: Mon, 25 Mar 2013 14:49:49 -0400
> 
> >> Sorry, but I think this is a grave bug.
> > Agreed, but it might be in the byte-compiler rather than in Tramp.
> > At least, nowhere does Tramp seem to request that
> > tramp-drop-volume-letter be inlined, so the call should stay in.
> 
> I think I know what's going on:
> The byte-compiler now optimizes aliases to a function in the same way as
> that function (so if you alias `my-add' to `+', (my-add 5 6) can be
> optimized to 11 as well).
> 
> So your alias to `identity' is optimized just like `identity', IOW it's
> compiled away.

Can the optimizer be taught not to optimize like that if the condition
includes one of a list of known symbols?  Then we could maintain a
list of platform-dependent symbols whose optimization could lead to
platform-dependent .elc files.





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

* bug#14030: 24.3; expand-file-name expands remote file name on Windows incorrectly
  2013-03-25 20:32                   ` Eli Zaretskii
@ 2013-03-26  0:23                     ` Stefan Monnier
  2013-03-26  6:11                       ` Eli Zaretskii
  0 siblings, 1 reply; 28+ messages in thread
From: Stefan Monnier @ 2013-03-26  0:23 UTC (permalink / raw)
  To: Eli Zaretskii; +Cc: 14030, michael.albinus, vidagabor

>> So your alias to `identity' is optimized just like `identity', IOW it's
>> compiled away.
> Can the optimizer be taught not to optimize like that if the condition
> includes one of a list of known symbols?

The byte-compiler does not look at the `defalias' expression, only at
the resulting value of (symbol-function 'tramp-drop-volume-letter), so
it would require significant changes to be able to keep track of the
corresponding info.  Also, `defalias' is a function, so by the time it
is called it has no idea what expression was computed to get the
function definition.


        Stefan





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

* bug#14030: 24.3; expand-file-name expands remote file name on Windows incorrectly
  2013-03-24 18:32               ` Michael Albinus
  2013-03-24 19:23                 ` Eli Zaretskii
@ 2013-03-26  0:35                 ` Wolfgang Jenkner
  1 sibling, 0 replies; 28+ messages in thread
From: Wolfgang Jenkner @ 2013-03-26  0:35 UTC (permalink / raw)
  To: Michael Albinus; +Cc: vidagabor, 14030

On Sun, Mar 24 2013, Michael Albinus wrote:

> The problem seems to be, that defalias is evaled during
> byte-compilation.

I think it's eval'ed when compiling tramp-sh because there's a
(require 'tramp) form there, see (info "(elisp)Compilation Functions"),
so this has nothing to do with defalias:

[1 /tmp/lisp]$ cat foo.el
(message "Hi! I'm being evalled.")
(provide 'foo)
[2 /tmp/lisp]$ cat bar.el
(require 'foo)
[3 /tmp/lisp]$ emacs --batch -Q -L . -f batch-byte-compile foo.el
Wrote /tmp/lisp/foo.elc
[4 /tmp/lisp]$ emacs --batch -Q -L . -f batch-byte-compile bar.el
Hi! I'm being evalled.
Wrote /tmp/lisp/bar.elc
[5 /tmp/lisp]$

Wolfgang





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

* bug#14030: 24.3; expand-file-name expands remote file name on Windows incorrectly
  2013-03-26  0:23                     ` Stefan Monnier
@ 2013-03-26  6:11                       ` Eli Zaretskii
  0 siblings, 0 replies; 28+ messages in thread
From: Eli Zaretskii @ 2013-03-26  6:11 UTC (permalink / raw)
  To: Stefan Monnier; +Cc: 14030, michael.albinus, vidagabor

> From: Stefan Monnier <monnier@iro.umontreal.ca>
> Cc: michael.albinus@gmx.de,  vidagabor@gmail.com,  14030@debbugs.gnu.org
> Date: Mon, 25 Mar 2013 20:23:41 -0400
> 
> >> So your alias to `identity' is optimized just like `identity', IOW it's
> >> compiled away.
> > Can the optimizer be taught not to optimize like that if the condition
> > includes one of a list of known symbols?
> 
> The byte-compiler does not look at the `defalias' expression, only at
> the resulting value of (symbol-function 'tramp-drop-volume-letter), so
> it would require significant changes to be able to keep track of the
> corresponding info.  Also, `defalias' is a function, so by the time it
> is called it has no idea what expression was computed to get the
> function definition.

Too bad.  Maybe there are other ways to avoid inadvertently producing
platform-dependent byte code, or at least warn about its possibility.
Otherwise, we are at the mercy of our less than perfect attention, and
these incidents will surely happen again.





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

* bug#14030: 24.3; expand-file-name expands remote file name on Windows incorrectly
  2013-03-25  8:36                   ` Michael Albinus
  2013-03-25  9:01                     ` Eli Zaretskii
@ 2013-03-27  0:11                     ` Wolfgang Jenkner
  2013-03-27  2:24                       ` Stefan Monnier
  1 sibling, 1 reply; 28+ messages in thread
From: Wolfgang Jenkner @ 2013-03-27  0:11 UTC (permalink / raw)
  To: Michael Albinus; +Cc: vidagabor, 14030

On Mon, Mar 25 2013, Michael Albinus wrote:

> I have the impression, that there is a byte-compiler optimization, which
> throws away the call of `tramp-drop-volume-letter' in
> `tramp-sh-handle-expand-file-name'. As I have said earlier,
> (tramp-drop-volume-letter "c:/something") still works correctly.
>
> How could I avoid this eager optimization?

Perhaps like this?

Wolfgang

diff --git a/lisp/net/tramp-sh.el b/lisp/net/tramp-sh.el
index e63acb6..0e4117a 100644
--- a/lisp/net/tramp-sh.el
+++ b/lisp/net/tramp-sh.el
@@ -28,6 +28,12 @@
 
 (eval-when-compile (require 'cl))	; ignore-errors
 (require 'tramp)
+(eval-when-compile
+  ;; Prevent the compiler from inlining the symbol's function
+  ;; definition, which depends on the load-time `system-type', see
+  ;; bug#14030.
+  (fmakunbound 'tramp-drop-volume-letter)
+  (declare-function tramp-drop-volume-letter "tramp" (name)))
 
 ;; Pacify byte-compiler.  The function is needed on XEmacs only.  I'm
 ;; not sure at all that this is the right way to do it, but let's hope






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

* bug#14030: 24.3; expand-file-name expands remote file name on Windows incorrectly
  2013-03-27  0:11                     ` Wolfgang Jenkner
@ 2013-03-27  2:24                       ` Stefan Monnier
  2013-03-27  6:59                         ` Eli Zaretskii
  0 siblings, 1 reply; 28+ messages in thread
From: Stefan Monnier @ 2013-03-27  2:24 UTC (permalink / raw)
  To: Wolfgang Jenkner; +Cc: 14030, Michael Albinus, vidagabor

> +(eval-when-compile
> +  ;; Prevent the compiler from inlining the symbol's function
> +  ;; definition, which depends on the load-time `system-type', see
> +  ;; bug#14030.
> +  (fmakunbound 'tramp-drop-volume-letter)
> +  (declare-function tramp-drop-volume-letter "tramp" (name)))
 
Yuck!


        Stefan





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

* bug#14030: 24.3; expand-file-name expands remote file name on Windows incorrectly
  2013-03-27  2:24                       ` Stefan Monnier
@ 2013-03-27  6:59                         ` Eli Zaretskii
  0 siblings, 0 replies; 28+ messages in thread
From: Eli Zaretskii @ 2013-03-27  6:59 UTC (permalink / raw)
  To: Stefan Monnier; +Cc: 14030, wjenkner, michael.albinus, vidagabor

> From: Stefan Monnier <monnier@iro.umontreal.ca>
> Date: Tue, 26 Mar 2013 22:24:46 -0400
> Cc: 14030@debbugs.gnu.org, Michael Albinus <michael.albinus@gmx.de>,
> 	vidagabor@gmail.com
> 
> > +(eval-when-compile
> > +  ;; Prevent the compiler from inlining the symbol's function
> > +  ;; definition, which depends on the load-time `system-type', see
> > +  ;; bug#14030.
> > +  (fmakunbound 'tramp-drop-volume-letter)
> > +  (declare-function tramp-drop-volume-letter "tramp" (name)))
>  
> Yuck!

Exactly my reaction.





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

* bug#14030: 24.3; expand-file-name expands remote file name on Windows incorrectly
  2013-03-25  8:53   ` Vida Gábor
@ 2020-09-09 13:56     ` Lars Ingebrigtsen
  0 siblings, 0 replies; 28+ messages in thread
From: Lars Ingebrigtsen @ 2020-09-09 13:56 UTC (permalink / raw)
  To: Vida Gábor; +Cc: 14030

Vida Gábor <vidagabor@gmail.com> writes:

>> As a work-around, byte-compile tramp-sh.el on Windows, and the problem
>> will disappear.
>
> Thanks Eli, it works.

The reported bug here was fixed, so I'm closing the bug report.  (The
discussion then continued onto the problem of the .elc files not being
portable between systems (because of byte code optimisations? I just
skimmed the thread), which is, I guess, a thing.  If somebody wants to
follow up on that, then perhaps a new bug report should be opened.)

-- 
(domestic pets only, the antidote for overdose, milk.)
   bloggy blog: http://lars.ingebrigtsen.no





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

end of thread, other threads:[~2020-09-09 13:56 UTC | newest]

Thread overview: 28+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2013-03-22 15:17 bug#14030: 24.3; expand-file-name expands remote file name on Windows incorrectly Vida Gábor
2013-03-22 16:02 ` Eli Zaretskii
2013-03-23 12:13   ` Michael Albinus
2013-03-23 20:23     ` Eli Zaretskii
2013-03-23 21:37       ` Michael Albinus
2013-03-24 16:10         ` Eli Zaretskii
2013-03-24 17:21           ` Michael Albinus
2013-03-24 17:35             ` Eli Zaretskii
2013-03-24 18:32               ` Michael Albinus
2013-03-24 19:23                 ` Eli Zaretskii
2013-03-25  8:36                   ` Michael Albinus
2013-03-25  9:01                     ` Eli Zaretskii
2013-03-25  9:20                       ` Michael Albinus
2013-03-25  9:55                         ` Eli Zaretskii
2013-03-25 10:06                           ` Michael Albinus
2013-03-27  0:11                     ` Wolfgang Jenkner
2013-03-27  2:24                       ` Stefan Monnier
2013-03-27  6:59                         ` Eli Zaretskii
2013-03-26  0:35                 ` Wolfgang Jenkner
2013-03-25 14:28               ` Stefan Monnier
2013-03-25 18:49                 ` Stefan Monnier
2013-03-25 19:28                   ` Michael Albinus
2013-03-25 20:32                   ` Eli Zaretskii
2013-03-26  0:23                     ` Stefan Monnier
2013-03-26  6:11                       ` Eli Zaretskii
2013-03-24 16:11 ` Eli Zaretskii
2013-03-25  8:53   ` Vida Gábor
2020-09-09 13:56     ` Lars Ingebrigtsen

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).