From mboxrd@z Thu Jan 1 00:00:00 1970 Path: news.gmane.io!.POSTED.ciao.gmane.io!not-for-mail From: =?UTF-8?B?Sm/Do28gVMOhdm9yYQ==?= Newsgroups: gmane.emacs.devel Subject: Re: Proper namespaces in Elisp Date: Tue, 5 May 2020 22:29:52 +0100 Message-ID: References: <237fe643-c14d-5406-b35d-a30dcd42c5ed@gmail.com> <87v9lb1irk.fsf@t510.orion.oneofus.la> <87sggf193f.fsf@t510.orion.oneofus.la> <87k11q1ghn.fsf@t510.orion.oneofus.la> Mime-Version: 1.0 Content-Type: text/plain; charset="UTF-8" Content-Transfer-Encoding: quoted-printable Injection-Info: ciao.gmane.io; posting-host="ciao.gmane.io:159.69.161.202"; logging-data="44341"; mail-complaints-to="usenet@ciao.gmane.io" Cc: nic@ferrier.me.uk, =?UTF-8?Q?Cl=C3=A9ment_Pit=2DClaudel?= , emacs-devel To: Vladimir Sedach Original-X-From: emacs-devel-bounces+ged-emacs-devel=m.gmane-mx.org@gnu.org Tue May 05 23:31:23 2020 Return-path: Envelope-to: ged-emacs-devel@m.gmane-mx.org Original-Received: from lists.gnu.org ([209.51.188.17]) by ciao.gmane.io with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.92) (envelope-from ) id 1jW59u-000BRU-MQ for ged-emacs-devel@m.gmane-mx.org; Tue, 05 May 2020 23:31:22 +0200 Original-Received: from localhost ([::1]:40304 helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1jW59t-0001PW-Le for ged-emacs-devel@m.gmane-mx.org; Tue, 05 May 2020 17:31:21 -0400 Original-Received: from eggs.gnu.org ([2001:470:142:3::10]:57294) by lists.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1jW58h-0000ib-Nr for emacs-devel@gnu.org; Tue, 05 May 2020 17:30:09 -0400 Original-Received: from mail-io1-xd2e.google.com ([2607:f8b0:4864:20::d2e]:36399) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_128_GCM_SHA256:128) (Exim 4.90_1) (envelope-from ) id 1jW58g-0001UW-16 for emacs-devel@gnu.org; Tue, 05 May 2020 17:30:07 -0400 Original-Received: by mail-io1-xd2e.google.com with SMTP id k6so44374iob.3 for ; Tue, 05 May 2020 14:30:05 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20161025; h=mime-version:references:in-reply-to:from:date:message-id:subject:to :cc:content-transfer-encoding; bh=RtLFM4pr6TIudrGTe4DewIUiQUYUghtBD10dpEyjPk8=; b=mun5OtPLiwF8eQSAWKvobBpSVtqvkq9xHSkAt+d2wYbqQymJ60k/vlgrUv9259xnfE GQsbsvKRpa01vNf6GrvElv8GGz7oo5JfY4FpfE6g0tAz3ufoNucizsCLBj06QJJ7iAEx M3nmAo6reDjf17PHbUgE3MJut3PXX6b/su9k5yj4tHON0uOjOSVAk7HQMC9FNFGCDxA/ uE/2FHLi3LVJRGmPxtshB6Orl8YoHpbNBJHO+hkhbNsTbUArefN3RP7QON7SF8Gpettn dS4rCEqUwxP2Fff6XbodVdMvgQkXgVk9OXV45DkOTC3rYj4LhC+17Q7CzzvzgiR3/awX hOHg== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:mime-version:references:in-reply-to:from:date :message-id:subject:to:cc:content-transfer-encoding; bh=RtLFM4pr6TIudrGTe4DewIUiQUYUghtBD10dpEyjPk8=; b=ojtDPIXb1Q+ILBg9e6R73sBl7GllTcwC2gXpQywQb+WrUZM0ObKWz4asMqm5R106fr mCGF8nqhZukSap2xTauB+N8I3c2ThAPawhcNKcIuWBHV7L2Oc9KdFI2UpCVxEdIm/yHx 8mmRtOIwnXpcrAOT7J4uxZW+Ly4NtX8o0FxjEDf2SpMpJui+ZVkxijAz100yji0/pXua /SUW9WBiSCMZ3eYyJQ7NuwlDrJdgnBLBRjQO8UCB8cq7iFC7G6OPMneMk6xf7Qbzt5Qy 83aN92rdMgc5YwrOAfvNNMA1r96zyg4tJt5WYFqjJFr7KOV1H6s+I3sDn3y2kc/gDb48 iwyQ== X-Gm-Message-State: AGi0PuY9rup0GrkzNCRDA/sX6KvtyXdIPtGgJR8CbMXgk0iFxY7dqdJq diSJ337vC4ZllpCflyVJvNPV5N8HutybfkaPs2E= X-Google-Smtp-Source: APiQypIcr37TW7ETnvdDWShFkLi19SsFyACb2L8kt85h45NiW8eG3M5Lv+oP9WH29ol38R0WnJI3Fh9v8Q0Lm7CTNB8= X-Received: by 2002:a02:969a:: with SMTP id w26mr5407468jai.71.1588714204595; Tue, 05 May 2020 14:30:04 -0700 (PDT) In-Reply-To: <87k11q1ghn.fsf@t510.orion.oneofus.la> Received-SPF: pass client-ip=2607:f8b0:4864:20::d2e; envelope-from=joaotavora@gmail.com; helo=mail-io1-xd2e.google.com X-detected-operating-system: by eggs.gnu.org: No matching host in p0f cache. That's all we know. X-Spam_score_int: -10 X-Spam_score: -1.1 X-Spam_bar: - X-Spam_report: (-1.1 / 5.0 requ) BAYES_00=-1.9, DKIM_SIGNED=0.1, DKIM_VALID=-0.1, DKIM_VALID_AU=-0.1, DKIM_VALID_EF=-0.1, FREEMAIL_FROM=0.001, FROM_EXCESS_BASE64=0.979, RCVD_IN_DNSWL_NONE=-0.0001, SPF_PASS=-0.001, URIBL_BLOCKED=0.001 autolearn=_AUTOLEARN X-Spam_action: no action X-BeenThere: emacs-devel@gnu.org X-Mailman-Version: 2.1.23 Precedence: list List-Id: "Emacs development discussions." List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: emacs-devel-bounces+ged-emacs-devel=m.gmane-mx.org@gnu.org Original-Sender: "Emacs-devel" Xref: news.gmane.io gmane.emacs.devel:249049 Archived-At: On Tue, May 5, 2020 at 5:41 PM Vladimir Sedach wrote: > Jo=C3=A3o T=C3=A1vora writes: > >> 1. Library ABC version 1 does not define or export FUNC1. > >> 2. Package XYZ :uses ABC, importing all of ABC's exported symbols. > >> 3. Package XYZ defines FUNC1 for internal use. There is no problem. > >> 4. Library ABC version 1.1 defines and exports FUNC1. > >> 5. When XYZ is loaded with ABC version 1.1, XYZ unintentionally > >> overrides the definition of FUNC1 for all users of ABC. > > > > In which implementation of CL? In the ones I know, step 5 > > will get you an error, exactly describing the conflict, > > which you handle interactively or automhatically. > > That (NAME-CONFLICT error) only happens at run-time if you have ABC > version 1 already loaded, load XYZ, then load ABC version 1.1. > > If you install XYZ, and ABC version 1.1 is pulled in as a dependency, > the only thing you might see is a warning that FUNC1 is being > re-defined. Ah, but that wasn't your recipe 1-5 step, was it? Anyway, it sounds like you're describing dependencies failure. The author of XYZ should probably say that his package requires ABC 1.0. Or start paying attention to warnings. Or stop `:USE` of packages of systems whose code he doesn't control. This is a problem that happens in other languages. Also note: I don't know what you use to "pull in dependencies", but quicklisp in particular won't let this happen, since it works in distributions. Packages within a dist are compatible between them, that is checked by automated tests. Much like GNU ELPA. So the things you think happen, really just don't happen IRL. Jo=C3=A3o