unofficial mirror of emacs-devel@gnu.org 
 help / color / mirror / code / Atom feed
* Re: emacs-30 f050b9c5033: Fix Tramp IPv6 handling in tests
       [not found] ` <20240722075709.1C23CC41F06@vcs2.savannah.gnu.org>
@ 2024-08-05 14:30   ` Madhu
  2024-08-05 16:57     ` Michael Albinus
  2024-09-25 16:08   ` Andreas Schwab
  1 sibling, 1 reply; 8+ messages in thread
From: Madhu @ 2024-08-05 14:30 UTC (permalink / raw)
  To: emacs-devel

* Michael Albinus via Mailing list for Emacs changes <20240722075709.1C23CC41F06@vcs2.savannah.gnu.org> :
Wrote on Mon, 22 Jul 2024 03:57:08 -0400 (EDT):
> branch: emacs-30
> commit f050b9c5033ef92ac299d3da30774bc228fd0e08
> Author: Michael Albinus <michael.albinus@gmx.de>
> diff --git a/lisp/net/tramp-integration.el b/lisp/net/tramp-integration.el
> --- a/lisp/net/tramp-integration.el
> +++ b/lisp/net/tramp-integration.el
> @@ -275,9 +275,14 @@ NAME must be equal to `tramp-current-connection'."
>  ;;; Integration of shortdoc.el:
>
>  (with-eval-after-load 'shortdoc
> -  (dolist (elem '((file-remote-p
> +  (dolist (elem `((file-remote-p
>  		   :eval (file-remote-p "/ssh:user@host:/tmp/foo")
> -		   :eval (file-remote-p "/ssh:user@host:/tmp/foo" 'method))
> +		   :eval (file-remote-p "/ssh:user@host:/tmp/foo" 'method)
> +		   :eval (file-remote-p "/ssh:user@[::1]#1234:/tmp/foo" 'host)
> +		   ;; We don't want to see the text properties.
> +		   :no-eval (file-remote-p "/sudo::/tmp/foo" 'user)
> +		   :result ,(substring-no-properties
> +			     (file-remote-p "/sudo::/tmp/foo" 'user)))

just a caveat that substring-no-properties can end up being called on
nil here.  I agree it is unlikely, but I managed to trigger it with the
`swiper' package, where an unconditional (require 'tramp) in the midst
of code kept failing.





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

* Re: emacs-30 f050b9c5033: Fix Tramp IPv6 handling in tests
  2024-08-05 14:30   ` emacs-30 f050b9c5033: Fix Tramp IPv6 handling in tests Madhu
@ 2024-08-05 16:57     ` Michael Albinus
  2024-08-05 18:21       ` Michael Albinus
  0 siblings, 1 reply; 8+ messages in thread
From: Michael Albinus @ 2024-08-05 16:57 UTC (permalink / raw)
  To: Madhu; +Cc: emacs-devel

Madhu <enometh@meer.net> writes:

Hi Madhu,

>>  ;;; Integration of shortdoc.el:
>>
>>  (with-eval-after-load 'shortdoc
>> -  (dolist (elem '((file-remote-p
>> +  (dolist (elem `((file-remote-p
>>  		   :eval (file-remote-p "/ssh:user@host:/tmp/foo")
>> -		   :eval (file-remote-p "/ssh:user@host:/tmp/foo" 'method))
>> +		   :eval (file-remote-p "/ssh:user@host:/tmp/foo" 'method)
>> +		   :eval (file-remote-p "/ssh:user@[::1]#1234:/tmp/foo" 'host)
>> +		   ;; We don't want to see the text properties.
>> +		   :no-eval (file-remote-p "/sudo::/tmp/foo" 'user)
>> +		   :result ,(substring-no-properties
>> +			     (file-remote-p "/sudo::/tmp/foo" 'user)))
>
> just a caveat that substring-no-properties can end up being called on
> nil here.  I agree it is unlikely, but I managed to trigger it with the
> `swiper' package, where an unconditional (require 'tramp) in the midst
> of code kept failing.

In that case (file-remote-p returns nil) the whole block doesn't make
sense. How did they manage to manipulate Tramp this way? Setting
tramp-mode to nil? Manipulating file-name-handler-alist?

Best regards, Michael.



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

* Re: emacs-30 f050b9c5033: Fix Tramp IPv6 handling in tests
  2024-08-05 16:57     ` Michael Albinus
@ 2024-08-05 18:21       ` Michael Albinus
  2024-08-06  2:41         ` Madhu
  0 siblings, 1 reply; 8+ messages in thread
From: Michael Albinus @ 2024-08-05 18:21 UTC (permalink / raw)
  To: Madhu; +Cc: emacs-devel

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

Hi Madhu,

>>>  ;;; Integration of shortdoc.el:
>>>
>>>  (with-eval-after-load 'shortdoc
>>> -  (dolist (elem '((file-remote-p
>>> +  (dolist (elem `((file-remote-p
>>>  		   :eval (file-remote-p "/ssh:user@host:/tmp/foo")
>>> -		   :eval (file-remote-p "/ssh:user@host:/tmp/foo" 'method))
>>> +		   :eval (file-remote-p "/ssh:user@host:/tmp/foo" 'method)
>>> +		   :eval (file-remote-p "/ssh:user@[::1]#1234:/tmp/foo" 'host)
>>> +		   ;; We don't want to see the text properties.
>>> +		   :no-eval (file-remote-p "/sudo::/tmp/foo" 'user)
>>> +		   :result ,(substring-no-properties
>>> +			     (file-remote-p "/sudo::/tmp/foo" 'user)))
>>
>> just a caveat that substring-no-properties can end up being called on
>> nil here.  I agree it is unlikely, but I managed to trigger it with the
>> `swiper' package, where an unconditional (require 'tramp) in the midst
>> of code kept failing.
>
> In that case (file-remote-p returns nil) the whole block doesn't make
> sense. How did they manage to manipulate Tramp this way? Setting
> tramp-mode to nil? Manipulating file-name-handler-alist?

I've added a sanity check. Pushed to the emacs-30 branch.

Best regards, Michael.



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

* Re: emacs-30 f050b9c5033: Fix Tramp IPv6 handling in tests
  2024-08-05 18:21       ` Michael Albinus
@ 2024-08-06  2:41         ` Madhu
  2024-08-06 14:08           ` Michael Albinus
  0 siblings, 1 reply; 8+ messages in thread
From: Madhu @ 2024-08-06  2:41 UTC (permalink / raw)
  To: emacs-devel

* Michael Albinus <87cymmomol.fsf@gmx.de> :
Wrote on Mon, 05 Aug 2024 20:21:30 +0200:
> Michael Albinus <michael.albinus@gmx.de> writes:
>>>> +		   :result ,(substring-no-properties
>>>> +			     (file-remote-p "/sudo::/tmp/foo" 'user)))
>>>
>>> just a caveat that substring-no-properties can end up being called on
>>> nil here.  I agree it is unlikely, but I managed to trigger it with the
>>> `swiper' package, where an unconditional (require 'tramp) in the midst
>>> of code kept failing.
>>
>> In that case (file-remote-p returns nil) the whole block doesn't make
>> sense. How did they manage to manipulate Tramp this way? Setting
>> tramp-mode to nil? Manipulating file-name-handler-alist?

It wasn't them, it was me, or I suspect it was some async (delayed
loading/reloading) glitch but I'm not sure how it happened.  AFAIK i was
not using the hammer on file-name-handler-alist [1], all I did was set
tramp-completion-file-name-handler-alist to nil.

> I've added a sanity check. Pushed to the emacs-30 branch.
Thanks

[1] a decade ago I used to disable tramp with this hammer, but it too
was ineffective when tramp got (somehow) reloaded so I abandoned it. I'm
pretty sure I had not manipulated this explicitly to trigger this crash.

```
(setq file-name-handler-alist
      (loop for x in file-name-handler-alist
	    for (pattern . symbol) = x
	    for name = (symbol-name symbol)
	    unless (string-match "tramp" name) collect x))
```




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

* Re: emacs-30 f050b9c5033: Fix Tramp IPv6 handling in tests
  2024-08-06  2:41         ` Madhu
@ 2024-08-06 14:08           ` Michael Albinus
  2024-08-07 15:21             ` Madhu
  0 siblings, 1 reply; 8+ messages in thread
From: Michael Albinus @ 2024-08-06 14:08 UTC (permalink / raw)
  To: Madhu; +Cc: emacs-devel

Madhu <enometh@meer.net> writes:

Hi Madhu,

> It wasn't them, it was me, or I suspect it was some async (delayed
> loading/reloading) glitch but I'm not sure how it happened.  AFAIK i was
> not using the hammer on file-name-handler-alist [1], all I did was set
> tramp-completion-file-name-handler-alist to nil.

Why that?

Best regards, Michael.



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

* Re: emacs-30 f050b9c5033: Fix Tramp IPv6 handling in tests
  2024-08-06 14:08           ` Michael Albinus
@ 2024-08-07 15:21             ` Madhu
  0 siblings, 0 replies; 8+ messages in thread
From: Madhu @ 2024-08-07 15:21 UTC (permalink / raw)
  To: emacs-devel


* Michael Albinus <87r0b1n3qd.fsf@gmx.de> :
Wrote on Tue, 06 Aug 2024 16:08:26 +0200:
> Madhu <enometh@meer.net> writes:
>> It wasn't them, it was me, or I suspect it was some async (delayed
>> loading/reloading) glitch but I'm not sure how it happened.  AFAIK i was
>> not using the hammer on file-name-handler-alist [1], all I did was set
>> tramp-completion-file-name-handler-alist to nil.
>
> Why that?

I had it in my init file because it solved a problem with some other
package at some point.  I've not yet gotten around to determining what
problem it solved, but I verified that this variable was not changed
from the default in the emacs session where I encountered the failure I
reported (so it probably isn't relevant).







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

* Re: emacs-30 f050b9c5033: Fix Tramp IPv6 handling in tests
       [not found] ` <20240722075709.1C23CC41F06@vcs2.savannah.gnu.org>
  2024-08-05 14:30   ` emacs-30 f050b9c5033: Fix Tramp IPv6 handling in tests Madhu
@ 2024-09-25 16:08   ` Andreas Schwab
  2024-09-25 17:47     ` Michael Albinus
  1 sibling, 1 reply; 8+ messages in thread
From: Andreas Schwab @ 2024-09-25 16:08 UTC (permalink / raw)
  To: emacs-devel; +Cc: Michael Albinus

On Jul 22 2024, Michael Albinus via Mailing list for Emacs changes wrote:

> diff --git a/lisp/net/tramp-integration.el b/lisp/net/tramp-integration.el
> index e1f0b2a3495..56deaf9066b 100644
> --- a/lisp/net/tramp-integration.el
> +++ b/lisp/net/tramp-integration.el
> @@ -275,9 +275,14 @@ NAME must be equal to `tramp-current-connection'."
>  ;;; Integration of shortdoc.el:
>  
>  (with-eval-after-load 'shortdoc
> -  (dolist (elem '((file-remote-p
> +  (dolist (elem `((file-remote-p
>  		   :eval (file-remote-p "/ssh:user@host:/tmp/foo")
> -		   :eval (file-remote-p "/ssh:user@host:/tmp/foo" 'method))
> +		   :eval (file-remote-p "/ssh:user@host:/tmp/foo" 'method)
> +		   :eval (file-remote-p "/ssh:user@[::1]#1234:/tmp/foo" 'host)
> +		   ;; We don't want to see the text properties.
> +		   :no-eval (file-remote-p "/sudo::/tmp/foo" 'user)
> +		   :result ,(substring-no-properties
> +			     (file-remote-p "/sudo::/tmp/foo" 'user)))

This throws "Wrong type argument: stringp, nil" when
(tramp-change-syntax 'simplified).

-- 
Andreas Schwab, SUSE Labs, schwab@suse.de
GPG Key fingerprint = 0196 BAD8 1CE9 1970 F4BE  1748 E4D4 88E3 0EEA B9D7
"And now for something completely different."



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

* Re: emacs-30 f050b9c5033: Fix Tramp IPv6 handling in tests
  2024-09-25 16:08   ` Andreas Schwab
@ 2024-09-25 17:47     ` Michael Albinus
  0 siblings, 0 replies; 8+ messages in thread
From: Michael Albinus @ 2024-09-25 17:47 UTC (permalink / raw)
  To: Andreas Schwab; +Cc: emacs-devel

Andreas Schwab <schwab@suse.de> writes:

Hi Andreas,

>> diff --git a/lisp/net/tramp-integration.el b/lisp/net/tramp-integration.el
>> index e1f0b2a3495..56deaf9066b 100644
>> --- a/lisp/net/tramp-integration.el
>> +++ b/lisp/net/tramp-integration.el
>> @@ -275,9 +275,14 @@ NAME must be equal to `tramp-current-connection'."
>>  ;;; Integration of shortdoc.el:
>>
>>  (with-eval-after-load 'shortdoc
>> -  (dolist (elem '((file-remote-p
>> +  (dolist (elem `((file-remote-p
>>  		   :eval (file-remote-p "/ssh:user@host:/tmp/foo")
>> -		   :eval (file-remote-p "/ssh:user@host:/tmp/foo" 'method))
>> +		   :eval (file-remote-p "/ssh:user@host:/tmp/foo" 'method)
>> +		   :eval (file-remote-p "/ssh:user@[::1]#1234:/tmp/foo" 'host)
>> +		   ;; We don't want to see the text properties.
>> +		   :no-eval (file-remote-p "/sudo::/tmp/foo" 'user)
>> +		   :result ,(substring-no-properties
>> +			     (file-remote-p "/sudo::/tmp/foo" 'user)))
>
> This throws "Wrong type argument: stringp, nil" when
> (tramp-change-syntax 'simplified).

Thanks, I've fixed this in the emacs-30 branch.

Best regards, Michael.



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

end of thread, other threads:[~2024-09-25 17:47 UTC | newest]

Thread overview: 8+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
     [not found] <172163502862.25672.12565431460737995012@vcs2.savannah.gnu.org>
     [not found] ` <20240722075709.1C23CC41F06@vcs2.savannah.gnu.org>
2024-08-05 14:30   ` emacs-30 f050b9c5033: Fix Tramp IPv6 handling in tests Madhu
2024-08-05 16:57     ` Michael Albinus
2024-08-05 18:21       ` Michael Albinus
2024-08-06  2:41         ` Madhu
2024-08-06 14:08           ` Michael Albinus
2024-08-07 15:21             ` Madhu
2024-09-25 16:08   ` Andreas Schwab
2024-09-25 17:47     ` 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).