GNU bug report logs - #3736
23.1.50; Please use null-device instead of /dev/null

Previous Next

Package: emacs;

Reported by: Lennart Borgman <lennart.borgman <at> gmail.com>

Date: Wed, 1 Jul 2009 20:30:04 UTC

Severity: minor

Fixed in version 28.1

Done: Michael Albinus <michael.albinus <at> gmx.de>

Bug is archived. No further changes may be made.

To add a comment to this bug, you must first unarchive it, by sending
a message to control AT debbugs.gnu.org, with unarchive 3736 in the body.
You can then email your comments to 3736 AT debbugs.gnu.org in the normal way.

Toggle the display of automated, internal messages from the tracker.

View this report as an mbox folder, status mbox, maintainer mbox


Report forwarded to bug-submit-list <at> lists.donarmstrong.com, Emacs Bugs <bug-gnu-emacs <at> gnu.org>:
bug#3736; Package emacs. (Wed, 01 Jul 2009 20:30:04 GMT) Full text and rfc822 format available.

Acknowledgement sent to Lennart Borgman <lennart.borgman <at> gmail.com>:
New bug report received and forwarded. Copy sent to Emacs Bugs <bug-gnu-emacs <at> gnu.org>. (Wed, 01 Jul 2009 20:30:04 GMT) Full text and rfc822 format available.

Message #5 received at submit <at> emacsbugs.donarmstrong.com (full text, mbox):

From: Lennart Borgman <lennart.borgman <at> gmail.com>
To: emacs-pretest-bug <at> gnu.org
Subject: 23.1.50; Please use null-device instead of /dev/null
Date: Wed, 1 Jul 2009 22:22:36 +0200
There are nearly a hundred places in Emacs lisp sources where
/dev/null is used instead of null-device. Please convert those to use
null-device so that it gets system-independent. (I wonder what to do
with those in Tramp.)


In GNU Emacs 23.1.50.1 (i386-mingw-nt5.1.2600)
 of 2009-06-30



Information forwarded to bug-submit-list <at> lists.donarmstrong.com, Emacs Bugs <bug-gnu-emacs <at> gnu.org>:
bug#3736; Package emacs. (Thu, 02 Jul 2009 12:30:04 GMT) Full text and rfc822 format available.

Acknowledgement sent to Michael Albinus <michael.albinus <at> gmx.de>:
Extra info received and forwarded to list. Copy sent to Emacs Bugs <bug-gnu-emacs <at> gnu.org>. (Thu, 02 Jul 2009 12:30:04 GMT) Full text and rfc822 format available.

Message #10 received at submit <at> emacsbugs.donarmstrong.com (full text, mbox):

From: Michael Albinus <michael.albinus <at> gmx.de>
To: Lennart Borgman <lennart.borgman <at> gmail.com>
Cc: 3736 <at> debbugs.gnu.org, emacs-pretest-bug <at> gnu.org
Subject: Re: bug#3736: 23.1.50; Please use null-device instead of /dev/null
Date: Thu, 02 Jul 2009 14:22:38 +0200
Lennart Borgman <lennart.borgman <at> gmail.com> writes:

> There are nearly a hundred places in Emacs lisp sources where
> /dev/null is used instead of null-device. Please convert those to use
> null-device so that it gets system-independent. (I wonder what to do
> with those in Tramp.)

On W32 systems, null-device is "NUL". Not useful for Tramp, it needs
"/dev/null" on remote machines.

Best regards, Michael.



Information forwarded to bug-submit-list <at> lists.donarmstrong.com, Emacs Bugs <bug-gnu-emacs <at> gnu.org>:
bug#3736; Package emacs. (Thu, 02 Jul 2009 12:30:08 GMT) Full text and rfc822 format available.

Acknowledgement sent to Michael Albinus <michael.albinus <at> gmx.de>:
Extra info received and forwarded to list. Copy sent to Emacs Bugs <bug-gnu-emacs <at> gnu.org>. (Thu, 02 Jul 2009 12:30:08 GMT) Full text and rfc822 format available.

Information forwarded to bug-submit-list <at> lists.donarmstrong.com, Emacs Bugs <bug-gnu-emacs <at> gnu.org>:
bug#3736; Package emacs. (Thu, 02 Jul 2009 13:10:04 GMT) Full text and rfc822 format available.

