16cd13453SBram Moolenaar" Tests for 'lispwords' settings being global-local 26cd13453SBram Moolenaar 36cd13453SBram Moolenaarset nocompatible viminfo+=nviminfo 46cd13453SBram Moolenaar 56cd13453SBram Moolenaarfunc Test_global_local_lispwords() 66cd13453SBram Moolenaar setglobal lispwords=foo,bar,baz 76cd13453SBram Moolenaar setlocal lispwords-=foo | setlocal lispwords+=quux 86cd13453SBram Moolenaar call assert_equal('foo,bar,baz', &g:lispwords) 96cd13453SBram Moolenaar call assert_equal('bar,baz,quux', &l:lispwords) 106cd13453SBram Moolenaar call assert_equal('bar,baz,quux', &lispwords) 116cd13453SBram Moolenaar 126cd13453SBram Moolenaar setlocal lispwords< 136cd13453SBram Moolenaar call assert_equal('foo,bar,baz', &g:lispwords) 146cd13453SBram Moolenaar call assert_equal('foo,bar,baz', &l:lispwords) 156cd13453SBram Moolenaar call assert_equal('foo,bar,baz', &lispwords) 166cd13453SBram Moolenaarendfunc 17db510071SBram Moolenaar 18db510071SBram Moolenaarfunc Test_lisp_indent() 19db510071SBram Moolenaar enew! 20db510071SBram Moolenaar 21db510071SBram Moolenaar call append(0, [ 22db510071SBram Moolenaar \ '(defun html-file (base)', 23db510071SBram Moolenaar \ '(format nil "~(~A~).html" base))', 24db510071SBram Moolenaar \ '', 25db510071SBram Moolenaar \ '(defmacro page (name title &rest body)', 26db510071SBram Moolenaar \ '(let ((ti (gensym)))', 27db510071SBram Moolenaar \ '`(with-open-file (*standard-output*', 28db510071SBram Moolenaar \ '(html-file ,name)', 29db510071SBram Moolenaar \ ':direction :output', 30db510071SBram Moolenaar \ ':if-exists :supersede)', 31db510071SBram Moolenaar \ '(let ((,ti ,title))', 32db510071SBram Moolenaar \ '(as title ,ti)', 33db510071SBram Moolenaar \ '(with center ', 34db510071SBram Moolenaar \ '(as h2 (string-upcase ,ti)))', 35db510071SBram Moolenaar \ '(brs 3)', 36db510071SBram Moolenaar \ ',@body))))', 37db510071SBram Moolenaar \ '', 38db510071SBram Moolenaar \ ';;; Utilities for generating links', 39db510071SBram Moolenaar \ '', 40db510071SBram Moolenaar \ '(defmacro with-link (dest &rest body)', 41db510071SBram Moolenaar \ '`(progn', 42db510071SBram Moolenaar \ '(format t "<a href=\"~A\">" (html-file ,dest))', 43db510071SBram Moolenaar \ ',@body', 44db510071SBram Moolenaar \ '(princ "</a>")))' 45db510071SBram Moolenaar \ ]) 4602b31110SBram Moolenaar call assert_equal(7, lispindent(2)) 4702b31110SBram Moolenaar call assert_equal(5, 6->lispindent()) 48*bd7206e0SBram Moolenaar call assert_equal(-1, lispindent(-1)) 4902b31110SBram Moolenaar 50db510071SBram Moolenaar set lisp 51db510071SBram Moolenaar set lispwords& 52db510071SBram Moolenaar let save_copt = &cpoptions 53db510071SBram Moolenaar set cpoptions+=p 54db510071SBram Moolenaar normal 1G=G 55db510071SBram Moolenaar 56db510071SBram Moolenaar call assert_equal([ 57db510071SBram Moolenaar \ '(defun html-file (base)', 58db510071SBram Moolenaar \ ' (format nil "~(~A~).html" base))', 59db510071SBram Moolenaar \ '', 60db510071SBram Moolenaar \ '(defmacro page (name title &rest body)', 61db510071SBram Moolenaar \ ' (let ((ti (gensym)))', 62db510071SBram Moolenaar \ ' `(with-open-file (*standard-output*', 63db510071SBram Moolenaar \ ' (html-file ,name)', 64db510071SBram Moolenaar \ ' :direction :output', 65db510071SBram Moolenaar \ ' :if-exists :supersede)', 66db510071SBram Moolenaar \ ' (let ((,ti ,title))', 67db510071SBram Moolenaar \ ' (as title ,ti)', 68db510071SBram Moolenaar \ ' (with center ', 69db510071SBram Moolenaar \ ' (as h2 (string-upcase ,ti)))', 70db510071SBram Moolenaar \ ' (brs 3)', 71db510071SBram Moolenaar \ ' ,@body))))', 72db510071SBram Moolenaar \ '', 73db510071SBram Moolenaar \ ';;; Utilities for generating links', 74db510071SBram Moolenaar \ '', 75db510071SBram Moolenaar \ '(defmacro with-link (dest &rest body)', 76db510071SBram Moolenaar \ ' `(progn', 77db510071SBram Moolenaar \ ' (format t "<a href=\"~A\">" (html-file ,dest))', 78db510071SBram Moolenaar \ ' ,@body', 79db510071SBram Moolenaar \ ' (princ "</a>")))', 80db510071SBram Moolenaar \ '' 81db510071SBram Moolenaar \ ], getline(1, "$")) 82db510071SBram Moolenaar 83db510071SBram Moolenaar enew! 84db510071SBram Moolenaar let &cpoptions=save_copt 85ce11de87SBram Moolenaar set nolisp 86db510071SBram Moolenaarendfunc 87*bd7206e0SBram Moolenaar 88*bd7206e0SBram Moolenaar" vim: shiftwidth=2 sts=2 expandtab 89