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 : align.elc
;ELC ;;; Compiled by mockbuild@c6b8.bsys.dev.centos.org on Thu Feb 19 13:02:32 2015 ;;; from file /builddir/build/BUILD/emacs-23.1/lisp/align.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 "`align.el' was compiled for Emacs 19.29 or later")) ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; (custom-declare-group 'align nil "Align text to a specific column, by regexp." :version "21.1" :group 'fill) #@55 Hook that gets run after the aligner has been loaded. (custom-declare-variable 'align-load-hook 'nil '(#$ . 710) :type 'hook :group 'align) #@58 If non-nil, indent the marked region before aligning it. (custom-declare-variable 'align-indent-before-aligning 'nil '(#$ . 856) :type 'boolean :group 'align) #@290 An integer that represents the default amount of padding to use. If `align-to-tab-stop' is non-nil, this will represent the number of tab stops to use for alignment, rather than the number of spaces. Each alignment rule can optionally override both this variable. See `align-mode-alist'. (custom-declare-variable 'align-default-spacing '1 '(#$ . 1022) :type 'integer :group 'align) #@112 If non-nil, alignments will always fall on a tab boundary. It may also be a symbol, whose value will be taken. (custom-declare-variable 'align-to-tab-stop ''indent-tabs-mode '(#$ . 1412) :type '(choice (const nil) symbol) :group 'align) #@434 If non-nil, used as a heuristic by `align-current'. Since each alignment rule can possibly have its own set of alignment sections (whenever `align-region-separate' is non-nil, and not a string), this heuristic is used to determine how far before and after point we should search in looking for a region separator. Larger values can mean slower perform in large files, although smaller values may cause unexpected behavior at times. (custom-declare-variable 'align-region-heuristic '500 '(#$ . 1656) :type 'integer :group 'align) #@54 The face to highlight with if changes are necessary. (custom-declare-variable 'align-highlight-change-face ''highlight '(#$ . 2192) :type 'face :group 'align) #@57 The face to highlight with if no changes are necessary. (custom-declare-variable 'align-highlight-nochange-face ''secondary-selection '(#$ . 2357) :type 'face :group 'align) #@124 If an integer, defines what constitutes a "large" region. If nil, then no messages will ever be printed to the minibuffer. (custom-declare-variable 'align-large-region '10000 '(#$ . 2538) :type 'integer :group 'align) #@47 A list of modes whose syntax resembles C/C++. (custom-declare-variable 'align-c++-modes ''(c++-mode c-mode java-mode) '(#$ . 2762) :type '(repeat symbol) :group 'align) #@50 A list of modes where Perl syntax is to be seen. (custom-declare-variable 'align-perl-modes ''(perl-mode cperl-mode) '(#$ . 2937) :type '(repeat symbol) :group 'align) #@46 A list of modes whose syntax resembles Lisp. (custom-declare-variable 'align-lisp-modes ''(emacs-lisp-mode lisp-interaction-mode lisp-mode scheme-mode) '(#$ . 3111) :type '(repeat symbol) :group 'align) #@58 A list of modes whose syntax resembles TeX (and family). (custom-declare-variable 'align-tex-modes ''(tex-mode plain-tex-mode latex-mode slitex-mode) '(#$ . 3320) :type '(repeat symbol) :group 'align) #@46 A list of modes whose content is plain text. (custom-declare-variable 'align-text-modes ''(text-mode outline-mode) '(#$ . 3527) :type '(repeat symbol) :group 'align) #@65 A list of modes where double quoted strings should be excluded. (custom-declare-variable 'align-dq-string-modes '(append align-lisp-modes align-c++-modes align-perl-modes '(python-mode)) '(#$ . 3699) :type '(repeat symbol) :group 'align) #@65 A list of modes where single quoted strings should be excluded. (custom-declare-variable 'align-sq-string-modes '(append align-perl-modes '(python-mode)) '(#$ . 3943) :type '(repeat symbol) :group 'align) #@171 A list of modes with a single-line comment syntax. These are comments as in Lisp, which have a beginning, but end with the line (i.e., `comment-end' is an empty string). (custom-declare-variable 'align-open-comment-modes '(append align-lisp-modes align-c++-modes align-perl-modes '(python-mode makefile-mode)) '(#$ . 4155) :type '(repeat symbol) :group 'align) #@3129 Select the method by which alignment sections will be separated. If this is a symbol, that symbol's value will be used. For the sake of clarification, consider the following example, which will be referred to in the descriptions below. int alpha = 1; /* one */ double beta = 2.0; long gamma; /* ten */ unsigned int delta = 1; /* one */ long double epsilon = 3.0; long long omega; /* ten */ The possible settings for `align-region-separate' are: `entire' The entire region being aligned will be considered as a single alignment section. Assuming that comments were not being aligned to a particular column, the example would become: int alpha = 1; /* one */ double beta = 2.0; long gamma; /* ten */ unsigned int delta = 1; /* one */ long double epsilon; long long chi = 10; /* ten */ `group' Each contiguous set of lines where a specific alignment occurs is considered a section for that alignment rule. Note that each rule may have any entirely different set of section divisions than another. int alpha = 1; /* one */ double beta = 2.0; long gamma; /* ten */ unsigned int delta = 1; /* one */ long double epsilon; long long chi = 10; /* ten */ `largest' When contiguous rule sets overlap, the largest section described will be taken as the alignment section for each rule touched by that section. int alpha = 1; /* one */ double beta = 2.0; long gamma; /* ten */ unsigned int delta = 1; /* one */ long double epsilon; long long chi = 10; /* ten */ NOTE: This option is not supported yet, due to algorithmic issues which haven't been satisfactorily resolved. There are ways to do it, but they're both ugly and resource consumptive. regexp A regular expression string which defines the section divider. If the mode you're in has a consistent divider between sections, the behavior will be very similar to `largest', and faster. But if the mode does not use clear separators (for example, if you collapse your braces onto the preceding statement in C or Perl), `largest' is probably the better alternative. function A function that will be passed the beginning and ending locations of the region in which to look for the section separator. At the very beginning of the attempt to align, both of these parameters will be nil, in which case the function should return non-nil if it wants each rule to define its own section, or nil if it wants the largest section found to be used as the common section for all rules that occur there. list A list of markers within the buffer that represent where the section dividers lie. Be certain to use markers! For when the aligning begins, the ensuing contract/expanding of whitespace will throw off any non-marker positions. This method is intended for use in Lisp programs, and not by the user. (custom-declare-variable 'align-region-separate '"^\\s-*[{}]?\\s-*$" '(#$ . 4524) :type '(choice (const :tag "Entire region is one section" entire) (const :tag "Align by contiguous groups" group) (regexp :tag "Regexp defines section boundaries") (function :tag "Function defines section boundaries")) :group 'align) (put 'align-region-separate 'risky-local-variable t) #@54 The `type' form for any `align-rules-list' variable. (defvar align-rules-list-type '(repeat (cons :tag "Alignment rule" (symbol :tag "Title") (cons :tag "Required attributes" (cons :tag "Regexp" (const :tag "(Regular expression to match)" regexp) (choice :value "\\(\\s-+\\)" regexp function)) (repeat :tag "Optional attributes" (choice (cons :tag "Repeat" (const :tag "(Repeat this rule throughout line)" repeat) (boolean :value t)) (cons :tag "Paren group" (const :tag "(Parenthesis group to use)" group) (choice :value 2 integer (repeat integer))) (cons :tag "Modes" (const :tag "(Modes where this rule applies)" modes) (sexp :value (text-mode))) (cons :tag "Case-fold" (const :tag "(Should case be ignored for this rule)" case-fold) (boolean :value t)) (cons :tag "To Tab Stop" (const :tag "(Should rule align to tab stops)" tab-stop) (boolean :value nil)) (cons :tag "Valid" (const :tag "(Return non-nil if rule is valid)" valid) (function :value t)) (cons :tag "Run If" (const :tag "(Return non-nil if rule should run)" run-if) (function :value t)) (cons :tag "Column" (const :tag "(Column to fix alignment at)" column) (choice :value comment-column integer symbol)) (cons :tag "Spacing" (const :tag "(Amount of spacing to use)" spacing) (integer :value 1)) (cons :tag "Justify" (const :tag "(Should text be right justified)" justify) (boolean :value t)) (cons :tag "Separate" (const :tag "(Separation to use for this rule)" separate) (choice :value "^\\s-*$" (const entire) (const group) regexp function))))))) (#$ . 8027)) #@6332 A list describing all of the available alignment rules. The format is: ((TITLE (ATTRIBUTE . VALUE) ...) ...) The following attributes are meaningful: `regexp' This required attribute must be either a string describing a regular expression, or a function (described below). For every line within the section that this regular expression matches, the given rule will be applied to that line. The exclusion rules denote which part(s) of the line should not be modified; the alignment rules cause the identified whitespace group to be contracted/expanded such that the "alignment character" (the character immediately following the identified parenthesis group), occurs in the same column for every line within the alignment section (see `align-region-separate' for a description of how the region is broken up into alignment sections). The `regexp' attribute describes how the text should be treated. Within this regexp, there must be at least one group of characters (typically whitespace) identified by the special opening and closing parens used in regexp expressions (`\\(' and `\\)') (see the Emacs manual on the syntax of regular expressions for more info). If `regexp' is a function, it will be called as a replacement for `re-search-forward'. This means that it should return nil if nothing is found to match the rule, or it should set the match data appropriately, move point to the end of the match, and return the value of point. `group' For exclusion rules, the group identifies the range of characters that should be ignored. For alignment rules, these are the characters that will be deleted/expanded for the purposes of alignment. The "alignment character" is always the first character immediately following this parenthesis group. This attribute may also be a list of integers, in which case multiple alignment characters will be aligned, with the list of integers identifying the whitespace groups which precede them. The default for this attribute is 1. `modes' The `modes' attribute, if set, should name a list of major modes -- or evaluate to such a value -- in which the rule is valid. If not set, the rule will apply to all modes. `case-fold' If `regexp' is an ordinary regular expression string containing alphabetic character, sometimes you may want the search to proceed case-insensitively (for languages that ignore case, such as Pascal for example). In that case, set `case-fold' to a non-nil value, and the regular expression search will ignore case. If `regexp' is set to a function, that function must handle the job of ignoring case by itself. `tab-stop' If the `tab-stop' attribute is set, and non-nil, the alignment character will always fall on a tab stop (whether it uses tabs to get there or not depends on the value of `indent-tabs-mode'). If the `tab-stop' attribute is set to nil, tab stops will never be used. Otherwise, the value of `align-to-tab-stop' determines whether or not to align to a tab stop. The `tab-stop' attribute may also be a list of t or nil values, corresponding to the number of parenthesis groups specified by the `group' attribute. `repeat' If the `repeat' attribute is present, and non-nil, the rule will be applied to the line continuously until no further matches are found. `valid' If the `valid' attribute is set, it will be used to determine whether the rule should be invoked. This form is evaluated after the regular expression match has been performed, so that it is possible to use the results of that match to determine whether the alignment should be performed. The buffer should not be modified during the evaluation of this form. `run-if' Like `valid', the `run-if' attribute tests whether the rule should be run at all -- even before any searches are done to determine if the rule applies to the alignment region. This can save time, since `run-if' will only be run once for each rule. If it returns nil, the rule will not be attempted. `column' For alignment rules, if the `column' attribute is set -- which must be an integer, or a symbol whose value is an integer -- it will be used as the column in which to align the alignment character. If the text on a particular line happens to overrun that column, a single space character, or tab stop (see `align-to-tab-stop') will be added between the last text character and the alignment character. `spacing' Alignment rules may also override the amount of spacing that would normally be used by providing a `spacing' attribute. This must be an integer, or a list of integers corresponding to the number of parenthesis groups matched by the `group' attribute. If a list of value is used, and any of those values is nil, `align-default-spacing' will be used for that subgroup. See `align-default-spacing' for more details on spacing, tab stops, and how to indicate how much spacing should be used. If TAB-STOP is present, it will override the value of `align-to-tab-stop' for that rule. `justify' It is possible with `regexp' and `group' to identify a character group that contains more than just whitespace characters. By default, any non-whitespace characters in that group will also be deleted while aligning the alignment character. However, if the `justify' attribute is set to a non-nil value, only the initial whitespace characters within that group will be deleted. This has the effect of right-justifying the characters that remain, and can be used for outdenting or just plain old right- justification. `separate' Each rule can define its own section separator, which describes how to identify the separation of "sections" within the region to be aligned. Setting the `separate' attribute overrides the value of `align-region-separate' (see the documentation of that variable for possible values), and any separation argument passed to `align'. (custom-declare-variable 'align-rules-list '`((lisp-second-arg (regexp . "\\(^\\s-+[^( \n]\\|(\\(\\S-+\\)\\s-+\\)\\S-+\\(\\s-+\\)") (group . 3) (modes . align-lisp-modes) (run-if \, #'(lambda nil current-prefix-arg))) (lisp-alist-dot (regexp . "\\(\\s-*\\)\\.\\(\\s-*\\)") (group 1 2) (modes . align-lisp-modes)) (open-comment (regexp \, #'(lambda (end reverse) (funcall (if reverse 're-search-backward 're-search-forward) (concat "[^ \n\\\\]" (regexp-quote comment-start) "\\(.+\\)$") end t))) (modes . align-open-comment-modes)) (c-macro-definition (regexp . "^\\s-*#\\s-*define\\s-+\\S-+\\(\\s-+\\)") (modes . align-c++-modes)) (c-variable-declaration (regexp \, (concat "[*&0-9A-Za-z_]>?[&*]*\\(\\s-+[*&]*\\)" "[A-Za-z_][0-9A-Za-z:_]*\\s-*\\(\\()\\|" "=[^=\n].*\\|(.*)\\|\\(\\[.*\\]\\)*\\)?" "\\s-*[;,]\\|)\\s-*$\\)")) (group . 1) (modes . align-c++-modes) (justify . t) (valid \, #'(lambda nil (not (or (save-excursion (goto-char (match-beginning 1)) (backward-word 1) (looking-at "\\(goto\\|return\\|new\\|delete\\|throw\\)")) (if (and (boundp 'font-lock-mode) font-lock-mode) (eq (get-text-property (point) 'face) 'font-lock-comment-face) (eq (caar (c-guess-basic-syntax)) 'c))))))) (c-assignment (regexp \, (concat "[^-=!^&*+<>/| \n]\\(\\s-*[-=!^&*+<>/|]*\\)" "=\\(\\s-*\\)\\([^= \n]\\|$\\)")) (group 1 2) (modes . align-c++-modes) (justify . t) (tab-stop)) (perl-assignment (regexp \, (concat "[^=!^&*-+<>/| \n]\\(\\s-*\\)=[~>]?" "\\(\\s-*\\)\\([^>= \n]\\|$\\)")) (group 1 2) (modes . align-perl-modes) (tab-stop)) (python-assignment (regexp \, (concat "[^=!<> \n]\\(\\s-*\\)=" "\\(\\s-*\\)\\([^>= \n]\\|$\\)")) (group 1 2) (modes quote (python-mode)) (tab-stop)) (make-assignment (regexp . "^\\s-*\\w+\\(\\s-*\\):?=\\(\\s-*\\)\\([^ \n \\\\]\\|$\\)") (group 1 2) (modes quote (makefile-mode)) (tab-stop)) (c-comma-delimiter (regexp . ",\\(\\s-*\\)[^/ \n]") (repeat . t) (modes . align-c++-modes) (run-if \, #'(lambda nil current-prefix-arg))) (basic-comma-delimiter (regexp . ",\\(\\s-*\\)[^# \n]") (repeat . t) (modes append align-perl-modes '(python-mode)) (run-if \, #'(lambda nil current-prefix-arg))) (c++-comment (regexp . "\\(\\s-*\\)\\(//.*\\|/\\*.*\\*/\\s-*\\)$") (modes . align-c++-modes) (column . comment-column) (valid \, #'(lambda nil (save-excursion (goto-char (match-beginning 1)) (not (bolp)))))) (c-chain-logic (regexp . "\\(\\s-*\\)\\(&&\\|||\\|\\<and\\>\\|\\<or\\>\\)") (modes . align-c++-modes) (valid \, #'(lambda nil (save-excursion (goto-char (match-end 2)) (looking-at "\\s-*\\(/[*/]\\|$\\)"))))) (perl-chain-logic (regexp . "\\(\\s-*\\)\\(&&\\|||\\|\\<and\\>\\|\\<or\\>\\)") (modes . align-perl-modes) (valid \, #'(lambda nil (save-excursion (goto-char (match-end 2)) (looking-at "\\s-*\\(#\\|$\\)"))))) (python-chain-logic (regexp . "\\(\\s-*\\)\\(\\<and\\>\\|\\<or\\>\\)") (modes quote (python-mode)) (valid \, #'(lambda nil (save-excursion (goto-char (match-end 2)) (looking-at "\\s-*\\(#\\|$\\|\\\\\\)"))))) (c-macro-line-continuation (regexp . "\\(\\s-*\\)\\\\$") (modes . align-c++-modes) (column . c-backslash-column)) (basic-line-continuation (regexp . "\\(\\s-*\\)\\\\$") (modes quote (python-mode makefile-mode))) (tex-record-separator (regexp \, #'(lambda (end reverse) (align-match-tex-pattern "&" end reverse))) (group 1 2) (modes . align-tex-modes) (repeat . t)) (tex-tabbing-separator (regexp \, #'(lambda (end reverse) (align-match-tex-pattern "\\\\[=>]" end reverse))) (group 1 2) (modes . align-tex-modes) (repeat . t) (run-if \, #'(lambda nil (eq major-mode 'latex-mode)))) (tex-record-break (regexp . "\\(\\s-*\\)\\\\\\\\") (modes . align-tex-modes)) (text-column (regexp . "\\(^\\|\\S-\\)\\([ ]+\\)\\(\\S-\\|$\\)") (group . 2) (modes . align-text-modes) (repeat . t) (run-if \, #'(lambda nil (and current-prefix-arg (not (eq '- current-prefix-arg)))))) (text-dollar-figure (regexp . "\\$?\\(\\s-+[0-9]+\\)\\.") (modes . align-text-modes) (justify . t) (run-if \, #'(lambda nil (eq '- current-prefix-arg)))) (css-declaration (regexp . "^\\s-*\\w+:\\(\\s-*\\).*;") (group 1) (modes quote (css-mode html-mode)))) '(#$ . 9566) :type align-rules-list-type :group 'align) (put 'align-rules-list 'risky-local-variable t) #@62 The `type' form for any `align-exclude-rules-list' variable. (defvar align-exclude-rules-list-type '(repeat (cons :tag "Exclusion rule" (symbol :tag "Title") (cons :tag "Required attributes" (cons :tag "Regexp" (const :tag "(Regular expression to match)" regexp) (choice :value "\\(\\s-+\\)" regexp function)) (repeat :tag "Optional attributes" (choice (cons :tag "Repeat" (const :tag "(Repeat this rule throughout line)" repeat) (boolean :value t)) (cons :tag "Paren group" (const :tag "(Parenthesis group to use)" group) (choice :value 2 integer (repeat integer))) (cons :tag "Modes" (const :tag "(Modes where this rule applies)" modes) (sexp :value (text-mode))) (cons :tag "Case-fold" (const :tag "(Should case be ignored for this rule)" case-fold) (boolean :value t))))))) (#$ . 20084)) #@124 A list describing text that should be excluded from alignment. See the documentation for `align-rules-list' for more info. (custom-declare-variable 'align-exclude-rules-list '`((exc-dq-string (regexp . "\"\\([^\"\n]+\\)\"") (repeat . t) (modes . align-dq-string-modes)) (exc-sq-string (regexp . "'\\([^'\n]+\\)'") (repeat . t) (modes . align-sq-string-modes)) (exc-open-comment (regexp \, #'(lambda (end reverse) (funcall (if reverse 're-search-backward 're-search-forward) (concat "[^ \n\\\\]" (regexp-quote comment-start) "\\(.+\\)$") end t))) (modes . align-open-comment-modes)) (exc-c-comment (regexp . "/\\*\\(.+\\)\\*/") (repeat . t) (modes . align-c++-modes)) (exc-c-func-params (regexp . "(\\([^)\n]+\\))") (repeat . t) (modes . align-c++-modes)) (exc-c-macro (regexp . "^\\s-*#\\s-*\\(if\\w*\\|endif\\)\\(.*\\)$") (group . 2) (modes . align-c++-modes))) '(#$ . 20883) :type align-exclude-rules-list-type :group 'align) (put 'align-exclude-rules-list 'risky-local-variable t) #@107 Alignment rules specific to the current major mode. See the variable `align-rules-list' for more details. (defvar align-mode-rules-list nil (#$ . 21875)) (make-variable-buffer-local 'align-mode-rules-list) #@125 Alignment exclusion rules specific to the current major mode. See the variable `align-exclude-rules-list' for more details. (defvar align-mode-exclude-rules-list nil (#$ . 22088)) (make-variable-buffer-local 'align-mode-exclude-rules-list) #@63 The current overlays highlighting the text matched by a rule. (defvar align-highlight-overlays nil (#$ . 22334)) #@73 Alignment rules for `vhdl-mode'. See `align-rules-list' for more info. (custom-declare-variable 'align-vhdl-rules-list '`((vhdl-declaration (regexp . "\\(signal\\|variable\\|constant\\)\\(\\s-+\\)\\S-") (group . 2)) (vhdl-case (regexp . "\\(others\\|[^ \n=<]\\)\\(\\s-*\\)=>\\(\\s-*\\)\\S-") (group 2 3) (valid \, #'(lambda nil (not (string= (downcase (match-string 1)) "others"))))) (vhdl-colon (regexp . "[^ \n:]\\(\\s-*\\):\\(\\s-*\\)[^=\n]") (group 1 2)) (direction (regexp . ":\\s-*\\(in\\|out\\|inout\\|buffer\\)\\(\\s-*\\)") (group . 2)) (sig-assign (regexp . "[^ \n=<]\\(\\s-*\\)<=\\(\\s-*\\)\\S-") (group 1 2)) (var-assign (regexp . "[^ \n:]\\(\\s-*\\):=")) (use-entity (regexp . "\\(\\s-+\\)use\\s-+entity"))) '(#$ . 22453) :type align-rules-list-type :group 'align) (put 'align-vhdl-rules-list 'risky-local-variable t) #@61 Setup the `align-mode-rules-list' variable for `vhdl-mode'. (defalias 'align-set-vhdl-rules #[nil "\211\207" [align-vhdl-rules-list align-mode-rules-list] 2 (#$ . 23294)]) (byte-code "\300\301\302\"\210\303\304\305\"\210\303\306\305\"\207" [add-hook vhdl-mode-hook align-set-vhdl-rules add-to-list align-dq-string-modes vhdl-mode align-open-comment-modes] 3) #@734 Attempt to align a region based on a set of alignment rules. BEG and END mark the region. If BEG and END are specifically set to nil (this can only be done programmatically), the beginning and end of the current alignment section will be calculated based on the location of point, and the value of `align-region-separate' (or possibly each rule's `separate' attribute). If SEPARATE is non-nil, it overrides the value of `align-region-separate' for all rules, except those that have their `separate' attribute set. RULES and EXCLUDE-RULES, if either is non-nil, will replace the default rule lists defined in `align-rules-list' and `align-exclude-rules-list'. See `align-rules-list' for more details on the format of these lists. (defalias 'align #[(beg end &optional separate rules exclude-rules) "\206 9\203 \306 !\203 J\202 \206 \307\310\n!\203' \n\311\211\"\203F \312\f\n \2066 \f\2066 \206B \206B %\202\210 \f\312\f\206[ \206[ \311\n\313&\210W\205\207 \312\307 \206z \f\206z \206\206 \206\206 %*)\207" [separate align-region-separate separator beg end rules boundp entire functionp nil align-region #[(b e mode) "\205 <\205 \n^\f]\211\207" [mode sec-first b sec-last e] 2] align-mode-rules-list align-rules-list exclude-rules align-mode-exclude-rules-list align-exclude-rules-list sec-last sec-first] 7 (#$ . 23662) "r"]) #@1061 Align the current region using an ad-hoc rule read from the minibuffer. BEG and END mark the limits of the region. This function will prompt for the REGEXP to align with. If no prefix arg was specified, you only need to supply the characters to be lined up and any preceding whitespace is replaced. If a prefix arg was specified, the full regexp with parenthesized whitespace should be supplied; it will also prompt for which parenthesis GROUP within REGEXP to modify, the amount of SPACING to use, and whether or not to REPEAT the rule throughout the line. See `align-rules-list' for more information about these options. For example, let's say you had a list of phone numbers, and wanted to align them so that the opening parentheses would line up: Fred (123) 456-7890 Alice (123) 456-7890 Mary-Anne (123) 456-7890 Joe (123) 456-7890 There is no predefined rule to handle this, but you could easily do it using a REGEXP like "(". All you would have to do is to mark the region, call `align-regexp' and type in that regular expression. (defalias 'align-regexp #[(beg end regexp &optional group spacing repeat) "\306\300B\301\307 !B \310W\203 \311\312B\202 \313\306B\n\310Y\203$ \302\nB\202) \314\307\n!B\303B\257C\315 \316\f\306\211&)\207" [regexp group spacing repeat rule beg nil abs 0 justify t bogus column align-region entire end] 7 (#$ . 25058) (byte-code "\302\303 \304 D\203# \305\306\307\"\310\305\311\312\"!\310\305\313\314 !\"!\315\316!F\202, \307\305\317!P\320 \321F\"\207" [current-prefix-arg align-default-spacing append region-beginning region-end read-string "Complex align using regexp: " "\\(\\s-*\\)" string-to-number "Parenthesis group to modify (justify if negative): " "1" "Amount of spacing (or column if negative): " number-to-string y-or-n-p "Repeat throughout line? " "Align regexp: " 1 nil] 9)]) #@290 Align the selected region as if it were one alignment section. BEG and END mark the extent of the region. If RULES or EXCLUDE-RULES is set to a list of rules (see `align-rules-list'), it can be used to override the default alignment rules that would have been used to align that section. (defalias 'align-entire #[(beg end &optional rules exclude-rules) "\304 \305\n%\207" [beg end rules exclude-rules align entire] 6 (#$ . 26922) "r"]) #@349 Call `align' on the current alignment section. This function assumes you want to align only the current section, and so saves you from having to specify the region. If RULES or EXCLUDE-RULES is set to a list of rules (see `align-rules-list'), it can be used to override the default alignment rules that would have been used to align that section. (defalias 'align-current #[(&optional rules exclude-rules) "\302\303\211\211 %\207" [rules exclude-rules align nil] 6 (#$ . 27369) nil]) #@360 Highlight the whitespace which a given rule would have modified. BEG and END mark the extent of the region. TITLE identifies the rule that should be highlighted. If RULES or EXCLUDE-RULES is set to a list of rules (see `align-rules-list'), it can be used to override the default alignment rules that would have been used to identify the text to be colored. (defalias 'align-highlight-rule #[(beg end title &optional rules exclude-rules) "\306! \206 \n\236\307\310 \210\311 \f\312 \2061 \f\203* \2061 \2061 \n\2021 \2061 \f?\205@ \206@ \206@ \n\313&*\207" [title align-mode-exclude-rules-list align-exclude-rules-list face ex-rule beg intern nil align-unhighlight-rule align-region entire #[(b e mode) "\203 <\203 \306@! \232\203 \nB\211\207\307\211\207\f\205>