summary refs log tree commit diff
diff options
context:
space:
mode:
authorPeter Stephenson <pws@zsh.org>2015-10-01 15:55:01 +0100
committerPeter Stephenson <pws@zsh.org>2015-10-01 15:55:01 +0100
commit196e6a0ec022fb2fc22820a346b5f206a3cf40ac (patch)
treec4145dc39b8eda20406a2cc5570bb451bfeb37f8
parent8bf72dd65b00ffd223d0705c8fde952ff129eafa (diff)
downloadzsh-196e6a0ec022fb2fc22820a346b5f206a3cf40ac.tar.gz
zsh-196e6a0ec022fb2fc22820a346b5f206a3cf40ac.tar.xz
zsh-196e6a0ec022fb2fc22820a346b5f206a3cf40ac.zip
36735: add ~/.zcalcrc handling to zcalc
-rw-r--r--ChangeLog2
-rw-r--r--Doc/Zsh/contrib.yo8
-rw-r--r--Functions/Misc/zcalc4
3 files changed, 14 insertions, 0 deletions
diff --git a/ChangeLog b/ChangeLog
index 4a9d1cebc..a51dc4795 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,5 +1,7 @@
 2015-10-01  Peter Stephenson  <p.stephenson@samsung.com>
 
+	* 36735: Doc/Zsh/contrib.yo, Functions/Misc/zcalc: ~/.zcalcrc.
+
 	* Andrew Janke: 36729: MACHINES, NEWS, README: fix some typos.
 
 	* 36722: Completion/Unix/Command/_git: allow range to complete
diff --git a/Doc/Zsh/contrib.yo b/Doc/Zsh/contrib.yo
index 330c6f588..635f9b010 100644
--- a/Doc/Zsh/contrib.yo
+++ b/Doc/Zsh/contrib.yo
@@ -3657,6 +3657,14 @@ integer arithmetic, which is not how an ordinary desk calculator
 operates.  To force floating point operation, pass the option tt(-f);
 see further notes below.
 
+If the file tt(~/.zcalcrc) exists it will be sourced inside the function
+once it is set up and about to process the command line.  This
+can be used, for example, to set shell options; tt(emulate -L zsh)
+and tt(setopt extendedglob) are in effect at this point.  Any
+failure to source the file if it exists is treated as fatal.
+As with other initialisation files, the directory tt($ZDOTDIR) is used
+instead of tt($HOME) if it is set.
+
 The mathematical library tt(zsh/mathfunc) will be loaded if it is
 available; see
 ifzman(the section `The zsh/mathfunc Module' in zmanref(zshmodules))\
diff --git a/Functions/Misc/zcalc b/Functions/Misc/zcalc
index 63f67adb0..17700e48b 100644
--- a/Functions/Misc/zcalc
+++ b/Functions/Misc/zcalc
@@ -120,6 +120,10 @@ autoload -Uz zmathfuncdef
 float PI E
 (( PI = 4 * atan(1), E = exp(1) ))
 
+if [[ -f "${ZDOTDIR:-$HOME}/.zcalcrc" ]]; then
+  . "${ZDOTDIR:-$HOME}/.zcalcrc" || return 1
+fi
+
 # Process command line
 while [[ -n $1 && $1 = -(|[#-]*|f|e) ]]; do
   optlist=${1[2,-1]}