summary refs log tree commit diff
diff options
context:
space:
mode:
-rw-r--r--ChangeLog8
-rw-r--r--Functions/Newuser/.distfiles2
-rw-r--r--Functions/Newuser/zsh-install-newuser11
-rw-r--r--Functions/Newuser/zsh-newuser-install23
-rw-r--r--Scripts/newuser6
5 files changed, 36 insertions, 14 deletions
diff --git a/ChangeLog b/ChangeLog
index 16af26a30..01d32b8e4 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,3 +1,11 @@
+2005-07-26  Peter Stephenson  <pws@csr.com>
+
+	* 21527: Functions/Newuser/.distfiles,
+	Functions/Newuser/zsh-install-newuser,
+	Functions/Newuser/zsh-newuser-install, Scripts/newuser: don't
+	use function if it failed to load; rename to zsh-newuser-install
+	in case there are more zsh-newuser-* functions in future.
+
 2005-07-25  Clint Adams  <clint@zsh.org>
 
 	* 21526: Completion/Unix/Command/_dhclient: handle dhclient V3 as
diff --git a/Functions/Newuser/.distfiles b/Functions/Newuser/.distfiles
index f192b27e4..9012263a2 100644
--- a/Functions/Newuser/.distfiles
+++ b/Functions/Newuser/.distfiles
@@ -1,4 +1,4 @@
 DISTFILES_SRC='
 .distfiles
-zsh-install-newuser
+zsh-newuser-install
 '
diff --git a/Functions/Newuser/zsh-install-newuser b/Functions/Newuser/zsh-install-newuser
deleted file mode 100644
index 40bba720d..000000000
--- a/Functions/Newuser/zsh-install-newuser
+++ /dev/null
@@ -1,11 +0,0 @@
-# Function to install startup files for a new user.
-# This dummy version simply creates a new .zshrc with a comment.
-# FIXME: we don't want to distribute a file that does that, it
-# would be preferable to do nothing at all.
-
-# Sanitize environment.
-emulate -L zsh
-
-echo "# Created by newuser for $ZSH_VERSION" >${ZDOTDIR:-$HOME}/.zshrc
-
-unfunction zsh-install-newuser
diff --git a/Functions/Newuser/zsh-newuser-install b/Functions/Newuser/zsh-newuser-install
new file mode 100644
index 000000000..6c54dc509
--- /dev/null
+++ b/Functions/Newuser/zsh-newuser-install
@@ -0,0 +1,23 @@
+# Function to install startup files for a new user.
+# This dummy version simply creates a new .zshrc with a comment.
+# FIXME: we don't want to distribute a file that does that, it
+# would be preferable to do nothing at all.
+
+# Sanitize environment.
+emulate -L zsh
+
+local zd=${ZDOTDIR:-$HOME}
+
+# The zsh/newuser module already tests for the following, so this test only
+# triggers if zsh-newuser-install is run by hand.
+#
+# In future we may want to use this mechanism to update startup files.
+if [[ -e $zd/.zshenv || -e $zd/.zprofile || -e $zd/.zshrc || -e $zs/.zlogin ]]
+then
+  print "zsh-newuser-install:  startup files exist, aborting" >&2
+  return 1
+fi
+
+echo "# Created by newuser for $ZSH_VERSION" >$zd/.zshrc
+
+unfunction zsh-newuser-install
diff --git a/Scripts/newuser b/Scripts/newuser
index 47add8ed1..b5d742103 100644
--- a/Scripts/newuser
+++ b/Scripts/newuser
@@ -2,5 +2,7 @@
 # no startup files.  See the documentation for the zsh/newuser
 # module in zshmodules(1).
 
-autoload -U zsh-install-newuser
-zsh-install-newuser
+if functions zsh-newuser-install >/dev/null 2>&1 ||
+   autoload -U +X zsh-newuser-install; then
+   zsh-newuser-install
+fi