Zsh Mailing List Archive
Messages sorted by: Reverse Date, Date, Thread, Author

PATCH: zcalcrc

Should be self explanatory.


diff --git a/Doc/Zsh/contrib.yo b/Doc/Zsh/contrib.yo
index 330c6f5..635f9b0 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 63f67ad..17700e4 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
 # Process command line
 while [[ -n $1 && $1 = -(|[#-]*|f|e) ]]; do

Messages sorted by: Reverse Date, Date, Thread, Author