Acknowledgement sent to Jason Rumney <jasonr <at> gnu.org>:
Extra info received and forwarded to list. Copy sent to Emacs Bugs <bug-gnu-emacs <at> gnu.org>. (Thu, 02 Jul 2009 13:10:04 GMT) Full text and rfc822 format available.

Message #20 received at submit <at> emacsbugs.donarmstrong.com (full text, mbox):

From: Jason Rumney <jasonr <at> gnu.org>
To: Michael Albinus <michael.albinus <at> gmx.de>, 3736 <at> debbugs.gnu.org
Cc: Lennart Borgman <lennart.borgman <at> gmail.com>, emacs-pretest-bug <at> gnu.org
Subject: Re: bug#3736: 23.1.50; Please use null-device instead of /dev/null
Date: Thu, 02 Jul 2009 21:03:58 +0800
Michael Albinus wrote:

> On W32 systems, null-device is "NUL". Not useful for Tramp, it needs
> "/dev/null" on remote machines.
>   

What if the remote machine uses "NUL", "NLA0:" or "Dev:Nul" for its null 
device? I think tramp benefits from the use of null-device instead of 
hard-coded "/dev/null" as much as any other part of Emacs.




Information forwarded to bug-submit-list <at> lists.donarmstrong.com, Emacs Bugs <bug-gnu-emacs <at> gnu.org>:
bug#3736; Package emacs. (Thu, 02 Jul 2009 13:10:06 GMT) Full text and rfc822 format available.

Acknowledgement sent to Jason Rumney <jasonr <at> gnu.org>:
Extra info received and forwarded to list. Copy sent to Emacs Bugs <bug-gnu-emacs <at> gnu.org>. (Thu, 02 Jul 2009 13:10:06 GMT) Full text and rfc822 format available.

Information forwarded to bug-submit-list <at> lists.donarmstrong.com, Emacs Bugs <bug-gnu-emacs <at> gnu.org>:
bug#3736; Package emacs. (Thu, 02 Jul 2009 14:05:08 GMT) Full text and rfc822 format available.

Acknowledgement sent to Sven Joachim <svenjoac <at> gmx.de>:
Extra info received and forwarded to list. Copy sent to Emacs Bugs <bug-gnu-emacs <at> gnu.org>. (Thu, 02 Jul 2009 14:05:08 GMT) Full text and rfc822 format available.

Message #30 received at 3736 <at> emacsbugs.donarmstrong.com (full text, mbox):

From: Sven Joachim <svenjoac <at> gmx.de>
To: Jason Rumney <jasonr <at> gnu.org>
Cc: 3736 <at> debbugs.gnu.org, Michael Albinus <michael.albinus <at> gmx.de>
Subject: Re: bug#3736: 23.1.50; Please use null-device instead of /dev/null
Date: Thu, 02 Jul 2009 15:57:33 +0200
On 2009-07-02 15:03 +0200, Jason Rumney wrote:

> Michael Albinus wrote:
>
>> On W32 systems, null-device is "NUL". Not useful for Tramp, it needs
>> "/dev/null" on remote machines.
>>   
>
> What if the remote machine uses "NUL", "NLA0:" or "Dev:Nul" for its
> null device? I think tramp benefits from the use of null-device
> instead of hard-coded "/dev/null" as much as any other part of Emacs.

Not really, you know what null-device should be for the local machine,
but not for remote computers.

Sven



Information forwarded to bug-submit-list <at> lists.donarmstrong.com, Emacs Bugs <bug-gnu-emacs <at> gnu.org>:
bug#3736; Package emacs. (Thu, 02 Jul 2009 14:20:04 GMT) Full text and rfc822 format available.

Acknowledgement sent to Jason Rumney <jasonr <at> gnu.org>:
Extra info received and forwarded to list. Copy sent to Emacs Bugs <bug-gnu-emacs <at> gnu.org>. (Thu, 02 Jul 2009 14:20:04 GMT) Full text and rfc822 format available.

Message #35 received at 3736 <at> emacsbugs.donarmstrong.com (full text, mbox):

