Patch 8.0.0861
Problem:    Still many old style tests.
Solution:   Convert several tests to new style. (Yegappan Lakshmanan)
Files:      src/testdir/Make_all.mak, src/testdir/Make_vms.mms,
            src/testdir/main.aap, src/testdir/test104.in,
            src/testdir/test104.ok, src/testdir/test22.in,
            src/testdir/test22.ok, src/testdir/test77.in,
            src/testdir/test77.ok, src/testdir/test84.in,
            src/testdir/test84.ok, src/testdir/test9.in, src/testdir/test9.ok,
            src/testdir/test98.in, src/testdir/test98.ok,
            src/testdir/test_autocmd.vim, src/testdir/test_curswant.vim,
            src/testdir/test_file_size.vim, src/testdir/test_let.vim,
            src/testdir/test_lineending.vim, src/testdir/test_scrollbind.vim,
            src/Makefile


*** ../vim-8.0.0860/src/testdir/Make_all.mak    2017-07-29 20:07:00.764940487 
+0200
--- src/testdir/Make_all.mak    2017-08-04 22:12:49.877054227 +0200
***************
*** 18,29 ****
        test5.out \
        test7.out \
        test8.out \
-       test9.out \
        test14.out \
        test15.out \
        test19.out \
        test20.out \
-       test22.out \
        test28.out \
        test29.out \
        test31.out \
--- 18,27 ----
***************
*** 52,69 ****
        test69.out \
        test70.out \
        test73.out \
-       test77.out \
        test79.out \
        test80.out \
-       test84.out \
        test88.out \
        test91.out \
        test94.out \
        test95.out \
-       test98.out \
        test99.out \
        test103.out \
-       test104.out \
        test107.out \
        test108.out \
        test_autoformat_join.out \
--- 50,63 ----
***************
*** 137,147 ****
--- 131,143 ----
            test_command_count.res \
            test_crypt.res \
            test_cscope.res \
+           test_curswant.res \
            test_diffmode.res \
            test_digraph.res \
            test_display.res \
            test_edit.res \
            test_farsi.res \
+           test_file_size.res \
            test_fnameescape.res \
            test_fold.res \
            test_gf.res \
***************
*** 158,163 ****
--- 154,161 ----
            test_job_fails.res \
            test_json.res \
            test_langmap.res \
+           test_let.res \
+           test_lineending.res \
            test_listlbr.res \
            test_listlbr_utf8.res \
            test_lua.res \
***************
*** 186,191 ****
--- 184,190 ----
            test_retab.res \
            test_registers.res \
            test_ruby.res \
+           test_scrollbind.res \
            test_search.res \
            test_signs.res \
            test_smartindent.res \
*** ../vim-8.0.0860/src/testdir/Make_vms.mms    2017-07-11 21:45:26.613831235 
+0200
--- src/testdir/Make_vms.mms    2017-08-04 22:12:49.877054227 +0200
***************
*** 54,62 ****
  # Comment out if you have GNU compatible diff on your system
  # HAVE_GDIFF = YES
  
- # Comment out if you have GNU compatible cksum on your system
- # HAVE_CKSUM = YES
- 
  # Comment out if you have ICONV support
  # HAVE_ICONV = YES
  
--- 54,59 ----
***************
*** 77,85 ****
  .SUFFIXES : .out .in
  
  SCRIPT = test1.out  test3.out  test4.out  test5.out  \
!        test7.out  test8.out  test9.out  \
         test14.out test15.out \
!        test19.out test20.out test22.out \
         test28.out test29.out test30.out test31.out test32.out \
         test33.out test34.out test36.out test37.out \
         test38.out test39.out test40.out test41.out test42.out \
--- 74,82 ----
  .SUFFIXES : .out .in
  
  SCRIPT = test1.out  test3.out  test4.out  test5.out  \
!        test7.out  test8.out  \
         test14.out test15.out \
!        test19.out test20.out \
         test28.out test29.out test30.out test31.out test32.out \
         test33.out test34.out test36.out test37.out \
         test38.out test39.out test40.out test41.out test42.out \
***************
*** 90,99 ****
         test66.out test68.out test69.out \
         test72.out \
         test77a.out test78.out test79.out test80.out \
!        test84.out test88.out \
         test91.out test94.out \
