From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (qmail 21410 invoked by alias); 6 Oct 2009 18:13:19 -0000 Received: (qmail 21401 invoked by uid 22791); 6 Oct 2009 18:13:17 -0000 X-SWARE-Spam-Status: No, hits=-1.8 required=5.0 tests=AWL,BAYES_00,SARE_MSGID_LONG40,SPF_HELO_PASS,SPF_PASS X-Spam-Check-By: sourceware.org Received: from smtp-out.google.com (HELO smtp-out.google.com) (216.239.33.17) by sourceware.org (qpsmtpd/0.43rc1) with ESMTP; Tue, 06 Oct 2009 18:13:13 +0000 Received: from spaceape13.eur.corp.google.com (spaceape13.eur.corp.google.com [172.28.16.147]) by smtp-out.google.com with ESMTP id n96IDAcQ004340 for ; Tue, 6 Oct 2009 19:13:11 +0100 Received: from pxi12 (pxi12.prod.google.com [10.243.27.12]) by spaceape13.eur.corp.google.com with ESMTP id n96ID6P9011315 for ; Tue, 6 Oct 2009 11:13:07 -0700 Received: by pxi12 with SMTP id 12so4106922pxi.9 for ; Tue, 06 Oct 2009 11:13:06 -0700 (PDT) MIME-Version: 1.0 Received: by 10.141.34.20 with SMTP id m20mr293710rvj.120.1254852786104; Tue, 06 Oct 2009 11:13:06 -0700 (PDT) In-Reply-To: <20091006021038.70688843AC@ruffy.mtv.corp.google.com> References: <20091006021038.70688843AC@ruffy.mtv.corp.google.com> Date: Tue, 06 Oct 2009 18:13:00 -0000 Message-ID: Subject: Re: [RFC] Make "directories" a variable From: Doug Evans To: gdb-patches@sourceware.org, tromey@redhat.com Content-Type: multipart/mixed; boundary=000e0cd1538c8fa9600475482e35 X-System-Of-Record: true X-IsSubscribed: yes Mailing-List: contact gdb-patches-help@sourceware.org; run by ezmlm Precedence: bulk List-Id: List-Subscribe: List-Archive: List-Post: List-Help: , Sender: gdb-patches-owner@sourceware.org X-SW-Source: 2009-10/txt/msg00139.txt.bz2 --000e0cd1538c8fa9600475482e35 Content-Type: text/plain; charset=ISO-8859-1 Content-length: 1663 On Mon, Oct 5, 2009 at 7:10 PM, Doug Evans wrote: > Hi. > > I needed to be able to reference source_path from python, > but it's not possible today because it's not a parameter > (in the python gdb.parameter sense, and the alternative > of adding a patch to allow capturing the output of "show dir" > feels like a hack). > > This patch makes it a parameter, > and I'm looking for early feedback on this approach. > > I like the addition of "set directories mumble", but that's just me, > and I know better than to be wedded to it. :-) > An alternative is to making directories a variable without a setter, > or have "set dir mumble" flag an error and referring the user to > the "dir" command. > The way I look at it, "dir" is just a wrapper around "set dir". > Today "set dir" is "private/protected" (so to speak), and the public > interface is the "dir" command. > I don't have a strong opinion on making "set dir" "public", but > I do think, though, that source_path should be a parameter. > > There's no current entry for "directory search list" in > enum var_types, but there are at least two variables that > are directory search lists (directories and libthread-db-search-path). > Adding enum var_dir_search_list (or some such) is a reasonable way to go. > I haven't done that yet pending approval of making "directories" a > parameter. > > Tom suggested in IRC returning a list in python. > I don't have a strong opinion on that either, > it's trivial for the user to work with either form. > > doc updates also deferred pending positive feedback. Heh. add_path is smarter than I thought. Here is a revised patch (a little bit simpler). --000e0cd1538c8fa9600475482e35 Content-Type: text/plain; charset=US-ASCII; name="gdb-091006-dir-param-2.patch.txt" Content-Disposition: attachment; filename="gdb-091006-dir-param-2.patch.txt" Content-Transfer-Encoding: base64 X-Attachment-Id: f_g0gyx6kk0 Content-length: 8235 MjAwOS0xMC0wNSAgRG91ZyBFdmFucyAgPGRqZUBnb29nbGUuY29tPgoKCU1h a2UgImRpcmVjdG9yaWVzIiBhIHZhcmlhYmxlIHNvIGdkYi5wYXJhbWV0ZXIg KCJkaXJlY3RvcmllcyIpCgl3b3JrcyBmcm9tIHB5dGhvbi4KCSogc291cmNl LmMgKHNvdXJjZV9wYXRoXzEpOiBOZXcgc3RhdGljIGdsb2JhbC4KCShzZXRf ZGlyZWN0b3JpZXNfY29tbWFuZCk6IE5ldyBmdW5jdGlvbi4KCShzaG93X2Rp cmVjdG9yaWVzXzEpOiBSZW5hbWVkIGZyb20gc2hvd19kaXJlY3RvcmllcywK CWFsbCBjYWxsZXJzIHVwZGF0ZWQuCgkoc2hvd19kaXJlY3Rvcmllc19jb21t YW5kKTogTmV3IGZ1bmN0aW9uLgoJKF9pbml0aWFsaXplX3NvdXJjZSk6IFJl bW92ZSAiZGlyZWN0b3JpZXMiIGFkZF9jbWQsIHJlcGxhY2Ugd2l0aAoJYWRk X3NldHNob3dfb3B0aW9uYWxfZmlsZW5hbWVfY21kLgoKCSogdGVzdHN1aXRl L2dkYi5iYXNlL2hlbHAuZXhwIChzaG93IGRpcmVjdG9yaWVzKTogVXBkYXRl IGV4cGVjdGVkCglvdXRwdXQuCgpJbmRleDogc291cmNlLmMKPT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PQpSQ1MgZmlsZTogL2N2cy9zcmMvc3JjL2dkYi9zb3Vy Y2UuYyx2CnJldHJpZXZpbmcgcmV2aXNpb24gMS4xMDQKZGlmZiAtdSAtcCAt cjEuMTA0IHNvdXJjZS5jCi0tLSBzb3VyY2UuYwkyMiBTZXAgMjAwOSAyMjoz NDoxNyAtMDAwMAkxLjEwNAorKysgc291cmNlLmMJNiBPY3QgMjAwOSAxODow Njo1NCAtMDAwMApAQCAtNjYsNyArNjYsMTAgQEAgc3RhdGljIHZvaWQgbGlu ZV9pbmZvIChjaGFyICosIGludCk7CiAKIHN0YXRpYyB2b2lkIHNvdXJjZV9p bmZvIChjaGFyICosIGludCk7CiAKLXN0YXRpYyB2b2lkIHNob3dfZGlyZWN0 b3JpZXMgKGNoYXIgKiwgaW50KTsKKy8qICJzZXQgZGlyZWN0b3JpZXMgZm9v IiBzdG9yZXMgdGhlIHZhbHVlIGhlcmUsCisgICB3aGljaCBpcyBsYXRlciBj b3BpZWQgdG8gU09VUkNFX1BBVEggYnkgc2V0X2RpcmVjdG9yaWVzLiAgKi8K Kworc3RhdGljIGNoYXIgKnNvdXJjZV9wYXRoXzE7CiAKIC8qIFBhdGggb2Yg ZGlyZWN0b3JpZXMgdG8gc2VhcmNoIGZvciBzb3VyY2UgZmlsZXMuCiAgICBT YW1lIGZvcm1hdCBhcyB0aGUgUEFUSCBlbnZpcm9ubWVudCB2YXJpYWJsZSdz IHZhbHVlLiAgKi8KQEAgLTMwMywxMyArMzA2LDM2IEBAIHNlbGVjdF9zb3Vy Y2Vfc3ltdGFiIChzdHJ1Y3Qgc3ltdGFiICpzKQogfQogDAogc3RhdGljIHZv aWQKLXNob3dfZGlyZWN0b3JpZXMgKGNoYXIgKmlnbm9yZSwgaW50IGZyb21f dHR5KQorc2V0X2RpcmVjdG9yaWVzX2NvbW1hbmQgKGNoYXIgKmFyZ3MsIGlu dCBmcm9tX3R0eSwgc3RydWN0IGNtZF9saXN0X2VsZW1lbnQgKmMpCit7Cisg IC8qICJzZXQgZGlyIG11bWJsZSIgZG9lc24ndCBwcmVwZW5kIHBhdGhzLCBp dCByZXNldHMgdGhlIGVudGlyZQorICAgICBwYXRoIGxpc3QuICBUaGUgdGhl b3J5IGlzIHRoYXQgc2V0KHNob3coZGlyKSkgc2hvdWxkIGJlIGEgbm8tb3Au ICAqLworCisgIC8qIFdlIHByZXNlcnZlIHRoZSBpbnZhcmlhbnQgdGhhdCAk Y2RpcjokY3dkIGJlZ2lucyBsaWZlIGF0IHRoZSBlbmQgb2YKKyAgICAgdGhl IGxpc3QgYnkgY2FsbGluZyBpbml0X3NvdXJjZV9wYXRoLiAgSWYgdGhleSBh cHBlYXIgZWFybGllciBpbgorICAgICBTT1VSQ0VfUEFUSF8xIHRoZW4gbW9k X3BhdGggd2lsbCBtb3ZlIHRoZW0gYXBwcm9wcmlhdGVseS4KKyAgICAgbW9k X3BhdGggd2lsbCBhbHNvIHJlbW92ZSBkdXBsaWNhdGVzLiAgKi8KKyAgeGZy ZWUgKHNvdXJjZV9wYXRoKTsKKyAgaW5pdF9zb3VyY2VfcGF0aCAoKTsKKyAg aWYgKCpzb3VyY2VfcGF0aF8xICE9ICdcMCcpCisgICAgbW9kX3BhdGggKHNv dXJjZV9wYXRoXzEsICZzb3VyY2VfcGF0aCk7Cit9CisKK3N0YXRpYyB2b2lk CitzaG93X2RpcmVjdG9yaWVzXzEgKGNoYXIgKmlnbm9yZSwgaW50IGZyb21f dHR5KQogewogICBwdXRzX2ZpbHRlcmVkICgiU291cmNlIGRpcmVjdG9yaWVz IHNlYXJjaGVkOiAiKTsKICAgcHV0c19maWx0ZXJlZCAoc291cmNlX3BhdGgp OwogICBwdXRzX2ZpbHRlcmVkICgiXG4iKTsKIH0KIAorc3RhdGljIHZvaWQK K3Nob3dfZGlyZWN0b3JpZXNfY29tbWFuZCAoc3RydWN0IHVpX2ZpbGUgKmZp bGUsIGludCBmcm9tX3R0eSwKKwkJCSAgc3RydWN0IGNtZF9saXN0X2VsZW1l bnQgKmMsIGNvbnN0IGNoYXIgKnZhbHVlKQoreworICBzaG93X2RpcmVjdG9y aWVzXzEgKE5VTEwsIGZyb21fdHR5KTsKK30KKwogLyogRm9yZ2V0IHdoYXQg d2UgbGVhcm5lZCBhYm91dCBsaW5lIHBvc2l0aW9ucyBpbiBzb3VyY2UgZmls ZXMsIGFuZAogICAgd2hpY2ggZGlyZWN0b3JpZXMgY29udGFpbiB0aGVtOyBt dXN0IGNoZWNrIGFnYWluIG5vdyBzaW5jZSBmaWxlcwogICAgbWF5IGJlIGZv dW5kIGluIGEgZGlmZmVyZW50IGRpcmVjdG9yeSBub3cuICAqLwpAQCAtMzgx LDcgKzQwNyw3IEBAIGRpcmVjdG9yeV9jb21tYW5kIChjaGFyICpkaXJuYW1l LCBpbnQgZnIKICAgICAgIGZvcmdldF9jYWNoZWRfc291cmNlX2luZm8gKCk7 CiAgICAgfQogICBpZiAoZnJvbV90dHkpCi0gICAgc2hvd19kaXJlY3Rvcmll cyAoKGNoYXIgKikgMCwgZnJvbV90dHkpOworICAgIHNob3dfZGlyZWN0b3Jp ZXNfMSAoKGNoYXIgKikgMCwgZnJvbV90dHkpOwogfQogCiAvKiBBZGQgYSBw YXRoIGdpdmVuIHdpdGggdGhlIC1kIGNvbW1hbmQgbGluZSBzd2l0Y2guCkBA IC0xOTI2LDYgKzE5NTIsNyBAQCB2b2lkCiBfaW5pdGlhbGl6ZV9zb3VyY2Ug KHZvaWQpCiB7CiAgIHN0cnVjdCBjbWRfbGlzdF9lbGVtZW50ICpjOworCiAg IGN1cnJlbnRfc291cmNlX3N5bXRhYiA9IDA7CiAgIGluaXRfc291cmNlX3Bh dGggKCk7CiAKQEAgLTE5NDgsMTYgKzE5NzUsMjcgQEAgV2l0aCBubyBhcmd1 bWVudCwgcmVzZXQgdGhlIHNlYXJjaCBwYXRoIAogCiAgIHNldF9jbWRfY29t cGxldGVyIChjLCBmaWxlbmFtZV9jb21wbGV0ZXIpOwogCi0gIGFkZF9jbWQg KCJkaXJlY3RvcmllcyIsIG5vX2NsYXNzLCBzaG93X2RpcmVjdG9yaWVzLCBf KCJcCi1DdXJyZW50IHNlYXJjaCBwYXRoIGZvciBmaW5kaW5nIHNvdXJjZSBm aWxlcy5cblwKKyAgYWRkX3NldHNob3dfb3B0aW9uYWxfZmlsZW5hbWVfY21k ICgiZGlyZWN0b3JpZXMiLAorCQkJCSAgICAgY2xhc3NfZmlsZXMsCisJCQkJ ICAgICAmc291cmNlX3BhdGhfMSwKKwkJCQkgICAgIF8oIlwKK1NldCB0aGUg c2VhcmNoIHBhdGggZm9yIGZpbmRpbmcgc291cmNlIGZpbGVzLiIpLAorCQkJ CSAgICAgXygiXAorU2hvdyB0aGUgc2VhcmNoIHBhdGggZm9yIGZpbmRpbmcg c291cmNlIGZpbGVzLiIpLAorCQkJCSAgICAgXygiXAogJGN3ZCBpbiB0aGUg cGF0aCBtZWFucyB0aGUgY3VycmVudCB3b3JraW5nIGRpcmVjdG9yeS5cblwK LSRjZGlyIGluIHRoZSBwYXRoIG1lYW5zIHRoZSBjb21waWxhdGlvbiBkaXJl Y3Rvcnkgb2YgdGhlIHNvdXJjZSBmaWxlLiIpLAotCSAgICZzaG93bGlzdCk7 CiskY2RpciBpbiB0aGUgcGF0aCBtZWFucyB0aGUgY29tcGlsYXRpb24gZGly ZWN0b3J5IG9mIHRoZSBzb3VyY2UgZmlsZS5cblwKK0dEQiBlbnN1cmVzIHRo ZSBzZWFyY2ggcGF0aCBhbHdheXMgZW5kcyB3aXRoICRjZGlyOiRjd2QgYnlc blwKK2FwcGVuZGluZyB0aGVzZSBwYXRocyBpZiBuZWNlc3NhcnkuXG5cCitT ZXR0aW5nIHRoZSB2YWx1ZSB0byBhbiBlbXB0eSBzdHJpbmcgc2V0cyBpdCB0 byAkY2RpcjokY3dkLCB0aGUgZGVmYXVsdC4iKSwKKwkJCSAgICBzZXRfZGly ZWN0b3JpZXNfY29tbWFuZCwKKwkJCSAgICBzaG93X2RpcmVjdG9yaWVzX2Nv bW1hbmQsCisJCQkgICAgJnNldGxpc3QsICZzaG93bGlzdCk7CiAKICAgaWYg KHhkYl9jb21tYW5kcykKICAgICB7CiAgICAgICBhZGRfY29tX2FsaWFzICgi RCIsICJkaXJlY3RvcnkiLCBjbGFzc19maWxlcywgMCk7Ci0gICAgICBhZGRf Y21kICgibGQiLCBub19jbGFzcywgc2hvd19kaXJlY3RvcmllcywgXygiXAor ICAgICAgYWRkX2NtZCAoImxkIiwgbm9fY2xhc3MsIHNob3dfZGlyZWN0b3Jp ZXNfMSwgXygiXAogQ3VycmVudCBzZWFyY2ggcGF0aCBmb3IgZmluZGluZyBz b3VyY2UgZmlsZXMuXG5cCiAkY3dkIGluIHRoZSBwYXRoIG1lYW5zIHRoZSBj dXJyZW50IHdvcmtpbmcgZGlyZWN0b3J5LlxuXAogJGNkaXIgaW4gdGhlIHBh dGggbWVhbnMgdGhlIGNvbXBpbGF0aW9uIGRpcmVjdG9yeSBvZiB0aGUgc291 cmNlIGZpbGUuIiksCkluZGV4OiB0ZXN0c3VpdGUvZ2RiLmJhc2UvaGVscC5l eHAKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PQpSQ1MgZmlsZTogL2N2cy9zcmMv c3JjL2dkYi90ZXN0c3VpdGUvZ2RiLmJhc2UvaGVscC5leHAsdgpyZXRyaWV2 aW5nIHJldmlzaW9uIDEuMzUKZGlmZiAtdSAtcCAtcjEuMzUgaGVscC5leHAK LS0tIHRlc3RzdWl0ZS9nZGIuYmFzZS9oZWxwLmV4cAkxMyBBdWcgMjAwOSAx NDo1ODoyNyAtMDAwMAkxLjM1CisrKyB0ZXN0c3VpdGUvZ2RiLmJhc2UvaGVs cC5leHAJNiBPY3QgMjAwOSAxODowNjo1NCAtMDAwMApAQCAtNTEzLDcgKzUx Myw3IEBAIGdkYl90ZXN0ICJoZWxwIHNob3cgY29uZmlybSIgIlNob3cgd2hl dGgKICMgdGVzdCBoZWxwIHNob3cgY29udmVuaWVuY2UKIGdkYl90ZXN0ICJo ZWxwIHNob3cgY29udmVuaWVuY2UiICJEZWJ1Z2dlciBjb252ZW5pZW5jZSBc XChcIlxcXCRmb29cIlxcKSB2YXJpYWJsZXNcLlxbXHJcblxdK1RoZXNlIHZh cmlhYmxlcyBhcmUgY3JlYXRlZCB3aGVuIHlvdSBhc3NpZ24gdGhlbSB2YWx1 ZXM7XFtcclxuXF0rdGh1cywgXCJwcmludCBcXFwkZm9vPTFcIiBnaXZlcyBc IlxcXCRmb29cIiB0aGUgdmFsdWUgMVwuICBWYWx1ZXMgbWF5IGJlIGFueSB0 eXBlXC5cW1xyXG5cXStBIGZldyBjb252ZW5pZW5jZSB2YXJpYWJsZXMgYXJl IGdpdmVuIHZhbHVlcyBhdXRvbWF0aWNhbGx5OlxbXHJcblxdK1wiXFxcJF9c ImhvbGRzIHRoZSBsYXN0IGFkZHJlc3MgZXhhbWluZWQgd2l0aCBcInhcIiBv ciBcImluZm8gbGluZXNcIixcW1xyXG5cXStcIlxcXCRfX1wiIGhvbGRzIHRo ZSBjb250ZW50cyBvZiB0aGUgbGFzdCBhZGRyZXNzIGV4YW1pbmVkIHdpdGgg XCJ4XCJcLiIgImhlbHAgc2hvdyBjb252ZW5pZW5jZSIKICMgdGVzdCBoZWxw IHNob3cgZGlyZWN0b3JpZXMKLWdkYl90ZXN0ICJoZWxwIHNob3cgZGlyZWN0 b3JpZXMiICJDdXJyZW50IHNlYXJjaCBwYXRoIGZvciBmaW5kaW5nIHNvdXJj ZSBmaWxlc1wuXFtcclxuXF0rXFxcJGN3ZCBpbiB0aGUgcGF0aCBtZWFucyB0 aGUgY3VycmVudCB3b3JraW5nIGRpcmVjdG9yeVwuXFtcclxuXF0rXFxcJGNk aXIgaW4gdGhlIHBhdGggbWVhbnMgdGhlIGNvbXBpbGF0aW9uIGRpcmVjdG9y eSBvZiB0aGUgc291cmNlIGZpbGVcLiIgImhlbHAgc2hvdyBkaXJlY3Rvcmll cyIKK2dkYl90ZXN0ICJoZWxwIHNob3cgZGlyZWN0b3JpZXMiICJTaG93IHRo ZSBzZWFyY2ggcGF0aCBmb3IgZmluZGluZyBzb3VyY2UgZmlsZXNcLlxbXHJc blxdK1xcXCRjd2QgaW4gdGhlIHBhdGggbWVhbnMgdGhlIGN1cnJlbnQgd29y a2luZyBkaXJlY3RvcnlcLlxbXHJcblxdK1xcXCRjZGlyIGluIHRoZSBwYXRo IG1lYW5zIHRoZSBjb21waWxhdGlvbiBkaXJlY3Rvcnkgb2YgdGhlIHNvdXJj ZSBmaWxlXC4uKiIgImhlbHAgc2hvdyBkaXJlY3RvcmllcyIKICMgdGVzdCBo ZWxwIHNob3cgZWRpdGluZwogZ2RiX3Rlc3QgImhlbHAgc2hvdyBlZGl0aW5n IiAiU2hvdyBlZGl0aW5nIG9mIGNvbW1hbmQgbGluZXMgYXMgdGhleSBhcmUg dHlwZWRcLlxbXHJcblxdK1VzZSBcIm9uXCIgdG8gZW5hYmxlIHRoZSBlZGl0 aW5nLCBhbmQgXCJvZmZcIiB0byBkaXNhYmxlIGl0XC5cW1xyXG5cXStXaXRo b3V0IGFuIGFyZ3VtZW50LCBjb21tYW5kIGxpbmUgZWRpdGluZyBpcyBlbmFi bGVkXC4gIFRvIGVkaXQsIHVzZVxbXHJcblxdK0VNQUNTLWxpa2Ugb3IgVkkt bGlrZSBjb21tYW5kcyBsaWtlIGNvbnRyb2wtUCBvciBFU0NcLiIgImhlbHAg c2hvdyBlZGl0aW5nIgogIyB0ZXN0IGhlbHAgc2hvdyBlbnZpcm9ubWVudAo= --000e0cd1538c8fa9600475482e35--