From: Jason Rumney <jasonr <at> gnu.org>
To: Sven Joachim <svenjoac <at> gmx.de>
Cc: 3736 <at> debbugs.gnu.org, Michael Albinus <michael.albinus <at> gmx.de>
Subject: Re: bug#3736: 23.1.50; Please use null-device instead of /dev/null
Date: Thu, 02 Jul 2009 22:14:15 +0800
Sven Joachim wrote:
> Not really, you know what null-device should be for the local machine,
> but not for remote computers.
>   

Probably the best solution is for tramp to implement a general 
server-local-variable mechanism, as there are probably other variables 
that need different values for different servers too.  The user could 
then configure a variable (such as tramp-server-local-variable-alist) to 
define any such variables that they need to, which would then be let 
bound as appropriate in tramp functions.





Information forwarded to bug-submit-list <at> lists.donarmstrong.com, Emacs Bugs <bug-gnu-emacs <at> gnu.org>:
bug#3736; Package emacs. (Thu, 02 Jul 2009 14:25:17 GMT) Full text and rfc822 format available.

Acknowledgement sent to Lennart Borgman <lennart.borgman <at> gmail.com>:
Extra info received and forwarded to list. Copy sent to Emacs Bugs <bug-gnu-emacs <at> gnu.org>. (Thu, 02 Jul 2009 14:25:17 GMT) Full text and rfc822 format available.

Message #40 received at 3736 <at> emacsbugs.donarmstrong.com (full text, mbox):

From: Lennart Borgman <lennart.borgman <at> gmail.com>
To: Sven Joachim <svenjoac <at> gmx.de>, 3736 <at> debbugs.gnu.org
Cc: Jason Rumney <jasonr <at> gnu.org>, Michael Albinus <michael.albinus <at> gmx.de>
Subject: Re: bug#3736: 23.1.50; Please use null-device instead of /dev/null
Date: Thu, 2 Jul 2009 16:21:18 +0200
On Thu, Jul 2, 2009 at 3:57 PM, Sven Joachim<svenjoac <at> gmx.de> wrote:
> On 2009-07-02 15:03 +0200, Jason Rumney wrote:
>
>> Michael Albinus wrote:
>>
>>> On W32 systems, null-device is "NUL". Not useful for Tramp, it needs
>>> "/dev/null" on remote machines.
>>>
>>
>> What if the remote machine uses "NUL", "NLA0:" or "Dev:Nul" for its
>> null device? I think tramp benefits from the use of null-device
>> instead of hard-coded "/dev/null" as much as any other part of Emacs.
>
> Not really, you know what null-device should be for the local machine,
> but not for remote computers.

Does not the remote computer identify itself so that it is possible to
at least make a better guess?



Information forwarded to bug-submit-list <at> lists.donarmstrong.com, Emacs Bugs <bug-gnu-emacs <at> gnu.org>:
bug#3736; Package emacs. (Thu, 02 Jul 2009 15:15:04 GMT) Full text and rfc822 format available.

Acknowledgement sent to Michael Albinus <michael.albinus <at> gmx.de>:
Extra info received and forwarded to list. Copy sent to Emacs Bugs <bug-gnu-emacs <at> gnu.org>. (Thu, 02 Jul 2009 15:15:04 GMT) Full text and rfc822 format available.

Message #45 received at 3736 <at> emacsbugs.donarmstrong.com (full text, mbox):

From: Michael Albinus <michael.albinus <at> gmx.de>
To: Jason Rumney <jasonr <at> gnu.org>
Cc: 3736 <at> debbugs.gnu.org,
        Lennart Borgman <lennart.borgman <at> gmail.com>
Subject: Re: bug#3736: 23.1.50; Please use null-device instead of /dev/null
Date: Thu, 02 Jul 2009 17:06:31 +0200
Jason Rumney <jasonr <at> gnu.org> writes:

>> On W32 systems, null-device is "NUL". Not useful for Tramp, it needs
>> "/dev/null" on remote machines.
>
> What if the remote machine uses "NUL", "NLA0:" or "Dev:Nul" for its
> null device? I think tramp benefits from the use of null-device
> instead of hard-coded "/dev/null" as much as any other part of Emacs.