!        test95.out test98.out test99.out \
!        test103.out test104.out \
         test107.out test108.out\
         test_autocmd_option.out \
         test_autoformat_join.out \
--- 87,96 ----
         test66.out test68.out test69.out \
         test72.out \
         test77a.out test78.out test79.out test80.out \
!        test88.out \
         test91.out test94.out \
!        test95.out test99.out \
!        test103.out \
         test107.out test108.out\
         test_autocmd_option.out \
         test_autoformat_join.out \
***************
*** 164,173 ****
  SCRIPT_GDIFF = test47.out
  .ENDIF
  
- .IFDEF HAVE_CKSUM
- SCRIPT_CKSUM = test77.out
- .ENDIF
- 
  .IFDEF HAVE_ICONV
  SCRIPT_ICONV = test83.out
  .ENDIF
--- 161,166 ----
***************
*** 201,207 ****
        -@ if "''F$SEARCH("Xtest.*")'"    .NES. "" then delete/noconfirm/nolog 
Xtest.*.*
  
  all : clean nolog $(START_WITH) $(SCRIPT) $(SCRIPT_GUI) $(SCRIPT_UNIX) 
$(SCRIPT_WIN) $(SCRIPT_SPELL) $(SCRIPT_ODS5) $(SCRIPT_GZIP) \
!     $(SCRIPT_GDIFF) $(SCRIPT_MZSCH) $(SCRIPT_CKSUM) $(SCRIPT_ICONV) 
$(SCRIPT_LUA) $(SCRIPT_PYTHON) nolog 
        -@ write sys$output " "
        -@ write sys$output "-----------------------------------------------"
        -@ write sys$output "                All done"
--- 194,200 ----
        -@ if "''F$SEARCH("Xtest.*")'"    .NES. "" then delete/noconfirm/nolog 
Xtest.*.*
  
  all : clean nolog $(START_WITH) $(SCRIPT) $(SCRIPT_GUI) $(SCRIPT_UNIX) 
$(SCRIPT_WIN) $(SCRIPT_SPELL) $(SCRIPT_ODS5) $(SCRIPT_GZIP) \
!     $(SCRIPT_GDIFF) $(SCRIPT_MZSCH) $(SCRIPT_ICONV) $(SCRIPT_LUA) 
$(SCRIPT_PYTHON) nolog 
        -@ write sys$output " "
        -@ write sys$output "-----------------------------------------------"
        -@ write sys$output "                All done"
***************
*** 232,238 ****
        -@ write sys$output "   HAVE_ODS5  = ""$(HAVE_ODS5)"" "
        -@ write sys$output "   HAVE_GZIP  = ""$(HAVE_GZIP)"" "
        -@ write sys$output "   HAVE_GDIFF = ""$(HAVE_GDIFF)"" "
-       -@ write sys$output "   HAVE_CKSUM = ""$(HAVE_CKSUM)"" "          
        -@ write sys$output "   HAVE_ICONV = ""$(HAVE_ICONV)"" "
        -@ write sys$output "   HAVE_LUA   = ""$(HAVE_LUA)"" "
        -@ write sys$output "   HAVE_PYTHON= ""$(HAVE_PYTHON)"" "
--- 225,230 ----
*** ../vim-8.0.0860/src/testdir/main.aap        2017-07-11 21:45:26.613831235 
+0200
--- src/testdir/main.aap        2017-08-04 22:12:49.877054227 +0200
***************
*** 5,13 ****
  VimProg ?= ../vim
  
  Scripts = test1.out test2.out test3.out test4.out test5.out test6.out
!               test7.out test8.out test9.out test11.out
                test12.out  test13.out test14.out test15.out test17.out
!               test18.out test19.out test20.out test21.out test22.out
                test25.out test27.out
                test28.out test29.out test30.out test31.out test32.out
                test33.out test34.out test36.out test37.out
--- 5,13 ----
  VimProg ?= ../vim
  
  Scripts = test1.out test2.out test3.out test4.out test5.out test6.out
!               test7.out test8.out test11.out
                test12.out  test13.out test14.out test15.out test17.out
!               test18.out test19.out test20.out test21.out
                test25.out test27.out
                test28.out test29.out test30.out test31.out test32.out
                test33.out test34.out test36.out test37.out
