zsh-workers
 help / color / mirror / code / Atom feed
From: Peter Stephenson <p.w.stephenson@ntlworld.com>
To: 451382@bugs.debian.org, zsh-workers@sunsite.dk
Subject: Re: Bug#451382: i18n is NOT so easy!
Date: Sun, 9 Dec 2007 18:01:27 +0000	[thread overview]
Message-ID: <20071209180127.d955eb4f.p.w.stephenson@ntlworld.com> (raw)
In-Reply-To: <200712071726.lB7HQv76016517@news01.csr.com>

On Fri, 07 Dec 2007 17:26:57 +0000
Peter Stephenson <pws@csr.com> wrote:
> Clint Adams wrote:
> > On Fri, Dec 07, 2007 at 02:11:41PM +0000, Peter Stephenson wrote:
> > > Found it: see thread around
> > > 
> > > http://www.zsh.org/mla/workers/2006/msg00753.html
> > 
> > I think it would be easier to do something like bash's $"" interface to
> > gettext and co-opt that for completion translations.
> 
> As far as I understood it (it doesn't seem to be well documented) that
> only does translations which are pre-compiled into the shell (or rather
> its libraries).  We need something which can be updated with completion
> functions.  It's OK if the definitions are in another file (though we
> could presumably have an interface which adds translations from the
> completion function itself) but it needs to be added at run time.
> 
> Possibly we can still do this with $"...", but I don't like the idea
> that if you change the original message you can no longer find the
> translation, which seems to me to be asking for trouble.

Further thoughts after groping through the gettext documentation for a
bit... this is not a definitive answer (though rather closer to one than
when I originally wrote that two hours and counting ago) but unless I post
it now I'll forget it.  A summary is that I believe we can use the
internationalization functions in the library behind gettext(), to avoid
reinventing the wheel and maintain some compatibility, but it'll take a
bit more care to get this right than simply $"<msgid>" plus
gettext("<msgid>").

I think we have two basic problems with the simplest $"..." / gettext()
interface.


1.

The problem in the last paragraph quoted.  I'm convinced this is a real
problem:  unlike with C programmes, the urge to tinker with strings in
shell functions is strong and if there's no visual cue that this has bad
side effects then the interface is, in my view, fundamentally broken.
To put it another way, only programmers tinker with C programmes while
users are actively encouraged to tinker with shell functions, so the
whole nature of the interface needs to be rethought to make it clear and
robust rather than minimal.

However, this isn't insuperable.  The "msgid" is only by convention the
original string and could be anything; it was designed to be simple in
the case of having many calls to gettext() throughout a programme.  As
we essentially have only one point of entry for translations in shell
functions (the shell's C code is a separate and much simpler problem
since this isn't fundamentally different from any other C programme), we
can do it how we like.  We can, for example, have translation strings
like:

$"_mount_nfs_access_acregmin:specify cached file attributes minimum hold time"

and have the following rule:

- If the string is in the form
    <identifer_character> * ":" . *
  (we might need to make this more complicated eventually), first
  attempt look-up with the identifier characters.  If the lookup doesn't
  return the original string, this is the text we want.
- Otherwise look up with the whole string.  This is for compatibility.  Use
  of this in zsh functions would be deprecated.
- If it still returns the original string but there is an identifier
  part, return the string after the ":".
- Maybe we want some rule about aliasing, it's not clear (we can leave
  it until a use becomes obvious). 

This scheme has various merits:  (i) it is robust about changes to the
English text (ii) the explicit msgid serves as a visual cue that
there's something here that shouldn't be monkeyed with without good
reason (and that even if you change the English text it should mean the
same thing) (iii) the msgid in the catalogues is compact.


2.

Unfortunately there's also the problem of finding message catalogues.
For the same reason that it's designed for simplicity with pre-compiled
programmes, gettext() itself appears to require them to be in a
particular hierarchy the top of which is determined at compile time.

This isn't good enough in our case.  We have functions that are
installed at different places in the function path.  The path can change
and the only clean way of finding message catalogues is using the same
path.  We *could* collect all translations at shell installation and
simply shrug our shoulders saying "that's your lot", but in my view this
is too botched to consider.  (As far as I can tell this is what happens
in bash.)  It's a key part of the way the completion system works that
people can customize it themselves just by writing functions, and even
if adding translations to your own functions is unusual I still don't
think being limited to a predefined set is acceptable.  I don't mind
users (which includes administrators) having to run some utility to add,
or add to, a message catalogue, but I do mind them having to modify the
shell configuration and reinstall; even updating the shell libraries
with something like one of Clint's out-of-tree modules seems a bit over
the top.