In case Tramp uses "/dev/null", the remote machine is expected to be
unixish. For other remote machine types, "/dev/null" is not used.

I would not carve this sentence in stone, but that's the situation
today.

Best regards, Michael.



Information forwarded to bug-submit-list <at> lists.donarmstrong.com, Emacs Bugs <bug-gnu-emacs <at> gnu.org>:
bug#3736; Package emacs. (Thu, 02 Jul 2009 15:15:07 GMT) Full text and rfc822 format available.

Acknowledgement sent to Michael Albinus <michael.albinus <at> gmx.de>:
Extra info received and forwarded to list. Copy sent to Emacs Bugs <bug-gnu-emacs <at> gnu.org>. (Thu, 02 Jul 2009 15:15:07 GMT) Full text and rfc822 format available.

Message #50 received at 3736 <at> emacsbugs.donarmstrong.com (full text, mbox):

From: Michael Albinus <michael.albinus <at> gmx.de>
To: Jason Rumney <jasonr <at> gnu.org>
Cc: Sven Joachim <svenjoac <at> gmx.de>, 3736 <at> debbugs.gnu.org
Subject: Re: bug#3736: 23.1.50; Please use null-device instead of /dev/null
Date: Thu, 02 Jul 2009 17:10:53 +0200
Jason Rumney <jasonr <at> gnu.org> writes:

> Probably the best solution is for tramp to implement a general
> server-local-variable mechanism, as there are probably other variables
> that need different values for different servers too.  The user could
> then configure a variable (such as tramp-server-local-variable-alist)
> to define any such variables that they need to, which would then be
> let bound as appropriate in tramp functions.

Nice idea. Tramp does it already in some cases (for example for
environment variables of the remote host), but your proposal is more
general.

Noted.

Best regards, Michael.



Information forwarded to bug-submit-list <at> lists.donarmstrong.com, Emacs Bugs <bug-gnu-emacs <at> gnu.org>:
bug#3736; Package emacs. (Thu, 02 Jul 2009 18:50:06 GMT) Full text and rfc822 format available.

Acknowledgement sent to Eli Zaretskii <eliz <at> gnu.org>:
Extra info received and forwarded to list. Copy sent to Emacs Bugs <bug-gnu-emacs <at> gnu.org>. (Thu, 02 Jul 2009 18:50:06 GMT) Full text and rfc822 format available.

Message #55 received at 3736 <at> emacsbugs.donarmstrong.com (full text, mbox):

From: Eli Zaretskii <eliz <at> gnu.org>
To: Michael Albinus <michael.albinus <at> gmx.de>, 3736 <at> debbugs.gnu.org
Cc: lennart.borgman <at> gmail.com
Subject: Re: bug#3736: 23.1.50; Please use null-device instead of /dev/null
Date: Thu, 02 Jul 2009 21:49:02 +0300
> From: Michael Albinus <michael.albinus <at> gmx.de>
> Date: Thu, 02 Jul 2009 14:22:38 +0200
> Cc: emacs-pretest-bug <at> gnu.org, 3736 <at> emacsbugs.donarmstrong.com
> 
> Lennart Borgman <lennart.borgman <at> gmail.com> writes:
> 
> > There are nearly a hundred places in Emacs lisp sources where
> > /dev/null is used instead of null-device. Please convert those to use
> > null-device so that it gets system-independent. (I wonder what to do
> > with those in Tramp.)
> 
> On W32 systems, null-device is "NUL". Not useful for Tramp, it needs
> "/dev/null" on remote machines.

On remote machines, Tramp indeed shouldn't use a value that is correct
for the local OS.



Information forwarded to bug-gnu-emacs <at> gnu.org:
bug#3736; Package emacs. (Thu, 19 Nov 2020 02:32:01 GMT) Full text and rfc822 format available.

Message #58 received at 3736 <at> debbugs.gnu.org (full text, mbox):

From: Stefan Kangas <stefan <at> marxist.se>
To: Michael Albinus <michael.albinus <at> gmx.de>
Cc: 3736 <at> debbugs.gnu.org, Sven Joachim <svenjoac <at> gmx.de>,
 Jason Rumney <jasonr <at> gnu.org>
