Skip to content

HTTPS clone URL

Subversion checkout URL

You can clone with
or
.
Download ZIP
Browse files

Merge branch 'vim'

Conflicts:
	runtime/doc/tags
	src/gui.c
	src/option.c
  • Loading branch information...
commit 1ba220ad3da69e3607a7e36b97c66e43bca68790 2 parents c898b78 + 8039d35
@b4winckler authored
Showing with 3,084 additions and 1,043 deletions.
  1. +52 −0 .hgtags
  2. +20 −0 runtime/autoload/clojurecomplete.vim
  3. +7 −2 runtime/doc/cmdline.txt
  4. +1 −1  runtime/doc/diff.txt
  5. +16 −11 runtime/doc/eval.txt
  6. +1 −1  runtime/doc/gui_w16.txt
  7. +1 −1  runtime/doc/gui_w32.txt
  8. +6 −6 runtime/doc/help.txt
  9. +35 −8 runtime/doc/if_mzsch.txt
  10. +4 −4 runtime/doc/if_pyth.txt
  11. +100 −0 runtime/doc/indent.txt
  12. +10 −10 runtime/doc/index.txt
  13. +4 −2 runtime/doc/insert.txt
  14. +11 −4 runtime/doc/options.txt
  15. +3 −1 runtime/doc/pattern.txt
  16. +6 −5 runtime/doc/syntax.txt
  17. +10 −0 runtime/doc/tags
  18. +84 −42 runtime/doc/todo.txt
  19. +1 −1  runtime/doc/usr_toc.txt
  20. +14 −4 runtime/doc/various.txt
  21. +5 −1 runtime/filetype.vim
  22. +79 −0 runtime/ftplugin/clojure.vim
  23. +398 −0 runtime/indent/clojure.vim
  24. +8 −3 runtime/indent/sqlanywhere.vim
  25. +2 −2 runtime/macros/matchit.vim
  26. +2 −2 runtime/menu.vim
  27. +5 −5 runtime/syntax/c.vim
  28. +2 −2 runtime/syntax/cl.vim
  29. +134 −0 runtime/syntax/clojure.vim
  30. +6 −3 runtime/syntax/help.vim
  31. +2 −1  runtime/syntax/php.vim
  32. +3 −0  src/Make_cyg.mak
  33. +6 −0 src/Make_ming.mak
  34. +1 −1  src/Make_mvc.mak
  35. +3 −1 src/Makefile
  36. +28 −11 src/auto/configure
  37. +6 −0 src/buffer.c
  38. +17 −6 src/charset.c
  39. +16 −9 src/configure.in
  40. +15 −0 src/edit.c
  41. +40 −5 src/eval.c
  42. +50 −8 src/ex_cmds.c
  43. +12 −0 src/feature.h
  44. +3 −0  src/fileio.c
  45. +35 −28 src/gui.c
  46. +0 −9 src/gui.h
  47. +8 −0 src/gui_gtk_x11.c
  48. +51 −4 src/gui_w48.c
  49. +426 −142 src/if_mzsch.c
  50. +14 −20 src/if_mzsch.h
  51. +10 −10 src/if_perl.xs
  52. +9 −7 src/if_python.c
  53. +3 −0  src/main.c
  54. +29 −13 src/mark.c
  55. +54 −3 src/mbyte.c
  56. +8 −4 src/misc1.c
  57. +9 −5 src/normal.c
  58. +6 −0 src/ops.c
  59. +135 −7 src/option.c
  60. +4 −3 src/os_unix.c
  61. +21 −7 src/po/Makefile
  62. +3 −3 src/po/de.po
  63. +356 −252 src/po/uk.cp1251.po
  64. +356 −252 src/po/uk.po
  65. +2 −1  src/proto/charset.pro
  66. +1 −0  src/proto/eval.pro
  67. +1 −0  src/proto/gui_w16.pro
  68. +1 −0  src/proto/gui_w32.pro
  69. +2 −1  src/proto/mark.pro
  70. +1 −0  src/proto/mbyte.pro
  71. +1 −0  src/proto/option.pro
  72. +34 −0 src/quickfix.c
  73. +24 −21 src/regexp.c
  74. +21 −9 src/screen.c
  75. +18 −55 src/search.c
  76. +3 −3 src/syntax.c
  77. +5 −1 src/testdir/test19.in
  78. +1 −0  src/testdir/test19.ok
  79. +4 −0 src/testdir/test44.in
  80. +1 −0  src/testdir/test44.ok
  81. +4 −0 src/testdir/test48.in
  82. +1 −0  src/testdir/test48.ok
  83. +10 −0 src/testdir/test69.in
  84. +4 −0 src/testdir/test69.ok
  85. +11 −1 src/testdir/test70.in
  86. +1 −0  src/testdir/test70.ok
  87. BIN  src/testdir/test79.in
  88. BIN  src/testdir/test79.ok
  89. +26 −0 src/testdir/test80.in
  90. +10 −0 src/testdir/test80.ok
  91. +104 −0 src/version.c
  92. +15 −15 src/vim.h
  93. +12 −4 src/window.c
