From debbugs-submit-bounces@debbugs.gnu.org Wed Mar 04 12:55:45 2015 Received: (at submit) by debbugs.gnu.org; 4 Mar 2015 17:55:45 +0000 Received: from localhost ([127.0.0.1]:35220 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.80) (envelope-from ) id 1YTDWK-0002ED-0r for submit@debbugs.gnu.org; Wed, 04 Mar 2015 12:55:44 -0500 Received: from eggs.gnu.org ([208.118.235.92]:41523) by debbugs.gnu.org with esmtp (Exim 4.80) (envelope-from ) id 1YTDAC-0001hI-7m for submit@debbugs.gnu.org; Wed, 04 Mar 2015 12:32:52 -0500 Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1YTDA0-0007Yq-0n for submit@debbugs.gnu.org; Wed, 04 Mar 2015 12:32:43 -0500 X-Spam-Checker-Version: SpamAssassin 3.3.2 (2011-06-06) on eggs.gnu.org X-Spam-Level: X-Spam-Status: No, score=0.8 required=5.0 tests=BAYES_50,FREEMAIL_FROM, T_DKIM_INVALID autolearn=disabled version=3.3.2 Received: from lists.gnu.org ([2001:4830:134:3::11]:33192) by eggs.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1YTD9z-0007Ym-Tg for submit@debbugs.gnu.org; Wed, 04 Mar 2015 12:32:39 -0500 Received: from eggs.gnu.org ([2001:4830:134:3::10]:43239) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1YTD9y-0000uo-S9 for bug-sed@gnu.org; Wed, 04 Mar 2015 12:32:39 -0500 Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1YTD9x-0007YD-RN for bug-sed@gnu.org; Wed, 04 Mar 2015 12:32:38 -0500 Received: from mail-qc0-x234.google.com ([2607:f8b0:400d:c01::234]:34848) by eggs.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1YTD9x-0007Y3-MV for bug-sed@gnu.org; Wed, 04 Mar 2015 12:32:37 -0500 Received: by qcyl6 with SMTP id l6so38689845qcy.2 for ; Wed, 04 Mar 2015 09:32:37 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=googlemail.com; s=20120113; h=mime-version:sender:date:message-id:subject:from:to:content-type; bh=w9Ifu2fZKYx7Ewoplk5V7Nrqpy5P2YuZ2Tm14CZ7wcU=; b=fKeCXbcECC99Uhr8dYzZH3h1jlqbiEdHy7XD8xFzX54kGfdvfPONXydskC4VhBB8g0 0pE1dtyf8xpo0RT0wtfS9YjDKjAojY9W9/3RgDUHuskYTzc2Q01MtcS6KFd3P/0yyNIo QSmR2guSgMqTJrkfa5YQMQyL+uWSk1qnYdcp9SX0XKvrkeCXhG/xYmJNCvf0zRkX3CJy NB6kMaNGUyB/uRvUfY18aQl6dSOZxIJ/lzdxO20M/fzBwqk5zls6p1bX/0LZpFdsUH+d IhZ3+3HHUc5bDbXIfoMm0f4WMWSVLb0IFbDTrj2gWnzx2BXMGs1tQI3Hs7s1PW/2SZju JWRw== MIME-Version: 1.0 X-Received: by 10.140.217.200 with SMTP id n191mr7100252qhb.29.1425490357155; Wed, 04 Mar 2015 09:32:37 -0800 (PST) Received: by 10.140.152.151 with HTTP; Wed, 4 Mar 2015 09:32:37 -0800 (PST) Date: Wed, 4 Mar 2015 17:32:37 +0000 X-Google-Sender-Auth: gWGPuNm7IDwmhpomB5s6GvJRPqE Message-ID: Subject: sed: tmp file left when there are errors and -i is used From: David Jones To: bug-sed@gnu.org Content-Type: text/plain; charset=UTF-8 X-detected-operating-system: by eggs.gnu.org: Error: Malformed IPv6 address (bad octet value). X-detected-operating-system: by eggs.gnu.org: Error: Malformed IPv6 address (bad octet value). X-Received-From: 2001:4830:134:3::11 X-Spam-Score: -4.0 (----) X-Debbugs-Envelope-To: submit X-Mailman-Approved-At: Wed, 04 Mar 2015 12:55:42 -0500 X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.15 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: debbugs-submit-bounces@debbugs.gnu.org Sender: "Debbugs-submit" X-Spam-Score: -4.0 (----) sed -i sometimes leave its temporary files around: Here's some terminal output: drj$ ls foo drj$ sed -i 's//b/' foo sed: -e expression #1, char 0: no previous regular expression drj$ ls foo sedaelyL4 Note that the sedaelyL4 file is obviously a temp file left by sed. sed had an error because of the bad sed program. But sed should clean up after itself. Cheers, drj The output of sed --version is: $ sed --version sed (GNU sed) 4.2.2 Copyright (C) 2012 Free Software Foundation, Inc. License GPLv3+: GNU GPL version 3 or later . This is free software: you are free to change and redistribute it. There is NO WARRANTY, to the extent permitted by law. Written by Jay Fenlason, Tom Lord, Ken Pizzini, and Paolo Bonzini. GNU sed home page: . General help using GNU software: . E-mail bug reports to: . Be sure to include the word ``sed'' somewhere in the ``Subject:'' field. From debbugs-submit-bounces@debbugs.gnu.org Sun May 10 09:45:53 2015 Received: (at 20002-done) by debbugs.gnu.org; 10 May 2015 13:45:53 +0000 Received: from localhost ([127.0.0.1]:39925 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.80) (envelope-from ) id 1YrRYG-0000q7-Cw for submit@debbugs.gnu.org; Sun, 10 May 2015 09:45:52 -0400 Received: from mail-ie0-f172.google.com ([209.85.223.172]:35579) by debbugs.gnu.org with esmtp (Exim 4.80) (envelope-from ) id 1YrRYC-0000ps-A4 for 20002-done@debbugs.gnu.org; Sun, 10 May 2015 09:45:49 -0400 Received: by ieczm2 with SMTP id zm2so91914742iec.2 for <20002-done@debbugs.gnu.org>; Sun, 10 May 2015 06:45:42 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20120113; h=mime-version:sender:from:date:message-id:subject:to:content-type; bh=6uFMVeifN8a+wq4m9D9GxtLOsPVfu+F1e21KlPmW/3A=; b=eg0cFzlueOKHGNVyd/N1LyZIz/5cKIj9O2b7GjwZCGpYxDLyKwnYHqSygyGVC/8rJU 5QTKpAzH+NLBuxW8lM3rP1lCk4eW4pSwMnv5bpgayUGaYma5lgFv6r6ZAdt1tJRs9g4s kGANESIuen4+8MIi2wrelCe5OuehfU3pWOeGXaFtvIUuKMPkQaF/vBsgzNB9LKmJFIba tXETA5i8ovhS8XklxParFhjGTOFSZQQ0iSMf2Yij18+YufyrlqH5q7YehHTKixtHIZUU 6oETTcg9EJyTVXok7N0i25NGhHO7lXARgDlDcYDq5sObl1qP9DfTbzcF2JJIk2OMILu4 s8SQ== X-Received: by 10.107.164.6 with SMTP id n6mr7871286ioe.54.1431265542480; Sun, 10 May 2015 06:45:42 -0700 (PDT) MIME-Version: 1.0 Received: by 10.64.62.229 with HTTP; Sun, 10 May 2015 06:45:21 -0700 (PDT) From: Jim Meyering Date: Sun, 10 May 2015 06:45:21 -0700 X-Google-Sender-Auth: 70v6uUNGMUsDwfmzTYremTO_Qi8 Message-ID: Subject: Re: sed: tmp file left when there are errors and -i is used To: David Jones , 20002-done@debbugs.gnu.org Content-Type: multipart/mixed; boundary=001a1141f5f63da8230515ba7a4f X-Spam-Score: -0.7 (/) X-Debbugs-Envelope-To: 20002-done X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.15 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: debbugs-submit-bounces@debbugs.gnu.org Sender: "Debbugs-submit" X-Spam-Score: -0.7 (/) --001a1141f5f63da8230515ba7a4f Content-Type: text/plain; charset=UTF-8 [David Jones reported this in http://bugs.gnu.org/20002] Thank you for the report. That was indeed a bug. I have attached the patch I expect to push: [PATCH] sed -i: don't leave behind a temporary sedXXXXXX file For example, running a command like "sed -i s//b/ F" would fail to remove a temporary file named sedXXXXXX (for random XXXXXX) in the directory alongside F. * sed/sed.c (G_file_to_unlink): New global. (register_cleanup_file, cancel_cleanup, cleanup): New functions. (main): Call atexit. * sed/execute.c (open_next_file): Register for unlink. (closedown): Call cancel_cleanup right after the rename. * sed/sed.h: Declare two of the new functions. * NEWS (Bug fixes): Mention it. * testsuite/temp-file-cleanup.sh: New file. Test for this. * testsuite/Makefile.am (T): Add it. Reported by David Jones in http://bugs.gnu.org/20002. --001a1141f5f63da8230515ba7a4f Content-Type: application/octet-stream; name="0001-sed-i-don-t-leave-behind-a-temporary-sedXXXXXX-file.patch" Content-Disposition: attachment; filename="0001-sed-i-don-t-leave-behind-a-temporary-sedXXXXXX-file.patch" Content-Transfer-Encoding: base64 X-Attachment-Id: f_i9iieaxq0 RnJvbSBjYWM4ZTEzZDcwMmJiNDE1ZWUzNTRjMzhhOGNhZWQzMDVkYmU1NGI5IE1vbiBTZXAgMTcg MDA6MDA6MDAgMjAwMQpGcm9tOiBKaW0gTWV5ZXJpbmcgPG1leWVyaW5nQGZiLmNvbT4KRGF0ZTog U2F0LCA5IE1heSAyMDE1IDE5OjQ3OjA4IC0wNzAwClN1YmplY3Q6IFtQQVRDSF0gc2VkIC1pOiBk b24ndCBsZWF2ZSBiZWhpbmQgYSB0ZW1wb3Jhcnkgc2VkWFhYWFhYIGZpbGUKCkZvciBleGFtcGxl LCBydW5uaW5nIGEgY29tbWFuZCBsaWtlICJzZWQgLWkgcy8vYi8gRiIgd291bGQgZmFpbAp0byBy ZW1vdmUgYSB0ZW1wb3JhcnkgZmlsZSBuYW1lZCBzZWRYWFhYWFggKGZvciByYW5kb20gWFhYWFhY KQppbiB0aGUgZGlyZWN0b3J5IGFsb25nc2lkZSBGLgoqIHNlZC9zZWQuYyAoR19maWxlX3RvX3Vu bGluayk6IE5ldyBnbG9iYWwuCihyZWdpc3Rlcl9jbGVhbnVwX2ZpbGUsIGNhbmNlbF9jbGVhbnVw LCBjbGVhbnVwKTogTmV3IGZ1bmN0aW9ucy4KKG1haW4pOiBDYWxsIGF0ZXhpdC4KKiBzZWQvZXhl Y3V0ZS5jIChvcGVuX25leHRfZmlsZSk6IFJlZ2lzdGVyIGZvciB1bmxpbmsuCihjbG9zZWRvd24p OiBDYWxsIGNhbmNlbF9jbGVhbnVwIHJpZ2h0IGFmdGVyIHRoZSByZW5hbWUuCiogc2VkL3NlZC5o OiBEZWNsYXJlIHR3byBvZiB0aGUgbmV3IGZ1bmN0aW9ucy4KKiBORVdTIChCdWcgZml4ZXMpOiBN ZW50aW9uIGl0LgoqIHRlc3RzdWl0ZS90ZW1wLWZpbGUtY2xlYW51cC5zaDogTmV3IGZpbGUuICBU ZXN0IGZvciB0aGlzLgoqIHRlc3RzdWl0ZS9NYWtlZmlsZS5hbSAoVCk6IEFkZCBpdC4KUmVwb3J0 ZWQgYnkgRGF2aWQgSm9uZXMgaW4gaHR0cDovL2J1Z3MuZ251Lm9yZy8yMDAwMi4KLS0tCiBORVdT ICAgICAgICAgICAgICAgICAgICAgICAgICAgfCAgNCArKysrCiBzZWQvZXhlY3V0ZS5jICAgICAg ICAgICAgICAgICAgfCAgMiArKwogc2VkL3NlZC5jICAgICAgICAgICAgICAgICAgICAgIHwgMzUg KysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKy0KIHNlZC9zZWQuaCAgICAgICAgICAg ICAgICAgICAgICB8ICAyICsrCiB0ZXN0c3VpdGUvTWFrZWZpbGUuYW0gICAgICAgICAgfCAgMyAr Ky0KIHRlc3RzdWl0ZS90ZW1wLWZpbGUtY2xlYW51cC5zaCB8IDM4ICsrKysrKysrKysrKysrKysr KysrKysrKysrKysrKysrKysrKysrCiA2IGZpbGVzIGNoYW5nZWQsIDgyIGluc2VydGlvbnMoKyks IDIgZGVsZXRpb25zKC0pCiBjcmVhdGUgbW9kZSAxMDA3NTUgdGVzdHN1aXRlL3RlbXAtZmlsZS1j bGVhbnVwLnNoCgpkaWZmIC0tZ2l0IGEvTkVXUyBiL05FV1MKaW5kZXggYzJiY2EwNC4uNDhkZGJh ZiAxMDA2NDQKLS0tIGEvTkVXUworKysgYi9ORVdTCkBAIC0zMyw2ICszMywxMCBAQCBHTlUgc2Vk IE5FV1MgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAtKi0gb3V0bGluZSAtKi0K ICAgICA1CiAgICAgNgoKKyAgQW4gZXJyb25lb3VzIHNlZCBpbnZvY2F0aW9uIGxpa2UgImVjaG8g PiBGOyBzZWQgLWkgcy8vYi8gRiIgbm8gbG9uZ2VyCisgIGxlYXZlcyBiZWhpbmQgYSB0ZW1wb3Jh cnkgZmlsZS4gIEJlZm9yZSwgdGhhdCBjb21tYW5kIHdvdWxkIGNyZWF0ZSBhCisgIGZpbGUgd2l0 aCBhIG5hbWUgbWF0Y2hpbmcgL15zZWQuLi4uLi4kLyBhbmQgZmFpbCB0byByZW1vdmUgaXQuCisK ICoqIEZlYXR1cmUgcmVtb3ZhbAoKICAgVGhlICJMIiBjb21tYW5kIChmb3JtYXQgYSBwYXJhZ3Jh cGggbGlrZSB0aGUgZm10KDEpIGNvbW1hbmQgd291bGQpCmRpZmYgLS1naXQgYS9zZWQvZXhlY3V0 ZS5jIGIvc2VkL2V4ZWN1dGUuYwppbmRleCA0NTMyYzFmLi40ZGRiZjU1IDEwMDY0NAotLS0gYS9z ZWQvZXhlY3V0ZS5jCisrKyBiL3NlZC9leGVjdXRlLmMKQEAgLTYyMyw2ICs2MjMsNyBAQCBvcGVu X25leHRfZmlsZShjb25zdCBjaGFyICpuYW1lLCBzdHJ1Y3QgaW5wdXQgKmlucHV0KQoKICAgICAg IG91dHB1dF9maWxlLmZwID0gY2tfbWtzdGVtcCAoJmlucHV0LT5vdXRfZmlsZV9uYW1lLCB0bXBk aXIsICJzZWQiLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB3cml0ZV9tb2Rl KTsKKyAgICAgIHJlZ2lzdGVyX2NsZWFudXBfZmlsZSAoaW5wdXQtPm91dF9maWxlX25hbWUpOwog ICAgICAgb3V0cHV0X2ZpbGUubWlzc2luZ19uZXdsaW5lID0gZmFsc2U7CiAgICAgICBmcmVlICh0 bXBkaXIpOwoKQEAgLTY4MSw2ICs2ODIsNyBAQCBjbG9zZWRvd24oc3RydWN0IGlucHV0ICppbnB1 dCkKICAgICAgICAgfQoKICAgICAgIGNrX3JlbmFtZSAoaW5wdXQtPm91dF9maWxlX25hbWUsIHRh cmdldF9uYW1lLCBpbnB1dC0+b3V0X2ZpbGVfbmFtZSk7CisgICAgICBjYW5jZWxfY2xlYW51cCAo KTsKICAgICAgIGZyZWUgKGlucHV0LT5vdXRfZmlsZV9uYW1lKTsKICAgICB9CiAgIGVsc2UKZGlm ZiAtLWdpdCBhL3NlZC9zZWQuYyBiL3NlZC9zZWQuYwppbmRleCA5NjZkYTNlLi4wODA1MzQ0IDEw MDY0NAotLS0gYS9zZWQvc2VkLmMKKysrIGIvc2VkL3NlZC5jCkBAIC02OSw2ICs2OSwzNSBAQCBj b3VudFQgbGNtZF9vdXRfbGluZV9sZW4gPSA3MDsKIC8qIFRoZSBjb21wbGV0ZSBjb21waWxlZCBT RUQgcHJvZ3JhbSB0aGF0IHdlIGFyZSBnb2luZyB0byBydW46ICovCiBzdGF0aWMgc3RydWN0IHZl Y3RvciAqdGhlX3Byb2dyYW0gPSBOVUxMOwoKKy8qIFdoZW4gd2UndmUgY3JlYXRlZCBhIHRlbXBv cmFyeSBmb3IgYW4gaW4tcGxhY2UgdXBkYXRlLAorICAgd2UgbWF5IGhhdmUgdG8gZXhpdCBiZWZv cmUgdGhlIHJlbmFtZS4gIFRoaXMgaXMgdGhlIG5hbWUKKyAgIG9mIHRoZSB0ZW1wb3JhcnkgdGhh dCB3ZSdsbCBoYXZlIHRvIHVubGluayB2aWEgYW4gYXRleGl0LQorICAgcmVnaXN0ZXJlZCBjbGVh bnVwIGZ1bmN0aW9uLiAgKi8KK3N0YXRpYyBjaGFyIGNvbnN0ICpHX2ZpbGVfdG9fdW5saW5rOwor CisvKiBXaGVuIGV4aXRpbmcgYmV0d2VlbiB0ZW1wb3JhcnkgZmlsZSBjcmVhdGlvbiBhbmQgdGhl IHJlbmFtZQorICAgYXNzb2NpYXRlZCB3aXRoIGEgc2VkIC1pIGludm9jYXRpb24sIHJlbW92ZSB0 aGF0IGZpbGUuICAqLworc3RhdGljIHZvaWQKK2NsZWFudXAgKHZvaWQpCit7CisgIGlmIChHX2Zp bGVfdG9fdW5saW5rKQorICAgIHVubGluayAoR19maWxlX3RvX3VubGluayk7Cit9CisKKy8qIE5v dGUgdGhhdCBGSUxFIG11c3QgYmUgcmVtb3ZlZCB1cG9uIGV4aXQuICAqLwordm9pZAorcmVnaXN0 ZXJfY2xlYW51cF9maWxlIChjaGFyIGNvbnN0ICpmaWxlKQoreworICBHX2ZpbGVfdG9fdW5saW5r ID0gZmlsZTsKK30KKworLyogQ2xlYXIgdGhlIGdsb2JhbCBmaWxlLXRvLXVubGluayBnbG9iYWwu ICAqLwordm9pZAorY2FuY2VsX2NsZWFudXAgKHZvaWQpCit7CisgIEdfZmlsZV90b191bmxpbmsg PSBOVUxMOworfQorCiBzdGF0aWMgdm9pZCB1c2FnZSAoaW50KTsKIHN0YXRpYyB2b2lkCiBjb250 YWN0KGludCBlcnJtc2cpCkBAIC0xNTQsNyArMTgzLDcgQEAgc3BlY2lmaWVkLCB0aGVuIHRoZSBz dGFuZGFyZCBpbnB1dCBpcyByZWFkLlxuXAogfQoKIGludAotbWFpbihpbnQgYXJnYywgY2hhciAq KmFyZ3YpCittYWluIChpbnQgYXJnYywgY2hhciAqKmFyZ3YpCiB7CiAjaWZkZWYgUkVHX1BFUkwK ICNkZWZpbmUgU0hPUlRPUFRTICJic25yelJ1RWU6ZjpsOmk6OlY6IgpAQCAtMjAwLDYgKzIyOSwx MCBAQCBtYWluKGludCBhcmdjLCBjaGFyICoqYXJndikKICAgc2V0X3Byb2dyYW1fbmFtZSAoYXJn dlswXSk7CiAgIGluaXRpYWxpemVfbWJjcyAoKTsKCisgIC8qIEFycmFuZ2UgdG8gcmVtb3ZlIGFu eSB1bi1yZW5hbWVkIHRlbXBvcmFyeSBmaWxlLAorICAgICB1cG9uIHByZW1hdHVyZSBleGl0LiAg Ki8KKyAgYXRleGl0IChjbGVhbnVwKTsKKwogI2lmIEVOQUJMRV9OTFMKCiAgIC8qIFRlbGwgcHJv Z3JhbSB3aGljaCB0cmFuc2xhdGlvbnMgdG8gdXNlIGFuZCB3aGVyZSB0byBmaW5kLiAgKi8KZGlm ZiAtLWdpdCBhL3NlZC9zZWQuaCBiL3NlZC9zZWQuaAppbmRleCAzZDAwNmViLi4zZmFlY2FiIDEw MDY0NAotLS0gYS9zZWQvc2VkLmgKKysrIGIvc2VkL3NlZC5oCkBAIC0yNjAsNiArMjYwLDggQEAg ZXh0ZXJuIGJvb2wgaXNfdXRmODsKCiBleHRlcm4gaW50IGJybGVuIChpbnQgY2gsIG1ic3RhdGVf dCAqcHMpOwogZXh0ZXJuIHZvaWQgaW5pdGlhbGl6ZV9tYmNzICh2b2lkKTsKK2V4dGVybiB2b2lk IHJlZ2lzdGVyX2NsZWFudXBfZmlsZSAoY2hhciBjb25zdCAqZmlsZSk7CitleHRlcm4gdm9pZCBj YW5jZWxfY2xlYW51cCAodm9pZCk7CgogLyogVXNlIHRoaXMgdG8gc3VwcHJlc3MgZ2NjJ3MgJy4u Lm1heSBiZSB1c2VkIGJlZm9yZSBpbml0aWFsaXplZCcgd2FybmluZ3MuICovCiAjaWZkZWYgbGlu dApkaWZmIC0tZ2l0IGEvdGVzdHN1aXRlL01ha2VmaWxlLmFtIGIvdGVzdHN1aXRlL01ha2VmaWxl LmFtCmluZGV4IDhkNzFlZjEuLmJjMzVhZGQgMTAwNjQ0Ci0tLSBhL3Rlc3RzdWl0ZS9NYWtlZmls ZS5hbQorKysgYi90ZXN0c3VpdGUvTWFrZWZpbGUuYW0KQEAgLTgsNyArOCw4IEBAIFNIX0xPR19D T01QSUxFUiA9ICQoU0hFTEwpCiBUID0JCQlcCiAgIGhlbHAtdmVyc2lvbi5zaAlcCiAgIGludmFs aWQtbWItc2VxLVVNUi5zaAlcCi0gIHJhbmdlLW92ZXJsYXAuc2gKKyAgcmFuZ2Utb3ZlcmxhcC5z aAlcCisgIHRlbXAtZmlsZS1jbGVhbnVwLnNoCgogVEVTVFMgPSAkKGNoZWNrX1BST0dSQU1TKSAk KFNFRFRFU1RTKSAkKFQpCgpkaWZmIC0tZ2l0IGEvdGVzdHN1aXRlL3RlbXAtZmlsZS1jbGVhbnVw LnNoIGIvdGVzdHN1aXRlL3RlbXAtZmlsZS1jbGVhbnVwLnNoCm5ldyBmaWxlIG1vZGUgMTAwNzU1 CmluZGV4IDAwMDAwMDAuLjAyZmE5MWQKLS0tIC9kZXYvbnVsbAorKysgYi90ZXN0c3VpdGUvdGVt cC1maWxlLWNsZWFudXAuc2gKQEAgLTAsMCArMSwzOCBAQAorIyEvYmluL3NoCisjIFZlcmlmeSB0 aGF0IGFuIGVycm9uZW91cyB1c2Ugb2Ygc2VkIC1pIG5vIGxvbmdlciBsZWF2ZXMgYmVoaW5kCisj IGEgdGVtcG9yYXJ5IGZpbGUuCisKKyMgQ29weXJpZ2h0IChDKSAyMDE1IEZyZWUgU29mdHdhcmUg Rm91bmRhdGlvbiwgSW5jLgorCisjIFRoaXMgcHJvZ3JhbSBpcyBmcmVlIHNvZnR3YXJlOiB5b3Ug Y2FuIHJlZGlzdHJpYnV0ZSBpdCBhbmQvb3IgbW9kaWZ5CisjIGl0IHVuZGVyIHRoZSB0ZXJtcyBv ZiB0aGUgR05VIEdlbmVyYWwgUHVibGljIExpY2Vuc2UgYXMgcHVibGlzaGVkIGJ5CisjIHRoZSBG cmVlIFNvZnR3YXJlIEZvdW5kYXRpb24sIGVpdGhlciB2ZXJzaW9uIDMgb2YgdGhlIExpY2Vuc2Us IG9yCisjIChhdCB5b3VyIG9wdGlvbikgYW55IGxhdGVyIHZlcnNpb24uCisKKyMgVGhpcyBwcm9n cmFtIGlzIGRpc3RyaWJ1dGVkIGluIHRoZSBob3BlIHRoYXQgaXQgd2lsbCBiZSB1c2VmdWwsCisj IGJ1dCBXSVRIT1VUIEFOWSBXQVJSQU5UWTsgd2l0aG91dCBldmVuIHRoZSBpbXBsaWVkIHdhcnJh bnR5IG9mCisjIE1FUkNIQU5UQUJJTElUWSBvciBGSVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIgUFVS UE9TRS4gIFNlZSB0aGUKKyMgR05VIEdlbmVyYWwgUHVibGljIExpY2Vuc2UgZm9yIG1vcmUgZGV0 YWlscy4KKworIyBZb3Ugc2hvdWxkIGhhdmUgcmVjZWl2ZWQgYSBjb3B5IG9mIHRoZSBHTlUgR2Vu ZXJhbCBQdWJsaWMgTGljZW5zZQorIyBhbG9uZyB3aXRoIHRoaXMgcHJvZ3JhbS4gIElmIG5vdCwg c2VlIDxodHRwOi8vd3d3LmdudS5vcmcvbGljZW5zZXMvPi4KKy4gIiR7c3JjZGlyPS59L2luaXQu c2giOyBwYXRoX3ByZXBlbmRfIC4uL3NlZAorcHJpbnRfdmVyXyBzZWQKKworIyBUaGUgaW5wdXQg ZmlsZSBtdXN0IGhhdmUgYXQgbGVhc3Qgb25lIGxpbmUuCitlY2hvID4gaW4gfHwgZnJhbWV3b3Jr X2ZhaWx1cmVfCitwcmludGYgJ3NlZDogLWUgZXhwcmVzc2lvbiAjMSwgY2hhciAwOiBubyBwcmV2 aW91cyByZWd1bGFyIGV4cHJlc3Npb25cbicgXAorICA+IGV4cCB8fCBmcmFtZXdvcmtfZmFpbHVy ZV8KKworIyBCZWZvcmUgc2VkLTQuMywgdGhpcyB3b3VsZCBjcmVhdGUgYSBmaWxlIG5hbWVkIHNl ZD8/Pz8/Pworc2VkIC1pIHMvL2IvIGluID4gb3V0IDI+IGVycgordGVzdCAkPyA9IDEgfHwgZmFp bD0xCisKK2NvbXBhcmUgL2Rldi9udWxsIG91dCB8fCBmYWlsPTEKK2NvbXBhcmUgZXhwIGVyciB8 fCBmYWlsPTEKKworIyBFbnN1cmUgdGhhdCBubyBvdGhlciBmaWxlIGhhcyBiZWVuIGNyZWF0ZWQg aW4gdGhpcyBkaXJlY3RvcnkuCitmaWxlcz0kKGVjaG8gKikKK3Rlc3QgIiRmaWxlcyIgPSAiZXJy IGV4cCBpbiBvdXQiIHx8IGZhaWw9MQorCitFeGl0ICRmYWlsCi0tIAoyLjMuNwoK --001a1141f5f63da8230515ba7a4f-- From debbugs-submit-bounces@debbugs.gnu.org Sun May 10 12:36:58 2015 Received: (at 20002) by debbugs.gnu.org; 10 May 2015 16:36:58 +0000 Received: from localhost ([127.0.0.1]:40203 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.80) (envelope-from ) id 1YrUDo-00050Z-N9 for submit@debbugs.gnu.org; Sun, 10 May 2015 12:36:57 -0400 Received: from mail-ie0-f170.google.com ([209.85.223.170]:35007) by debbugs.gnu.org with esmtp (Exim 4.80) (envelope-from ) id 1YrUDl-00050L-Ns for 20002@debbugs.gnu.org; Sun, 10 May 2015 12:36:54 -0400 Received: by ieczm2 with SMTP id zm2so93336305iec.2 for <20002@debbugs.gnu.org>; Sun, 10 May 2015 09:36:48 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20120113; h=mime-version:sender:in-reply-to:references:from:date:message-id :subject:to:content-type; bh=+CZaZEqqXJAYFDTjTwwVOXbFM5xudmfwSWBJZXdkgpc=; b=C85DfR7HmUXto11aQ/h7Vs3YCcuJ//JqEtr5OiIZ4yGLYDEhpJF/udJogmlen68n51 lZlUW2iJKrUOIg5IPLdtFStnB7AZTHaflSDrytD8b4Ac+4LNmnl+HSIFMZ/ilISqvS9r V9QprlD5inrVFe9Jce+LyR471RZB+bgXwulsEYUuBkO87Rp0mMNJ+R8QKA4243uKbn77 TED8wG5eRcazwbfLOuCLzXGi1l6WxBuU0RzxER8/YPWy4eDlIYqQczk0Iri8/9RPNLr4 zjIiKNNw1MALDTjUrfsz9n3Ldi0IxDTpBsZfLu7kdxj+mkVPFF8yA8Krga2BZZ5mAqOp 5uCw== X-Received: by 10.50.127.232 with SMTP id nj8mr8610933igb.32.1431275807936; Sun, 10 May 2015 09:36:47 -0700 (PDT) MIME-Version: 1.0 Received: by 10.64.62.229 with HTTP; Sun, 10 May 2015 09:36:27 -0700 (PDT) In-Reply-To: References: From: Jim Meyering Date: Sun, 10 May 2015 09:36:27 -0700 X-Google-Sender-Auth: GqH9MZ5RAmbzf8F4vF1n09UpmGk Message-ID: Subject: Re: bug#20002: sed: tmp file left when there are errors and -i is used To: 20002@debbugs.gnu.org, Jim Meyering , drj@pobox.com Content-Type: multipart/mixed; boundary=089e013a01ea1c13a50515bcde28 X-Spam-Score: -0.7 (/) X-Debbugs-Envelope-To: 20002 X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.15 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: debbugs-submit-bounces@debbugs.gnu.org Sender: "Debbugs-submit" X-Spam-Score: -0.7 (/) --089e013a01ea1c13a50515bcde28 Content-Type: text/plain; charset=UTF-8 On Sun, May 10, 2015 at 6:45 AM, Jim Meyering wrote: > [David Jones reported this in http://bugs.gnu.org/20002] > Thank you for the report. > That was indeed a bug. > I have attached the patch I expect to push: > > [PATCH] sed -i: don't leave behind a temporary sedXXXXXX file > > For example, running a command like "sed -i s//b/ F" would fail > to remove a temporary file named sedXXXXXX (for random XXXXXX) > in the directory alongside F. > * sed/sed.c (G_file_to_unlink): New global. > (register_cleanup_file, cancel_cleanup, cleanup): New functions. > (main): Call atexit. > * sed/execute.c (open_next_file): Register for unlink. > (closedown): Call cancel_cleanup right after the rename. > * sed/sed.h: Declare two of the new functions. > * NEWS (Bug fixes): Mention it. > * testsuite/temp-file-cleanup.sh: New file. Test for this. > * testsuite/Makefile.am (T): Add it. > Reported by David Jones in http://bugs.gnu.org/20002. This required the following fix-up patch: --089e013a01ea1c13a50515bcde28 Content-Type: application/octet-stream; name="0001-build-avoid-warning-about-implicit-declaration-of-un.patch" Content-Disposition: attachment; filename="0001-build-avoid-warning-about-implicit-declaration-of-un.patch" Content-Transfer-Encoding: base64 X-Attachment-Id: f_i9ion5jw1 RnJvbSA2OGU0N2MwYzYyOTIxZTFhYmRhNGM5YWQxNzZjMWZkZWZiMWQzYzUwIE1vbiBTZXAgMTcg MDA6MDA6MDAgMjAwMQpGcm9tOiBKaW0gTWV5ZXJpbmcgPG1leWVyaW5nQGZiLmNvbT4KRGF0ZTog U3VuLCAxMCBNYXkgMjAxNSAwOTozMzowOCAtMDcwMApTdWJqZWN0OiBbUEFUQ0hdIGJ1aWxkOiBh dm9pZCB3YXJuaW5nIGFib3V0IGltcGxpY2l0IGRlY2xhcmF0aW9uIG9mIHVubGluawoKKiBzZWQv c2VkLmM6IEluY2x1ZGUgPHVuaXN0ZC5oPiwgZm9yIGRlY2xhcmF0aW9uIG9mIHVubGluay4KV2l0 aG91dCB0aGlzIGNoYW5nZSwgY29tbWl0IG1ha2VzIHNlZCB2NC4yLjItODQtZzc2ODkwMTUgZmFp bAp0byBjb21waWxlIHdoZW4gY29uZmlndXJlZCB3aXRoIC0tZW5hYmxlLWdjYy13YXJuaW5ncy4K LS0tCiBzZWQvc2VkLmMgfCAxICsKIDEgZmlsZSBjaGFuZ2VkLCAxIGluc2VydGlvbigrKQoKZGlm ZiAtLWdpdCBhL3NlZC9zZWQuYyBiL3NlZC9zZWQuYwppbmRleCAwODA1MzQ0Li44YTJkNzFkIDEw MDY0NAotLS0gYS9zZWQvc2VkLmMKKysrIGIvc2VkL3NlZC5jCkBAIC0yNCw2ICsyNCw3IEBACiAj aW5jbHVkZSA8c3RyaW5nLmg+CiAjaW5jbHVkZSA8c3RkbGliLmg+CiAjaW5jbHVkZSA8c3lzL3R5 cGVzLmg+CisjaW5jbHVkZSA8dW5pc3RkLmg+CiAjaW5jbHVkZSAiZ2V0b3B0LmgiCiAjaW5jbHVk ZSAicHJvZ25hbWUuaCIKICNpbmNsdWRlICJ2ZXJzaW9uLmgiCi0tIAoyLjMuNwoK --089e013a01ea1c13a50515bcde28-- From unknown Sat Aug 16 14:51:04 2025 Received: (at fakecontrol) by fakecontrolmessage; To: internal_control@debbugs.gnu.org From: Debbugs Internal Request Subject: Internal Control Message-Id: bug archived. Date: Mon, 08 Jun 2015 11:24:05 +0000 User-Agent: Fakemail v42.6.9 # This is a fake control message. # # The action: # bug archived. thanks # This fakemail brought to you by your local debbugs # administrator