Subject: Re: bug#3736: 23.1.50; Please use null-device instead of /dev/null
Date: Wed, 18 Nov 2020 18:31:20 -0800
Michael Albinus <michael.albinus <at> gmx.de> writes:

> Jason Rumney <jasonr <at> gnu.org> writes:
>
>> Probably the best solution is for tramp to implement a general
>> server-local-variable mechanism, as there are probably other variables
>> that need different values for different servers too.  The user could
>> then configure a variable (such as tramp-server-local-variable-alist)
>> to define any such variables that they need to, which would then be
>> let bound as appropriate in tramp functions.
>
> Nice idea. Tramp does it already in some cases (for example for
> environment variables of the remote host), but your proposal is more
> general.
>
> Noted.

(That was 12 years ago.)

Now that we have this concept of "connection local variables", does that
satisfy the requirement to be able to specify null-device for remote
hosts?




Information forwarded to bug-gnu-emacs <at> gnu.org:
bug#3736; Package emacs. (Thu, 19 Nov 2020 16:33:02 GMT) Full text and rfc822 format available.

Message #61 received at 3736 <at> debbugs.gnu.org (full text, mbox):

From: Michael Albinus <michael.albinus <at> gmx.de>
To: Stefan Kangas <stefan <at> marxist.se>
Cc: 3736 <at> debbugs.gnu.org, Sven Joachim <svenjoac <at> gmx.de>,
 Jason Rumney <jasonr <at> gnu.org>
Subject: Re: bug#3736: 23.1.50; Please use null-device instead of /dev/null
Date: Thu, 19 Nov 2020 17:32:41 +0100
Stefan Kangas <stefan <at> marxist.se> writes:

Hi Stefan,

> Michael Albinus <michael.albinus <at> gmx.de> writes:
>
>> Jason Rumney <jasonr <at> gnu.org> writes:
>>
>>> Probably the best solution is for tramp to implement a general
>>> server-local-variable mechanism, as there are probably other variables
>>> that need different values for different servers too.  The user could
>>> then configure a variable (such as tramp-server-local-variable-alist)
>>> to define any such variables that they need to, which would then be
>>> let bound as appropriate in tramp functions.
>>
>> Nice idea. Tramp does it already in some cases (for example for
>> environment variables of the remote host), but your proposal is more
>> general.
>>
>> Noted.
>
> (That was 12 years ago.)

Thanks for the reminder. Somehow, I've missed to tag this bug locally,
so I've lost it.

> Now that we have this concept of "connection local variables", does that
> satisfy the requirement to be able to specify null-device for remote
> hosts?

Yes, shall be possible. I'll see what I could do (with slow progress, as
it happens these days to me). Target will be Emacs 28.

Best regards, Michael.




Information forwarded to bug-gnu-emacs <at> gnu.org:
bug#3736; Package emacs. (Sat, 21 Nov 2020 15:17:02 GMT) Full text and rfc822 format available.

Message #64 received at 3736 <at> debbugs.gnu.org (full text, mbox):

From: Michael Albinus <michael.albinus <at> gmx.de>
To: Stefan Kangas <stefan <at> marxist.se>
Cc: 3736 <at> debbugs.gnu.org, Sven Joachim <svenjoac <at> gmx.de>,
 Jason Rumney <jasonr <at> gnu.org>
Subject: Re: bug#3736: 23.1.50; Please use null-device instead of /dev/null
Date: Sat, 21 Nov 2020 16:16:01 +0100
Michael Albinus <michael.albinus <at> gmx.de> writes:

Hi Stefan,

>>>> Probably the best solution is for tramp to implement a general
>>>> server-local-variable mechanism, as there are probably other variables
>>>> that need different values for different servers too.  The user could
>>>> then configure a variable (such as tramp-server-local-variable-alist)
>>>> to define any such variables that they need to, which would then be
>>>> let bound as appropriate in tramp functions.
>>>
>>> Nice idea. Tramp does it already in some cases (for example for
>>> environment variables of the remote host), but your proposal is more
>>> general.
>
>> Now that we have this concept of "connection local variables", does that
>> satisfy the requirement to be able to specify null-device for remote
>> hosts?
>
> Yes, shall be possible. I'll see what I could do (with slow progress, as
> it happens these days to me). Target will be Emacs 28.