*** ../vim-8.0.0860/src/testdir/test104.in      2014-03-30 16:44:39.000000000 
+0200
--- src/testdir/test104.in      1970-01-01 01:00:00.000000000 +0100
***************
*** 1,30 ****
- Tests for :let.  vim: set ft=vim ts=8 :
- 
- STARTTEST
- :so small.vim
- :set runtimepath+=./sautest
- :" Test to not autoload when assigning.  It causes internal error.
- :try
- :  let Test104#numvar = function('tr')
- :  $put ='OK: ' . string(Test104#numvar)
- :catch
- :  $put ='FAIL: ' . v:exception
- :endtry
- :let a = 1
- :let b = 2
- :for letargs in ['a b', '{0 == 1 ? "a" : "b"}', '{0 == 1 ? "a" : "b"} a', 'a 
{0 == 1 ? "a" : "b"}']
- :  try
- :    redir => messages
- :    execute 'let' letargs
- :    redir END
- :    $put ='OK:'
- :    $put =split(substitute(messages, '\n', '\0  ', 'g'), '\n')
- :  catch
- :    $put ='FAIL: ' . v:exception
- :    redir END
- :  endtry
- :endfor
- :/^Results/,$wq! test.out
- ENDTEST
- 
- Results of test104:
--- 0 ----
*** ../vim-8.0.0860/src/testdir/test104.ok      2014-03-30 16:44:39.000000000 
+0200
--- src/testdir/test104.ok      1970-01-01 01:00:00.000000000 +0100
***************
*** 1,13 ****
- Results of test104:
- OK: function('tr')
- OK:
-   a                     #1
-   b                     #2
- OK:
-   b                     #2
- OK:
-   b                     #2
-   a                     #1
- OK:
-   a                     #1
-   b                     #2
--- 0 ----
*** ../vim-8.0.0860/src/testdir/test22.in       2010-05-15 13:04:10.000000000 
+0200
--- src/testdir/test22.in       1970-01-01 01:00:00.000000000 +0100
***************
*** 1,13 ****
- Tests for file with some lines ending in CTRL-M, some not
- 
- STARTTEST
- :set ta tx
- :e!
- :$-3,$w! test.out
- :qa!
- ENDTEST
- 
- this lines ends in a
- this one doesn't
- this one does
- and the last one doesn't
--- 0 ----
*** ../vim-8.0.0860/src/testdir/test22.ok       2010-05-15 13:04:10.000000000 
+0200
--- src/testdir/test22.ok       1970-01-01 01:00:00.000000000 +0100
***************
*** 1,4 ****
- this lines ends in a
- this one doesn't
- this one does
- and the last one doesn't
--- 0 ----
*** ../vim-8.0.0860/src/testdir/test77.in       2017-03-08 22:55:14.914181221 
+0100
--- src/testdir/test77.in       1970-01-01 01:00:00.000000000 +0100
***************
*** 1,31 ****
- Inserts 2 million lines with consecutive integers starting from 1
- (essentially, the output of GNU's seq 1 2000000), writes them to Xtest
- and writes its cksum to test.out.
- 
- We need 2 million lines to trigger a call to mf_hash_grow().  If it would mess
- up the lines the checksum would differ.
- 
- cksum is part of POSIX and so should be available on most Unixes.
- If it isn't available then the test will be skipped.
- 
- STARTTEST
- :so small.vim
- :set belloff=all
- :if !executable("cksum")
- : e! test.ok
- : w! test.out
- : qa!
- :endif
- :set fileformat=unix undolevels=-1
- ggdG
- :let i = 1
- :while i <= 2000000 | call append(i, range(i, i + 99)) | let i += 100 | 
endwhile
- ggdd
- :w! Xtest
- :r !cksum Xtest
- :s/\s/ /g
- :set fileformat&
- :.w! test.out
- :qa!
- ENDTEST
- 
--- 0 ----
*** ../vim-8.0.0860/src/testdir/test77.ok       2011-03-22 17:10:14.000000000 
+0100
--- src/testdir/test77.ok       1970-01-01 01:00:00.000000000 +0100
***************
*** 1 ****
- 3678979763 14888896 Xtest
--- 0 ----
*** ../vim-8.0.0860/src/testdir/test84.in       2012-03-28 19:46:53.000000000 
+0200
--- src/testdir/test84.in       1970-01-01 01:00:00.000000000 +0100
***************
*** 1,35 ****
- Tests for curswant not changing when setting an option
- 
- STARTTEST
- :so small.vim
- :/^start target options$/+1,/^end target options$/-1 yank
- :let target_option_names = split(@0)
- :function TestCurswant(option_name)
- :  normal! ggf8j
- :  let curswant_before = winsaveview().curswant
- :  execute 'let' '&'.a:option_name '=' '&'.a:option_name
- :  let curswant_after = winsaveview().curswant
- :  return [a:option_name, curswant_before, curswant_after]
- :endfunction
- :
- :new
- :put =['1234567890', '12345']
- :1 delete _
- :let result = []
- :for option_name in target_option_names
- :  call add(result, TestCurswant(option_name))
- :endfor
- :
- :new
- :put =map(copy(result), 'join(v:val, '' '')')
- :1 delete _
- :write test.out
- :
- :qall!
- ENDTEST
- 
- start target options
-       tabstop
-       timeoutlen
-       ttimeoutlen
- end target options
--- 0 ----
*** ../vim-8.0.0860/src/testdir/test84.ok       2012-03-28 19:48:36.000000000 
+0200
--- src/testdir/test84.ok       1970-01-01 01:00:00.000000000 +0100
***************
*** 1,3 ****
- tabstop 7 4
- timeoutlen 7 7
- ttimeoutlen 7 7
--- 0 ----
*** ../vim-8.0.0860/src/testdir/test9.in        2010-05-15 13:04:10.000000000 
+0200
--- src/testdir/test9.in        1970-01-01 01:00:00.000000000 +0100
***************
*** 1,12 ****
- Test for Bufleave autocommand that deletes the buffer we are about to edit.
- 
- STARTTEST
- :so small.vim
- :au BufLeave test9.in bwipe yy
- :e yy
- :/^start of/,$w! test.out      " Write contents of this file
- :qa!
- ENDTEST
- 
- start of test file xx
- end of test file xx
--- 0 ----
*** ../vim-8.0.0860/src/testdir/test9.ok        2010-05-15 13:04:10.000000000 
+0200
--- src/testdir/test9.ok        1970-01-01 01:00:00.000000000 +0100
***************
*** 1,2 ****
- start of test file xx
- end of test file xx
--- 0 ----
*** ../vim-8.0.0860/src/testdir/test98.in       2013-07-17 21:35:40.000000000 
+0200
--- src/testdir/test98.in       1970-01-01 01:00:00.000000000 +0100
***************
*** 1,43 ****
- Test for 'scrollbind' causing an unexpected scroll of one of the windows.
- STARTTEST
- :so small.vim
- :" We don't want the status line to cause problems:
- :set laststatus=0
- :let g:totalLines = &lines * 20
- :let middle = g:totalLines / 2
- :wincmd n
- :wincmd o
- :for i in range(1, g:totalLines)
- :    call setline(i, 'LINE ' . i)
- :endfor
- :exe string(middle)
- :normal zt
- :normal M
- :aboveleft vert new
- :for i in range(1, g:totalLines)
- :    call setline(i, 'line ' . i)
- :endfor
- :exe string(middle)
- :normal zt
- :normal M
- :" Execute the following two command at once to reproduce the problem.
- :setl scb | wincmd p
- :setl scb
- :wincmd w
- :let topLineLeft = line('w0')
- :wincmd p
- :let topLineRight = line('w0')
- :setl noscrollbind
- :wincmd p
- :setl noscrollbind
- :q!
- :%del _
- :call setline(1, 'Difference between the top lines (left - right): ' . 
string(topLineLeft - topLineRight))
- :w! test.out
- :brewind
- ENDTEST
- 
- STARTTEST
- :qa!
- ENDTEST
- 
--- 0 ----
*** ../vim-8.0.0860/src/testdir/test98.ok       2013-07-09 13:36:08.000000000 
+0200
--- src/testdir/test98.ok       1970-01-01 01:00:00.000000000 +0100
***************
*** 1 ****
- Difference between the top lines (left - right): 0
--- 0 ----
*** ../vim-8.0.0860/src/testdir/test_autocmd.vim        2017-07-19 
18:18:27.828135659 +0200
--- src/testdir/test_autocmd.vim        2017-08-04 22:13:08.840907849 +0200
***************
*** 613,615 ****
--- 613,634 ----
    call test_override('starting', 0)
    "delfunc! AutoCommandOptionSet
  endfunc
+ 
+ " Test for Bufleave autocommand that deletes the buffer we are about to edit.
+ func Test_BufleaveWithDelete()
+   new | edit Xfile1
+ 
+   augroup test_bufleavewithdelete
+       autocmd!
+       autocmd BufLeave Xfile1 bwipe Xfile2
+   augroup END
+ 
+   call assert_fails('edit Xfile2', 'E143:')
+   call assert_equal('Xfile1', bufname('%'))
+ 
+   autocmd! test_bufleavewithdelete BufLeave Xfile1
+   augroup! test_bufleavewithdelete
+ 
+   new
+   bwipe! Xfile1
+ endfunc
*** ../vim-8.0.0860/src/testdir/test_curswant.vim       2017-08-04 
22:35:34.295129524 +0200
--- src/testdir/test_curswant.vim       2017-08-04 22:29:14.385923822 +0200
***************
*** 0 ****
--- 1,23 ----
+ " Tests for curswant not changing when setting an option
+ 
+ func Test_curswant()
+   new
+   call append(0, ['1234567890', '12345'])
+ 
+   normal! ggf8j
+   call assert_equal(7, winsaveview().curswant)
+   let &tabstop=&tabstop
+   call assert_equal(4, winsaveview().curswant)
+ 
+   normal! ggf8j
+   call assert_equal(7, winsaveview().curswant)
+   let &timeoutlen=&timeoutlen
+   call assert_equal(7, winsaveview().curswant)
+ 
+   normal! ggf8j
+   call assert_equal(7, winsaveview().curswant)
+   let &ttimeoutlen=&ttimeoutlen
+   call assert_equal(7, winsaveview().curswant)
+ 
+   enew!
+ endfunc
*** ../vim-8.0.0860/src/testdir/test_file_size.vim      2017-08-04 
22:35:34.299129494 +0200
--- src/testdir/test_file_size.vim      2017-08-04 22:23:32.592395727 +0200
***************
*** 0 ****
--- 1,29 ----
+ " Inserts 2 million lines with consecutive integers starting from 1
+ " (essentially, the output of GNU's seq 1 2000000), writes them to Xtest
+ " and writes its cksum to test.out.
+ "
+ " We need 2 million lines to trigger a call to mf_hash_grow().  If it would 
mess
+ " up the lines the checksum would differ.
+ "
+ " cksum is part of POSIX and so should be available on most Unixes.
+ " If it isn't available then the test will be skipped.
+ func Test_File_Size()
+   if !executable('cksum')
+       return
+   endif
+   set belloff=all fileformat=unix undolevels=-1
+ 
+   new
+   for i in range(1, 2000000, 100)
+       call append(i, range(i, i + 99))
+   endfor
+ 
+   1delete
+   w! Xtest
+   let l = systemlist('cksum Xtest')
+   call assert_equal('3678979763 14888896 Xtest', l[0])
+ 
+   enew!
+   call delete('Xtest')
+   set belloff& fileformat& undolevels&
+ endfunc
*** ../vim-8.0.0860/src/testdir/test_let.vim    2017-08-04 22:35:34.303129465 
+0200
--- src/testdir/test_let.vim    2017-08-04 22:16:54.275216108 +0200
***************
*** 0 ****
--- 1,27 ----
+ " Tests for the :let command.
+ 
+ func Test_let()
+   " Test to not autoload when assigning.  It causes internal error.
+   set runtimepath+=./sautest
+   let Test104#numvar = function('tr')
+   call assert_equal("function('tr')", string(Test104#numvar))
+ 
+   let a = 1
+   let b = 2
+ 
+   let out = execute('let a b')
+   let s = "\na                     #1\nb                     #2"
+   call assert_equal(s, out)
+ 
+   let out = execute('let {0 == 1 ? "a" : "b"}')
+   let s = "\nb                     #2"
+   call assert_equal(s, out)
+ 
+   let out = execute('let {0 == 1 ? "a" : "b"} a')
+   let s = "\nb                     #2\na                     #1"
+   call assert_equal(s, out)
+ 
+   let out = execute('let a {0 == 1 ? "a" : "b"}')
+   let s = "\na                     #1\nb                     #2"
+   call assert_equal(s, out)
+ endfunc
*** ../vim-8.0.0860/src/testdir/test_lineending.vim     2017-08-04 
22:35:34.307129435 +0200
--- src/testdir/test_lineending.vim     2017-08-04 22:13:08.840907849 +0200
***************
*** 0 ****
--- 1,19 ----
+ " Tests for saving/loading a file with some lines ending in
+ " CTRL-M, some not
+ func Test_lineending()
+   let l = ["this line ends in a\<CR>",
+             \ "this one doesn't",
+             \ "this one does\<CR>",
+             \ "and the last one doesn't"]
+   set ta tx
+   enew!
+   call append(0, l)
+   $delete
+   write Xfile1
+   bwipe Xfile1
+   edit Xfile1
+   let t = getline(1, '$')
+   call assert_equal(l, t)
+   new | only
+   call delete('Xfile1')
+ endfunc
*** ../vim-8.0.0860/src/testdir/test_scrollbind.vim     2017-08-04 
22:35:34.311129405 +0200
--- src/testdir/test_scrollbind.vim     2017-08-04 22:13:08.840907849 +0200
***************
*** 0 ****
--- 1,32 ----
+ " Test for 'scrollbind' causing an unexpected scroll of one of the windows.
+ func Test_scrollbind()
+   " We don't want the status line to cause problems:
+   set laststatus=0
+   let totalLines = &lines * 20
+   let middle = totalLines / 2
+   new | only
+   for i in range(1, totalLines)
+       call setline(i, 'LINE ' . i)
+   endfor
+   exe string(middle)
+   normal zt
+   normal M
+   aboveleft vert new
+   for i in range(1, totalLines)
+       call setline(i, 'line ' . i)
+   endfor
+   exe string(middle)
+   normal zt
+   normal M
+   " Execute the following two commands at once to reproduce the problem.
+   setl scb | wincmd p
+   setl scb
+   wincmd w
+   let topLineLeft = line('w0')
+   wincmd p
+   let topLineRight = line('w0')
+   setl noscrollbind
+   wincmd p
+   setl noscrollbind
+   call assert_equal(0, topLineLeft - topLineRight)
+ endfunc
*** ../vim-8.0.0860/src/Makefile        2017-07-29 20:07:00.760940515 +0200
--- src/Makefile        2017-08-04 22:25:10.503692114 +0200
***************
*** 2137,2142 ****
--- 2137,2143 ----
        test_crypt \
        test_cscope \
        test_cursor_func \
+       test_curswant \
        test_delete \
        test_diffmode \
        test_digraph \
***************
*** 2155,2160 ****
--- 2156,2162 ----
        test_farsi \
        test_feedkeys \
        test_file_perm \
+       test_file_size \
        test_fileformat \
        test_filetype \
        test_filter_cmd \
***************
*** 2189,2194 ****
--- 2191,2198 ----
        test_lambda \
        test_langmap \
        test_largefile \
+       test_let \
+       test_lineending \
        test_lispwords \
        test_listlbr \
        test_listlbr_utf8 \
***************
*** 2233,2238 ****
--- 2237,2243 ----
        test_reltime \
        test_retab \
        test_ruby \
+       test_scrollbind \
        test_search \
        test_searchpos \
        test_set \
*** ../vim-8.0.0860/src/version.c       2017-08-04 21:37:48.736574947 +0200
--- src/version.c       2017-08-04 22:32:22.728544158 +0200
***************
*** 771,772 ****
--- 771,774 ----
  {   /* Add new patch number below this line */
+ /**/
+     861,
  /**/

-- 
If your life is a hard drive,
Christ can be your backup.

 /// Bram Moolenaar -- [email protected] -- http://www.Moolenaar.net   \\\
///        sponsor Vim, vote for features -- http://www.Vim.org/sponsor/ \\\
\\\  an exciting new programming language -- http://www.Zimbu.org        ///
 \\\            help me help AIDS victims -- http://ICCF-Holland.org    ///

-- 
-- 
You received this message from the "vim_dev" maillist.
Do not top-post! Type your reply below the text you are replying to.
For more information, visit http://www.vim.org/maillist.php

--- 
You received this message because you are subscribed to the Google Groups 
"vim_dev" group.
To unsubscribe from this group and stop receiving emails from it, send an email 
to [email protected].
For more options, visit https://groups.google.com/d/optout.

Raspunde prin e-mail lui