However, it seems like we can get something better by interfacing to the
library at a lower level, in particular to catopen() (strictly this is a
different family of interfaces).  That accepts an absolute path to a
catalogue and also uses the environment variable NLSPATH to search for
files.  It's currently unclear to me how to mix use of a shell-specified
directory (determined, in ways we'll need to discuss, from $fpath) with
a user-specified language (since I presume the library has an
intelligent system of fallbacks we don't want to have to imitate).
Unfortunately it looks like this absolute paths aren't portable, either.
If the worst comes to the worst, we may need to alter the environment
variable directly: for example, temporarily either appending or
prepending the zsh directories to it.  (I don't think requiring the user
to modify NLSPATH as well as $fpath is a good idea; I think the shell
should "just find" the right catalogues associated with functions, as
with .zwc files.)


Comments on this are obviously welcome.


To proceed I think we need the following.  The second and third parts
should wait until after 4.3.5 (which I'll make before Christmas, despite
the open bugs, since I haven't seen anything which is obviously worse
than in 4.3.4).  They should also wait until after the first part is
resonably clear.

I. Design:
- finalize the rule for $"..." (or equivalent)
- invent rules for finding the catalogue which should probably be
flexible, ideally allowing both per-fpath-directory and
per-autoloadable-function files while still allowing the user to have
all their own translations collected in one place.  For the last case it
would probably be OK to fall back on NLSPATH.  (I'm not implying
people will use all the mechanisms, just that at this stage we should
plan on flexibility.)
- decide if we want strings in the source to use a similar scheme
or (perhaps better) just normal gettext() rules.

II. Shell source:
- add parsing for $"..."
- add config support for locating libraries for language catalogues and
(where necessary) determining their abilities
- also (a separate job) we should prepare the C code for use of
gettext() --- as I said, this is conceptually simpler but still a lot
of work.  Someone needs to look at gettextize:  this is really part of
the previous point except that we won't want to rely just on the GNU
version; a quick look suggests it assumes a bit to much of a standard
GNU interface in some areas, but I haven't gone into any detail.
- add some trial mechanism behind $"..." using catopen() / catgets() /
catclose().  This is where we're going to need the most fiddling to get
the interface right.

III. Shell functions etc.:
- add a few trial translation files for the completion system and
possibly other files to test the water
- ditto translations for strings in the shell's source code
- write a whole set of utilities that
  - create bare catalogues
  - update catalogues with untranslated strings
  - check for uniqueness of the zsh msgid (needs some subtlety since
  obviously reuse is a good thing:  presumably we need to check that
  the English text after the colon is the same in both cases)
  - install catalogues
  - manipulate (e.g. agglomerate) catalogues
  - list or query what translations are available
  - check catalogues for redundant translations
This is probably the biggest chunk of work.  It would be OK at least
initially to rely on the gettext utilities where possible, but I suspect
that in many areas we're on our own:  it looks like this hasn't been
done before in a way that takes into account end user requirements
adequately (obviously I'd be interested in hearing otherwise).

-- 
Peter Stephenson <p.w.stephenson@ntlworld.com>
Web page now at http://homepage.ntlworld.com/p.w.stephenson/


  reply	other threads:[~2007-12-09 18:01 UTC|newest]

Thread overview: 417+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
     [not found] <20071205200825.148710@gmx.net>
2007-12-06 15:54 ` Clint Adams
2007-12-06 16:08   ` Ismail Dönmez
2007-12-06 16:10     ` Clint Adams
2007-12-07 10:44       ` Peter Stephenson
2007-12-07 14:11         ` Peter Stephenson
2007-12-07 17:15           ` Clint Adams
2007-12-07 17:26             ` Peter Stephenson
2007-12-09 18:01               ` Peter Stephenson [this message]
2007-12-09 22:49                 ` Bart Schaefer
2007-12-10  0:06                   ` Peter Stephenson
     [not found]   ` <20071206165612.292830@gmx.net>
2007-12-06 19:06     ` Clint Adams
2007-12-07 10:29       ` Oliver Kiddle
2015-11-22 17:52 Possibly excessive WARN_CREATE_GLOBAL Bart Schaefer
2015-11-22 18:27 ` Peter Stephenson
2015-11-22 19:04   ` Bart Schaefer
2015-11-22 19:15     ` Peter Stephenson
2015-11-22 20:30       ` Bart Schaefer
2015-11-23 15:49         ` Peter Stephenson
2015-11-24  4:43           ` Bart Schaefer
2015-11-24 10:41             ` Peter Stephenson
  -- strict thread matches above, loose matches on Subject: below --
2014-08-01  8:20 Possible bug to RPROMPT Felipe G. Silveira
2014-08-04 19:31 ` Bart Schaefer
2014-08-04 19:50   ` Peter Stephenson
2014-08-04 20:50     ` Bart Schaefer
2014-08-05  7:54       ` Bart Schaefer
2014-08-06  7:57         ` Bart Schaefer
2014-08-07  8:36           ` [PATCH] Better prompt width calculations (Re: Possible bug to RPROMPT) Bart Schaefer
2015-04-02 15:46             ` Jun T.
2015-04-02 16:48               ` Bart Schaefer
2014-07-17 12:58 [PATCH] Fix loading of multi-line history entires from disk Augie Fackler
2014-07-17 18:23 ` Bart Schaefer
2014-07-17 19:58   ` Peter Stephenson
2014-07-17 23:56     ` Augie Fackler
2014-07-18  3:08     ` Bart Schaefer
2014-07-18  6:01       ` Bart Schaefer
2014-07-18 18:21         ` Peter Stephenson
2014-07-18 18:21       ` Peter Stephenson
2014-07-17 19:51 ` Peter Stephenson
2014-02-15 20:45 SUGGESTION: Simplify auto-completion, a little mail
2014-02-15 23:15 ` Bart Schaefer
2014-02-15 23:29   ` Peter Stephenson
2014-02-16  3:06     ` Bart Schaefer
2013-07-15 13:35 bug with eval, proc-subst and pipes Stephane Chazelas
2013-07-15 17:06 ` Bart Schaefer
2013-07-15 19:14   ` Re[2]: " Manuel Presnitz
2013-07-15 21:52     ` Bart Schaefer
2013-07-16 20:55   ` Peter Stephenson
2013-07-17  7:00     ` Bart Schaefer
2013-07-17 19:17       ` Peter Stephenson
2013-07-18  3:50         ` Vin Shelton
2013-07-18  8:57           ` Peter Stephenson
2013-07-18  9:22             ` Peter Stephenson
2013-07-18 11:32               ` Peter Stephenson
2013-07-18 11:47                 ` Peter Stephenson
2013-07-19 20:01                 ` Stephane Chazelas
2013-07-19 20:58                   ` Stephane Chazelas
2013-07-20 17:11                     ` Peter Stephenson
2013-07-20 20:25                       ` Stephane Chazelas
2013-07-20 22:55                         ` Peter Stephenson
2013-07-21  9:45                           ` Stephane Chazelas
2013-07-21 12:23                             ` Stephane Chazelas
2013-07-21 19:51                               ` Stephane Chazelas
2013-07-20 20:57                       ` Bart Schaefer
2013-07-20 22:16                         ` Peter Stephenson
2013-07-24 15:39                       ` Peter Stephenson
2013-07-19 21:36                   ` Bart Schaefer
2013-07-19 22:56                     ` Stephane Chazelas
2013-07-18  9:44         ` Stephane Chazelas
2013-07-18 18:08           ` Bart Schaefer
2013-07-18 18:25             ` Bart Schaefer
2012-12-06 19:44 It's time for 5.0.1 Peter Stephenson
2012-12-08 19:54 ` Bart Schaefer
2012-12-09 19:10   ` Peter Stephenson
2012-12-12  8:14     ` Bart Schaefer
2012-12-12  9:56       ` Peter Stephenson
2012-12-12 19:29         ` Bart Schaefer
2012-12-15 18:16           ` Peter Stephenson
2012-12-15 19:26             ` Bart Schaefer
2012-12-15 19:47               ` Peter Stephenson
2012-12-16 20:03   ` Peter Stephenson
2012-12-17  5:59     ` Bart Schaefer
2012-12-17 21:13     ` Axel Beckert
2012-12-18 16:22     ` S. Cowles
2012-12-18 16:44       ` Peter Stephenson
     [not found] <86aadnwtl2.fsf@gmail.com>
2011-06-12 14:22 ` killing suspended jobs makes zsh hang after 47d1215 Bart Schaefer
2011-06-12 14:59   ` Bart Schaefer
2011-06-12 17:02     ` Peter Stephenson
2011-06-12 22:13       ` Bart Schaefer
2011-06-13  0:02     ` Pan Tsu
2011-06-13  1:53       ` Bart Schaefer
2011-06-13 11:07         ` Peter Stephenson
2011-06-13 14:37           ` Bart Schaefer
2011-06-14 18:54             ` Peter Stephenson
2011-06-15  2:59               ` Bart Schaefer
     [not found] <201008311754.27361.joke@seiken.de>
2010-08-31 19:18 ` environment variables Peter Stephenson
2010-09-01 15:25   ` Bart Schaefer
2010-09-01 18:35     ` Peter Stephenson
     [not found] <p.w.stephenson@ntlworld.com>
2006-12-08 21:23 ` PATCH: _firefox Peter Stephenson
2006-12-08 21:28   ` Peter Stephenson
2006-12-08 21:52     ` Clint Adams
2006-12-17 13:32     ` arno.
2010-05-23 19:58 ` ${(q)...} for newline Peter Stephenson
2010-05-23 20:45   ` Peter Stephenson
2010-05-25 13:25     ` Stephane Chazelas
2010-05-25 14:48       ` Peter Stephenson
2010-05-26 19:54         ` Peter Stephenson
2010-05-25 14:00   ` Bart Schaefer
     [not found] <matthi@infodrom.north.de>
2009-11-08 11:49 ` FEATURES description wrong line Maddi Kopfermann
2009-11-08 17:08   ` Bart Schaefer
2009-11-08 19:48     ` Stephane Chazelas
2009-11-08 18:44   ` Peter Stephenson
2009-11-10 15:07     ` Bart Schaefer
2009-11-10 18:09       ` Peter Stephenson
2009-07-12 20:59 zsh 4.3.10 terminates with SIGINT when one types Ctrl-G in emacs under Mac OS X Vincent Lefevre
2009-07-12 21:50 ` Bart Schaefer
2009-07-13  0:43   ` Vincent Lefevre
2009-07-13  2:36     ` Bart Schaefer
2009-07-13 18:39       ` Peter Stephenson
2009-07-16 16:24         ` Vincent Lefevre
2009-07-18  5:29           ` Bart Schaefer
2009-07-18 10:16             ` Vincent Lefevre
2009-07-18 18:16               ` Bart Schaefer
2009-07-19 18:03                 ` Bart Schaefer
2009-07-19 19:15                   ` Bart Schaefer
2009-07-19 20:14                     ` Bart Schaefer
2009-07-19 20:41                       ` Peter Stephenson
2009-07-18 18:35               ` Bart Schaefer
2009-07-18 23:09                 ` Vincent Lefevre
2009-07-19  9:51                   ` Vincent Lefevre
2009-07-19 16:32                     ` Bart Schaefer
2009-07-19 22:24                       ` Vincent Lefevre
2009-07-19 18:31                   ` Bart Schaefer
2009-07-20  8:31                     ` Vincent Lefevre
2009-07-22  2:58                       ` Eric Blake
2009-07-22  8:16                         ` Vincent Lefevre
2009-07-07 21:08 non-interactive set -m Eric Blake
2009-07-08  8:58 ` Peter Stephenson
2009-07-08 13:26   ` Eric Blake
2009-07-08 13:49     ` Peter Stephenson
2009-07-09 14:03       ` Eric Blake
2009-07-09 14:13         ` Peter Stephenson
2009-07-09 16:25           ` Eric Blake
2009-07-09 18:13       ` Eric Blake
2009-07-09 19:36         ` Peter Stephenson
2009-07-09 19:56         ` Peter Stephenson
2009-07-10  3:40           ` Bart Schaefer
2009-07-09 20:23         ` Peter Stephenson
2009-07-09 21:40           ` Eric Blake
2009-07-10  8:58             ` Peter Stephenson
2009-07-10 10:53               ` Peter Stephenson
2009-07-10  3:25           ` Eric Blake
2009-07-10  3:32             ` Eric Blake
2009-07-11 18:57               ` Peter Stephenson
2009-07-11 19:05                 ` Peter Stephenson
2009-07-11 23:16                   ` Eric Blake
2009-07-12 15:01                     ` Peter Stephenson
2009-07-12 18:28                       ` Bart Schaefer
2009-07-12 19:35                         ` Peter Stephenson
2009-07-12 21:19                           ` Bart Schaefer
2009-07-13  1:48                             ` Eric Blake
2009-07-13 13:20                         ` Eric Blake
2009-07-12 14:42                 ` Peter Stephenson
2009-07-01 13:14 zsh bug in . builtin Eric Blake
2009-07-01 14:24 ` Peter Stephenson
2009-07-02 12:01   ` Eric Blake
2009-07-02 13:40     ` Peter Stephenson
2009-07-06 20:39     ` Peter Stephenson
2009-07-05 19:41   ` Bart Schaefer
2009-07-05 20:04     ` Peter Stephenson
2009-03-08  8:21 Modules/attr.c compile error on Mac OS X Taro M
2009-03-08  9:10 ` François Revol
2009-03-08 19:55 ` Peter Stephenson
2009-03-08 21:33   ` Bart Schaefer
2009-03-08 21:51     ` Peter Stephenson
2009-03-08 23:45       ` Bart Schaefer
     [not found] <BD9D2405-AD6A-4336-9C8A-85149165B6B8@gmail.com>
     [not found] ` <090116075615.ZM21871@torch.brasslantern.com>
     [not found]   ` <200901161939.54651.arvidjaar@newmail.ru>
2009-01-16 18:29     ` sourcing a sh file in zsh Bart Schaefer
2009-01-17  3:59       ` Phil Pennock
2009-01-17  5:00         ` Bart Schaefer
2009-01-17  5:55           ` Phil Pennock
2009-01-17 20:15             ` Bart Schaefer
2009-01-19 21:21               ` Phil Pennock
2009-01-20 19:48               ` Peter Stephenson
2009-01-21  4:48                 ` Bart Schaefer
2009-01-24 15:59       ` Andrey Borzenkov
2009-01-24 17:38         ` Peter Stephenson
2009-01-24 20:47           ` Richard Hartmann
2009-01-24 23:26           ` Bart Schaefer
2009-01-25  8:56             ` Andrey Borzenkov
2009-01-25 10:25               ` Richard Hartmann
2009-01-25 10:41                 ` Andrey Borzenkov
2009-01-25 10:51                   ` Richard Hartmann
2009-01-26 23:07                   ` Phil Pennock
2009-01-27  0:51                     ` Richard Hartmann
2009-01-27 16:28                       ` Bart Schaefer
2009-01-25 12:20               ` Bart Schaefer
2009-01-25 18:26                 ` Andrey Borzenkov
2009-01-26  7:51                   ` Bart Schaefer
2009-01-26  9:24                     ` Richard Hartmann
2009-01-26 16:49                     ` Andrey Borzenkov
2009-01-30  4:25                       ` Bart Schaefer
2009-01-31  8:32                         ` Andrey Borzenkov
2009-01-31 20:40                           ` Bart Schaefer
2009-01-31 21:10                             ` Peter Stephenson
2009-01-31 21:39                               ` Bart Schaefer
2009-01-31 23:23                                 ` Peter Stephenson
2009-02-01 18:03                             ` Andrey Borzenkov
2009-02-01 19:20                               ` Bart Schaefer
2009-02-07 15:45                         ` Andrey Borzenkov
2009-02-07 20:18                           ` Bart Schaefer
2009-01-25 21:39             ` Peter Stephenson
2009-01-26  6:18               ` Phil Pennock
2009-01-26 12:21                 ` Peter Stephenson
2009-01-26 23:16                   ` Phil Pennock
2009-01-27  9:50                     ` Peter Stephenson
2009-01-27 10:16                       ` Peter Stephenson
2009-01-27 15:22                         ` Bart Schaefer
2009-01-24 23:11         ` Bart Schaefer
2009-01-25  8:15           ` Richard Hartmann
2009-01-25  8:40           ` Andrey Borzenkov
2009-01-01 16:24 Bug in executable completion: unable to handle .. it $PATH Richard Hartmann
2009-01-01 17:41 ` Vincent Lefevre
2009-01-07 20:09 ` Peter Stephenson
2009-01-07 20:18   ` Bart Schaefer
2009-01-07 20:49     ` Peter Stephenson
2009-01-07 23:22       ` Richard Hartmann
     [not found] <clint@zsh.org>
     [not found] ` <20071011182853.GA19842@scowler.net>
2007-10-11 19:18   ` ZSH (CVS) configure problem? Peter Stephenson
2007-10-11 20:23     ` Clint Adams
2007-10-12  9:09       ` Peter Stephenson
2007-10-12 10:18         ` Peter Stephenson
2008-11-15  0:39 ` unusable fd in tcp_send Clint Adams
2008-11-15 16:32   ` Peter Stephenson
2008-11-15 16:47     ` Clint Adams
     [not found] <20081106150224.GA10992@apartia.fr>
     [not found] ` <081106082517.ZM27477@torch.brasslantern.com>
     [not found]   ` <20081110082152.GA9563@apartia.fr>
     [not found]     ` <20081110142850.0add2680@news01>
2008-11-12 10:52       ` parse error in process substitution Peter Stephenson
2008-11-13 21:00         ` Peter Stephenson
2008-11-13 21:08           ` Mikael Magnusson
2008-11-16  4:10           ` Bart Schaefer
2008-11-16 21:18             ` Peter Stephenson
2008-11-16 21:51               ` Bart Schaefer
2008-11-17 10:10                 ` Peter Stephenson
2008-11-17 15:51                   ` Bart Schaefer
2008-11-17 16:08                 ` Peter Stephenson
2008-11-17 16:51             ` Peter Stephenson
2008-06-07 20:34 PATCH: rewrite of completion matching Peter Stephenson
2008-06-16  7:17 ` Bart Schaefer
2008-06-16 12:54   ` Peter Stephenson
2008-06-16 15:30     ` Bart Schaefer
2008-06-16 16:52       ` Peter Stephenson
2008-06-16 17:49         ` Bart Schaefer
2008-06-17  9:06           ` Peter Stephenson
2008-03-16 14:40 ${a[(i)pattern]} if a=() Stephane Chazelas
2008-03-16 17:20 ` Bart Schaefer
2008-03-16 17:59   ` Bart Schaefer
2008-03-16 18:47     ` Bart Schaefer
2008-03-16 21:57     ` Peter Stephenson
2008-03-16 23:23       ` Stephane Chazelas
2008-03-17  0:59         ` Bart Schaefer
2008-03-18 12:13           ` Peter Stephenson
2008-03-18 15:47             ` Bart Schaefer
2008-03-25 17:24               ` Peter Stephenson
2008-02-23  0:04 PATCH: completion of glob qualifiers Peter Stephenson
2008-02-23  6:06 ` Bart Schaefer
2008-02-23 17:33   ` Peter Stephenson
2008-02-23 18:09   ` Peter Stephenson
2008-11-07 12:38 ` Oliver Kiddle
2008-11-08 23:28   ` Peter Stephenson
2007-11-09 15:08 delete-whole-word-match fails on words starting with -, patch Mikael Magnusson
2007-11-09 17:06 ` Peter Stephenson
2007-11-09 19:48   ` Peter Stephenson
2007-11-09 22:38     ` Mikael Magnusson
2007-11-10 14:22       ` Peter Stephenson
     [not found] <DD973F2C-E6A0-4FCA-96F5-6C96701DC677@chemistry.ucsc.edu>
     [not found] ` <20071012215906.GA8935@mastermind>
     [not found]   ` <20071012152257.91edf6d3.wgscott@chemistry.ucsc.edu>
2007-10-13 13:30     ` precmd, preexec, and supplied prompt themes Clint Adams
2007-10-13 17:11       ` Bart Schaefer
2007-10-13 19:10         ` Peter Stephenson
2007-10-13 20:47           ` Bart Schaefer
2007-10-13 17:16       ` Peter Stephenson
     [not found]   ` <071012185005.ZM2921@torch.brasslantern.com>
     [not found]     ` <35490.69.3.191.19.1192241340.squirrel@mail.acg.ucsc.edu>
     [not found]       ` <071012202721.ZM13638@torch.brasslantern.com>
     [not found]         ` <20071013135858.18e842df.wgscott@chemistry.ucsc.edu>
     [not found]           ` <071013144046.ZM15536@torch.brasslantern.com>
     [not found]             ` <42409.66.167.127.82.1192312408.squirrel@mail.acg.ucsc.edu>
     [not found]               ` <071013161113.ZM15656@torch.brasslantern.com>
     [not found]                 ` <43237.69.3.24.27.1192318777.squirrel@mail.acg.ucsc.edu>
     [not found]                   ` <071013194931.ZM15792@torch.brasslantern.com>
2007-10-31 11:07                     ` Oliver Kiddle
2007-10-31 14:49                       ` Bart Schaefer
2007-10-31 15:12                         ` Bart Schaefer
     [not found] <zsh-workers+phil.pennock@spodhuis.org>
2007-04-28  7:56 ` PATCH: zsh/regex and =~ Phil Pennock
2007-04-28  8:20   ` Phil Pennock
2007-04-29  0:51   ` Phil Pennock
2007-04-29 15:16   ` Peter Stephenson
2007-04-29 15:28     ` Peter Stephenson
2007-04-29 19:17       ` Phil Pennock
2007-05-01 21:59   ` Peter Stephenson
2007-05-02  0:11     ` Phil Pennock
2007-05-02  2:53       ` Bart Schaefer
2007-05-29  8:56   ` Phil Pennock
2007-01-27 17:07 4.3.2/20061219 -> 4.3.2/20070126 very broken Alexey Tourbin
2007-01-27 17:15 ` Alexey Tourbin
2007-01-27 18:55   ` Peter Stephenson
2007-01-27 23:47     ` Peter Stephenson
2007-01-28 12:04       ` Alexey Tourbin
2007-01-27 19:10   ` Bart Schaefer
2006-12-15 10:04 Is wait not interruptable? Dave Yost
2006-12-15 12:05 ` Peter Stephenson
2006-12-15 21:00   ` Peter Stephenson
2006-12-16 21:37     ` Bart Schaefer
2006-12-17 16:00       ` Peter Stephenson
2006-12-17 17:54         ` Bart Schaefer
2006-12-18 11:39           ` Peter Stephenson
2006-12-18 16:09             ` Bart Schaefer
2006-12-18 16:12             ` Peter Stephenson
2006-12-18 16:37               ` Bart Schaefer
2006-12-18 16:51                 ` Peter Stephenson
     [not found] <schizo@debian.org>
2006-11-18  3:47 ` error code for failure to execute Clint Adams
2006-11-19 19:50   ` Peter Stephenson
2006-11-19 20:02     ` Clint Adams
2006-11-19 21:33       ` Peter Stephenson
2006-10-26 17:39 PATCH: $! on bg Peter Stephenson
2006-10-28 17:51 ` Bart Schaefer
2006-10-29 12:58   ` Peter Stephenson
2006-10-29 17:01     ` Bart Schaefer
2006-10-30 11:38       ` Peter Stephenson
2006-08-19 18:11 zstyle is badly broken as of 20060817 Bart Schaefer
2006-08-20 16:54 ` Peter Stephenson
2006-08-20 20:44   ` Bart Schaefer
2006-08-20 20:53     ` Bart Schaefer
2006-08-20 21:38     ` Peter Stephenson
2006-08-21  5:44       ` Bart Schaefer
2006-08-21 11:39         ` Vincent Lefevre
2006-08-11 20:03 Bug#335481: zsh: zsh/sched waits for next return to prompt even with NOTIFY set Jared K. Sorensen
2006-09-07 19:25 ` Peter Stephenson
2006-09-08  3:18   ` Bart Schaefer
2006-09-08 11:31     ` Peter Stephenson
2006-09-10 15:26       ` Peter Stephenson
2006-07-30 18:00 env -u completion doesn't work when there is a command Vincent Lefevre
2006-07-30 18:36 ` Bart Schaefer
2006-07-30 21:13   ` Peter Stephenson
     [not found] <200607261638.k6QGcE7E010498@news01.csr.com>
     [not found] ` <dc507f4a0607270901r5a4c19f2n20a895b8a831ab3@mail.gmail.com>
     [not found]   ` <060727212432.ZM4920@torch.brasslantern.com>
2006-07-28  9:10     ` Menu-driven version of history-beginning-search-backward Peter Stephenson
2006-07-28 10:08       ` Peter Stephenson
2006-08-01 17:30         ` Peter Stephenson
2006-08-01 20:18           ` Peter Stephenson
2006-08-02  2:49             ` Bart Schaefer
     [not found] <20060529075722.GA28846@sci.fi>
     [not found] ` <200605291532.k4TFWueM011027@pwslaptop.csr.com>
2006-05-30 17:48   ` Vanishing files ? Peter Stephenson
2006-05-30 22:29     ` Peter Stephenson
2006-05-31  1:08       ` Wayne Davison
2006-05-31 14:11       ` Bart Schaefer
     [not found] <EXCHANGE03lhK9atCT1000118c6@exchange03.csr.com>
     [not found] ` <20060228140411.GA2150@prunille.vinc17.org>
2006-02-28 14:19   ` 4.3.1 released Peter Stephenson
2006-02-28 14:30     ` Vincent Lefevre
2006-02-28 14:44       ` Peter Stephenson
2006-03-02 17:59       ` Peter Stephenson
2006-02-28 18:45 ` Bart Schaefer
2006-02-28 23:51   ` Peter Stephenson
2006-03-07 19:48     ` "type punned" warnings Wayne Davison
2006-03-07 20:47       ` Peter Stephenson
2006-03-08 10:27       ` Peter Stephenson
2006-03-08 15:47         ` Peter Stephenson
     [not found] <20050425063521.GA17598@quark.hightek.org>
     [not found] ` <1050425163202.ZM25027@candle.brasslantern.com>
     [not found]   ` <20050426030308.GA21501@quark.hightek.org>
     [not found]     ` <200504261834.j3QIYHSa018951@news01.csr.com>
     [not found]       ` <1050427053638.ZM28743@candle.brasslantern.com>
2005-04-27  9:54         ` localtraps Peter Stephenson
2005-04-27 14:09           ` localtraps Bart Schaefer
2005-05-01 18:54             ` localtraps Vincent Stemen
2005-05-03 10:04               ` localtraps Peter Stephenson
2005-05-03 19:20                 ` yodl and Z shell documentation (was localtraps) Vincent Stemen
     [not found]                   ` <zsh@hightek.org>
2005-05-04  9:26                     ` Peter Stephenson
2005-05-10  9:45                       ` Oliver Kiddle
2005-05-10 14:10                         ` Bart Schaefer
2005-05-10 14:42                           ` Oliver Kiddle
2005-05-10 15:43                             ` Bart Schaefer
2005-05-11  9:59                               ` Oliver Kiddle
2005-05-11 15:09                                 ` Bart Schaefer
2005-05-11 15:21                                   ` Clint Adams
2005-05-04  1:42                 ` localtraps Bart Schaefer
     [not found]           ` <20050507171938.GA51740@quark.hightek.org>
     [not found]             ` <5415.1115631148@csr.com>
2005-05-10 18:46               ` localtraps and signal handling on NetBSD Vincent Stemen
2005-05-13 11:26                 ` Peter Stephenson
2005-05-14  4:33                   ` Vincent Stemen
2005-05-16 10:46                     ` Peter Stephenson
2005-05-17  8:15                       ` Z shell signal handling Vincent Stemen
2005-05-17 15:42                         ` Bart Schaefer
     [not found] <16883.11714.845975.423895@cns-build4.cisco.com>
     [not found] ` <1050123064401.ZM16256@candle.brasslantern.com>
     [not found]   ` <200501241052.j0OAqY3S007966@news01.csr.com>
2005-01-24 16:51     ` Is this a bug for zsh 4.2.3? Bart Schaefer
     [not found]       ` <schaefer@brasslantern.com>
2005-01-24 17:00         ` Peter Stephenson
2005-05-04  9:28         ` localtraps Peter Stephenson
2005-05-04 14:35           ` Compiling without yodl (Re: localtraps) Bart Schaefer
2006-06-17 17:46         ` Recursion error and line numbers Bart Schaefer
2006-06-18 12:38           ` Peter Stephenson
2006-06-18 14:06             ` Bart Schaefer
2006-06-19 10:19               ` Peter Stephenson
2006-07-08 17:58         ` BUG: cmdstack empty Bart Schaefer
2006-07-09 14:44           ` Peter Stephenson
2007-02-10 19:07         ` Quoting problem and crashes with ${(#)var} Bart Schaefer
2007-02-10 22:08           ` Peter Stephenson
2007-02-10 22:10             ` Peter Stephenson
2007-02-13  4:59             ` Bart Schaefer
2007-02-13 21:11               ` Peter Stephenson
2007-02-14  7:48                 ` Bart Schaefer
2007-02-14 10:16                   ` Peter Stephenson
2007-02-14 16:03                     ` Bart Schaefer
2007-02-14 16:19                       ` Peter Stephenson
2007-02-25 23:15                         ` Bart Schaefer
2007-02-26 10:34                           ` Peter Stephenson
2007-02-26 16:13                             ` Bart Schaefer
2007-02-26 16:24                               ` Peter Stephenson
2007-02-26 17:28                                 ` Bart Schaefer
2007-02-26 17:36                                   ` Peter Stephenson
2009-02-06 22:50         ` POSIX and the "&>" operator Bart Schaefer
2009-02-07  0:02           ` Peter Stephenson
2009-02-07  3:51             ` Bart Schaefer
2009-02-07 22:48               ` Peter Stephenson
2009-02-10  2:11           ` Vincent Lefevre
     [not found] <pws@csr.com>
2004-02-25 11:24 ` PATCH: terminfo configuration redux Peter Stephenson
2004-02-25 17:21   ` Bart Schaefer
2004-02-25 17:30     ` Peter Stephenson
2004-02-26 10:37     ` Oliver Kiddle
2004-02-25 18:45   ` peta
2004-02-26 12:52   ` Peter Stephenson
2004-02-27 15:13     ` Felix Rosencrantz
2004-02-27 15:22       ` Peter Stephenson
2004-02-27 16:53         ` Felix Rosencrantz
2004-02-29 19:14           ` Peter Stephenson
2004-03-08 17:29             ` Felix Rosencrantz
2004-03-08 17:39               ` Peter Stephenson
2004-03-09  6:18                 ` Felix Rosencrantz
2004-03-09 12:15                   ` Peter Stephenson
2004-03-10  8:10                     ` Felix Rosencrantz
2004-03-10 11:02                       ` Peter Stephenson
     [not found] ` <200706121751.l5CHpr8D015577@news01.csr.com>
2007-06-12 21:56   ` Calling a zle widget from a function Peter Stephenson
2007-06-12 22:01     ` Peter Stephenson
2007-06-14 13:21       ` Peter Stephenson

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=20071209180127.d955eb4f.p.w.stephenson@ntlworld.com \
    --to=p.w.stephenson@ntlworld.com \
    --cc=451382@bugs.debian.org \
    --cc=zsh-workers@sunsite.dk \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
Code repositories for project(s) associated with this public inbox

	https://git.vuxu.org/mirror/zsh/

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).