I've added the functions null-device and path-separator, which return
the connection-local values of the respective variables. As first shot,
I've changed grep.el using this. Let's see whether there's
feedback. However, people will see a difference only if they work on a
local w32 system, and apply Emacs's grep command on a remote machine --
a constellation I cannot test myself.

I'll continue to adapt other Emacs Lisp files.

Best regards, Michael.




bug Marked as fixed in versions 28.1. Request was from Michael Albinus <michael.albinus <at> gmx.de> to control <at> debbugs.gnu.org. (Thu, 26 Nov 2020 15:29:01 GMT) Full text and rfc822 format available.

Reply sent to Michael Albinus <michael.albinus <at> gmx.de>:
You have taken responsibility. (Thu, 26 Nov 2020 15:29:02 GMT) Full text and rfc822 format available.

Notification sent to Lennart Borgman <lennart.borgman <at> gmail.com>:
bug acknowledged by developer. (Thu, 26 Nov 2020 15:29:02 GMT) Full text and rfc822 format available.

Message #71 received at 3736-done <at> debbugs.gnu.org (full text, mbox):

From: Michael Albinus <michael.albinus <at> gmx.de>
To: Stefan Kangas <stefan <at> marxist.se>
Cc: 3736-done <at> debbugs.gnu.org, Sven Joachim <svenjoac <at> gmx.de>,
 Jason Rumney <jasonr <at> gnu.org>
Subject: Re: bug#3736: 23.1.50; Please use null-device instead of /dev/null
Date: Thu, 26 Nov 2020 16:28:11 +0100
Michael Albinus <michael.albinus <at> gmx.de> writes:

Hi Stefan,

> I've added the functions null-device and path-separator, which return
> the connection-local values of the respective variables. As first shot,
> I've changed grep.el using this. Let's see whether there's
> feedback. However, people will see a difference only if they work on a
> local w32 system, and apply Emacs's grep command on a remote machine --
> a constellation I cannot test myself.
>
> I'll continue to adapt other Emacs Lisp files.

I have applied all respective changes in the master branch which look
obvious to me. There are still ~40 occurences of /dev/null in the lisp
directory, but most of them are comments. So I'll close this bug.

If people are interested in fixing the few other places, they could do
now by using the null-device variable or function. In case they don't
know what's better, a new bug report for the given case would do,
instead of keeping *this* bug report open forever.

Best regards, Michael.




Information forwarded to bug-gnu-emacs <at> gnu.org:
bug#3736; Package emacs. (Thu, 26 Nov 2020 16:49:02 GMT) Full text and rfc822 format available.

Message #74 received at 3736-done <at> debbugs.gnu.org (full text, mbox):

From: Stefan Kangas <stefan <at> marxist.se>
To: Michael Albinus <michael.albinus <at> gmx.de>
Cc: 3736-done <at> debbugs.gnu.org, Sven Joachim <svenjoac <at> gmx.de>,
 Jason Rumney <jasonr <at> gnu.org>
Subject: Re: bug#3736: 23.1.50; Please use null-device instead of /dev/null
Date: Thu, 26 Nov 2020 08:47:57 -0800
Michael Albinus <michael.albinus <at> gmx.de> writes:

> I have applied all respective changes in the master branch which look
> obvious to me. There are still ~40 occurences of /dev/null in the lisp
> directory, but most of them are comments. So I'll close this bug.

Thanks for taking care of all that.

> If people are interested in fixing the few other places, they could do
> now by using the null-device variable or function. In case they don't
> know what's better, a new bug report for the given case would do,
> instead of keeping *this* bug report open forever.

Sounds reasonable.




bug archived. Request was from Debbugs Internal Request <help-debbugs <at> gnu.org> to internal_control <at> debbugs.gnu.org. (Fri, 25 Dec 2020 12:24:07 GMT) Full text and rfc822 format available.

This bug report was last modified 3 years and 115 days ago.

Previous Next


GNU bug tracking system
Copyright (C) 1999 Darren O. Benham, 1997,2003 nCipher Corporation Ltd, 1994-97 Ian Jackson.