LC_ALL POSIX in /etc/csh.login and /etc/profile - Slackware

This is a discussion on LC_ALL POSIX in /etc/csh.login and /etc/profile - Slackware ; Current (pre-release) ChangeLog for Intel contains this squibb: [1] a/etc-12.2-noarch-1.tgz: Do not set LC_ALL POSIX in /etc/csh.login. Not only is this the wrong setting, it isn't even in the proper file. :-/ Thanks to Jim Diamond. Slack 12.1 has "setenv ...

+ Reply to Thread
Results 1 to 7 of 7

Thread: LC_ALL POSIX in /etc/csh.login and /etc/profile

  1. LC_ALL POSIX in /etc/csh.login and /etc/profile


    Current (pre-release) ChangeLog for Intel contains this squibb: [1]

    a/etc-12.2-noarch-1.tgz: Do not set LC_ALL POSIX in
    /etc/csh.login. Not only is this the wrong setting, it isn't even
    in the proper file. :-/ Thanks to Jim Diamond.

    Slack 12.1 has "setenv LC_ALL POSIX" in that location. The
    corresponding line -- export LC_ALL="POSIX" -- is absent from
    /etc/profile. One result of this is that, for users logging in with
    the bash shell, Emacs [2] dired fails to parse the date format output
    by ls -l and gives a "no file on this line" error for every line of
    the dired display. Inserting the line into /etc/profile fixes this.

    So:

    What *is* the "proper" file for setting LC_ALL?

    What is the (putatively) correct setting?

    (I suppose that Emacs 22.* may have a revised regular expression for
    dired. I happen to like Emacs 20. The first thing I do on a new
    install is to replace Emacs 2{1,2} with Emacs 20.)


    - Mike

    [1] http://www.slackware.com/changelog/current.php?cpu=i386

    [2] Emacs 20.7.2

    --
    Michael Spencer Nova Scotia, Canada

    mspencerbells@tallwhistlesships.ca (remove bells and whistles)
    http://home.tallships.ca/mspencer/

  2. Re: LC_ALL POSIX in /etc/csh.login and /etc/profile

    On 2008-09-26 at 03:03 ADT, Mike Spencer wrote:
    >
    > Current (pre-release) ChangeLog for Intel contains this squibb: [1]
    >
    > a/etc-12.2-noarch-1.tgz: Do not set LC_ALL POSIX in
    > /etc/csh.login. Not only is this the wrong setting, it isn't even
    > in the proper file. :-/ Thanks to Jim Diamond.
    >
    > Slack 12.1 has "setenv LC_ALL POSIX" in that location. The
    > corresponding line -- export LC_ALL="POSIX" -- is absent from
    > /etc/profile. One result of this is that, for users logging in with
    > the bash shell, Emacs [2] dired fails to parse the date format output
    > by ls -l and gives a "no file on this line" error for every line of
    > the dired display. Inserting the line into /etc/profile fixes this.
    >
    > So:
    >
    > What *is* the "proper" file for setting LC_ALL?
    >
    > What is the (putatively) correct setting?
    >
    > (I suppose that Emacs 22.* may have a revised regular expression for
    > dired. I happen to like Emacs 20. The first thing I do on a new
    > install is to replace Emacs 2{1,2} with Emacs 20.)
    >
    >
    > - Mike


    I'd say the proper file for setting LC_ALL is your .bashrc or .cshrc
    or ... depending on what shell you use.

    But are you sure that is what you want to do? You might consider
    reading
    http://mail.nl.linux.org/linux-utf8/.../msg00025.html
    where the author argues against doing that by default. (I don't have
    a strong feeling one way or the other, but I did discover that having
    LC_ALL set can make my life difficult in some situations.)

    I'm curious about what you prefer in emacs 20 over emacs 21 and 22,
    but that is another discussion. However, dired seems to be happy on
    my system (Slack 12.1, emacs 22.2.1).

    Are you sure there is nothing in your emacs init file which is causing
    your problem? I'd be somewhat astonished if the stock emacs 20 had
    this problem.

    Cheers.
    Jim

  3. Re: LC_ALL POSIX in /etc/csh.login and /etc/profile

    Mike Spencer wrote:
    > Current (pre-release) ChangeLog for Intel contains this squibb: [1]
    >
    > a/etc-12.2-noarch-1.tgz: Do not set LC_ALL POSIX in
    > /etc/csh.login. Not only is this the wrong setting, it isn't even
    > in the proper file. :-/ Thanks to Jim Diamond.
    >
    > Slack 12.1 has "setenv LC_ALL POSIX" in that location. The
    > corresponding line -- export LC_ALL="POSIX" -- is absent from
    > /etc/profile. One result of this is that, for users logging in with
    > the bash shell, Emacs [2] dired fails to parse the date format output
    > by ls -l and gives a "no file on this line" error for every line of
    > the dired display. Inserting the line into /etc/profile fixes this.
    >
    > So:
    >
    > What *is* the "proper" file for setting LC_ALL?


    that would be /etc/profile.d/lang.sh for bash and /etc/profile.d/lang.csh
    for csh. note that these files set LANG to en_US (and provide a few
    alternative options for those who want them) but they leave LC_ALL alone.

    > What is the (putatively) correct setting?


    judging by the output of 'locale' on my system, LC_ALL should be empty. set
    LANG instead.

    > (I suppose that Emacs 22.* may have a revised regular expression for
    > dired. I happen to like Emacs 20. The first thing I do on a new
    > install is to replace Emacs 2{1,2} with Emacs 20.)


    now why on earth would you want to do that, and miss out on all the
    improvements that emacs 22 (and 23 in cvs) offer? of the things that i use
    emacs for, there isn't a single thing i can think of that i could do as
    easily (or even at all) in emacs 20...


    --
    Joost Kremers joostkremers@yahoo.com
    Selbst in die Unterwelt dringt durch Spalten Licht
    EN:SiS(9)

  4. Re: LC_ALL POSIX in /etc/csh.login and /etc/profile




    me> Slack 12.1 has "setenv LC_ALL POSIX" in [/etc/csh.login]. The
    me> corresponding line -- export LC_ALL="POSIX" -- is absent from
    me> /etc/profile. One result of this is that, for users logging in with
    me> the bash shell, Emacs [2] dired fails to parse the date format output
    me> by ls -l and gives a "no file on this line" error for every line of
    me> the dired display. Inserting the line into /etc/profile fixes this.

    Jim Diamond replied:

    JD> Are you sure there is nothing in your emacs init file which is
    JD> causing your problem? I'd be somewhat astonished if the stock
    JD> emacs 20 had this problem.

    Pretty sure. If I:

    + Comment out the line ``export LC_ALL="POSIX"'' from /etc/profile,

    + go to another console and log in as root, and

    + do ``ls -l''

    then the date format is "yyyy-mm-dd hh:mm". Emacs dired parses the
    date output from "ls -l" and fails on this format. There's nothing in
    my .emacs (or root's, which is mostly a copy of my .emacs) that would
    affect that.

    The ls manpage says:

    The variables LANG, LC_ALL, LC_COLLATE, LC_CTYPE, LC_MESSAGES and
    LC_TIME have the usual meaning.

    but makes no reference to the date format nor explains what "the usual
    meaning" implies wrt ls.

    I've just noticed that the version of ls in Slack 12.1 (ls 6.9) (which
    I'm just installing) has a feature which ls in Slack 10.1 (ls
    5.2.1)(That I've been using) didn't: --time-style=STYLE. Apparently
    the default for time-style is "long-iso". If I unsetenv LC_ALL, the
    output for ls -l reverts to long-iso: yyyy-mm-dd hh:mm.


    JD> You might consider reading
    JD> http://mail.nl.linux.org/linux-utf8/.../msg00025.html

    Saved for future reference, thanks.

    me> What is the (putatively) correct setting?

    and Joost Kremers opined:

    JK> judging by the output of 'locale' on my system, LC_ALL should be
    JK> empty. set LANG instead.

    The above ls output format and Emacs dired failure occurs with LANG
    set to en_US. I just went and repeated the process, changing
    /etc/profile and changing it back, manually setting the envars and so
    on. $LANG==en_US does not eliminate the "yyyy-mm-dd hh:mm" date
    format from ls -l. $LC_ALL==POSIX does.

    me> (I suppose that Emacs 22.* may have a revised regular expression
    me> for dired. I happen to like Emacs 20. The first thing I do on a
    me> new install is to replace Emacs 2{1,2} with Emacs 20.)

    JK> now why on earth would you want to do that, and miss out on all
    JK> the improvements that emacs 22 (and 23 in cvs) offer?

    Um, well, you know, I forget. Been doing it for years. There were a
    bunch of annoying features that I had to figure out how to turn off.
    In Emacs 20, I turn off the menu bar. There were more things like
    that. Different handling of the prompt string in a shell.
    Highlighting of various stuff? Menus, scroll bars? I forget. Mostly
    I run emacs -nw in an xterm in order to make some features that even
    20 has go away.

    JK> ...of the things that i use emacs for, there isn't a single thing i
    JK> can think of that i could do as easily (or even at all) in emacs
    JK> 20...

    So maybe you could mention a few of your favorite features, Joost?
    I'm not unwilling to upgrade if there's something I could use. I can
    presumably turn off stuff I don't like but I'm only a Lisp dabbler,
    not an elisp wizard, so it would likely be a bit tedious.


    --
    Mike Spencer Nova Scotia, Canada
    mspencerbells@tallwhistlesships.ca
    (Remove bells and whistles)




    --
    Mike Spencer Nova Scotia, Canada

  5. Re: LC_ALL POSIX in /etc/csh.login and /etc/profile

    On 2008-09-27 at 16:05 ADT, Joost Kremers wrote:
    > Mike Spencer wrote:


    >> (I suppose that Emacs 22.* may have a revised regular expression for
    >> dired. I happen to like Emacs 20. The first thing I do on a new
    >> install is to replace Emacs 2{1,2} with Emacs 20.)


    > now why on earth would you want to do that, and miss out on all the
    > improvements that emacs 22 (and 23 in cvs) offer? of the things that i use
    > emacs for, there isn't a single thing i can think of that i could do as
    > easily (or even at all) in emacs 20...


    There isn't a single thing you can think of that you use emacs for
    that you could do at all in emacs 20? Wow.

    Jim

  6. Re: LC_ALL POSIX in /etc/csh.login and /etc/profile

    Mike Spencer wrote:
    > I've just noticed that the version of ls in Slack 12.1 (ls 6.9) (which
    > I'm just installing) has a feature which ls in Slack 10.1 (ls
    > 5.2.1)(That I've been using) didn't: --time-style=STYLE. Apparently


    Actually that option has been in ls since Slackware 9.1). It is just that:
    a) the MAN page for ls in Slackware 10.x is still the 5.x version
    (out of the man-pages package and NOT the coreutils one, which
    DOES contain a newer man-page, but it gets overwritten).
    b) the LC_ALL=POSIX setting is still present in 10.x login scripts,
    while in 12.0 it is _only_ present in the /etc/csh.login one
    (Pat probably forgot to remove it, it IS gone in /etc/profile and
    in the /etc/profile.d/lang.* scripts).
    --
    ************************************************** *****************
    ** Eef Hartman, Delft University of Technology, dept. SSC/ICT **
    ** e-mail: E.J.M.Hartman@tudelft.nl, fax: +31-15-278 7295 **
    ** snail-mail: P.O. Box 5031, 2600 GA Delft, The Netherlands **
    ************************************************** *****************

  7. Re: LC_ALL POSIX in /etc/csh.login and /etc/profile

    On 2008-10-01, Eef Hartman wrote:
    >
    > Actually that option has been in ls since Slackware 9.1). It is just that:
    > a) the MAN page for ls in Slackware 10.x is still the 5.x version
    > (out of the man-pages package and NOT the coreutils one, which
    > DOES contain a newer man-page, but it gets overwritten).



    Are you sure that's still occurring in the -current tree?
    We've recently updated to the new man-pages 3.x series, and
    there's code in the build script to prevent stomping on pages
    that are installed by other packages. If it's still a problem
    there, please let me know (perhaps consider emailing me at
    rworkman@ to make sure I don't miss it).

    -RW

+ Reply to Thread