Won't it be better to have a convention that allows lowercase, dash, underscore and dot as only valid characters for new package names and keep the ancient format validation scheme for older package names? This could be implemented by a single function, taking a strictNaming_b_1 parameter which defaults to true. Easy to use, and compliance results will vary according to the parameter value, allowing strict compliance for new package names and lazy compliance for older ones. Doing so allows to enforce a new package name convention while also insuring continuity of compliance for already existing package names. Fabien GELINEAU alias Neonira Le ven. 9 ao?t 2019 ? 18:40, Kevin Wright <kw.stat at gmail.com> a ?crit :> Please, no. I'd also like to disallow uppercase letters in package names. > For instance, the cuteness of using a capital "R" in package names is > outweighed by the annoyance of trying to remember which packages use an > upper-case letter. > > On Thu, Aug 8, 2019 at 9:32 AM Jim Hester <james.f.hester at gmail.com> > wrote: > > > Are there technical reasons that package names cannot be snake case? > > This seems to be enforced by `.standard_regexps()$valid_package_name` > > which currently returns > > > > "[[:alpha:]][[:alnum:].]*[[:alnum:]]" > > > > Is there any technical reason this couldn't be altered to accept `_` > > as well, e.g. > > > > "[[:alpha:]][[:alnum:]._]*[[:alnum:]]" > > > > I realize that historically `_` has not always been valid in variable > > names, but this has now been acceptable for 15+ years (since R 1.9.0 I > > believe). Might we also allow underscores for package names? > > > > Jim > > > > ______________________________________________ > > R-devel at r-project.org mailing list > > https://stat.ethz.ch/mailman/listinfo/r-devel > > > > > -- > Kevin Wright > > [[alternative HTML version deleted]] > > ______________________________________________ > R-devel at r-project.org mailing list > https://stat.ethz.ch/mailman/listinfo/r-devel >[[alternative HTML version deleted]]
Creeping code complexity ... I like to think that the cuteR names will have a Darwinian disadvantage in the long run. FWIW Hadley Wickham argues (rightly, I think) against mixed-case names: http://r-pkgs.had.co.nz/package.html#naming. I too am guilty of picking mixed-case package names in the past. Extra credit if the package name and the standard function have different cases! e.g. glmmADMB::glmmadmb(), although (a) that wasn't my choice and (b) at least it was never on CRAN and (c) it wasn't one of the cuteR variety. Bonus points for the first analysis of case conventions in existing CRAN package names ... I'll start.> a1 <- rownames(available.packages()) > cute <- "[a-z]*R[a-z]*" > table(grepl(cute,a1))FALSE TRUE 12565 2185 On 2019-08-09 2:00 p.m., neonira Arinoem wrote:> Won't it be better to have a convention that allows lowercase, dash, > underscore and dot as only valid characters for new package names and keep > the ancient format validation scheme for older package names? > > This could be implemented by a single function, taking a strictNaming_b_1 > parameter which defaults to true. Easy to use, and compliance results will > vary according to the parameter value, allowing strict compliance for new > package names and lazy compliance for older ones. > > Doing so allows to enforce a new package name convention while also > insuring continuity of compliance for already existing package names. > > Fabien GELINEAU alias Neonira > > Le ven. 9 ao?t 2019 ? 18:40, Kevin Wright <kw.stat at gmail.com> a ?crit : > >> Please, no. I'd also like to disallow uppercase letters in package names. >> For instance, the cuteness of using a capital "R" in package names is >> outweighed by the annoyance of trying to remember which packages use an >> upper-case letter. >> >> On Thu, Aug 8, 2019 at 9:32 AM Jim Hester <james.f.hester at gmail.com> >> wrote: >> >>> Are there technical reasons that package names cannot be snake case? >>> This seems to be enforced by `.standard_regexps()$valid_package_name` >>> which currently returns >>> >>> "[[:alpha:]][[:alnum:].]*[[:alnum:]]" >>> >>> Is there any technical reason this couldn't be altered to accept `_` >>> as well, e.g. >>> >>> "[[:alpha:]][[:alnum:]._]*[[:alnum:]]" >>> >>> I realize that historically `_` has not always been valid in variable >>> names, but this has now been acceptable for 15+ years (since R 1.9.0 I >>> believe). Might we also allow underscores for package names? >>> >>> Jim >>> >>> ______________________________________________ >>> R-devel at r-project.org mailing list >>> https://stat.ethz.ch/mailman/listinfo/r-devel >>> >> >> >> -- >> Kevin Wright >> >> [[alternative HTML version deleted]] >> >> ______________________________________________ >> R-devel at r-project.org mailing list >> https://stat.ethz.ch/mailman/listinfo/r-devel >> > > [[alternative HTML version deleted]] > > ______________________________________________ > R-devel at r-project.org mailing list > https://stat.ethz.ch/mailman/listinfo/r-devel >
> Creeping code complexity ... > > I like to think that the cuteR names will have a Darwinian > disadvantage in the long run. FWIW Hadley Wickham argues (rightly, I > think) against mixed-case names: > http://r-pkgs.had.co.nz/package.html#naming.Good development environments will offer content assist (or tab completion or similar) which will not be hindered by naming conventions (whether camel case, dromedary case or other forms that snaked into the R world). Talking about Darwinian advantages, Wikipedia[1] just taught me about the existence of 'darwin case' ?! Best, Tobias [1] https://en.wikipedia.org/wiki/Camel_case> On 2019-08-09 2:00 p.m., neonira Arinoem wrote: >> Won't it be better to have a convention that allows lowercase, dash, >> underscore and dot as only valid characters for new package names and keep >> the ancient format validation scheme for older package names? >> >> This could be implemented by a single function, taking a strictNaming_b_1 >> parameter which defaults to true. Easy to use, and compliance results will >> vary according to the parameter value, allowing strict compliance for new >> package names and lazy compliance for older ones. >> >> Doing so allows to enforce a new package name convention while also >> insuring continuity of compliance for already existing package names. >> >> Fabien GELINEAU alias Neonira >> >> Le ven. 9 ao?t 2019 ? 18:40, Kevin Wright <kw.stat at gmail.com> a ?crit : >> >>> Please, no. I'd also like to disallow uppercase letters in package names. >>> For instance, the cuteness of using a capital "R" in package names is >>> outweighed by the annoyance of trying to remember which packages use an >>> upper-case letter. >>> >>> On Thu, Aug 8, 2019 at 9:32 AM Jim Hester <james.f.hester at gmail.com> >>> wrote: >>> >>>> Are there technical reasons that package names cannot be snake case? >>>> This seems to be enforced by `.standard_regexps()$valid_package_name` >>>> which currently returns >>>> >>>> "[[:alpha:]][[:alnum:].]*[[:alnum:]]" >>>> >>>> Is there any technical reason this couldn't be altered to accept `_` >>>> as well, e.g. >>>> >>>> "[[:alpha:]][[:alnum:]._]*[[:alnum:]]" >>>> >>>> I realize that historically `_` has not always been valid in variable >>>> names, but this has now been acceptable for 15+ years (since R 1.9.0 I >>>> believe). Might we also allow underscores for package names? >>>> >>>> Jim >>>> >>>> ______________________________________________ >>>> R-devel at r-project.org mailing list >>>> https://stat.ethz.ch/mailman/listinfo/r-devel >>>> >>> >>> >>> -- >>> Kevin Wright >>> >>> [[alternative HTML version deleted]] >>> >>> ______________________________________________ >>> R-devel at r-project.org mailing list >>> https://stat.ethz.ch/mailman/listinfo/r-devel >>> >> >> [[alternative HTML version deleted]] >> >> ______________________________________________ >> R-devel at r-project.org mailing list >> https://stat.ethz.ch/mailman/listinfo/r-devel >> > > ______________________________________________ > R-devel at r-project.org mailing list > https://stat.ethz.ch/mailman/listinfo/r-devel
On Fri, Aug 9, 2019 at 11:05 AM neonira Arinoem <neonira at gmail.com> wrote:> Won't it be better to have a convention that allows lowercase, dash, > underscore and dot as only valid characters for new package names and keep > the ancient format validation scheme for older package names? >Validation isn't the only thing we need to do wrt package names. we also need to detect them, and particularly, in at least one case, extract them from package tarball filenames (which we also need to be able to detect/find). If we were writing a new language and people wanted to allow snake case in package names, sure, but we're talking about about changing how a small but package names and package tarballs have always (or at least a very long time, I didn't check) had the same form, and it seems expressive enough to me? I mean periods are allowed if you feel a strong need for something other than a letter. Note that this proposal would make mypackage_2.3.1 a valid *package name*, whose corresponding tarball name might be mypackage_2.3.1_2.3.2 after a patch. Yes its a silly example, but why allow that kind of ambiguity? For the record @Ben Bolker <bbolker at gmail.com> Packages that mix case anywhere in their package name:> table(grepl("((^[a-z].*[A-Z])|(^[A-Z].*[a-z]))", row.names(a1)))FALSE TRUE 8818 5932 Packages which start with lower case and have at least one upper> table(grepl("((^[a-z].*[A-Z]))", row.names(a1)))FALSE TRUE 12315 2435 Packages which start with uppercase and have at least one lower> table(grepl("((^[A-Z].*[a-z]))", row.names(a1)))FALSE TRUE 11253 3497 Packages which take advantage of the above-mentioned legality of periods> table(grepl(".", row.names(a1), fixed=TRUE))FALSE TRUE 14259 491 Packages with pure lower-case alphabetic names> table(grepl("^[a-z]+$", row.names(a1)))FALSE TRUE 7712 7038 Packages with pure upper-case alphabetic names> table(grepl("^[A-Z]+$", row.names(a1)))FALSE TRUE 13636 1114 Package with at least one numeric digit in their name> table(grepl("[0-9]", row.names(a1)))FALSE TRUE 14208 542 It would be interesting to do an actual analysis of the changes in these trends over time, but I Really should be working, so that will have to either wait or be done by someone else. Best, ~G> This could be implemented by a single function, taking a strictNaming_b_1 > parameter which defaults to true. Easy to use, and compliance results will > vary according to the parameter value, allowing strict compliance for new > package names and lazy compliance for older ones. > > Doing so allows to enforce a new package name convention while also > insuring continuity of compliance for already existing package names. > > Fabien GELINEAU alias Neonira > > Le ven. 9 ao?t 2019 ? 18:40, Kevin Wright <kw.stat at gmail.com> a ?crit : > > > Please, no. I'd also like to disallow uppercase letters in package > names. > > For instance, the cuteness of using a capital "R" in package names is > > outweighed by the annoyance of trying to remember which packages use an > > upper-case letter. > > > > On Thu, Aug 8, 2019 at 9:32 AM Jim Hester <james.f.hester at gmail.com> > > wrote: > > > > > Are there technical reasons that package names cannot be snake case? > > > This seems to be enforced by `.standard_regexps()$valid_package_name` > > > which currently returns > > > > > > "[[:alpha:]][[:alnum:].]*[[:alnum:]]" > > > > > > Is there any technical reason this couldn't be altered to accept `_` > > > as well, e.g. > > > > > > "[[:alpha:]][[:alnum:]._]*[[:alnum:]]" > > > > > > I realize that historically `_` has not always been valid in variable > > > names, but this has now been acceptable for 15+ years (since R 1.9.0 I > > > believe). Might we also allow underscores for package names? > > > > > > Jim > > > > > > ______________________________________________ > > > R-devel at r-project.org mailing list > > > https://stat.ethz.ch/mailman/listinfo/r-devel > > > > > > > > > -- > > Kevin Wright > > > > [[alternative HTML version deleted]] > > > > ______________________________________________ > > R-devel at r-project.org mailing list > > https://stat.ethz.ch/mailman/listinfo/r-devel > > > > [[alternative HTML version deleted]] > > ______________________________________________ > R-devel at r-project.org mailing list > https://stat.ethz.ch/mailman/listinfo/r-devel >[[alternative HTML version deleted]]
I do not follow you Gabriel. Package name must not use digit numbers. Tarbal will use them, taken from the DESCRIPTION file, version field. That's why I consider the weird case name you presented as irrelevant, and not to be considered. Le ven. 9 ao?t 2019 ? 20:41, Gabriel Becker <gabembecker at gmail.com> a ?crit :> > > On Fri, Aug 9, 2019 at 11:05 AM neonira Arinoem <neonira at gmail.com> wrote: > >> Won't it be better to have a convention that allows lowercase, dash, >> underscore and dot as only valid characters for new package names and keep >> the ancient format validation scheme for older package names? >> > > Validation isn't the only thing we need to do wrt package names. we also > need to detect them, and particularly, in at least one case, extract them > from package tarball filenames (which we also need to be able to > detect/find). > > If we were writing a new language and people wanted to allow snake case in > package names, sure, but we're talking about about changing how a small but > package names and package tarballs have always (or at least a very long > time, I didn't check) had the same form, and it seems expressive enough to > me? I mean periods are allowed if you feel a strong need for something > other than a letter. > > Note that this proposal would make mypackage_2.3.1 a valid *package name*, > whose corresponding tarball name might be mypackage_2.3.1_2.3.2 after a > patch. Yes its a silly example, but why allow that kind of ambiguity? > > > > For the record @Ben Bolker <bbolker at gmail.com> > > Packages that mix case anywhere in their package name: > > > table(grepl("((^[a-z].*[A-Z])|(^[A-Z].*[a-z]))", row.names(a1))) > > > FALSE TRUE > > 8818 5932 > > > Packages which start with lower case and have at least one upper > > > table(grepl("((^[a-z].*[A-Z]))", row.names(a1))) > > > FALSE TRUE > > 12315 2435 > > > Packages which start with uppercase and have at least one lower > > > table(grepl("((^[A-Z].*[a-z]))", row.names(a1))) > > > FALSE TRUE > > 11253 3497 > > Packages which take advantage of the above-mentioned legality of periods > > > table(grepl(".", row.names(a1), fixed=TRUE)) > > > FALSE TRUE > > 14259 491 > > Packages with pure lower-case alphabetic names > > > table(grepl("^[a-z]+$", row.names(a1))) > > > FALSE TRUE > > 7712 7038 > > > Packages with pure upper-case alphabetic names > > > table(grepl("^[A-Z]+$", row.names(a1))) > > > FALSE TRUE > > 13636 1114 > > > Package with at least one numeric digit in their name > > > table(grepl("[0-9]", row.names(a1))) > > > FALSE TRUE > > 14208 542 > > > It would be interesting to do an actual analysis of the changes in these > trends over time, but I Really should be working, so that will have to > either wait or be done by someone else. > Best, > ~G > > > >> This could be implemented by a single function, taking a strictNaming_b_1 >> parameter which defaults to true. Easy to use, and compliance results will >> vary according to the parameter value, allowing strict compliance for new >> package names and lazy compliance for older ones. >> >> Doing so allows to enforce a new package name convention while also >> insuring continuity of compliance for already existing package names. >> >> Fabien GELINEAU alias Neonira >> >> Le ven. 9 ao?t 2019 ? 18:40, Kevin Wright <kw.stat at gmail.com> a ?crit : >> >> > Please, no. I'd also like to disallow uppercase letters in package >> names. >> > For instance, the cuteness of using a capital "R" in package names is >> > outweighed by the annoyance of trying to remember which packages use an >> > upper-case letter. >> > >> > On Thu, Aug 8, 2019 at 9:32 AM Jim Hester <james.f.hester at gmail.com> >> > wrote: >> > >> > > Are there technical reasons that package names cannot be snake case? >> > > This seems to be enforced by `.standard_regexps()$valid_package_name` >> > > which currently returns >> > > >> > > "[[:alpha:]][[:alnum:].]*[[:alnum:]]" >> > > >> > > Is there any technical reason this couldn't be altered to accept `_` >> > > as well, e.g. >> > > >> > > "[[:alpha:]][[:alnum:]._]*[[:alnum:]]" >> > > >> > > I realize that historically `_` has not always been valid in variable >> > > names, but this has now been acceptable for 15+ years (since R 1.9.0 I >> > > believe). Might we also allow underscores for package names? >> > > >> > > Jim >> > > >> > > ______________________________________________ >> > > R-devel at r-project.org mailing list >> > > https://stat.ethz.ch/mailman/listinfo/r-devel >> > > >> > >> > >> > -- >> > Kevin Wright >> > >> > [[alternative HTML version deleted]] >> > >> > ______________________________________________ >> > R-devel at r-project.org mailing list >> > https://stat.ethz.ch/mailman/listinfo/r-devel >> > >> >> [[alternative HTML version deleted]] >> >> ______________________________________________ >> R-devel at r-project.org mailing list >> https://stat.ethz.ch/mailman/listinfo/r-devel >> >[[alternative HTML version deleted]]
Naming policies are always tricky. The one proposed by Hadley, as the one proposed by Google, are usable but not optimal according to most common needs, that are 1. Name a package 2. Name a class 3. Name a function 4. Name a parameter of a function 5. Name a variable My approach is the following 1. Package names should be made of lowercase characters, dash, dot and underscore 2. Class names are UpperCamelCased 3. Function names are lowerCamelCased 4. Function parameters are semantic names resulting from underscore separated lowerCamelCased function name, type acronym and length specification. 5. Variable should be snake case That way you can not confuse one for the other. This brings clear view, ease reading and speeds up implementation. As always, this could be applied to new packages and to some extends to package upgrades What do you think of a such approach? Le ven. 9 ao?t 2019 ? 20:18, Ben Bolker <bbolker at gmail.com> a ?crit :> > Creeping code complexity ... > > I like to think that the cuteR names will have a Darwinian > disadvantage in the long run. FWIW Hadley Wickham argues (rightly, I > think) against mixed-case names: > http://r-pkgs.had.co.nz/package.html#naming. I too am guilty of picking > mixed-case package names in the past. Extra credit if the package name > and the standard function have different cases! e.g. > glmmADMB::glmmadmb(), although (a) that wasn't my choice and (b) at > least it was never on CRAN and (c) it wasn't one of the cuteR variety. > > Bonus points for the first analysis of case conventions in existing > CRAN package names ... I'll start. > > > a1 <- rownames(available.packages()) > > cute <- "[a-z]*R[a-z]*" > > table(grepl(cute,a1)) > > FALSE TRUE > 12565 2185 > > > On 2019-08-09 2:00 p.m., neonira Arinoem wrote: > > Won't it be better to have a convention that allows lowercase, dash, > > underscore and dot as only valid characters for new package names and > keep > > the ancient format validation scheme for older package names? > > > > This could be implemented by a single function, taking a strictNaming_b_1 > > parameter which defaults to true. Easy to use, and compliance results > will > > vary according to the parameter value, allowing strict compliance for new > > package names and lazy compliance for older ones. > > > > Doing so allows to enforce a new package name convention while also > > insuring continuity of compliance for already existing package names. > > > > Fabien GELINEAU alias Neonira > > > > Le ven. 9 ao?t 2019 ? 18:40, Kevin Wright <kw.stat at gmail.com> a ?crit : > > > >> Please, no. I'd also like to disallow uppercase letters in package > names. > >> For instance, the cuteness of using a capital "R" in package names is > >> outweighed by the annoyance of trying to remember which packages use an > >> upper-case letter. > >> > >> On Thu, Aug 8, 2019 at 9:32 AM Jim Hester <james.f.hester at gmail.com> > >> wrote: > >> > >>> Are there technical reasons that package names cannot be snake case? > >>> This seems to be enforced by `.standard_regexps()$valid_package_name` > >>> which currently returns > >>> > >>> "[[:alpha:]][[:alnum:].]*[[:alnum:]]" > >>> > >>> Is there any technical reason this couldn't be altered to accept `_` > >>> as well, e.g. > >>> > >>> "[[:alpha:]][[:alnum:]._]*[[:alnum:]]" > >>> > >>> I realize that historically `_` has not always been valid in variable > >>> names, but this has now been acceptable for 15+ years (since R 1.9.0 I > >>> believe). Might we also allow underscores for package names? > >>> > >>> Jim > >>> > >>> ______________________________________________ > >>> R-devel at r-project.org mailing list > >>> https://stat.ethz.ch/mailman/listinfo/r-devel > >>> > >> > >> > >> -- > >> Kevin Wright > >> > >> [[alternative HTML version deleted]] > >> > >> ______________________________________________ > >> R-devel at r-project.org mailing list > >> https://stat.ethz.ch/mailman/listinfo/r-devel > >> > > > > [[alternative HTML version deleted]] > > > > ______________________________________________ > > R-devel at r-project.org mailing list > > https://stat.ethz.ch/mailman/listinfo/r-devel > > > > ______________________________________________ > R-devel at r-project.org mailing list > https://stat.ethz.ch/mailman/listinfo/r-devel >[[alternative HTML version deleted]]
On 09/08/2019 2:41 p.m., Gabriel Becker wrote:> Note that this proposal would make mypackage_2.3.1 a valid *package name*, > whose corresponding tarball name might be mypackage_2.3.1_2.3.2 after a > patch. Yes its a silly example, but why allow that kind of ambiguity? >CRAN already has a package named "FuzzyNumbers.Ext.2", whose tarball is FuzzyNumbers.Ext.2_3.2.tar.gz, so I think we've already lost that game. Duncan Murdoch
Having written the 'lorentz' ,'Davies' and 'schwarzschild' packages, I'm interested in packages that are named for a particular person. There are (by my count) 34 packages on CRAN like this, with names that are the surname of a particular (real) person. Of these 34, only 7 are capitalized. hankin.robin at gmail.com hankin.robin at gmail.com On Sat, Aug 10, 2019 at 6:50 AM Gabriel Becker <gabembecker at gmail.com> wrote:> > On Fri, Aug 9, 2019 at 11:05 AM neonira Arinoem <neonira at gmail.com> wrote: > > > Won't it be better to have a convention that allows lowercase, dash, > > underscore and dot as only valid characters for new package names and keep > > the ancient format validation scheme for older package names? > > > > Validation isn't the only thing we need to do wrt package names. we also > need to detect them, and particularly, in at least one case, extract them > from package tarball filenames (which we also need to be able to > detect/find). > > If we were writing a new language and people wanted to allow snake case in > package names, sure, but we're talking about about changing how a small but > package names and package tarballs have always (or at least a very long > time, I didn't check) had the same form, and it seems expressive enough to > me? I mean periods are allowed if you feel a strong need for something > other than a letter. > > Note that this proposal would make mypackage_2.3.1 a valid *package name*, > whose corresponding tarball name might be mypackage_2.3.1_2.3.2 after a > patch. Yes its a silly example, but why allow that kind of ambiguity? > > > > For the record @Ben Bolker <bbolker at gmail.com> > > Packages that mix case anywhere in their package name: > > > table(grepl("((^[a-z].*[A-Z])|(^[A-Z].*[a-z]))", row.names(a1))) > > > FALSE TRUE > > 8818 5932 > > > Packages which start with lower case and have at least one upper > > > table(grepl("((^[a-z].*[A-Z]))", row.names(a1))) > > > FALSE TRUE > > 12315 2435 > > > Packages which start with uppercase and have at least one lower > > > table(grepl("((^[A-Z].*[a-z]))", row.names(a1))) > > > FALSE TRUE > > 11253 3497 > > Packages which take advantage of the above-mentioned legality of periods > > > table(grepl(".", row.names(a1), fixed=TRUE)) > > > FALSE TRUE > > 14259 491 > > Packages with pure lower-case alphabetic names > > > table(grepl("^[a-z]+$", row.names(a1))) > > > FALSE TRUE > > 7712 7038 > > > Packages with pure upper-case alphabetic names > > > table(grepl("^[A-Z]+$", row.names(a1))) > > > FALSE TRUE > > 13636 1114 > > > Package with at least one numeric digit in their name > > > table(grepl("[0-9]", row.names(a1))) > > > FALSE TRUE > > 14208 542 > > > It would be interesting to do an actual analysis of the changes in these > trends over time, but I Really should be working, so that will have to > either wait or be done by someone else. > Best, > ~G > > > > > This could be implemented by a single function, taking a strictNaming_b_1 > > parameter which defaults to true. Easy to use, and compliance results will > > vary according to the parameter value, allowing strict compliance for new > > package names and lazy compliance for older ones. > > > > Doing so allows to enforce a new package name convention while also > > insuring continuity of compliance for already existing package names. > > > > Fabien GELINEAU alias Neonira > > > > Le ven. 9 ao?t 2019 ? 18:40, Kevin Wright <kw.stat at gmail.com> a ?crit : > > > > > Please, no. I'd also like to disallow uppercase letters in package > > names. > > > For instance, the cuteness of using a capital "R" in package names is > > > outweighed by the annoyance of trying to remember which packages use an > > > upper-case letter. > > > > > > On Thu, Aug 8, 2019 at 9:32 AM Jim Hester <james.f.hester at gmail.com> > > > wrote: > > > > > > > Are there technical reasons that package names cannot be snake case? > > > > This seems to be enforced by `.standard_regexps()$valid_package_name` > > > > which currently returns > > > > > > > > "[[:alpha:]][[:alnum:].]*[[:alnum:]]" > > > > > > > > Is there any technical reason this couldn't be altered to accept `_` > > > > as well, e.g. > > > > > > > > "[[:alpha:]][[:alnum:]._]*[[:alnum:]]" > > > > > > > > I realize that historically `_` has not always been valid in variable > > > > names, but this has now been acceptable for 15+ years (since R 1.9.0 I > > > > believe). Might we also allow underscores for package names? > > > > > > > > Jim > > > > > > > > ______________________________________________ > > > > R-devel at r-project.org mailing list > > > > https://stat.ethz.ch/mailman/listinfo/r-devel > > > > > > > > > > > > > -- > > > Kevin Wright > > > > > > [[alternative HTML version deleted]] > > > > > > ______________________________________________ > > > R-devel at r-project.org mailing list > > > https://stat.ethz.ch/mailman/listinfo/r-devel > > > > > > > [[alternative HTML version deleted]] > > > > ______________________________________________ > > R-devel at r-project.org mailing list > > https://stat.ethz.ch/mailman/listinfo/r-devel > > > > [[alternative HTML version deleted]] > > ______________________________________________ > R-devel at r-project.org mailing list > https://stat.ethz.ch/mailman/listinfo/r-devel