View
52 .hgtags
@@ -2091,3 +2091,55 @@ d149f18b289fdf19363214e7805a0637307bd264 v7-3-751
ed936effb1f374004db15f092b8c8ab87631fdd4 v7-3-752
c83cd3d01128204d6926550cbe1064daaf8dee8c v7-3-753
beceb0a18c79b5b1bda4822b34cb2d62b2967d27 v7-3-754
+d9b4cf53be2edbb872cc489aea32a4441b39eaf9 v7-3-755
+706c87d16d40ecdf9c6fba45bc47b911d8e140cc v7-3-756
+65ef7c96d65fb2fbf660797608809f0ac5d0c4b7 v7-3-757
+9eb0d30510f7b02aa5f55f400bfab08d847ab447 v7-3-758
+25ea15fdfa5c7d5894a06814fe9411b75050ebff v7-3-759
+8e54a32bcd56226647cfd3d8c5e142e3a98c0ca7 v7-3-760
+6834d6aeae099d6bfdff5151aa2174cafc22647f v7-3-761
+699f8d8f096d4627f97e8d3bcf64b8634a484c26 v7-3-762
+b6148e4a9c397b5dd1716cdac2f96730bd0f353d v7-3-763
+b29e55d0ef01c506ec48c0c5782e669bb1d80f14 v7-3-764
+915fb3d2dd8ffc322a5cc9e294d9bb7dfa8c5a83 v7-3-765
+b5103b7d9e1284ef9ffbc7d1170d9105c0769c4d v7-3-766
+be1cffa1e477c4a96bb54a3097d3369b23f32825 v7-3-767
+9ea81cd9b1f50054629547ce2eccfac1fa00d096 v7-3-768
+d179a8eff9d7b0adc561f4a4dcfb0b7612c1f301 v7-3-769
+da7a7ba36ed2a51f28e4d3f7e1fd550303e3ece8 v7-3-770
+3bd2c055319e086665af5e449498a4d5bf40f25e v7-3-771
+d828cab6964f4249db54bff6df0fe02d0f290387 v7-3-772
+3db9aee957f7eea6729e5bfd294e3a24d41c79e4 v7-3-773
+a8f5876e498125f4916c5f7168823885c27dad8c v7-3-774
+a6e60677aea727622dde15d1306c61588b805500 v7-3-775
+80b041b994d156360992666110964e74f7473d3e v7-3-776
+9a1a4c486e6bb367c639c29c6120d5fb1fadcc38 v7-3-777
+562bbee33aa4f9896cb23ed6de8fbf60cac323e0 v7-3-778
+2067ed78d37c331685ef8f293d6a23c372ca4b78 v7-3-779
+42edc5dac33c92876d93f00f8ab8c1f6bb25d3fc v7-3-780
+29f29e86602e4a7f83d4572d2fe75b9b0de2752f v7-3-781
+0de969850c0687d2018e025f31e5cef9e9ce1444 v7-3-782
+a80af62d5e3b3614ff9e058f42647c99bffe7481 v7-3-783
+fbadf0f6987790d98c3b3fd935fea0494743830a v7-3-784
+be4baed0c933e1f1543ea175e2e36551ff6caa18 v7-3-785
+8b3e88bab70215a18768fca5a90c6f07ac1aa5eb v7-3-786
+e1b98967a985f4d1ad889c8e69b822d9126411ab v7-3-787
+386fc822dd002958fdade4329845013cbfaa3dab v7-3-788
+43c15135926fb95fa82b01424677a9c37f4d0e46 v7-3-789
+8819ea6dcb72dcf61fd0d20f8ea1904a7546917f v7-3-790
+16e8a09e8ab08d2226dc84b12b7e434bda6b4fa9 v7-3-791
+7061704c2014e4563efa032672264a47b4b7b0d9 v7-3-792
+fdbded463fdcc861630b3ea61b9654374847231a v7-3-793
+9867f92c9b9fb082ee6daca816f859b53ed8e58b v7-3-794
+17a312ba38a0b606cfd64d82ed2ebc844828085f v7-3-795
+2c12c4e2fae8db60fbdf58b34c8b73eacdc32665 v7-3-796
+0cbea05f19c73c01dbd0f04378a65ab7de6719e7 v7-3-797
+cdaa688e3dddc442c1d39780b6ac0b5ac98c253e v7-3-798
+5e9730de25e9b4fc2abe14b8d6b0968a9e59983a v7-3-799
+c0cc0e0620dd935956a472e5b23369d1d78f5fb9 v7-3-800
+48b54c590dc83b705f2e19f9aea1e9a69fe09720 v7-3-801
+cd5145d2408bb52217417af654f5664af269e19e v7-3-802
+77fa4dee43fcd1c0bacad9dc85b3deb39e0ba487 v7-3-803
+2eb4b9ed2d42312eff32e845336aab748f7fe311 v7-3-804
+dc30c01f995623e65ee6651a46b12ff062df8860 v7-3-805
+f7e3f87ac9928df0079741258a3c6034ecc48806 v7-3-806
View
20 runtime/autoload/clojurecomplete.vim
@@ -0,0 +1,20 @@
+" Vim completion script
+" Language: Clojure
+" Maintainer: Sung Pae <self@sungpae.com>
+" URL: https://github.com/guns/vim-clojure-static
+" License: Same as Vim
+" Last Change: 05 February 2013
+
+" Special forms and public vars in clojure.core
+" Generated from https://github.com/guns/vim-clojure-static/blob/vim-release-002/vim_clojure_static.clj
+" Clojure 1.5.0-RC6
+let s:words = ["*","*'","*1","*2","*3","*agent*","*allow-unresolved-vars*","*assert*","*clojure-version*","*command-line-args*","*compile-files*","*compile-path*","*compiler-options*","*data-readers*","*default-data-reader-fn*","*e","*err*","*file*","*flush-on-newline*","*fn-loader*","*in*","*math-context*","*ns*","*out*","*print-dup*","*print-length*","*print-level*","*print-meta*","*print-readably*","*read-eval*","*read-whitelist*","*source-path*","*unchecked-math*","*use-context-classloader*","*verbose-defrecords*","*warn-on-reflection*","+","+'","-","-'","->","->>","->ArrayChunk","->Vec","->VecNode","->VecSeq","-cache-protocol-fn","-reset-methods",".","..","/","<","<=","=","==",">",">=","EMPTY-NODE","accessor","aclone","add-classpath","add-watch","agent","agent-error","agent-errors","aget","alength","alias","all-ns","alter","alter-meta!","alter-var-root","amap","ancestors","and","apply","areduce","array-map","as->","aset","aset-boolean","aset-byte","aset-char","aset-double","aset-float","aset-int","aset-long","aset-short","assert","assoc!","assoc","assoc-in","associative?","atom","await","await-for","await1","bases","bean","bigdec","bigint","biginteger","binding","bit-and","bit-and-not","bit-clear","bit-flip","bit-not","bit-or","bit-set","bit-shift-left","bit-shift-right","bit-test","bit-xor","boolean","boolean-array","booleans","bound-fn","bound-fn*","bound?","butlast","byte","byte-array","bytes","case","cast","catch","char","char-array","char-escape-string","char-name-string","char?","chars","chunk","chunk-append","chunk-buffer","chunk-cons","chunk-first","chunk-next","chunk-rest","chunked-seq?","class","class?","clear-agent-errors","clojure-version","coll?","comment","commute","comp","comparator","compare","compare-and-set!","compile","complement","concat","cond","cond->","cond->>","condp","conj!","conj","cons","constantly","construct-proxy","contains?","count","counted?","create-ns","create-struct","cycle","dec","dec'","decimal?","declare","def","default-data-readers","definline","definterface","defmacro","defmethod","defmulti","defn","defn-","defonce","defprotocol","defrecord","defstruct","deftype","delay","delay?","deliver","denominator","deref","derive","descendants","destructure","disj!","disj","dissoc!","dissoc","distinct","distinct?","do","doall","dorun","doseq","dosync","dotimes","doto","double","double-array","doubles","drop","drop-last","drop-while","empty","empty?","ensure","enumeration-seq","error-handler","error-mode","eval","even?","every-pred","every?","ex-data","ex-info","extend","extend-protocol","extend-type","extenders","extends?","false?","ffirst","file-seq","filter","filterv","finally","find","find-keyword","find-ns","find-protocol-impl","find-protocol-method","find-var","first","flatten","float","float-array","float?","floats","flush","fn","fn","fn?","fnext","fnil","for","force","format","frequencies","future","future-call","future-cancel","future-cancelled?","future-done?","future?","gen-class","gen-interface","gensym","get","get-in","get-method","get-proxy-class","get-thread-bindings","get-validator","group-by","hash","hash-combine","hash-map","hash-set","identical?","identity","if","if-let","if-not","ifn?","import","in-ns","inc","inc'","init-proxy","instance?","int","int-array","integer?","interleave","intern","interpose","into","into-array","ints","io!","isa?","iterate","iterator-seq","juxt","keep","keep-indexed","key","keys","keyword","keyword?","last","lazy-cat","lazy-seq","let","let","letfn","line-seq","list","list*","list?","load","load-file","load-reader","load-string","loaded-libs","locking","long","long-array","longs","loop","loop","macroexpand","macroexpand-1","make-array","make-hierarchy","map","map-indexed","map?","mapcat","mapv","max","max-key","memfn","memoize","merge","merge-with","meta","method-sig","methods","min","min-key","mod","monitor-enter","monitor-exit","munge","name","namespace","namespace-munge","neg?","new","newline","next","nfirst","nil?","nnext","not","not-any?","not-empty","not-every?","not=","ns","ns-aliases","ns-imports","ns-interns","ns-map","ns-name","ns-publics","ns-refers","ns-resolve","ns-unalias","ns-unmap","nth","nthnext","nthrest","num","number?","numerator","object-array","odd?","or","parents","partial","partition","partition-all","partition-by","pcalls","peek","persistent!","pmap","pop!","pop","pop-thread-bindings","pos?","pr","pr-str","prefer-method","prefers","primitives-classnames","print","print-ctor","print-dup","print-method","print-simple","print-str","printf","println","println-str","prn","prn-str","promise","proxy","proxy-call-with-super","proxy-mappings","proxy-name","proxy-super","push-thread-bindings","pvalues","quot","quote","rand","rand-int","rand-nth","range","ratio?","rational?","rationalize","re-find","re-groups","re-matcher","re-matches","re-pattern","re-seq","read","read-line","read-string","realized?","recur","reduce","reduce-kv","reduced","reduced?","reductions","ref","ref-history-count","ref-max-history","ref-min-history","ref-set","refer","refer-clojure","reify","release-pending-sends","rem","remove","remove-all-methods","remove-method","remove-ns","remove-watch","repeat","repeatedly","replace","replicate","require","reset!","reset-meta!","resolve","rest","restart-agent","resultset-seq","reverse","reversible?","rseq","rsubseq","satisfies?","second","select-keys","send","send-off","send-via","seq","seq?","seque","sequence","sequential?","set!","set","set-agent-send-executor!","set-agent-send-off-executor!","set-error-handler!","set-error-mode!","set-validator!","set?","short","short-array","shorts","shuffle","shutdown-agents","slurp","some","some->","some->>","some-fn","sort","sort-by","sorted-map","sorted-map-by","sorted-set","sorted-set-by","sorted?","special-symbol?","spit","split-at","split-with","str","string?","struct","struct-map","subs","subseq","subvec","supers","swap!","symbol","symbol?","sync","take","take-last","take-nth","take-while","test","the-ns","thread-bound?","throw","time","to-array","to-array-2d","trampoline","transient","tree-seq","true?","try","type","unchecked-add","unchecked-add-int","unchecked-byte","unchecked-char","unchecked-dec","unchecked-dec-int","unchecked-divide-int","unchecked-double","unchecked-float","unchecked-inc","unchecked-inc-int","unchecked-int","unchecked-long","unchecked-multiply","unchecked-multiply-int","unchecked-negate","unchecked-negate-int","unchecked-remainder-int","unchecked-short","unchecked-subtract","unchecked-subtract-int","underive","unquote","unquote-splicing","update-in","update-proxy","use","val","vals","var","var-get","var-set","var?","vary-meta","vec","vector","vector-of","vector?","when","when-first","when-let","when-not","while","with-bindings","with-bindings*","with-in-str","with-loading-context","with-local-vars","with-meta","with-open","with-out-str","with-precision","with-redefs","with-redefs-fn","xml-seq","zero?","zipmap"]
+
+" Simple word completion omnifunc
+function! clojurecomplete#Complete(findstart, base)
+ if a:findstart
+ return searchpos('\<', 'bnW', line('.'))[1] - 1
+ else
+ return { 'words': filter(copy(s:words), 'v:val =~ "\\V\\^' . a:base . '"') }
+ endif
+endfunction
View
9 runtime/doc/cmdline.txt
@@ -1,4 +1,4 @@
-*cmdline.txt* For Vim version 7.3. Last change: 2012 Oct 11
+*cmdline.txt* For Vim version 7.3. Last change: 2013 Jan 17
VIM REFERENCE MANUAL by Bram Moolenaar
@@ -714,10 +714,15 @@ three lines: >
Visual Mode and Range *v_:*
{Visual}: Starts a command-line with the Visual selected lines as a
- range. The code ":'<,'>" is used for this range, which makes
+ range. The code `:'<,'>` is used for this range, which makes
it possible to select a similar line from the command-line
history for repeating a command on different Visually selected
lines.
+ When Visual mode was already ended, a short way to use the
+ Visual area for a range is `:*`. This requires that "*" does
+ not appear in 'cpo', see |cpo-star|. Otherwise you will have
+ to type `:'<,'>`
+
==============================================================================
5. Ex command-line flags *ex-flags*
View
2  runtime/doc/diff.txt
@@ -220,7 +220,7 @@ The diffs are highlighted with these groups:
that parts in the middle that are still the
same are highlighted anyway. Only "iwhite" of
'diffopt' is used here.
-|hl-DiffDelete| DiffDelete Deleted lines. Also called filler lines,
+|hl-DiffDelete| DiffDelete Deleted lines. Also called filler lines,
because they don't really exist in this
buffer.
View
27 runtime/doc/eval.txt
@@ -1,4 +1,4 @@
-*eval.txt* For Vim version 7.3. Last change: 2012 Dec 05
+*eval.txt* For Vim version 7.3. Last change: 2013 Jan 23
VIM REFERENCE MANUAL by Bram Moolenaar
@@ -1716,7 +1716,7 @@ call( {func}, {arglist} [, {dict}])
any call {func} with arguments {arglist}
ceil( {expr}) Float round {expr} up
changenr() Number current change number
-char2nr( {expr}) Number ASCII value of first char in {expr}
+char2nr( {expr}[, {utf8}]) Number ASCII/UTF8 value of first char in {expr}
cindent( {lnum}) Number C indent for line {lnum}
clearmatches() none clear all matches
col( {expr}) Number column nr of cursor or mark
@@ -1873,7 +1873,7 @@ mkdir( {name} [, {path} [, {prot}]])
mode( [expr]) String current editing mode
mzeval( {expr}) any evaluate |MzScheme| expression
nextnonblank( {lnum}) Number line nr of non-blank line >= {lnum}
-nr2char( {expr}) String single char with ASCII value {expr}
+nr2char( {expr}[, {utf8}]) String single char with ASCII/UTF8 value {expr}
or( {expr}, {expr}) Number bitwise OR
pathshorten( {expr}) String shorten directory names in a path
pow( {x}, {y}) Float {x} to the power of {y}
@@ -2294,14 +2294,16 @@ changenr() *changenr()*
redo it is the number of the redone change. After undo it is
one less than the number of the undone change.
-char2nr({expr}) *char2nr()*
+char2nr({expr}[, {utf8}]) *char2nr()*
Return number value of the first char in {expr}. Examples: >
char2nr(" ") returns 32
char2nr("ABC") returns 65
-< The current 'encoding' is used. Example for "utf-8": >
+< When {utf8} is omitted or zero, the current 'encoding' is used.
+ Example for "utf-8": >
char2nr("�") returns 225
char2nr("�"[0]) returns 195
-< A combining character is a separate character.
+< With {utf8} set to 1, always treat as utf-8 characters.
+ A combining character is a separate character.
|nr2char()| does the opposite.
cindent({lnum}) *cindent()*
@@ -4371,14 +4373,16 @@ nextnonblank({lnum}) *nextnonblank()*
below it, zero is returned.
See also |prevnonblank()|.
-nr2char({expr}) *nr2char()*
+nr2char({expr}[, {utf8}]) *nr2char()*
Return a string with a single character, which has the number
value {expr}. Examples: >
nr2char(64) returns "@"
nr2char(32) returns " "
-< The current 'encoding' is used. Example for "utf-8": >
+< When {utf8} is omitted or zero, the current 'encoding' is used.
+ Example for "utf-8": >
nr2char(300) returns I with bow character
-< Note that a NUL character in the file is specified with
+< With {utf8} set to 1, always return utf-8 characters.
+ Note that a NUL character in the file is specified with
nr2char(10), because NULs are represented with newline
characters. nr2char(0) is a real NUL and terminates the
string, thus results in an empty string.
@@ -5939,8 +5943,9 @@ taglist({expr}) *taglist()*
If there are no matching tags, then an empty list is returned.
To get an exact tag match, the anchors '^' and '$' should be
- used in {expr}. Refer to |tag-regexp| for more information
- about the tag search regular expression pattern.
+ used in {expr}. This also make the function work faster.
+ Refer to |tag-regexp| for more information about the tag
+ search regular expression pattern.
Refer to |'tags'| for information about how the tags file is
located by Vim. Refer to |tags-file-format| for the format of
View
2  runtime/doc/gui_w16.txt
@@ -16,7 +16,7 @@ Vim's Graphical User Interface *gui-w16* *win16-gui*
Other relevant documentation:
|gui.txt| For generic items of the GUI.
-|os_msdos.txt| For items common to DOS and Windows.
+|os_msdos.txt| For items common to DOS and Windows.
|gui_w32.txt| Some items here are also applicable to the Win16 version.
{Vi does not have a Windows GUI}
View
2  runtime/doc/gui_w32.txt
@@ -17,7 +17,7 @@ Vim's Win32 Graphical User Interface *gui-w32* *win32-gui*
Other relevant documentation:
|gui.txt| For generic items of the GUI.
-|os_win32.txt| For Win32 specific items.
+|os_win32.txt| For Win32 specific items.
{Vi does not have a Windows GUI}
View
12 runtime/doc/help.txt
@@ -1,4 +1,4 @@
-*help.txt* For Vim version 7.3. Last change: 2010 Jul 20
+*help.txt* For Vim version 7.3. Last change: 2012 Dec 06
VIM - main help file
k
@@ -196,12 +196,12 @@ Remarks about specific systems ~
*standard-plugin-list*
Standard plugins ~
|pi_getscript.txt| Downloading latest version of Vim scripts
-|pi_gzip.txt| Reading and writing compressed files
-|pi_netrw.txt| Reading and writing files over a network
-|pi_paren.txt| Highlight matching parens
-|pi_tar.txt| Tar file explorer
+|pi_gzip.txt| Reading and writing compressed files
+|pi_netrw.txt| Reading and writing files over a network
+|pi_paren.txt| Highlight matching parens
+|pi_tar.txt| Tar file explorer
|pi_vimball.txt| Create a self-installing Vim script
-|pi_zip.txt| Zip archive explorer
+|pi_zip.txt| Zip archive explorer
LOCAL ADDITIONS: *local-additions*
View
43 runtime/doc/if_mzsch.txt
@@ -1,4 +1,4 @@
-*if_mzsch.txt* For Vim version 7.3. Last change: 2010 Feb 11
+*if_mzsch.txt* For Vim version 7.3. Last change: 2012 Dec 17
VIM REFERENCE MANUAL by Sergey Khorev
@@ -11,7 +11,8 @@ The MzScheme Interface to Vim *mzscheme* *MzScheme*
3. Threads |mzscheme-threads|
4. Vim access from MzScheme |mzscheme-vim|
5. mzeval() Vim function |mzscheme-mzeval|
-6. Dynamic loading |mzscheme-dynamic|
+6. Using Function references |mzscheme-funcref|
+7. Dynamic loading |mzscheme-dynamic|
{Vi does not have any of these commands}
@@ -21,10 +22,17 @@ The MzScheme interface is available only if Vim was compiled with the
Based on the work of Brent Fulgham.
Dynamic loading added by Sergey Khorev
-For downloading MzScheme and other info:
- http://www.plt-scheme.org/software/mzscheme/
+MzScheme and PLT Scheme names have been rebranded as Racket. For more
+information please check http://racket-lang.org
-Note: On FreeBSD you should use the "drscheme" port.
+Futures and places of Racket version 5.x up to and including 5.3.1 do not
+work correctly with processes created by Vim.
+The simplest solution is to build Racket on your own with these features
+disabled: >
+ ./configure --disable-futures --disable-places --prefix=your-install-prefix
+
+To speed up the process, you might also want to use --disable-gracket and
+--disable-docs
==============================================================================
1. Commands *mzscheme-commands*
@@ -155,8 +163,11 @@ Common
(eval {expr-string}) Evaluate the vim expression into
respective MzScheme object: |Lists| are
represented as Scheme lists,
- |Dictionaries| as hash tables.
- NOTE the name clashes with MzScheme eval
+ |Dictionaries| as hash tables,
+ |Funcref|s as functions (see also
+ |mzscheme-funcref|)
+ NOTE the name clashes with MzScheme eval,
+ use module qualifiers to overcome this.
(range-start) Start/End of the range passed with
(range-end) the Scheme command.
(beep) beep
@@ -237,7 +248,23 @@ To facilitate bi-directional interface, you can use |mzeval()| function to
evaluate MzScheme expressions and pass their values to VimL.
==============================================================================
-6. Dynamic loading *mzscheme-dynamic* *E815*
+6. Using Function references *mzscheme-funcref*
+
+MzScheme interface allows use of |Funcref|s so you can call Vim functions
+directly from Scheme. For instance: >
+ function! MyAdd2(arg)
+ return a:arg + 2
+ endfunction
+ mz (define f2 (vim-eval "function(\"MyAdd2\")"))
+ mz (f2 7)
+< or : >
+ :mz (define indent (vim-eval "function('indent')"))
+ " return Vim indent for line 12
+ :mz (indent 12)
+<
+
+==============================================================================
+7. Dynamic loading *mzscheme-dynamic* *E815*
On MS-Windows the MzScheme libraries can be loaded dynamically. The |:version|
output then includes |+mzscheme/dyn|.
View
8 runtime/doc/if_pyth.txt
@@ -1,4 +1,4 @@
-*if_pyth.txt* For Vim version 7.3. Last change: 2012 Sep 23
+*if_pyth.txt* For Vim version 7.3. Last change: 2013 Feb 03
VIM REFERENCE MANUAL by Paul Moore
@@ -54,8 +54,8 @@ Example: >
EOF
endfunction
<
-Note: Python is very sensitive to the indenting. Also make sure the "class"
-line and "EOF" do not have any indent.
+Note: Python is very sensitive to the indenting. Make sure the "class" line
+and "EOF" do not have any indent.
*:pyfile* *:pyf*
:[range]pyf[ile] {file}
@@ -385,7 +385,7 @@ sure edit "gvim.exe" and search for "python\d*.dll\c".
*:py3* *:python3*
The |:py3| and |:python3| commands work similar to |:python|. A simple check
-if the `:py3` command is wrong: >
+if the `:py3` command is working: >
:py3 print("Hello")
< *:py3file*
The |:py3file| command works similar to |:pyfile|.
View
100 runtime/doc/indent.txt
@@ -577,6 +577,106 @@ $VIMRUNTIME/indent directory for examples.
REMARKS ABOUT SPECIFIC INDENT FILES ~
+CLOJURE *ft-clojure-indent* *clojure-indent*
+
+Clojure indentation differs somewhat from traditional Lisps, due in part to
+the use of square and curly brackets, and otherwise by community convention.
+These conventions are not always universally followed, so the Clojure indent
+script offers a few configurable options, listed below.
+
+If the current vim does not include searchpairpos(), the indent script falls
+back to normal 'lisp' indenting, and the following options are ignored.
+
+ *g:clojure_maxlines*
+
+Set maximum scan distance of searchpairpos(). Larger values trade performance
+for correctness when dealing with very long forms. A value of 0 will scan
+without limits.
+>
+ " Default
+ let g:clojure_maxlines = 100
+<
+
+ *g:clojure_fuzzy_indent*
+ *g:clojure_fuzzy_indent_patterns*
+ *g:clojure_fuzzy_indent_blacklist*
+
+The 'lispwords' option is a list of comma-separated words that mark special
+forms whose subforms must be indented with two spaces.
+
+For example:
+>
+ (defn bad []
+ "Incorrect indentation")
+
+ (defn good []
+ "Correct indentation")
+<
+If you would like to specify 'lispwords' with a |pattern| instead, you can use
+the fuzzy indent feature:
+>
+ " Default
+ let g:clojure_fuzzy_indent = 1
+ let g:clojure_fuzzy_indent_patterns = ['^with', '^def', '^let']
+ let g:clojure_fuzzy_indent_blacklist =
+ \ ['-fn$', '\v^with-%(meta|out-str|loading-context)$']
+
+ " Legacy comma-delimited string version; the list format above is
+ " recommended. Note that patterns are implicitly anchored with ^ and $
+ let g:clojure_fuzzy_indent_patterns = 'with.*,def.*,let.*'
+<
+|g:clojure_fuzzy_indent_patterns| and |g:clojure_fuzzy_indent_blacklist| are
+|Lists| of patterns that will be matched against the unquoted, unqualified
+symbol at the head of a list. This means that a pattern like "^foo" will match
+all these candidates: "foobar", "my.ns/foobar", and "#'foobar".
+
+Each candidate word is tested for special treatment in this order:
+
+ 1. Return true if word is literally in 'lispwords'
+ 2. Return false if word matches a pattern in
+ |g:clojure_fuzzy_indent_blacklist|
+ 3. Return true if word matches a pattern in
+ |g:clojure_fuzzy_indent_patterns|
+ 4. Return false and indent normally otherwise
+
+ *g:clojure_special_indent_words*
+
+Some forms in Clojure are indented so that every subform is indented only two
+spaces, regardless of 'lispwords'. If you have a custom construct that should
+be indented in this idiosyncratic fashion, you can add your symbols to the
+default list below.
+>
+ " Default
+ let g:clojure_special_indent_words =
+ \ 'deftype,defrecord,reify,proxy,extend-type,extend-protocol,letfn'
+<
+
+ *g:clojure_align_multiline_strings*
+
+Align subsequent lines in multiline strings to the column after the opening
+quote, instead of the same column.
+
+For example:
+>
+ (def default
+ "Lorem ipsum dolor sit amet, consectetur adipisicing elit, sed do
+ eiusmod tempor incididunt ut labore et dolore magna aliqua. Ut
+ enim ad minim veniam, quis nostrud exercitation ullamco laboris
+ nisi ut aliquip ex ea commodo consequat.")
+
+ (def aligned
+ "Lorem ipsum dolor sit amet, consectetur adipisicing elit, sed do
+ eiusmod tempor incididunt ut labore et dolore magna aliqua. Ut
+ enim ad minim veniam, quis nostrud exercitation ullamco laboris
+ nisi ut aliquip ex ea commodo consequat.")
+<
+This option is off by default.
+>
+ " Default
+ let g:clojure_align_multiline_strings = 0
+<
+
+
FORTRAN *ft-fortran-indent*
Block if, select case, where, and forall constructs are indented. So are
View
20 runtime/doc/index.txt
@@ -94,8 +94,8 @@ tag char action in Insert mode ~
|i_CTRL-Z| CTRL-Z when 'insertmode' set: suspend Vim
|i_<Esc>| <Esc> end insert mode (unless 'insertmode' set)
|i_CTRL-[| CTRL-[ same as <Esc>
-|i_CTRL-\_CTRL-N| CTRL-\ CTRL-N go to Normal mode
-|i_CTRL-\_CTRL-G| CTRL-\ CTRL-G go to mode specified with 'insertmode'
+|i_CTRL-\_CTRL-N| CTRL-\ CTRL-N go to Normal mode
+|i_CTRL-\_CTRL-G| CTRL-\ CTRL-G go to mode specified with 'insertmode'
CTRL-\ a - z reserved for extensions
CTRL-\ others not used
|i_CTRL-]| CTRL-] trigger abbreviation
@@ -141,7 +141,7 @@ tag char action in Insert mode ~
|i_<ScrollWheelUp>| <ScrollWheelUp> move window three lines up
|i_<S-ScrollWheelUp>| <S-ScrollWheelUp> move window one page up
|i_<ScrollWheelLeft>| <ScrollWheelLeft> move window six columns left
-|i_<S-ScrollWheelLeft>| <S-ScrollWheelLeft> move window one page left
+|i_<S-ScrollWheelLeft>| <S-ScrollWheelLeft> move window one page left
|i_<ScrollWheelRight>| <ScrollWheelRight> move window six columns right
|i_<S-ScrollWheelRight>| <S-ScrollWheelRight> move window one page right
@@ -212,8 +212,8 @@ tag char note action in Normal mode ~
|CTRL-Y| CTRL-Y scroll N lines downwards
|CTRL-Z| CTRL-Z suspend program (or start new shell)
CTRL-[ <Esc> not used
-|CTRL-\_CTRL-N| CTRL-\ CTRL-N go to Normal mode (no-op)
-|CTRL-\_CTRL-G| CTRL-\ CTRL-G go to mode specified with 'insertmode'
+|CTRL-\_CTRL-N| CTRL-\ CTRL-N go to Normal mode (no-op)
+|CTRL-\_CTRL-G| CTRL-\ CTRL-G go to mode specified with 'insertmode'
CTRL-\ a - z reserved for extensions
CTRL-\ others not used
|CTRL-]| CTRL-] :ta to ident under cursor
@@ -431,7 +431,7 @@ tag char note action in Normal mode ~
|<Insert>| <Insert> 2 same as "i"
|<Left>| <Left> 1 same as "h"
|<LeftMouse>| <LeftMouse> 1 move cursor to the mouse click position
-|<MiddleMouse>| <MiddleMouse> 2 same as "gP" at the mouse click position
+|<MiddleMouse>| <MiddleMouse> 2 same as "gP" at the mouse click position
|<PageDown>| <PageDown> same as CTRL-F
|<PageUp>| <PageUp> same as CTRL-B
|<Right>| <Right> 1 same as "l"
@@ -640,7 +640,7 @@ tag char note action in Normal mode ~
|[s| [s 1 move to the previous misspelled word
|[z| [z 1 move to start of open fold
|[{| [{ 1 cursor N times back to unmatched '{'
-|[<MiddleMouse> [<MiddleMouse> 2 same as "[p"
+|[<MiddleMouse>| [<MiddleMouse> 2 same as "[p"
|]_CTRL-D| ] CTRL-D jump to first #define found in current and
included files matching the word under the
@@ -680,7 +680,7 @@ tag char note action in Normal mode ~
|]s| ]s 1 move to next misspelled word
|]z| ]z 1 move to end of open fold
|]}| ]} 1 cursor N times forward to unmatched '}'
-|]<MiddleMouse> ]<MiddleMouse> 2 same as "]p"
+|]<MiddleMouse>| ]<MiddleMouse> 2 same as "]p"
==============================================================================
2.4 Commands starting with 'g' *g*
@@ -1011,8 +1011,8 @@ tag command action in Command-line editing mode ~
CTRL-Z not used (reserved for suspend)
|c_<Esc>| <Esc> abandon command-line without executing it
|c_<Esc>| CTRL-[ same as <Esc>
-|c_CTRL-\_CTRL-N| CTRL-\ CTRL-N go to Normal mode, abandon command-line
-|c_CTRL-\_CTRL-G| CTRL-\ CTRL-G go to mode specified with 'insertmode',
+|c_CTRL-\_CTRL-N| CTRL-\ CTRL-N go to Normal mode, abandon command-line
+|c_CTRL-\_CTRL-G| CTRL-\ CTRL-G go to mode specified with 'insertmode',
abandon command-line
CTRL-\ a - d reserved for extensions
|c_CTRL-\_e| CTRL-\ e {expr} replace the command line with the result of
View
6 runtime/doc/insert.txt
@@ -1,4 +1,4 @@
-*insert.txt* For Vim version 7.3. Last change: 2012 Jul 10
+*insert.txt* For Vim version 7.3. Last change: 2013 Jan 09
VIM REFERENCE MANUAL by Bram Moolenaar
@@ -380,7 +380,9 @@ The CTRL-O command sometimes has a side effect: If the cursor was beyond the
end of the line, it will be put on the last character in the line. In
mappings it's often better to use <Esc> (first put an "x" in the text, <Esc>
will then always put the cursor on it). Or use CTRL-\ CTRL-O, but then
-beware of the cursor possibly being beyond the end of the line.
+beware of the cursor possibly being beyond the end of the line. Note that the
+command following CTRL-\ CTRL-O can still move the cursor, it is not restored
+to its original position.
The CTRL-O command takes you to Normal mode. If you then use a command enter
Insert mode again it normally doesn't nest. Thus when typing "a<C-O>a" and
View
15 runtime/doc/options.txt
@@ -1,4 +1,4 @@
-*options.txt* For Vim version 7.3. Last change: 2012 Oct 21
+*options.txt* For Vim version 7.3. Last change: 2013 Jan 30
VIM REFERENCE MANUAL by Bram Moolenaar
@@ -3659,6 +3659,10 @@ A jump table for the options with a short description can be found at |Q_op|.
to set 'guifontwide' at all unless you want to override the choice
made by Pango/Xft.
+ Windows +multibyte only: *guifontwide_win_mbyte*
+
+ If set and valid, 'guifontwide' is used for IME instead of 'guifont'.
+
*'guiheadroom'* *'ghr'*
'guiheadroom' 'ghr' number (default 50)
global
@@ -3921,7 +3925,8 @@ A jump table for the options with a short description can be found at |Q_op|.
|hl-ModeMsg| M Mode (e.g., "-- INSERT --")
|hl-LineNr| n line number for ":number" and ":#" commands, and
when 'number' or 'relativenumber' option is set.
- |hl-CursorLineNr| N like n for when 'cursorline' is set.
+ |hl-CursorLineNr| N like n for when 'cursorline' or 'relativenumber' is
+ set.
|hl-Question| r |hit-enter| prompt and yes/no questions
|hl-StatusLine| s status line of current window |status-line|
|hl-StatusLineNC| S status lines of not-current windows
@@ -4828,8 +4833,10 @@ A jump table for the options with a short description can be found at |Q_op|.
local to buffer
{not in Vi}
Characters that form pairs. The |%| command jumps from one to the
- other. Currently only single byte character pairs are allowed, and
- they must be different. The characters must be separated by a colon.
+ other.
+ Only character pairs are allowed that are different, thus you cannot
+ jump between two double quotes.
+ The characters must be separated by a colon.
The pairs must be separated by a comma. Example for including '<' and
'>' (HTML): >
:set mps+=<:>
View
4 runtime/doc/pattern.txt
@@ -1,4 +1,4 @@
-*pattern.txt* For Vim version 7.3. Last change: 2012 May 18
+*pattern.txt* For Vim version 7.3. Last change: 2013 Jan 25
VIM REFERENCE MANUAL by Bram Moolenaar
@@ -993,6 +993,8 @@ x A single character, with no special meaning, matches itself
[xyz] any 'x', 'y' or 'z'
[a-zA-Z]$ any alphabetic character at the end of a line
\c[a-z]$ same
+ [А-яЁё] Russian alphabet (with utf-8 and cp1251)
+
*/[\n]*
With "\_" prepended the collection also includes the end-of-line.
The same can be done by including "\n" in the collection. The
View
11 runtime/doc/syntax.txt
@@ -1,4 +1,4 @@
-*syntax.txt* For Vim version 7.3. Last change: 2012 Nov 28
+*syntax.txt* For Vim version 7.3. Last change: 2013 Jan 30
VIM REFERENCE MANUAL by Bram Moolenaar
@@ -3903,9 +3903,9 @@ External matches *:syn-ext-match*
These extra regular expression items are available in region patterns:
*/\z(* */\z(\)* *E50* *E52*
- \z(\) Marks the sub-expression as "external", meaning that it is can
- be accessed from another pattern match. Currently only usable
- in defining a syntax region start pattern.
+ \z(\) Marks the sub-expression as "external", meaning that it can be
+ accessed from another pattern match. Currently only usable in
+ defining a syntax region start pattern.
*/\z1* */\z2* */\z3* */\z4* */\z5*
\z1 ... \z9 */\z6* */\z7* */\z8* */\z9* *E66* *E67*
@@ -4592,7 +4592,8 @@ IncSearch 'incsearch' highlighting; also used for the text replaced with
LineNr Line number for ":number" and ":#" commands, and when 'number'
or 'relativenumber' option is set.
*hl-CursorLineNr*
-CursorLineNr Like LineNr when 'cursorline' is set for the cursor line.
+CursorLineNr Like LineNr when 'cursorline' or 'relativenumber' is set for
+ the cursor line.
*hl-MatchParen*
MatchParen The character under the cursor or just before it, if it
is a paired bracket, and its match. |pi_paren.txt|
View
10 runtime/doc/tags
@@ -5082,6 +5082,7 @@ clipboard-exclude options.txt /*clipboard-exclude*
clipboard-html options.txt /*clipboard-html*
clipboard-unnamed options.txt /*clipboard-unnamed*
clipboard-unnamedplus options.txt /*clipboard-unnamedplus*
+clojure-indent indent.txt /*clojure-indent*
cmd-key gui_mac.txt /*cmd-key*
cmd-movement gui_mac.txt /*cmd-movement*
cmd-shortcuts gui_mac.txt /*cmd-shortcuts*
@@ -5707,6 +5708,7 @@ ft-ch-syntax syntax.txt /*ft-ch-syntax*
ft-changelog-plugin filetype.txt /*ft-changelog-plugin*
ft-changelog-syntax syntax.txt /*ft-changelog-syntax*
ft-chill-syntax syntax.txt /*ft-chill-syntax*
+ft-clojure-indent indent.txt /*ft-clojure-indent*
ft-cobol-syntax syntax.txt /*ft-cobol-syntax*
ft-coldfusion-syntax syntax.txt /*ft-coldfusion-syntax*
ft-csh-syntax syntax.txt /*ft-csh-syntax*
@@ -5871,6 +5873,12 @@ g:ada_space_errors ft_ada.txt /*g:ada_space_errors*
g:ada_standard_types ft_ada.txt /*g:ada_standard_types*
g:ada_with_gnat_project_files ft_ada.txt /*g:ada_with_gnat_project_files*
g:ada_withuse_ordinary ft_ada.txt /*g:ada_withuse_ordinary*
+g:clojure_align_multiline_strings indent.txt /*g:clojure_align_multiline_strings*
+g:clojure_fuzzy_indent indent.txt /*g:clojure_fuzzy_indent*
+g:clojure_fuzzy_indent_blacklist indent.txt /*g:clojure_fuzzy_indent_blacklist*
+g:clojure_fuzzy_indent_patterns indent.txt /*g:clojure_fuzzy_indent_patterns*
+g:clojure_maxlines indent.txt /*g:clojure_maxlines*
+g:clojure_special_indent_words indent.txt /*g:clojure_special_indent_words*
g:colors_name options.txt /*g:colors_name*
g:decada ft_ada.txt /*g:decada*
g:decada.Error_Format ft_ada.txt /*g:decada.Error_Format*
@@ -6207,6 +6215,7 @@ gui_w32.txt gui_w32.txt /*gui_w32.txt*
gui_x11.txt gui_x11.txt /*gui_x11.txt*
guifontwide_gtk2 options.txt /*guifontwide_gtk2*
guifontwide_macvim options.txt /*guifontwide_macvim*
+guifontwide_win_mbyte options.txt /*guifontwide_win_mbyte*
guioptions_a options.txt /*guioptions_a*
guu change.txt /*guu*
gv visual.txt /*gv*
@@ -6886,6 +6895,7 @@ mzscheme-buffer if_mzsch.txt /*mzscheme-buffer*
mzscheme-commands if_mzsch.txt /*mzscheme-commands*
mzscheme-dynamic if_mzsch.txt /*mzscheme-dynamic*
mzscheme-examples if_mzsch.txt /*mzscheme-examples*
+mzscheme-funcref if_mzsch.txt /*mzscheme-funcref*
mzscheme-mzeval if_mzsch.txt /*mzscheme-mzeval*
mzscheme-sandbox if_mzsch.txt /*mzscheme-sandbox*
mzscheme-threads if_mzsch.txt /*mzscheme-threads*
View
126 runtime/doc/todo.txt
@@ -1,4 +1,4 @@
-*todo.txt* For Vim version 7.3. Last change: 2012 Dec 05
+*todo.txt* For Vim version 7.3. Last change: 2013 Feb 06
VIM REFERENCE MANUAL by Bram Moolenaar
@@ -34,9 +34,14 @@ not be repeated below, unless there is extra information.
*known-bugs*
-------------------- Known bugs and current work -----------------------
-On external command get the message:
- SIGCHLD handler called (some thread has SIGCHLD unblocked)
-From MzScheme
+Substitute with confirmation and then "q" does not replace anything.
+(John McGowan)
+
+Download counter for scripts no longer incremented?
+Looks like it.
+
+Several syntax file match "^\s*" which may get underlined if that's in the
+highlight group. Add a "\zs" after it?
Go through more coverity reports.
@@ -44,68 +49,79 @@ Discussion about canonicalization of Hebrew. (Ron Aaron, 2011 April 10)
Checking runtime scripts: Thilo Six, 2012 Jun 6.
+Patch for doc indenting. (Ken Takata, Feb 4)
+
GTK: problem with 'L' in 'guioptions' changing the window width.
(Aaron Cornelius, 2012 Feb 6)
-Javascript file where indent gets stuck on: GalaxyMaster, 2012 May 3.
+Configure change to detect Lua 5.2. (lilydjwg, 2013 Jan 31)
-The CompleteDone autocommand needs some info passed to it:
-- The word that was selected (empty if abandoned complete)
-- Type of completion: tag, omnifunc, user func.
+Javascript file where indent gets stuck on: GalaxyMaster, 2012 May 3.
-Patch for matchit.vim. (Mike Morearty, 2012 Nov 28)
+Patch to avoid warnings in Perl code. (Christian Brabandt, 2013 Jan 30)
-Patch to fix that the QuitPre autocommand clears the quitmore flag. (Techlive
-Zheng, 2012 Nov 28)
+The " mark is not updated for lines inserted above it. (Roland Eggner, 2013
+Feb 5)
-":gundo" command: global undo. Undoes changes spread over multiple files in
-the order they were made. Also ":gredo". Both with a count. Useful when
-tests fail after making changes and you forgot in which files.
+Look into patch to add 'linenumber' option. (Nazri Ramliy, 2013 Feb 4)
-Patch to make updating tabline faster. (Arseny Kapoulkine, 2012 Oct 3)
-Also remove the "rc" variable.
+Another patch for Python threads, 2 and 3. (Ken Takata, 2013 Jan 31)
+Does this really work?
-Patch to make "- register not always used. (Christian Brabandt, 2012 Nov 28)
+Patch for 'relativenumber' being reset unexpectedly. (Christian Brabandt, 2013
+Feb 1) Tests Feb 2.
-Crash with vimdiff. (Don Cruickshank, 2012 Sep 23)
+Patch to avoid useless compare. (Hayaki Saito, 2013 Feb 2)
-Patch to support subdirectories for help files. (Charles Campbell, 2012 Nov
-21)
+The CompleteDone autocommand needs some info passed to it:
+- The word that was selected (empty if abandoned complete)
+- Type of completion: tag, omnifunc, user func.
-Patch for mzscheme. (Sergey Khorev, 2012 Nov 19)
-What about ignoring SEGV?
+Patch to make multibyte input work on Win32 console when codepage differs from
+'encoding'. (Ken Takata, 2012 Sep 29)
-Win32: use 'guifontwide' for IME composition. (Taro Muraoka, 2012 Sep 30)
-Update Oct 2.
+Patch for building with Ruby and Cygwin. (Ken Takata, 2013 Jan 9)
-Patch to fix :s command with confirm and typing "a". (Christian Brabandt, 2012
-Oct 28)
+Patch to make 'relativenumber' show the current lnum instead of zero.
+(Nazri Ramliy, 2013 Jan 29)
-/[^\n] does match at a line break. Expected to do the same as /.
-Patch by Christian Brabandt, 2012 Dec 1.
-Test files in archive in another message.
+It's possible to define an input() function that overrides the built-in one.
+(ZyX, 2012 Sep 28)
-Patch to make multibyte input work on Win32 console when codepage differs from
-'encoding'. (Ken Takata, 2012 Sep 29)
+Patch to add sha256() function. (Tyru, 2013 Jan 8)
+Test by Higashi, 2013 Feb 2.
+All together (tyru, 2013 Feb 5)
-It's possible to defined an input() function that overrides the built-in one.
-(ZyX, 2012 Sep 28)
+Patch to make pyeval() print error messages. (ZyX, 2013 Jan 12)
Win32: When a directory name contains an exclamation mark, completion doesn't
complete the contents of the directory. No escaping for the "!"? (Jan
Stocker, 2012 Jan 5)
+Patch for Win32 clipboard under Cygwin. (Frodak Baksik, Feb 15)
+ Sutcliffe says it works well.
+ Update 2007 May 22 for Vim 7.1
+ Update 2008 Dec 2008 for Vim 7.2.xx (Sharonov)
+ Update by Ken Takata (2012 Dec 31, 2013 Jan 4, 2013 Jan 26)
+
Problem parsing expression with function(). (Andy Wokula, 2012 Nov 22)
Patch by Christian Brabandt, Nov 22. Tests in another patch, Nov 23.
+Patch to add default value to getbufvar() et al. (Shougo Matsushita, Hirohito
+Higashi, 2013 Jan 1)
+
Problem caused by patch 7.3.638: window->open does not update window
correctly. Issue 91.
+Patch to fix compiler warnings for MingW 4.5.3. (Ken Takata, 2013 Jan 26)
+
Do allow real tags above the !_TAG entries. Undo older patch. Issue 90.
Patch to support 'u' in interactive substitute. (Christian Brabandt, 2012 Sep
28) With tests: Oct 9.
+Patch to make fold updates much faster. (Christian Brabandt, 2012 Dec)
+
Patch for IME handling, adds 'imactivatefunc' and 'imstatusfunc' option.
(Yukihiro Nakadaira, 2012 Aug 16)
Patch to improve IME handling. (Yasuhiro Matsumoto, 2012 Jul 18)
@@ -136,6 +152,8 @@ MS-Windows: Crash opening very long file name starting with "\\".
It's probably a good idea to make a negative value for 'sts' use the value of
'sw'. Patch by So8res, Oct 3 2012
+patch to add "combine" flag to syntax commands. (so8res, 2012 Dec 6)
+
Syntax update problem in one buffer opened in two windows, bottom window is
not correctly updated. (Paul Harris, 2012 Feb 27)
@@ -145,9 +163,22 @@ Alternate patch by Gary Johnson, Sep 4.
Patch to add getsid(). (Tyru, 2011 Oct 2) Do we want this? Update Oct 4.
Or use expand('<sid>')?
+Patch to make confirm() display colors. (Christian Brabandt, 2012 Nov 9)
+
+Patch to add functions for signs. (Christian Brabandt,, 2013 Jan 27)
+
+Patch to use directX to draw text on Windows. Adds the 'directx' option.
+(Taro Muraoka, 2013 Jan 25)
+
+b:undo_ftplugin cannot call a script-local function. (Boris Danilov, 2013 Jan
+7)
+
Patch for :tabcloseleft, after closing a tab go to left tab. (William Bowers,
2012 Aug 4)
+Patch to improve equivalence classes in regexp patterns.
+(Christian Brabandt, 2013 Jan 16, update Jan 17)
+
Patch with suggestions for starting.txt. (Tony Mechelynck, 2012 Oct 24)
But use Gnome instead of GTK?
@@ -160,6 +191,7 @@ Crash in autocmd that unloads buffers in a BufUnload event. (Andrew Pimlott,
MS-Windows ACL support doesn't work well. Patch from Ken Takata, 2012 Aug 29.
Update Aug 31.
+Another patch for MingW, 2012 Dec 29.
MS-Windows resizing problems:
- Windows window on screen positioning: Patch by Yukihiro Nakadaira, 2012 Jun
@@ -260,7 +292,7 @@ Update Jun 2.
Patch to add ":py3do". (Lilydjwg, 2012 Apr 7)
-`[ moves to character after insert, instead of the last inserted character.
+`] moves to character after insert, instead of the last inserted character.
(Yukihiro Nakadaira, 2011 Dec 9)
Plugin for Modeleasy. (Massimiliano Tripoli, 2011 Nov 29)
@@ -388,6 +420,12 @@ string() can't parse back "inf" and "nan". Fix documentation or fix code?
Make 'formatprg' global-local. (Sung Pae)
+When a buffer-local mapping is used, but a global mapping starts with the same
+characters, Vim currently waits for the next typed character to find out if
+the global mapping matches. It is probably better to let the local mapping
+win and not wait. (discussion with Andy Wokula, 2013 Jan 30)
+Patch by Michael Henry, 2013 Jan 30.
+
When doing "redir => s:foo" in a script and then "redir END" somewhere else
(e.g. in a function) it can't find s:foo.
@@ -516,6 +554,9 @@ names, shell commands and the like. (Kikuchan, 2010 Oct 14)
Assume the system converts between the actual encoding of the filesystem to
the system encoding (usually utf-8).
+Patch to add GUI colors to the terminal, when it supports it. (ZyX, 2013 Jan
+26)
+
Problem producing tags file when hebrew.frx is present. It has a BOM.
Results in E670. (Tony Mechelynck, 2010 May 2)
@@ -714,7 +755,7 @@ to avoid changing 'eventignore'?
Patch for displaying 0x200c and 0x200d. (Ali Gholami Rudi, 2009 May 6)
Probably needs a bit of work.
-List of encoding aliases. (Takao Fujiware, 2009 Jul 18)
+List of encoding aliases. (Takao Fujiwara, 2009 Jul 18)
Are they all OK? Update Jul 22.
Win32: Improved Makefile for MSVC. (Leonardo Valeri Manera, 2010 Aug 18)
@@ -744,7 +785,7 @@ Problem with <script> mappings (Andy Wokula, 2009 Mar 8)
When starting Vim with "gvim -f -u non_existent_file > foo.txt" there are a
few control characters in the output. (Dale Wiles, 2009 May 28)
-'cmdwinheight is only used in last window when 'winheight' is a large value.
+'cmdwinheight' is only used in last window when 'winheight' is a large value.
(Tony Mechelynck, 2009 Apr 15)
Status line containing winnr() isn't updated when splitting the window (Clark
@@ -1245,11 +1286,6 @@ makes his own wrapper). Add a magic string with the version number to the
Changes for Win32 makefile. (Mike Williams, 2007 Jan 22, Alexei Alexandrov,
2007 Feb 8)
-Patch for Win32 clipboard under Cygwin. (Frodak Baksik, Feb 15)
- Sutcliffe says it works well.
- Update 2007 May 22 for Vim 7.1
- Update 2008 Dec 2008 for Vim 7.2.xx (Sharonov)
-
Win32: Can't complete shell command names. Why is setting xp_context in
set_one_cmd_context() inside #ifndef BACKSLASH_IN_FILENAME?
@@ -1664,7 +1700,8 @@ Patch to support horizontal scroll wheel in GTK. Untested. (Bjorn Winckler,
2010 Jun 30)
-At next release:
+At next release 7.4:
+- Build a huge version by default.
- Rename src/Makefile and create a new one like toplevel Makefile that
creates auto/config.mk when it's not there? (Ben Schmidt, 2011 Feb 11)
- Improve plugin handling: Automatic updates, handle dependencies?
@@ -4297,6 +4334,7 @@ Incsearch:
Searching:
+9 Should have an option for :vimgrep to find lines without a match.
8 Add "g/" and "gb" to search for a pattern in the Visually selected text?
"g?" is already used for rot13.
The vis.vim script has a ":S" command that does something like this.
@@ -4428,6 +4466,9 @@ Searching:
Undo:
+9 ":gundo" command: global undo. Undoes changes spread over multiple files
+ in the order they were made. Also ":gredo". Both with a count. Useful
+ when tests fail after making changes and you forgot in which files.
9 After undo/redo, in the message show whether the buffer is modified or
not.
8 Use timestamps for undo, so that a version a certain time ago can be found
@@ -4612,6 +4653,7 @@ Options:
7 There is 'titleold', why is there no 'iconold'? (Chazelas)
7 Make 'scrolloff' a global-local option, so that it can be different in the
quickfix window, for example. (Gary Holloway)
+ Also do 'sidescrolloff'.
External commands:
View
2  runtime/doc/usr_toc.txt
@@ -248,7 +248,7 @@ Subjects that can be read independently.
|28.7| Folding by syntax
|28.8| Folding by expression
|28.9| Folding unchanged lines
- |28.10| Which fold method to use?
+ |28.10| Which fold method to use?
|usr_29.txt| Moving through programs
|29.1| Using tags
View
18 runtime/doc/various.txt
@@ -1,4 +1,4 @@
-*various.txt* For Vim version 7.3. Last change: 2012 Dec 05
+*various.txt* For Vim version 7.3. Last change: 2012 Dec 06
VIM REFERENCE MANUAL by Bram Moolenaar
@@ -174,27 +174,37 @@ g8 Print the hex values of the bytes used in the
the command-line. {commands} are executed like they
are typed. For undo all commands are undone together.
Execution stops when an error is encountered.
+
If the [!] is given, mappings will not be used.
+ Without it, when this command is called from a
+ non-remappable mapping (|:noremap|), the argument can
+ be mapped anyway.
+
{commands} should be a complete command. If
{commands} does not finish a command, the last one
will be aborted as if <Esc> or <C-C> was typed.
- The display isn't updated while ":normal" is busy.
This implies that an insert command must be completed
(to start Insert mode, see |:startinsert|). A ":"
command must be completed as well. And you can't use
"Q" or "gQ" to start Ex mode.
+
+ The display is not updated while ":normal" is busy.
+
{commands} cannot start with a space. Put a count of
1 (one) before it, "1 " is one space.
+
The 'insertmode' option is ignored for {commands}.
+
This command cannot be followed by another command,
since any '|' is considered part of the command.
+
This command can be used recursively, but the depth is
limited by 'maxmapdepth'.
- When this command is called from a non-remappable
- mapping |:noremap|, the argument can be mapped anyway.
+
An alternative is to use |:execute|, which uses an
expression as argument. This allows the use of
printable characters to represent special characters.
+
Example: >
:exe "normal \<c-w>\<c-w>"
< {not in Vi, of course}
View
6 runtime/filetype.vim
@@ -1,7 +1,7 @@
" Vim support file to detect file types
"
" Maintainer: Bram Moolenaar <Bram@vim.org>
-" Last Change: 2012 Nov 28
+" Last Change: 2013 Jan 31
" Listen very carefully, I will say this only once
if exists("did_load_filetypes")
@@ -489,6 +489,9 @@ au BufNewFile,BufRead *.prg
\ setf clipper |
\ endif
+" Clojure
+au BufNewFile,BufRead *.clj,*.cljs setf clojure
+
" Cmake
au BufNewFile,BufRead CMakeLists.txt,*.cmake,*.cmake.in setf cmake
@@ -744,6 +747,7 @@ au BufNewFile,BufRead *.ged,lltxxxxx.txt setf gedcom
" Git
au BufNewFile,BufRead *.git/COMMIT_EDITMSG setf gitcommit
+au BufNewFile,BufRead *.git/MERGE_MSG setf gitcommit
au BufNewFile,BufRead *.git/config,.gitconfig,.gitmodules setf gitconfig
au BufNewFile,BufRead *.git/modules/**/COMMIT_EDITMSG setf gitcommit
au BufNewFile,BufRead *.git/modules/**/config setf gitconfig
View
79 runtime/ftplugin/clojure.vim
@@ -0,0 +1,79 @@
+" Vim filetype plugin file
+" Language: Clojure
+" Author: Meikel Brandmeyer <mb@kotka.de>
+"
+" Maintainer: Sung Pae <self@sungpae.com>
+" URL: https://github.com/guns/vim-clojure-static
+" License: Same as Vim
+" Last Change: 30 January 2013
+
+" Only do this when not done yet for this buffer
+if exists("b:did_ftplugin")
+ finish
+endif
+let b:did_ftplugin = 1
+
+let s:cpo_save = &cpo
+set cpo&vim
+
+let b:undo_ftplugin = 'setlocal define< formatoptions< comments< commentstring<'
+
+" There will be false positives, but this is better than missing the whole set
+" of user-defined def* definitions.
+setlocal define=\\v[(/]def(ault)@!\\S*
+
+" Remove 't' from 'formatoptions' to avoid auto-wrapping code. The '+=croql'
+" is standard ftplugin boilerplate, although it is arguably intrusive.
+setlocal formatoptions-=t formatoptions+=croql
+
+" Lisp comments are routinely nested (e.g. ;;; SECTION HEADING)
+setlocal comments=n:;
+setlocal commentstring=;\ %s
+
+" Provide insert mode completions for special forms and clojure.core. As
+" 'omnifunc' is set by popular Clojure REPL client plugins, we also set
+" 'completefunc' so that the user has some form of completion available when
+" 'omnifunc' is set and no REPL connection exists.
+for s:setting in ['omnifunc', 'completefunc']
+ if exists('&' . s:setting) && empty(eval('&' . s:setting))
+ execute 'setlocal ' . s:setting . '=clojurecomplete#Complete'
+ let b:undo_ftplugin .= ' | setlocal ' . s:setting . '<'
+ endif
+endfor
+
+" Take all directories of the CLOJURE_SOURCE_DIRS environment variable
+" and add them to the path option.
+"
+" This is a legacy option for VimClojure users.
+if exists('$CLOJURE_SOURCE_DIRS')
+ for s:dir in split($CLOJURE_SOURCE_DIRS, (has("win32") || has("win64")) ? ';' : ':')
+ let s:dir = fnameescape(s:dir)
+ " Whitespace escaping for Windows
+ let s:dir = substitute(s:dir, '\', '\\\\', 'g')
+ let s:dir = substitute(s:dir, '\ ', '\\ ', 'g')
+ execute "setlocal path+=" . s:dir . "/**"
+ endfor
+ let b:undo_ftplugin .= ' | setlocal path<'
+endif
+
+" Skip brackets in ignored syntax regions when using the % command
+if exists('loaded_matchit')
+ let b:match_words = &matchpairs
+ let b:match_skip = 's:comment\|string\|regex\|character'
+ let b:undo_ftplugin .= ' | unlet! b:match_words b:match_skip'
+endif
+
+" Win32 can filter files in the browse dialog
+if has("gui_win32") && !exists("b:browsefilter")
+ let b:browsefilter = "Clojure Source Files (*.clj)\t*.clj\n" .
+ \ "ClojureScript Source Files (*.cljs)\t*.cljs\n" .
+ \ "Java Source Files (*.java)\t*.java\n" .
+ \ "All Files (*.*)\t*.*\n"
+ let b:undo_ftplugin .= ' | unlet! b:browsefilter'
+endif
+
+let &cpo = s:cpo_save
+
+unlet! s:cpo_save s:setting s:dir
+
+" vim:sts=4 sw=4 et:
View
398 runtime/indent/clojure.vim
@@ -0,0 +1,398 @@
+" Vim indent file
+" Language: Clojure
+" Author: Meikel Brandmeyer <mb@kotka.de>
+" URL: http://kotka.de/projects/clojure/vimclojure.html
+"
+" Maintainer: Sung Pae <self@sungpae.com>
+" URL: https://github.com/guns/vim-clojure-static
+" License: Same as Vim
+" Last Change: 30 January 2013
+
+" Only load this indent file when no other was loaded.
+if exists("b:did_indent")
+ finish
+endif
+let b:did_indent = 1
+
+let s:save_cpo = &cpo
+set cpo&vim
+
+let b:undo_indent = 'setlocal autoindent< smartindent< lispwords< expandtab< softtabstop< shiftwidth< indentexpr< indentkeys<'
+
+setlocal noautoindent nosmartindent
+setlocal softtabstop=2 shiftwidth=2 expandtab
+setlocal indentkeys=!,o,O
+
+if exists("*searchpairpos")
+
+ if !exists('g:clojure_maxlines')
+ let g:clojure_maxlines = 100
+ endif
+
+ if !exists('g:clojure_fuzzy_indent')
+ let g:clojure_fuzzy_indent = 1
+ endif
+
+ if !exists('g:clojure_fuzzy_indent_patterns')
+ let g:clojure_fuzzy_indent_patterns = ['^with', '^def', '^let']
+ endif
+
+ if !exists('g:clojure_fuzzy_indent_blacklist')
+ let g:clojure_fuzzy_indent_blacklist = ['-fn$', '\v^with-%(meta|out-str|loading-context)$']
+ endif
+
+ if !exists('g:clojure_special_indent_words')
+ let g:clojure_special_indent_words = 'deftype,defrecord,reify,proxy,extend-type,extend-protocol,letfn'
+ endif
+
+ if !exists('g:clojure_align_multiline_strings')
+ let g:clojure_align_multiline_strings = 0
+ endif
+
+ function! s:SynIdName()
+ return synIDattr(synID(line("."), col("."), 0), "name")
+ endfunction
+
+ function! s:CurrentChar()
+ return getline('.')[col('.')-1]
+ endfunction
+
+ function! s:CurrentWord()
+ return getline('.')[col('.')-1 : searchpos('\v>', 'n', line('.'))[1]-2]
+ endfunction
+
+ function! s:IsParen()
+ return s:CurrentChar() =~ '\v[\(\)\[\]\{\}]' &&
+ \ s:SynIdName() !~? '\vstring|comment'
+ endfunction
+
+ " Returns 1 if string matches a pattern in 'patterns', which may be a
+ " list of patterns, or a comma-delimited string of implicitly anchored
+ " patterns.
+ function! s:MatchesOne(patterns, string)
+ let list = type(a:patterns) == type([])
+ \ ? a:patterns
+ \ : map(split(a:patterns, ','), '"^" . v:val . "$"')
+ for pat in list
+ if a:string =~ pat | return 1 | endif
+ endfor
+ endfunction
+
+ function! s:SavePosition()
+ let [ _b, l, c, _o ] = getpos(".")
+ let b = bufnr("%")
+ return [b, l, c]
+ endfunction
+
+ function! s:RestorePosition(value)
+ let [b, l, c] = a:value
+ if bufnr("%") != b
+ execute b "buffer!"
+ endif
+ call setpos(".", [0, l, c, 0])
+ endfunction
+
+ function! s:MatchPairs(open, close, stopat)
+ " Stop only on vector and map [ resp. {. Ignore the ones in strings and
+ " comments.
+ if a:stopat == 0
+ let stopat = max([line(".") - g:clojure_maxlines, 0])
+ else
+ let stopat = a:stopat
+ endif
+
+ let pos = searchpairpos(a:open, '', a:close, 'bWn', "!s:IsParen()", stopat)
+ return [pos[0], virtcol(pos)]
+ endfunction
+
+ function! s:ClojureCheckForStringWorker()
+ " Check whether there is the last character of the previous line is
+ " highlighted as a string. If so, we check whether it's a ". In this
+ " case we have to check also the previous character. The " might be the
+ " closing one. In case the we are still in the string, we search for the
+ " opening ". If this is not found we take the indent of the line.
+ let nb = prevnonblank(v:lnum - 1)
+
+ if nb == 0
+ return -1
+ endif
+
+ call cursor(nb, 0)
+ call cursor(0, col("$") - 1)
+ if s:SynIdName() !~? "string"
+ return -1
+ endif
+
+ " This will not work for a " in the first column...
+ if s:CurrentChar() == '"'
+ call cursor(0, col("$") - 2)
+ if s:SynIdName() !~? "string"
+ return -1
+ endif
+ if s:CurrentChar() != '\\'
+ return -1
+ endif
+ call cursor(0, col("$") - 1)
+ endif
+
+ let p = searchpos('\(^\|[^\\]\)\zs"', 'bW')
+
+ if p != [0, 0]
+ return p[1] - 1
+ endif
+
+ return indent(".")
+ endfunction
+
+ function! s:CheckForString()
+ let pos = s:SavePosition()
+ try
+ let val = s:ClojureCheckForStringWorker()
+ finally
+ call s:RestorePosition(pos)
+ endtry
+ return val
+ endfunction
+
+ function! s:ClojureIsMethodSpecialCaseWorker(position)
+ " Find the next enclosing form.
+ call search('\S', 'Wb')
+
+ " Special case: we are at a '(('.
+ if s:CurrentChar() == '('
+ return 0
+ endif
+ call cursor(a:position)
+
+ let nextParen = s:MatchPairs('(', ')', 0)
+
+ " Special case: we are now at toplevel.
+ if nextParen == [0, 0]
+ return 0
+ endif
+ call cursor(nextParen)
+
+ call search('\S', 'W')
+ if g:clojure_special_indent_words =~ '\<' . s:CurrentWord() . '\>'
+ return 1
+ endif
+
+ return 0
+ endfunction
+
+ function! s:IsMethodSpecialCase(position)
+ let pos = s:SavePosition()
+ try
+ let val = s:ClojureIsMethodSpecialCaseWorker(a:position)
+ finally
+ call s:RestorePosition(pos)
+ endtry
+ return val
+ endfunction
+
+ function! GetClojureIndent()
+ " Get rid of special case.
+ if line(".") == 1
+ return 0
+ endif
+
+ " We have to apply some heuristics here to figure out, whether to use
+ " normal lisp indenting or not.
+ let i = s:CheckForString()
+ if i > -1
+ return i + !!g:clojure_align_multiline_strings
+ endif
+
+ call cursor(0, 1)
+
+ " Find the next enclosing [ or {. We can limit the second search
+ " to the line, where the [ was found. If no [ was there this is
+ " zero and we search for an enclosing {.
+ let paren = s:MatchPairs('(', ')', 0)
+ let bracket = s:MatchPairs('\[', '\]', paren[0])
+ let curly = s:MatchPairs('{', '}', bracket[0])
+
+ " In case the curly brace is on a line later then the [ or - in
+ " case they are on the same line - in a higher column, we take the
+ " curly indent.
+ if curly[0] > bracket[0] || curly[1] > bracket[1]
+ if curly[0] > paren[0] || curly[1] > paren[1]
+ return curly[1]
+ endif
+ endif
+
+ " If the curly was not chosen, we take the bracket indent - if
+ " there was one.
+ if bracket[0] > paren[0] || bracket[1] > paren[1]
+ return bracket[1]
+ endif
+
+ " There are neither { nor [ nor (, ie. we are at the toplevel.
+ if paren == [0, 0]
+ return 0
+ endif
+
+ " Now we have to reimplement lispindent. This is surprisingly easy, as
+ " soon as one has access to syntax items.
+ "
+ " - Check whether we are in a special position after a word in
+ " g:clojure_special_indent_words. These are special cases.
+ " - Get the next keyword after the (.
+ " - If its first character is also a (, we have another sexp and align
+ " one column to the right of the unmatched (.
+ " - In case it is in lispwords, we indent the next line to the column of
+ " the ( + sw.
+ " - If not, we check whether it is last word in the line. In that case
+ " we again use ( + sw for indent.
+ " - In any other case we use the column of the end of the word + 2.
+ call cursor(paren)
+
+ if s:IsMethodSpecialCase(paren)
+ return paren[1] + &shiftwidth - 1
+ endif
+
+ " In case we are at the last character, we use the paren position.
+ if col("$") - 1 == paren[1]
+ return paren[1]
+ endif
+
+ " In case after the paren is a whitespace, we search for the next word.
+ normal! l
+ if s:CurrentChar() == ' '
+ normal! w
+ endif
+
+ " If we moved to another line, there is no word after the (. We
+ " use the ( position for indent.
+ if line(".") > paren[0]
+ return paren[1]
+ endif
+
+ " We still have to check, whether the keyword starts with a (, [ or {.
+ " In that case we use the ( position for indent.
+ let w = s:CurrentWord()
+ if stridx('([{', w[0]) > -1
+ return paren[1]
+ endif
+
+ " Test words without namespace qualifiers and leading reader macro
+ " metacharacters.
+ "
+ " e.g. clojure.core/defn and #'defn should both indent like defn.
+ let ww = substitute(w, "\\v%(.*/|[#'`~@^,]*)(.*)", '\1', '')
+
+ if &lispwords =~ '\V\<' . ww . '\>'
+ return paren[1] + &shiftwidth - 1
+ endif
+
+ if g:clojure_fuzzy_indent
+ \ && !s:MatchesOne(g:clojure_fuzzy_indent_blacklist, ww)
+ \ && s:MatchesOne(g:clojure_fuzzy_indent_patterns, ww)
+ return paren[1] + &shiftwidth - 1
+ endif
+
+ normal! W
+ if paren[0] < line(".")
+ return paren[1] + &shiftwidth - 1
+ endif
+
+ normal! ge
+ return virtcol(".") + 1
+ endfunction
+
+ setlocal indentexpr=GetClojureIndent()
+
+else
+
+ " In case we have searchpairpos not available we fall back to
+ " normal lisp indenting.
+ setlocal indentexpr=
+ setlocal lisp
+ let b:undo_indent .= '| setlocal lisp<'
+
+endif
+
+" Specially indented symbols from clojure.core and clojure.test.
+"
+" Clojure symbols are indented in the defn style when they:
+"
+" * Define vars and anonymous functions
+" * Create new lexical scopes or scopes with altered environments
+" * Create conditional branches from a predicate function or value
+"
+" The arglists for these functions are generally in the form of [x & body];
+" Functions that accept a flat list of forms do not treat the first argument
+" specially and hence are not indented specially.
+
+" Definitions
+setlocal lispwords=
+setlocal lispwords+=bound-fn
+setlocal lispwords+=def
+setlocal lispwords+=definline
+setlocal lispwords+=definterface
+setlocal lispwords+=defmacro
+setlocal lispwords+=defmethod
+setlocal lispwords+=defmulti
+setlocal lispwords+=defn
+setlocal lispwords+=defn-
+setlocal lispwords+=defonce
+setlocal lispwords+=defprotocol
+setlocal lispwords+=defrecord
+setlocal lispwords+=defstruct
+setlocal lispwords+=deftest " clojure.test
+setlocal lispwords+=deftest- " clojure.test
+setlocal lispwords+=deftype
+setlocal lispwords+=extend
+setlocal lispwords+=extend-protocol
+setlocal lispwords+=extend-type
+setlocal lispwords+=fn
+setlocal lispwords+=ns
+setlocal lispwords+=proxy
+setlocal lispwords+=reify
+setlocal lispwords+=set-test " clojure.test
+
+" Binding forms
+setlocal lispwords+=as->
+setlocal lispwords+=binding
+setlocal lispwords+=doall
+setlocal lispwords+=dorun
+setlocal lispwords+=doseq
+setlocal lispwords+=dotimes
+setlocal lispwords+=doto
+setlocal lispwords+=for
+setlocal lispwords+=if-let
+setlocal lispwords+=let
+setlocal lispwords+=letfn
+setlocal lispwords+=locking
+setlocal lispwords+=loop
+setlocal lispwords+=testing " clojure.test
+setlocal lispwords+=when-first
+setlocal lispwords+=when-let
+setlocal lispwords+=with-bindings
+setlocal lispwords+=with-in-str
+setlocal lispwords+=with-local-vars
+setlocal lispwords+=with-open
+setlocal lispwords+=with-precision
+setlocal lispwords+=with-redefs
+setlocal lispwords+=with-redefs-fn
+setlocal lispwords+=with-test " clojure.test
+
+" Conditional branching
+setlocal lispwords+=case
+setlocal lispwords+=cond->
+setlocal lispwords+=cond->>
+setlocal lispwords+=condp
+setlocal lispwords+=if
+setlocal lispwords+=if-not
+setlocal lispwords+=when
+setlocal lispwords+=when-not
+setlocal lispwords+=while
+
+" Exception handling
+setlocal lispwords+=catch
+setlocal lispwords+=try " For aesthetics when enclosing single line
+
+let &cpo = s:save_cpo
+unlet! s:save_cpo
+
+" vim:sts=4 sw=4 et:
View
11 runtime/indent/sqlanywhere.vim
@@ -1,7 +1,7 @@
" Vim indent file
" Language: SQL
" Maintainer: David Fishburn <dfishburn dot vim at gmail dot com>
-" Last Change: 2012 Dec 05
+" Last Change: 2012 Dec 06
" Version: 3.0
" Download: http://vim.sourceforge.net/script.php?script_id=495
@@ -36,8 +36,6 @@ if exists("b:did_indent")
endif
let b:did_indent = 1
let b:current_indent = "sqlanywhere"
-let s:keepcpo= &cpo
-set cpo&vim
setlocal indentkeys-=0{
setlocal indentkeys-=0}
@@ -57,6 +55,13 @@ setlocal indentkeys+==~end,=~else,=~elseif,=~elsif,0=~when,0=)
" in the indentkeys is typed
setlocal indentexpr=GetSQLIndent()
+" Only define the functions once.
+if exists("*GetSQLIndent")
+ finish
+endif
+let s:keepcpo= &cpo
+set cpo&vim
+
" List of all the statements that start a new block.
" These are typically words that start a line.
" IS is excluded, since it is difficult to determine when the
View
4 runtime/macros/matchit.vim
@@ -131,7 +131,7 @@ function! s:Match_wrapper(word, forward, mode) range
" let default = substitute(escape(&mps, '[$^.*~\\/?]'), '[,:]\+',
" \ '\\|', 'g').'\|\/\*\|\*\/\|#if\>\|#ifdef\>\|#else\>\|#elif\>\|#endif\>'
let default = escape(&mps, '[$^.*~\\/?]') . (strlen(&mps) ? "," : "") .
- \ '\/\*:\*\/,#if\%(def\)\=:#else\>:#elif\>:#endif\>'
+ \ '\/\*:\*\/,#\s*if\%(def\)\=:#\s*else\>:#\s*elif\>:#\s*endif\>'
" s:all = pattern with all the keywords
let match_words = match_words . (strlen(match_words) ? "," : "") . default
if match_words !~ s:notslash . '\\\d'
@@ -649,7 +649,7 @@ fun! s:MultiMatch(spflag, mode)
" s:all regexp based on s:pat and the default groups
" This part is copied and slightly modified from s:Match_wrapper().
let default = escape(&mps, '[$^.*~\\/?]') . (strlen(&mps) ? "," : "") .
- \ '\/\*:\*\/,#if\%(def\)\=:#else\>:#elif\>:#endif\>'
+ \ '\/\*:\*\/,#\s*if\%(def\)\=:#\s*else\>:#\s*elif\>:#\s*endif\>'
" Allow b:match_words = "GetVimMatchWords()" .
if b:match_words =~ ":"
let match_words = b:match_words
View
4 runtime/menu.vim
@@ -2,7 +2,7 @@
" You can also use this as a start for your own set of menus.
"
" Maintainer: Bram Moolenaar <Bram@vim.org>
-" Last Change: 2012 Oct 21
+" Last Change: 2012 Dec 06
" Note that ":an" (short for ":anoremenu") is often used to make a menu work
" in all modes and avoid side effects from mappings defined by the user.
@@ -170,7 +170,7 @@ if !has("gui_macvim")
endif
func! <SID>SelectAll()
- exe "norm gg" . (&slm == "" ? "VG" : "gH\<C-O>G")
+ exe "norm! gg" . (&slm == "" ? "VG" : "gH\<C-O>G")
endfunc
func! s:FnameEscape(fname)
View
10 runtime/syntax/c.vim
@@ -1,7 +1,7 @@
" Vim syntax file
" Language: C
" Maintainer: Bram Moolenaar <Bram@vim.org>
-" Last Change: 2012 May 03
+" Last Change: 2012 Dec 14
" Quit when a (custom) syntax file was already loaded
if exists("b:current_syntax")
@@ -93,16 +93,16 @@ endif
" This should be before cErrInParen to avoid problems with #define ({ xxx })
if exists("c_curly_error")
- syntax match cCurlyError "}"
- syntax region cBlock start="{" end="}" contains=ALLBUT,cBadBlock,cCurlyError,@cParenGroup,cErrInParen,cCppParen,cErrInBracket,cCppBracket,cCppString,@Spell fold
+ syn match cCurlyError "}"
+ syn region cBlock start="{" end="}" contains=ALLBUT,cBadBlock,cCurlyError,@cParenGroup,cErrInParen,cCppParen,cErrInBracket,cCppBracket,cCppString,@Spell fold
else
- syntax region cBlock start="{" end="}" transparent fold
+ syn region cBlock start="{" end="}" transparent fold
endif
"catch errors caused by wrong parenthesis and brackets
" also accept <% for {, %> for }, <: for [ and :> for ] (C99)
" But avoid matching <::.
-syn cluster cParenGroup contains=cParenError,cIncluded,cSpecial,cCommentSkip,cCommentString,cComment2String,@cCommentGroup,cCommentStartError,cUserCont,cUserLabel,cBitField,cOctalZero,@cCppOutInGroup,cFormat,cNumber,cFloat,cOctal,cOctalError,cNumbersCom
+syn cluster cParenGroup contains=cParenError,cIncluded,cSpecial,cCommentSkip,cCommentString,cComment2String,@cCommentGroup,cCommentStartError,cUserLabel,cBitField,cOctalZero,@cCppOutInGroup,cFormat,cNumber,cFloat,cOctal,cOctalError,cNumbersCom
if exists("c_no_curly_error")
syn region cParen transparent start='(' end=')' end='}'me=s-1 contains=ALLBUT,cBlock,@cParenGroup,cCppParen,cCppString,@Spell
" cCppParen: same as cParen but ends at end-of-line; used in cDefine
View
4 runtime/syntax/cl.vim
@@ -17,9 +17,9 @@ elseif exists("b:current_syntax")
endif
if version >= 600
- setlocal iskeyword=@,48-57,_,-,
+ setlocal iskeyword=@,48-57,_,-
else
- set iskeyword=@,48-57,_,-,
+ set iskeyword=@,48-57,_,-
endif
syn case ignore
View
134 runtime/syntax/clojure.vim
@@ -0,0 +1,134 @@
+" Vim syntax file
+" Language: Clojure
+" Authors: Toralf Wittner <toralf.wittner@gmail.com>
+" modified by Meikel Brandmeyer <mb@kotka.de>
+" URL: http://kotka.de/projects/clojure/vimclojure.html
+"
+" Maintainer: Sung Pae <self@sungpae.com>
+" URL: https://github.com/guns/vim-clojure-static
+" License: Same as Vim
+" Last Change: 05 February 2013
+
+if version < 600
+ syntax clear
+elseif exists("b:current_syntax")
+ finish
+endif
+
+setlocal iskeyword+=?,-,*,!,+,/,=,<,>,.,:,$
+
+" Generated from https://github.com/guns/vim-clojure-static/blob/vim-release-002/vim_clojure_static.clj
+" Clojure 1.5.0-RC6
+syntax keyword clojureConstant nil
+syntax keyword clojureBoolean false true
+syntax keyword clojureSpecial . catch clojure.core/fn clojure.core/let clojure.core/loop def do finally fn if let loop monitor-enter monitor-exit new quote recur set! throw try var
+syntax keyword clojureException catch finally throw try
+syntax keyword clojureCond case clojure.core/case clojure.core/cond clojure.core/cond-> clojure.core/cond->> clojure.core/condp clojure.core/if-let clojure.core/if-not clojure.core/when clojure.core/when-first clojure.core/when-let clojure.core/when-not cond cond-> cond->> condp if-let if-not when when-first when-let when-not
+syntax keyword clojureRepeat clojure.core/doall clojure.core/dorun clojure.core/doseq clojure.core/dotimes clojure.core/while doall dorun doseq dotimes while
+syntax keyword clojureDefine clojure.core/definline clojure.core/definterface clojure.core/defmacro clojure.core/defmethod clojure.core/defmulti clojure.core/defn clojure.core/defn- clojure.core/defonce clojure.core/defprotocol clojure.core/defrecord clojure.core/defstruct clojure.core/deftype definline definterface defmacro defmethod defmulti defn defn- defonce defprotocol defrecord defstruct deftype
+syntax keyword clojureMacro -> ->> .. amap and areduce as-> assert binding bound-fn clojure.core/-> clojure.core/->> clojure.core/.. clojure.core/amap clojure.core/and clojure.core/areduce clojure.core/as-> clojure.core/assert clojure.core/binding clojure.core/bound-fn clojure.core/comment clojure.core/declare clojure.core/delay clojure.core/dosync clojure.core/doto clojure.core/extend-protocol clojure.core/extend-type clojure.core/for clojure.core/future clojure.core/gen-class clojure.core/gen-interface clojure.core/import clojure.core/io! clojure.core/lazy-cat clojure.core/lazy-seq clojure.core/letfn clojure.core/locking clojure.core/memfn clojure.core/ns clojure.core/or clojure.core/proxy clojure.core/proxy-super clojure.core/pvalues clojure.core/refer-clojure clojure.core/reify clojure.core/some-> clojure.core/some->> clojure.core/sync clojure.core/time clojure.core/with-bindings clojure.core/with-in-str clojure.core/with-loading-context clojure.core/with-local-vars clojure.core/with-open clojure.core/with-out-str clojure.core/with-precision clojure.core/with-redefs comment declare delay dosync doto extend-protocol extend-type for future gen-class gen-interface import io! lazy-cat lazy-seq letfn locking memfn ns or proxy proxy-super pvalues refer-clojure reify some-> some->> sync time with-bindings with-in-str with-loading-context with-local-vars with-open with-out-str with-precision with-redefs
+syntax keyword clojureFunc * *' + +' - -' ->ArrayChunk ->Vec ->VecNode ->VecSeq -cache-protocol-fn -reset-methods / < <= = == > >= accessor aclone add-classpath add-watch agent agent-error agent-errors aget alength alias all-ns alter alter-meta! alter-var-root ancestors apply array-map aset aset-boolean aset-byte aset-char aset-double aset-float aset-int aset-long aset-short assoc assoc! assoc-in associative? atom await await-for await1 bases bean bigdec bigint biginteger bit-and bit-and-not bit-clear bit-flip bit-not bit-or bit-set bit-shift-left bit-shift-right bit-test bit-xor boolean boolean-array booleans bound-fn* bound? butlast byte byte-array bytes cast char char-array char? chars chunk chunk-append chunk-buffer chunk-cons chunk-first chunk-next chunk-rest chunked-seq? class class? clear-agent-errors clojure-version clojure.core/* clojure.core/*' clojure.core/+ clojure.core/+' clojure.core/- clojure.core/-' clojure.core/->ArrayChunk clojure.core/->Vec clojure.core/->VecNode clojure.core/->VecSeq clojure.core/-cache-protocol-fn clojure.core/-reset-methods clojure.core// clojure.core/< clojure.core/<= clojure.core/= clojure.core/== clojure.core/> clojure.core/>= clojure.core/accessor clojure.core/aclone clojure.core/add-classpath clojure.core/add-watch clojure.core/agent clojure.core/agent-error clojure.core/agent-errors clojure.core/aget clojure.core/alength clojure.core/alias clojure.core/all-ns clojure.core/alter clojure.core/alter-meta! clojure.core/alter-var-root clojure.core/ancestors clojure.core/apply clojure.core/array-map clojure.core/aset clojure.core/aset-boolean clojure.core/aset-byte clojure.core/aset-char clojure.core/aset-double clojure.core/aset-float clojure.core/aset-int clojure.core/aset-long clojure.core/aset-short clojure.core/assoc clojure.core/assoc! clojure.core/assoc-in clojure.core/associative? clojure.core/atom clojure.core/await clojure.core/await-for clojure.core/await1 clojure.core/bases clojure.core/bean clojure.core/bigdec clojure.core/bigint clojure.core/biginteger clojure.core/bit-and clojure.core/bit-and-not clojure.core/bit-clear clojure.core/bit-flip clojure.core/bit-not clojure.core/bit-or clojure.core/bit-set clojure.core/bit-shift-left clojure.core/bit-shift-right clojure.core/bit-test clojure.core/bit-xor clojure.core/boolean clojure.core/boolean-array clojure.core/booleans clojure.core/bound-fn* clojure.core/bound? clojure.core/butlast clojure.core/byte clojure.core/byte-array clojure.core/bytes clojure.core/cast clojure.core/char clojure.core/char-array clojure.core/char? clojure.core/chars clojure.core/chunk clojure.core/chunk-append clojure.core/chunk-buffer clojure.core/chunk-cons clojure.core/chunk-first clojure.core/chunk-next clojure.core/chunk-rest clojure.core/chunked-seq? clojure.core/class clojure.core/class? clojure.core/clear-agent-errors clojure.core/clojure-version clojure.core/coll? clojure.core/commute clojure.core/comp clojure.core/comparator clojure.core/compare clojure.core/compare-and-set! clojure.core/compile clojure.core/complement clojure.core/concat clojure.core/conj clojure.core/conj! clojure.core/cons clojure.core/constantly clojure.core/construct-proxy clojure.core/contains? clojure.core/count clojure.core/counted? clojure.core/create-ns clojure.core/create-struct clojure.core/cycle clojure.core/dec clojure.core/dec' clojure.core/decimal? clojure.core/delay? clojure.core/deliver clojure.core/denominator clojure.core/deref clojure.core/derive clojure.core/descendants clojure.core/destructure clojure.core/disj clojure.core/disj! clojure.core/dissoc clojure.core/dissoc! clojure.core/distinct clojure.core/distinct? clojure.core/double clojure.core/double-array clojure.core/doubles clojure.core/drop clojure.core/drop-last clojure.core/drop-while clojure.core/empty clojure.core/empty? clojure.core/ensure clojure.core/enumeration-seq clojure.core/error-handler clojure.core/error-mode clojure.core/eval clojure.core/even? clojure.core/every-pred clojure.core/every? clojure.core/ex-data clojure.core/ex-info clojure.core/extend clojure.core/extenders clojure.core/extends? clojure.core/false? clojure.core/ffirst clojure.core/file-seq clojure.core/filter clojure.core/filterv clojure.core/find clojure.core/find-keyword clojure.core/find-ns clojure.core/find-protocol-impl clojure.core/find-protocol-method clojure.core/find-var clojure.core/first clojure.core/flatten clojure.core/float clojure.core/float-array clojure.core/float? clojure.core/floats clojure.core/flush clojure.core/fn? clojure.core/fnext clojure.core/fnil clojure.core/force clojure.core/format clojure.core/frequencies clojure.core/future-call clojure.core/future-cancel clojure.core/future-cancelled? clojure.core/future-done? clojure.core/future? clojure.core/gensym clojure.core/get clojure.core/get-in clojure.core/get-method clojure.core/get-proxy-class clojure.core/get-thread-bindings clojure.core/get-validator clojure.core/group-by clojure.core/hash clojure.core/hash-combine clojure.core/hash-map clojure.core/hash-set clojure.core/identical? clojure.core/identity clojure.core/ifn? clojure.core/in-ns clojure.core/inc clojure.core/inc' clojure.core/init-proxy clojure.core/instance? clojure.core/int clojure.core/int-array clojure.core/integer? clojure.core/interleave clojure.core/intern clojure.core/interpose clojure.core/into clojure.core/into-array clojure.core/ints clojure.core/isa? clojure.core/iterate clojure.core/iterator-seq clojure.core/juxt clojure.core/keep clojure.core/keep-indexed clojure.core/key clojure.core/keys clojure.core/keyword clojure.core/keyword? clojure.core/last clojure.core/line-seq clojure.core/list clojure.core/list* clojure.core/list? clojure.core/load clojure.core/load-file clojure.core/load-reader clojure.core/load-string clojure.core/loaded-libs clojure.core/long clojure.core/long-array clojure.core/longs clojure.core/macroexpand clojure.core/macroexpand-1 clojure.core/make-array clojure.core/make-hierarchy clojure.core/map clojure.core/map-indexed clojure.core/map? clojure.core/mapcat clojure.core/mapv clojure.core/max clojure.core/max-key clojure.core/memoize clojure.core/merge clojure.core/merge-with clojure.core/meta clojure.core/method-sig clojure.core/methods clojure.core/min clojure.core/min-key clojure.core/mod clojure.core/munge clojure.core/name clojure.core/namespace clojure.core/namespace-munge clojure.core/neg? clojure.core/newline clojure.core/next clojure.core/nfirst clojure.core/nil? clojure.core/nnext clojure.core/not clojure.core/not-any? clojure.core/not-empty clojure.core/not-every? clojure.core/not= clojure.core/ns-aliases clojure.core/ns-imports clojure.core/ns-interns clojure.core/ns-map clojure.core/ns-name clojure.core/ns-publics clojure.core/ns-refers clojure.core/ns-resolve clojure.core/ns-unalias clojure.core/ns-unmap clojure.core/nth clojure.core/nthnext clojure.core/nthrest clojure.core/num clojure.core/number? clojure.core/numerator clojure.core/object-array clojure.core/odd? clojure.core/parents clojure.core/partial clojure.core/partition clojure.core/partition-all clojure.core/partition-by clojure.core/pcalls clojure.core/peek clojure.core/persistent! clojure.core/pmap clojure.core/pop clojure.core/pop! clojure.core/pop-thread-bindings clojure.core/pos? clojure.core/pr clojure.core/pr-str clojure.core/prefer-method clojure.core/prefers clojure.core/print clojure.core/print-ctor clojure.core/print-simple clojure.core/print-str clojure.core/printf clojure.core/println clojure.core/println-str clojure.core/prn clojure.core/prn-str clojure.core/promise clojure.core/proxy-call-with-super clojure.core/proxy-mappings clojure.core/proxy-name clojure.core/push-thread-bindings clojure.core/quot clojure.core/rand clojure.core/rand-int clojure.core/rand-nth clojure.core/range clojure.core/ratio? clojure.core/rational? clojure.core/rationalize clojure.core/re-find clojure.core/re-groups clojure.core/re-matcher clojure.core/re-matches clojure.core/re-pattern clojure.core/re-seq clojure.core/read clojure.core/read-line clojure.core/read-string clojure.core/realized? clojure.core/reduce clojure.core/reduce-kv clojure.core/reduced clojure.core/reduced? clojure.core/reductions clojure.core/ref clojure.core/ref-history-count clojure.core/ref-max-history clojure.core/ref-min-history clojure.core/ref-set clojure.core/refer clojure.core/release-pending-sends clojure.core/rem clojure.core/remove clojure.core/remove-all-methods clojure.core/remove-method clojure.core/remove-ns clojure.core/remove-watch clojure.core/repeat clojure.core/repeatedly clojure.core/replace clojure.core/replicate clojure.core/require clojure.core/reset! clojure.core/reset-meta! clojure.core/resolve clojure.core/rest clojure.core/restart-agent clojure.core/resultset-seq clojure.core/reverse clojure.core/reversible? clojure.core/rseq clojure.core/rsubseq clojure.core/satisfies? clojure.core/second clojure.core/select-keys clojure.core/send clojure.core/send-off clojure.core/send-via clojure.core/seq clojure.core/seq? clojure.core/seque clojure.core/sequence clojure.core/sequential? clojure.core/set clojure.core/set-agent-send-executor! clojure.core/set-agent-send-off-executor! clojure.core/set-error-handler! clojure.core/set-error-mode! clojure.core/set-validator! clojure.core/set? clojure.core/short clojure.core/short-array clojure.core/shorts clojure.core/shuffle clojure.core/shutdown-agents clojure.core/slurp clojure.core/some clojure.core/some-fn clojure.core/sort clojure.core/sort-by clojure.core/sorted-map clojure.core/sorted-map-by clojure.core/sorted-set clojure.core/sorted-set-by clojure.core/sorted? clojure.core/special-symbol? clojure.core/spit clojure.core/split-at clojure.core/split-with clojure.core/str clojure.core/string? clojure.core/struct clojure.core/struct-map clojure.core/subs clojure.core/subseq clojure.core/subvec clojure.core/supers clojure.core/swap! clojure.core/symbol clojure.core/symbol? clojure.core/take clojure.core/take-last clojure.core/take-nth clojure.core/take-while clojure.core/test clojure.core/the-ns clojure.core/thread-bound? clojure.core/to-array clojure.core/to-array-2d clojure.core/trampoline clojure.core/transient clojure.core/tree-seq clojure.core/true? clojure.core/type clojure.core/unchecked-add clojure.core/unchecked-add-int clojure.core/unchecked-byte clojure.core/unchecked-char clojure.core/unchecked-dec clojure.core/unchecked-dec-int clojure.core/unchecked-divide-int clojure.core/unchecked-double clojure.core/unchecked-float clojure.core/unchecked-inc clojure.core/unchecked-inc-int clojure.core/unchecked-int clojure.core/unchecked-long clojure.core/unchecked-multiply clojure.core/unchecked-multiply-int clojure.core/unchecked-negate clojure.core/unchecked-negate-int clojure.core/unchecked-remainder-int clojure.core/unchecked-short clojure.core/unchecked-subtract clojure.core/unchecked-subtract-int clojure.core/underive clojure.core/update-in clojure.core/update-proxy clojure.core/use clojure.core/val clojure.core/vals clojure.core/var-get clojure.core/var-set clojure.core/var? clojure.core/vary-meta clojure.core/vec clojure.core/vector clojure.core/vector-of clojure.core/vector? clojure.core/with-bindings* clojure.core/with-meta clojure.core/with-redefs-fn clojure.core/xml-seq clojure.core/zero? clojure.core/zipmap coll? commute comp comparator compare compare-and-set! compile complement concat conj conj! cons constantly construct-proxy contains? count counted? create-ns create-struct cycle dec dec' decimal? delay? deliver denominator deref derive descendants destructure disj disj! dissoc dissoc! distinct distinct? double double-array doubles drop drop-last drop-while empty empty? ensure enumeration-seq error-handler error-mode eval even? every-pred every? ex-data ex-info extend extenders extends? false? ffirst file-seq filter filterv find find-keyword find-ns find-protocol-impl find-protocol-method find-var first flatten float float-array float? floats flush fn? fnext fnil force format frequencies future-call future-cancel future-cancelled? future-done? future? gensym get get-in get-method get-proxy-class get-thread-bindings get-validator group-by hash hash-combine hash-map hash-set identical? identity ifn? in-ns inc inc' init-proxy instance? int int-array integer? interleave intern interpose into into-array ints isa? iterate iterator-seq juxt keep keep-indexed key keys keyword keyword? last line-seq list list* list? load load-file load-reader load-string loaded-libs long long-array longs macroexpand macroexpand-1 make-array make-hierarchy map map-indexed map? mapcat mapv max max-key memoize merge merge-with meta method-sig methods min min-key mod munge name namespace namespace-munge neg? newline next nfirst nil? nnext not not-any? not-empty not-every? not= ns-aliases ns-imports ns-interns ns-map ns-name ns-publics ns-refers ns-resolve ns-unalias ns-unmap nth nthnext nthrest num number? numerator object-array odd? parents partial partition partition-all partition-by pcalls peek persistent! pmap pop pop! pop-thread-bindings pos? pr pr-str prefer-method prefers print print-ctor print-simple print-str printf println println-str prn prn-str promise proxy-call-with-super proxy-mappings proxy-name push-thread-bindings quot rand rand-int rand-nth range ratio? rational? rationalize re-find re-groups re-matcher re-matches re-pattern re-seq read read-line read-string realized? reduce reduce-kv reduced reduced? reductions ref ref-history-count ref-max-history ref-min-history ref-set refer release-pending-sends rem remove remove-all-methods remove-method remove-ns remove-watch repeat repeatedly replace replicate require reset! reset-meta! resolve rest restart-agent resultset-seq reverse reversible? rseq rsubseq satisfies? second select-keys send send-off send-via seq seq? seque sequence sequential? set set-agent-send-executor! set-agent-send-off-executor! set-error-handler! set-error-mode! set-validator! set? short short-array shorts shuffle shutdown-agents slurp some some-fn sort sort-by sorted-map sorted-map-by sorted-set sorted-set-by sorted? special-symbol? spit split-at split-with str string? struct struct-map subs subseq subvec supers swap! symbol symbol? take take-last take-nth take-while test the-ns thread-bound? to-array to-array-2d trampoline transient tree-seq true? type unchecked-add unchecked-add-int unchecked-byte unchecked-char unchecked-dec unchecked-dec-int unchecked-divide-int unchecked-double unchecked-float unchecked-inc unchecked-inc-int unchecked-int unchecked-long unchecked-multiply unchecked-multiply-int unchecked-negate unchecked-negate-int unchecked-remainder-int unchecked-short unchecked-subtract unchecked-subtract-int underive update-in update-proxy use val vals var-get var-set var? vary-meta vec vector vector-of vector? with-bindings* with-meta with-redefs-fn xml-seq zero? zipmap
+syntax keyword clojureVariable *1 *2 *3 *agent* *allow-unresolved-vars* *assert* *clojure-version* *command-line-args* *compile-files* *compile-path* *compiler-options* *data-readers* *default-data-reader-fn* *e *err* *file* *flush-on-newline* *fn-loader* *in* *math-context* *ns* *out* *print-dup* *print-length* *print-level* *print-meta* *print-readably* *read-eval* *read-whitelist* *source-path* *unchecked-math* *use-context-classloader* *verbose-defrecords* *warn-on-reflection* EMPTY-NODE char-escape-string char-name-string clojure.core/*1 clojure.core/*2 clojure.core/*3 clojure.core/*agent* clojure.core/*allow-unresolved-vars* clojure.core/*assert* clojure.core/*clojure-version* clojure.core/*command-line-args* clojure.core/*compile-files* clojure.core/*compile-path* clojure.core/*compiler-options* clojure.core/*data-readers* clojure.core/*default-data-reader-fn* clojure.core/*e clojure.core/*err* clojure.core/*file* clojure.core/*flush-on-newline* clojure.core/*fn-loader* clojure.core/*in* clojure.core/*math-context* clojure.core/*ns* clojure.core/*out* clojure.core/*print-dup* clojure.core/*print-length* clojure.core/*print-level* clojure.core/*print-meta* clojure.core/*print-readably* clojure.core/*read-eval* clojure.core/*read-whitelist* clojure.core/*source-path* clojure.core/*unchecked-math* clojure.core/*use-context-classloader* clojure.core/*verbose-defrecords* clojure.core/*warn-on-reflection* clojure.core/EMPTY-NODE clojure.core/char-escape-string clojure.core/char-name-string clojure.core/default-data-readers clojure.core/primitives-classnames clojure.core/print-dup clojure.core/print-method clojure.core/unquote clojure.core/unquote-splicing default-data-readers primitives-classnames print-dup print-method unquote unquote-splicing
+
+" Keywords are symbols:
+" static Pattern symbolPat = Pattern.compile("[:]?([\\D&&[^/]].*/)?([\\D&&[^/]][^/]*)");
+" But they:
+" * Must not end in a : or /
+" * Must not have two adjacent colons except at the beginning
+" * Must not contain any reader metacharacters except for ' and #
+syntax match clojureKeyword "\v:{1,2}%([^ \n\r\t()\[\]{}";@^`~\\%/]+/)*[^ \n\r\t()\[\]{}";@^`~\\%/]+:@<!"
+
+syntax region clojureString start=/L\="/ skip=/\\\\\|\\"/ end=/"/
+
+syntax match clojureCharacter "\\."
+syntax match clojureCharacter "\\o[0-7]\{3\}"
+syntax match clojureCharacter "\\u[0-9]\{4\}"
+syntax match clojureCharacter "\\space"
+syntax match clojureCharacter "\\tab"
+syntax match clojureCharacter "\\newline"
+syntax match clojureCharacter "\\return"
+syntax match clojureCharacter "\\backspace"
+syntax match clojureCharacter "\\formfeed"
+
+let s:radixChars = "0123456789abcdefghijklmnopqrstuvwxyz"
+for s:radix in range(2, 36)
+ execute 'syntax match clojureNumber "\c\<-\?' . s:radix . 'r[' . strpart(s:radixChars, 0, s:radix) . ']\+\>"'
+endfor
+unlet! s:radixChars s:radix
+
+syntax match clojureNumber "\<-\=[0-9]\+\(\.[0-9]*\)\=\(M\|\([eE][-+]\?[0-9]\+\)\)\?\>"
+syntax match clojureNumber "\<-\=[0-9]\+N\?\>"
+syntax match clojureNumber "\<-\=0x[0-9a-fA-F]\+\>"
+syntax match clojureNumber "\<-\=[0-9]\+/[0-9]\+\>"
+
+syntax match clojureVarArg "&"
+
+syntax match clojureQuote "'"
+syntax match clojureQuote "`"
+syntax match clojureUnquote "\~"
+syntax match clojureUnquote "\~@"
+syntax match clojureMeta "\^"
+syntax match clojureDeref "@"
+syntax match clojureAnonArg "%\(\d\|&\)\?"
+syntax match clojureDispatch "\v#[\^\'\=\<]?"
+
+syntax region clojureRegexp start=/L\=\#"/ skip=/\\\\\|\\"/ end=/"/
+
+syntax match clojureComment ";.*$" contains=clojureTodo,@Spell
+syntax match clojureComment "#!.*$"
+syntax match clojureComment "#_"
+
+syntax keyword clojureTodo contained FIXME XXX TODO FIXME: XXX: TODO:
+
+syntax region clojureSexp matchgroup=clojureParen start="(" matchgroup=clojureParen end=")" contains=TOP,@Spell
+syntax region clojureVector matchgroup=clojureParen start="\[" matchgroup=clojureParen end="\]" contains=TOP,@Spell
+syntax region clojureMap matchgroup=clojureParen start="{" matchgroup=clojureParen end="}" contains=TOP,@Spell
+
+" Highlight superfluous closing parens, brackets and braces.
+syntax match clojureError "]\|}\|)"
+
+syntax sync fromstart
+
+if version >= 600
+ command -nargs=+ HiLink highlight default link <args>
+else
+ command -nargs=+ HiLink highlight link <args>
+endif
+
+HiLink clojureConstant Constant
+HiLink clojureBoolean Boolean
+HiLink clojureCharacter Character
+HiLink clojureKeyword Keyword
+HiLink clojureNumber Number
+HiLink clojureString String
+HiLink clojureRegexp Constant
+
+HiLink clojureVariable Identifier
+HiLink clojureCond Conditional
+HiLink clojureDefine Define
+HiLink clojureException Exception
+HiLink clojureFunc Function
+HiLink clojureMacro Macro
+HiLink clojureRepeat Repeat
+
+HiLink clojureSpecial Special
+HiLink clojureVarArg Special
+HiLink clojureQuote SpecialChar
+HiLink clojureUnquote SpecialChar
+HiLink clojureMeta SpecialChar
+HiLink clojureDeref SpecialChar
+HiLink clojureAnonArg SpecialChar
+HiLink clojureDispatch SpecialChar
+
+HiLink clojureComment Comment
+HiLink clojureTodo Todo
+
+HiLink clojureError Error
+
+HiLink clojureParen Delimiter
+
+delcommand HiLink
+
+let b:current_syntax = "clojure"
+
+" vim:sts=4 sw=4 et:
View
9 runtime/syntax/help.vim
@@ -25,10 +25,12 @@ else
syn match helpHyperTextEntry "\*[#-)!+-~]\+\*$" contains=helpStar
endif
if has("conceal")
- syn match helpBar contained "[|`]" conceal
+ syn match helpBar contained "|" conceal
+ syn match helpBacktick contained "`" conceal
syn match helpStar contained "\*" conceal
else
- syn match helpBar contained "[|`]"
+ syn match helpBar contained "|"
+ syn match helpBacktick contained "`"
syn match helpStar contained "\*"
endif
syn match helpNormal "|.*====*|"
@@ -38,7 +40,7 @@ syn match helpVim "Vim version [0-9.a-z]\+"
syn match helpVim "VIM REFERENCE.*"
syn match helpOption "'[a-z]\{2,\}'"
syn match helpOption "'t_..'"
-syn match helpCommand "`[^` ]*`"hs=s+1,he=e-1 contains=helpBar
+syn match helpCommand "`[^` ]*`"hs=s+1,he=e-1 contains=helpBacktick
syn match helpHeader "\s*\zs.\{-}\ze\s\=\~$" nextgroup=helpIgnore
syn match helpGraphic ".* \ze`$" nextgroup=helpIgnore
if has("conceal")
@@ -150,6 +152,7 @@ syn sync minlines=40
hi def link helpIgnore Ignore
hi def link helpHyperTextJump Subtitle
hi def link helpBar Ignore
+hi def link helpBacktick Ignore
hi def link helpStar Ignore
hi def link helpHyperTextEntry String
hi def link helpHeadline Statement
View
3  runtime/syntax/php.vim
@@ -1,7 +1,7 @@
" Vim syntax file
" Language: php PHP 3/4/5
" Maintainer: Jason Woofenden <jason@jasonwoof.com>
-" Last Change: Oct 20, 2011
+" Last Change: Dec 11, 2012
" URL: https://gitorious.org/jasonwoof/vim-syntax/blobs/master/php.vim
" Former Maintainers: Peter Hodge <toomuchphp-vim@yahoo.com>
" Debian VIM Maintainers <pkg-vim-maintainers@lists.alioth.debian.org>
@@ -182,6 +182,7 @@ syn keyword phpFunctions assert_options assert dl extension_loaded get_cfg_var
syn keyword phpFunctions ingres_autocommit ingres_close ingres_commit ingres_connect ingres_fetch_array ingres_fetch_object ingres_fetch_row ingres_field_length ingres_field_name ingres_field_nullable ingres_field_precision ingres_field_scale ingres_field_type ingres_num_fields ingres_num_rows ingres_pconnect ingres_query ingres_rollback contained
syn keyword phpFunctions ircg_channel_mode ircg_disconnect ircg_fetch_error_msg ircg_get_username ircg_html_encode ircg_ignore_add ircg_ignore_del ircg_is_conn_alive ircg_join ircg_kick ircg_lookup_format_messages ircg_msg ircg_nick ircg_nickname_escape ircg_nickname_unescape ircg_notice ircg_part ircg_pconnect ircg_register_format_messages ircg_set_current ircg_set_file ircg_set_on_die ircg_topic ircg_whois contained
syn keyword phpFunctions java_last_exception_clear java_last_exception_get contained
+syn keyword phpFunctions json_decode json_encode json_last_error contained
syn keyword phpFunctions ldap_8859_to_t61 ldap_add ldap_bind ldap_close ldap_compare ldap_connect ldap_count_entries ldap_delete ldap_dn2ufn ldap_err2str ldap_errno ldap_error ldap_explode_dn ldap_first_attribute ldap_first_entry ldap_first_reference ldap_free_result ldap_get_attributes ldap_get_dn ldap_get_entries ldap_get_option ldap_get_values_len ldap_get_values ldap_list ldap_mod_add ldap_mod_del ldap_mod_replace ldap_modify ldap_next_attribute ldap_next_entry ldap_next_reference ldap_parse_reference ldap_parse_result ldap_read ldap_rename ldap_search ldap_set_option ldap_set_rebind_proc ldap_sort ldap_start_tls ldap_t61_to_8859 ldap_unbind contained
syn keyword phpFunctions lzf_compress lzf_decompress lzf_optimized_for contained
syn keyword phpFunctions ezmlm_hash mail contained
View
3  src/Make_cyg.mak
@@ -600,6 +600,9 @@ $(OUTDIR)/ex_docmd.o: ex_docmd.c $(INCL) ex_cmds.h
$(OUTDIR)/ex_eval.o: ex_eval.c $(INCL) ex_cmds.h
$(CC) -c $(CFLAGS) ex_eval.c -o $(OUTDIR)/ex_eval.o
+$(OUTDIR)/gui_w32.o: gui_w32.c gui_w48.c $(INCL)
+ $(CC) -c $(CFLAGS) gui_w32.c -o $(OUTDIR)/gui_w32.o
+
$(OUTDIR)/if_cscope.o: if_cscope.c $(INCL) if_cscope.h
$(CC) -c $(CFLAGS) if_cscope.c -o $(OUTDIR)/if_cscope.o
View
6 src/Make_ming.mak
@@ -384,6 +384,9 @@ CFLAGS += -I$(MZSCHEME)/include -DFEAT_MZSCHEME -DMZSCHEME_COLLECTS=\"$(MZSCHEME
ifeq (yes, $(DYNAMIC_MZSCHEME))
CFLAGS += -DDYNAMIC_MZSCHEME -DDYNAMIC_MZSCH_DLL=\"lib$(MZSCHEME_MAIN_LIB)$(MZSCHEME_VER).dll\" -DDYNAMIC_MZGC_DLL=\"libmzgc$(MZSCHEME_VER).dll\"
endif
+ifeq (yes, "$(MZSCHEME_DEBUG)")
+CFLAGS += -DMZSCHEME_FORCE_GC
+endif
endif
ifdef RUBY
@@ -731,6 +734,9 @@ $(OUTDIR)/ex_docmd.o: ex_docmd.c $(INCL) ex_cmds.h
$(OUTDIR)/ex_eval.o: ex_eval.c $(INCL) ex_cmds.h
$(CC) -c $(CFLAGS) ex_eval.c -o $(OUTDIR)/ex_eval.o
+$(OUTDIR)/gui_w32.o: gui_w32.c gui_w48.c $(INCL)
+ $(CC) -c $(CFLAGS) gui_w32.c -o $(OUTDIR)/gui_w32.o
+
$(OUTDIR)/if_cscope.o: if_cscope.c $(INCL) if_cscope.h
$(CC) -c $(CFLAGS) if_cscope.c -o $(OUTDIR)/if_cscope.o
View
2  src/Make_mvc.mak
@@ -1096,7 +1096,7 @@ $(OUTDIR)/if_perl.obj: $(OUTDIR) if_perl.c $(INCL)
$(OUTDIR)/if_perlsfio.obj: $(OUTDIR) if_perlsfio.c $(INCL)
$(CC) $(CFLAGS) $(PERL_INC) if_perlsfio.c
-$(OUTDIR)/if_mzsch.obj: $(OUTDIR) if_mzsch.c $(INCL) $(MZSCHEME_EXTRA_DEP)
+$(OUTDIR)/if_mzsch.obj: $(OUTDIR) if_mzsch.c if_mzsch.h $(INCL) $(MZSCHEME_EXTRA_DEP)
$(CC) $(CFLAGS) if_mzsch.c \
-DMZSCHEME_COLLECTS=\"$(MZSCHEME:\=\\)\\collects\"
mzscheme_base.c:
View
4 src/Makefile
@@ -1361,6 +1361,8 @@ LINT_EXTRA = -DUSE_SNIFF -DHANGUL_INPUT -D"__attribute__(x)="
DEPEND_CFLAGS = -DPROTO -DDEPEND -DFEAT_GUI $(LINT_CFLAGS)
+# Note: MZSCHEME_LIBS must come before LIBS, because LIBS adds -lm which is
+# needed by racket.
ALL_LIB_DIRS = $(GUI_LIBS_DIR) $(X_LIBS_DIR)
ALL_LIBS = \
$(GUI_LIBS1) \
@@ -1369,10 +1371,10 @@ ALL_LIBS = \
$(X_PRE_LIBS) \
$(X_LIBS) \
$(X_EXTRA_LIBS) \
+ $(MZSCHEME_LIBS) \
$(LIBS) \
$(EXTRA_LIBS) \
$(LUA_LIBS) \
- $(MZSCHEME_LIBS) \
$(PERL_LIBS) \
$(PYTHON_LIBS) \
$(PYTHON3_LIBS) \
View
39 src/auto/configure
@@ -4785,13 +4785,15 @@ $as_echo "no" >&6; }
if test -f "${vi_cv_path_lua_pfx}/bin/cyglua-${vi_cv_version_lua}.dll"; then
vi_cv_dll_name_lua="cyglua-${vi_cv_version_lua}.dll"
else
- for i in 0 1 2 3 4 5 6 7 8 9; do
- if test -f "${vi_cv_path_lua_pfx}/lib/liblua${vi_cv_version_lua}.so.$i"; then
- LUA_SONAME=".$i"
- break
- fi
+ for LUA_SOVER in "${vi_cv_version_lua}.so" ".so.${vi_cv_version_lua}"; do
+ for i in 0 1 2 3 4 5 6 7 8 9; do
+ if test -f "${vi_cv_path_lua_pfx}/lib/liblua${LUA_SOVER}.$i"; then
+ LUA_SONAME=".$i"
+ break
+ fi
+ done
+ vi_cv_dll_name_lua="liblua${LUA_SOVER}$LUA_SONAME"
done
- vi_cv_dll_name_lua="liblua${vi_cv_version_lua}.so$LUA_SONAME"
fi
$as_echo "#define DYNAMIC_LUA 1" >>confdefs.h
@@ -4975,7 +4977,8 @@ $as_echo "no" >&6; }
if test "X$vi_cv_path_mzscheme_pfx" != "X"; then
if test "x$MACOSX" = "xyes"; then
- MZSCHEME_LIBS="-framework PLT_MzScheme"
+ MZSCHEME_LIBS="-framework Racket"
+ MZSCHEME_CFLAGS="-DMZ_PRECISE_GC"
elif test -f "${vi_cv_path_mzscheme_pfx}/lib/libmzscheme3m.a"; then
MZSCHEME_LIBS="${vi_cv_path_mzscheme_pfx}/lib/libmzscheme3m.a"
MZSCHEME_CFLAGS="-DMZ_PRECISE_GC"
@@ -5016,6 +5019,10 @@ $as_echo_n "checking for racket collects directory... " >&6; }
else
if test -d $vi_cv_path_mzscheme_pfx/share/racket/collects; then
SCHEME_COLLECTS=$vi_cv_path_mzscheme_pfx/share/racket/
+ else
+ if test -d $vi_cv_path_mzscheme_pfx/collects; then
+ SCHEME_COLLECTS=$vi_cv_path_mzscheme_pfx/
+ fi
fi
fi
fi
@@ -5269,8 +5276,10 @@ fi
{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $enable_pythoninterp" >&5
$as_echo "$enable_pythoninterp" >&6; }
if test "$enable_pythoninterp" = "yes" -o "$enable_pythoninterp" = "dynamic"; then
- # Extract the first word of "python", so it can be a program name with args.
-set dummy python; ac_word=$2
+ for ac_prog in python2 python
+do
+ # Extract the first word of "$ac_prog", so it can be a program name with args.
+set dummy $ac_prog; ac_word=$2
{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
$as_echo_n "checking for $ac_word... " >&6; }
if ${ac_cv_path_vi_cv_path_python+:} false; then :
@@ -5309,6 +5318,9 @@ $as_echo "no" >&6; }
fi
+ test -n "$vi_cv_path_python" && break
+done
+
if test "X$vi_cv_path_python" != "X"; then
{ $as_echo "$as_me:${as_lineno-$LINENO}: checking Python version" >&5
@@ -5571,8 +5583,10 @@ fi
{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $enable_python3interp" >&5