zsh-workers
 help / color / mirror / code / Atom feed
From: Peter Stephenson <pws@pwstephenson.fsnet.co.uk>
To: "ZSH workers mailing list" <zsh-workers@sunsite.auc.dk>
Subject: Re: Version-dependent functions install path
Date: Thu, 06 Jan 2000 20:20:54 +0000	[thread overview]
Message-ID: <E126JN1-0003cR-00.2000-01-06-20-18-55@mail2.svr.pol.co.uk> (raw)
In-Reply-To: ""Andrej Borsenkow""'s message of "Thu, 06 Jan 2000 10:04:21 +0300." <000001bf5814$41f88720$21c9ca95@mow.siemens.ru>

"Andrej Borsenkow" wrote:
> I suggest, that functions are being installed in version-specific directories
>  as
> well. Unfortunately (and that applies to the development builds in the first
> place) it is often impossible to mix binaries and functions from different
> versions.

Yes, it's a bit more difficult than it should be.  Furthermore, for most
users installing versions as well separated as 3.1.6 and 3.1.7 will be, the
position will be even worse, even if the pace of change of this area of the
code slows down in future.  So this adds the version.

I hope the choice of path (default
`/usr/local/share/zsh/functions/3.1.6-dev-14', mutatis mutandis) is
rational.  The version-specific bit comes last, as with the module path,
and the `share' remains present, despite the version-dependence, because it
refers to the absence of machine-dependence (it worried me at first, but
actually I've just noticed Emacs does exactly the same with its lisp code).
Indeed, this will make it easier to share functions across architectures
potentially running different versions of the shell.

Index: configure.in
===================================================================
--- configure.in	1999/12/21 15:18:27	1.11
+++ configure.in	2000/01/06 19:58:35
@@ -214,10 +214,10 @@
 AC_ARG_ENABLE(fndir,
 [  --enable-fndir=DIR         where functions go (default DATADIR/zsh/functions)],
 [if test $enableval = yes; then
-  fndir=${datadir}/${tzsh_name}/functions
+  fndir=${datadir}/${tzsh_name}/functions/${VERSION}
 else
   fndir="$enableval"
-fi], [fndir=${datadir}/${tzsh_name}/functions])
+fi], [fndir=${datadir}/${tzsh_name}/functions/${VERSION}])
 
 undefine([function_subdirs])
 AC_ARG_ENABLE(function-subdirs,
Index: INSTALL
===================================================================
--- INSTALL	1999/12/21 15:18:27	1.2
+++ INSTALL	2000/01/06 19:51:44
@@ -247,12 +247,15 @@
 By default, the shell functions which are installed with `make install' or
 `make install.fns' go into the directory ${datadir}/zsh/functions, which
 unless you have specified --datadir is the same as
-${prefix}/share/zsh/functions ($prefix itself defaults to /usr/local, as
-described below).  This directory will also be compiled into the shell as
-the default directory for the variable $fpath/$FPATH. You can override it
-with --enable-fndir=directory; --disable-fndir or --enable-fndir=no will
-turn off both installation of functions and the setting of a default value
-for $fpath/$FPATH.
+${prefix}/share/zsh/functions/$ZSH_VERSION ($prefix itself defaults to
+/usr/local, as described below).  This directory will also be compiled into
+the shell as the default directory for the variable $fpath/$FPATH. You can
+override it with --enable-fndir=directory; --disable-fndir or
+--enable-fndir=no will turn off both installation of functions and the
+setting of a default value for $fpath/$FPATH.  Note the presence of
+$ZSH_VERSION (e.g. `3.1.7') to avoid clashes between versions of zsh.
+If you only run one version of zsh at once, installing into a common
+directory such as /usr/local/share/zsh/functions is fine.
 
 You can control the functions which get installed by setting
 FUNCTIONS_INSTALL, either when running configure (e.g.
-- 
Peter Stephenson <pws@pwstephenson.fsnet.co.uk>


  parent reply	other threads:[~2000-01-06 20:19 UTC|newest]

Thread overview: 7+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2000-01-06  7:04 Andrej Borsenkow
2000-01-06  8:06 ` dev-14 problem - can't load zsh/complete " Andrej Borsenkow
2000-01-06 10:50 ` Oliver Kiddle
2000-01-06 20:20 ` Peter Stephenson [this message]
2000-01-06 22:23   ` Tanaka Akira
2000-01-07 22:26     ` Peter Stephenson
2000-01-09  2:58       ` Tanaka Akira

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=E126JN1-0003cR-00.2000-01-06-20-18-55@mail2.svr.pol.co.uk \
    --to=pws@pwstephenson.fsnet.co.uk \
    --cc=zsh-workers@sunsite.auc.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).