Return-Path: X-Original-To: notmuch@notmuchmail.org Delivered-To: notmuch@notmuchmail.org Received: from localhost (localhost [127.0.0.1]) by arlo.cworth.org (Postfix) with ESMTP id CA1276DE0B2F for ; Mon, 7 Dec 2015 14:54:25 -0800 (PST) X-Virus-Scanned: Debian amavisd-new at cworth.org X-Spam-Flag: NO X-Spam-Score: -0.09 X-Spam-Level: X-Spam-Status: No, score=-0.09 tagged_above=-999 required=5 tests=[AWL=-0.090] autolearn=disabled Received: from arlo.cworth.org ([127.0.0.1]) by localhost (arlo.cworth.org [127.0.0.1]) (amavisd-new, port 10024) with ESMTP id b50NWogGh1Tz for ; Mon, 7 Dec 2015 14:54:24 -0800 (PST) Received: from che.mayfirst.org (che.mayfirst.org [209.234.253.108]) by arlo.cworth.org (Postfix) with ESMTP id 0C3486DE0B29 for ; Mon, 7 Dec 2015 14:54:23 -0800 (PST) Received: from fifthhorseman.net (ool-6c3a0662.static.optonline.net [108.58.6.98]) by che.mayfirst.org (Postfix) with ESMTPSA id 6066FF984 for ; Mon, 7 Dec 2015 17:54:22 -0500 (EST) Received: by fifthhorseman.net (Postfix, from userid 1000) id 7B83F1FF49; Mon, 7 Dec 2015 17:54:21 -0500 (EST) From: Daniel Kahn Gillmor To: notmuch mailing list Subject: NOTMUCH_STATUS_LAST_STATUS problematic across additive library upgrades User-Agent: Notmuch/0.21 (http://notmuchmail.org) Emacs/24.5.1 (x86_64-pc-linux-gnu) Date: Mon, 07 Dec 2015 17:54:21 -0500 Message-ID: <87y4d5q38i.fsf@alice.fifthhorseman.net> MIME-Version: 1.0 Content-Type: text/plain X-BeenThere: notmuch@notmuchmail.org X-Mailman-Version: 2.1.20 Precedence: list List-Id: "Use and development of the notmuch mail system." List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Mon, 07 Dec 2015 22:54:25 -0000 hi notmuch folks-- notmuch_status_t is an enum that counts up to NOTMUCH_STATUS_LAST_STATUS. This is fine for work within the library itself, but it seems problematic to expose it to users of the library. In particular, if a user builds against version X of the library, then version X+1 is released with a new status code (but no backward-incompatible API/ABI changes that would require an SONAME bump), then the value of NOTMUCH_STATUS_LAST_STATUS would change, but the application using notmuch wouldn't know about it. Is this something we should be concerned about? I don't know why or when a library user might try to make use of NOTMUCH_STATUS_LAST_STATUS, but it's also exposed in the go bindings, so it's leaking out quite a bit. --dkg