From mboxrd@z Thu Jan 1 00:00:00 1970 Path: news.gmane.io!.POSTED.ciao.gmane.io!not-for-mail From: Philippe Vaucher Newsgroups: gmane.emacs.devel Subject: Re: Namespacing Emacs's core (was: [ELPA] New package: transient) Date: Thu, 30 Apr 2020 20:56:53 +0200 Message-ID: References: <87ftcnxu5m.fsf@bernoul.li> <83y2qezlpd.fsf@gnu.org> <83tv12zjx1.fsf@gnu.org> <20200429101755.GF24737@tuxteam.de> <83pnbqzimz.fsf@gnu.org> <20200429105233.GG24737@tuxteam.de> <20200430132812.GD1444@tuxteam.de> Mime-Version: 1.0 Content-Type: multipart/alternative; boundary="00000000000056541805a486a263" Injection-Info: ciao.gmane.io; posting-host="ciao.gmane.io:159.69.161.202"; logging-data="109841"; mail-complaints-to="usenet@ciao.gmane.io" Cc: tomas@tuxteam.de, Arthur Miller , Emacs developers To: Stefan Monnier Original-X-From: emacs-devel-bounces+ged-emacs-devel=m.gmane-mx.org@gnu.org Thu Apr 30 21:03:55 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 1jUETT-000SSd-6u for ged-emacs-devel@m.gmane-mx.org; Thu, 30 Apr 2020 21:03:55 +0200 Original-Received: from localhost ([::1]:55010 helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1jUETS-0001ZD-1I for ged-emacs-devel@m.gmane-mx.org; Thu, 30 Apr 2020 15:03:54 -0400 Original-Received: from eggs.gnu.org ([2001:470:142:3::10]:42528) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1jUEN8-0000lJ-N0 for emacs-devel@gnu.org; Thu, 30 Apr 2020 14:57:23 -0400 Original-Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.90_1) (envelope-from ) id 1jUEN8-0000sJ-27 for emacs-devel@gnu.org; Thu, 30 Apr 2020 14:57:22 -0400 Original-Received: from mail-lj1-x22d.google.com ([2a00:1450:4864:20::22d]:42187) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_128_GCM_SHA256:128) (Exim 4.90_1) (envelope-from ) id 1jUEN7-0000rz-Jl for emacs-devel@gnu.org; Thu, 30 Apr 2020 14:57:21 -0400 Original-Received: by mail-lj1-x22d.google.com with SMTP id a21so444235ljb.9 for ; Thu, 30 Apr 2020 11:57:21 -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; bh=xuW1p/4FzqHk1Pgrs/YCIwZPgijs6MgqDhVkDXEaOaA=; b=n9xlfoDOHD4K17SSSbcDcR/IZDesR3mgV7jvunmCtEE4bw2Du2AiChCUaeSuteqtMF gnP+/kunx/4N6Ksfw+c1vQCDOM5Br8qrQlqE44GFTjM4tfyrC6fI00HMZhHOHT/syXxw sGuyvOxezlBEnYWSnEpGnOIidQrfrxKcc/mJqJygzL3zKjfQWytjgBh3Yo3dGTwIbGGV O9DGMACpHSt0o58N/Mz/A6HO7MhM6X6/AP6ldTCIGuAKtGYTszjv94fdv+VxN8aRbdOu VPuo8NNzF5BBktaPUHj8oOlUTKt7sGCzeM8zeIdGIoYnarLPGT25bjmtNVzJO5QwJXjD ev1g== 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; bh=xuW1p/4FzqHk1Pgrs/YCIwZPgijs6MgqDhVkDXEaOaA=; b=Ant+NiRvYdTqVTRFv9FLdqYqPsOC8LlRaqTF5vHhjgHDSZ4FqIkEDBUE68vcHrdSon V4yVcDszrtroAlA+QUyZMXjGMDVqjw2VIuUmBkH0X7PsL6b+3N2eBGStdqHoBL8f1HEH TE50IsAADDcF4r++n7zDcaJchWzmsnpYF8IbEzbWPVeThxkMzffcoIDIQA3ZTUb4Xs5p pmdAX/0lvLYdf+DsjisVe+eKAK1HMkcX/albM5yTy74kOGGza7sMiZBxlMkC8TmX7FRB XyyLbTqeveYPaQmGxRErCtFOsmFvGdnGlq8Zg/yC0V9EcnauK9NQPv5QtuTdPRxTrsH2 O3DQ== X-Gm-Message-State: AGi0Pubmy0AozAldhrqpqVb/9VhiqGRZsch8bHJ+lnWfRMW9h+cIa6CM W1oSQlOfZHH3Du1y5QwoDJlS0I9dympkqEBqRBPRoPubbYw= X-Google-Smtp-Source: APiQypJMa33Aw1/X+AdaTMYzEZ3tAcdcBe4R5fJci35oR0+Qu1NsPbEOH2jt2c42bh/CCwRCaN3hqV+sW/viR2tcsGs= X-Received: by 2002:a05:651c:2011:: with SMTP id s17mr176598ljo.242.1588273039691; Thu, 30 Apr 2020 11:57:19 -0700 (PDT) In-Reply-To: Received-SPF: pass client-ip=2a00:1450:4864:20::22d; envelope-from=philippe.vaucher@gmail.com; helo=mail-lj1-x22d.google.com X-detected-operating-system: by eggs.gnu.org: Error: [-] PROGRAM ABORT : Malformed IPv6 address (bad octet value). Location : parse_addr6(), p0f-client.c:67 X-Received-From: 2a00:1450:4864:20::22d 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:248267 Archived-At: --00000000000056541805a486a263 Content-Type: text/plain; charset="UTF-8" Content-Transfer-Encoding: quoted-printable I realise after everything I said that I forgot to link to Emacs coding conventions in my initial post: https://www.gnu.org/software/emacs/manual/html_node/elisp/Coding-Convention= s.html "You should choose a short word to distinguish your program from other Lisp programs. The names of all global symbols in your program, that is the names of variables, constants, and functions, should begin with that chosen prefix. Separate the prefix from the rest of the name with a hyphen, =E2=80= =98-=E2=80=99. This practice helps avoid name conflicts, since all global variables in Emacs Lisp share the same name space, and all functions share another name space1. Use two hyphens to separate prefix and name if the symbol is not meant to be used by other packages." I'm sorry if I missexpressed or wasn't clear enough: I don't want to rename the world. I just think the emacs API would be more clear if it was better namespaced, and that many tools would benefit from it. To better namespace it I proposed to add aliases. What to alias, when, where and how is all up to discussion. Kind regards, Philippe > --00000000000056541805a486a263 Content-Type: text/html; charset="UTF-8" Content-Transfer-Encoding: quoted-printable
I realise after everything I said that I forgot to li= nk to Emacs coding conventions in my initial post:

https://www.gnu.org/software/emacs/manual/html_node/eli= sp/Coding-Conventions.html

"You shoul= d choose a short word to distinguish your program from other Lisp programs.= The names of all global symbols in your program, that is the names of vari= ables, constants, and functions, should begin with that chosen prefix. Sepa= rate the prefix from the rest of the name with a hyphen, =E2=80=98-=E2=80= =99. This practice helps avoid name conflicts, since all global variables i= n Emacs Lisp share the same name space, and all functions share another nam= e space1. Use two hyphens to separate prefix and name if the symbol is not = meant to be used by other packages."

I'm = sorry if I missexpressed=C2=A0or wasn't clear enough: I don't want = to rename the world. I just think the emacs API would be more clear if it w= as better namespaced, and that many tools would benefit from it. To better = namespace it I proposed to add aliases.

What to alias, when, where a= nd how is all up to discussion.

Kind regards,
Philippe
--00000000000056541805a486a263--