Re: After patch 7.4.045, substitute('xxx', 'x\zs', 'y', 'g') returns xyxxy.

2013-12-31 Fir de Conversatie Bram Moolenaar

Yukihiro Nakadaira wrote:

 After patch 7.4.045, substitute('xxx', 'x\zs', 'y', 'g') returns xyxxy.
 xyxyxy is expected.

Thanks for reporting the problem. I'll add it in the todo list.

-- 
Warning label on a superhero Halloween costume:
Caution: Cape does not enable user to fly.

 /// Bram Moolenaar -- b...@moolenaar.net -- 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 vim_dev+unsubscr...@googlegroups.com.
For more options, visit https://groups.google.com/groups/opt_out.


Re: Plugin manager

2013-12-31 Fir de Conversatie Shougo
In first, this thread is not about Rewrite Vim by my like language.

Your choice / my choice. I love Vim to. But I also think about all the
people which are to be born which have to learn viml just to get a
simple thing done in Vim - and you cannot reuse viml knowledge in any
way. That's why its nice to know, but its far from perfect.

Yes, this knowledge may be not used in others. But it is only editor
configuration!  For example, Emacs' configuration knowledge can be used in
other editors?  It is not.

I know that forking Vim will divide community. But it will also make it
possible to other people to join again. I'd like to delay this
discussion till I know what I want exactly and whether I have time to do
it - till then having a place to summarize wishes is the best thing to
do.

If you want to fork or rewrite it by other language, I don't stop you. But it
is hardest way.

If granted you access to vam-kr. Do whatever you think is right.
vam_known_repositories#Pool() is the function returning all the magic.
Before talking about renaming you should tell us whether you think the
returned list of items is reusable to you.

I can use this function. But to use it, I must reduce the code.
I think independence from vam-kr functions is best.

If you think about big changes consider using a branch or creating a bug
report so that we can discuss your requirements. 

Requirements... I think it should be more simple.

- compile time hackery like meta programming. Eg have a look at haxes or
  Scalas macro feature which allows generate ast at compile time.
  Haskell template haskell system is similar.

I think C++ is difficult language. There are few people who can write it right.
And there are people who don't like C++.

- also allow pure functional style (maybe lazy like Haskell, maybe not)
- maybe some record typing (like impredicative.com/ur?)
- using different memory management systems
- type classes (like Haskell etc) stuff like that. 

Can you write the editor by functional language seriously?
Editor countains much IO and side effects. It is weak region in functional
language.
And It is too few that the programmers can write programs by functional
language instead of C/C++/Java.
So I think it is impossible.

No, because Zimbu is yet another language which will only be used by
Vim. I want to think more about this choice before starting to rewrite an
editor - after all Vim does work in its current state.

I think it is not for time. We should think about it when Mr.Bram starts
rewrite Vim.

 [..] or community will divide eventually.
Community already does - I mean people are switching to Emacs.

Yes. It is free that people switch to Emacs.
Instead of it, threre are people switch from Emacs(I know them).
We should calm down.

Please stop thinking that just starting to rewrite an editor will
solve all issues. You need kind of design, and that does not exist yet.

Yes. It is hard way. This is not thread for it.
The agreement of Mr.Bram is necessary.

So, there are a lot of package managers already, for various systems.
I'm wondering if we should leverage what's been done there already,
maybe not to reuse the clients, but to reuse the way the repositories
were defined.

Because, the repository data is important than clients.
Are you want to spoil the data?

A good example would be FreeBSD's ports, for which there exist several
clients like portupgrade, porteasy, etc. This system has proved
usable and used for long enough to be worth studying. 

Yes, and gentoo portage, ruby's gems (which is actually used by
https://www.relishapp.com/kana/vim-flavor/docs/philosophy
etc.
http://vim-wiki.mawercer.de/wiki/topic/vim%20plugin%20managment.html
talks about it (I've given this link multiple times).

and PIP has been proposed (python package management).

And let's not forgett about npackd.

Yes. I want to study other package repository's features.

Look: VAM already has everything you need. You can even download plugins
for Windowns with dependencies:
http://vam.mawercer.de/

I care about ending the duplication of work for the didn't know about
it reason. 

Sorry I didn't look at the links.
My point was not that VAM or NeoBundle or anything else was better and
should take over, but more that maybe we should rethink the way
plugins are defined. Maybe it's high times plugins actually declare
dependencies, where to be downloaded from, etc, so as to make it
easier for any software manager to handle them.
I see that as a way to have a consistent distribution of plugins
whether you like to download them with VAM, or with apt-get, because
there would be a unified and well though format and repository for
storing them (or their meta data).

Yes. I don't want to discuss about VAM vs other plugin managers.
I want to discuss about (standard) plugin repository than plugin managers
or rewrite Vim battle.
Can you discuss about it, Mr.Marc?


Practical 

Re: [patch] 7.4.114 breaks default 'efm'

2013-12-31 Fir de Conversatie Bram Moolenaar

Lech Lorens wrote:

 7.4.114 doesn't seem to fix anything but breaks handling GNU make 
 Entering directory messages.
 I have no idea how this got into Vim.
 
 Fix attached.

Thanks for the fix.

-- 
From know your smileys:
 ...---...   SOS

 /// Bram Moolenaar -- b...@moolenaar.net -- 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 vim_dev+unsubscr...@googlegroups.com.
For more options, visit https://groups.google.com/groups/opt_out.


Re: Plugin manager

2013-12-31 Fir de Conversatie Marc Weber
Excerpts from Shougo's message of Tue Dec 31 11:02:02 +0100 2013:
 Yes, this knowledge may be not used in others. But it is only editor
 configuration!  For example, Emacs' configuration knowledge can be used in
 other editors?  It is not.
lisp is powerful. You're never learning a configuartion only. You're
learning a programming language.

 - compile time hackery like meta programming. Eg have a look at haxes or
   Scalas macro feature which allows generate ast at compile time.
   Haskell template haskell system is similar.
 I think C++ is difficult language. There are few people who can write it 
 right.
 And there are people who don't like C++.
I don't think about the most complicated way you can code in. I want
typed lists/hashmaps etc - and C++ does provide them whereas C does not.

I know that its incredible easy to shoot yourself in the foot using C++.

 Can you write the editor by functional language seriously?
 Editor countains much IO and side effects.

The Haskell way usually only means separating state and functions.
All the IO stuff is still there. You just have more control when where
it happens. And yes, stuff like  editor.buffer[3].addline(foo)
would look much diffferent in Haskell, because you cannot change state
in place, you have to rebuild the containers. But if you do you get undo
for free (as long as you have enough memory ..)
Eg lenses are used to simplify doing such etc. There is also disciple
which tries to allow both. There are many ideas.

 So I think it is impossible.
Yi does already exist. but there is not enough man power. Even JS
highlighting might hang.

 Yes. It is free that people switch to Emacs.
 Instead of it, threre are people switch from Emacs(I know them).
 We should calm down.
I am calm - thanks :)

 Because, the repository data is important than clients.
 Are you want to spoil the data?
What do you mean by spoil? It would be trivial to make VAM-kr export
the data to any other format.
I agree on that.

 Yes. I want to study other package repository's features.
What for? In the end there are two choices:

1) viml only: you can easily install while running Vim - thinking about
it calling the package manager from vim would doable, too..

2) non viml: you can use existing tools such as pip, ruby gems etc.
They basicall all have a description file telling
  - this is pacage foo-2.0
  - and it requires bar-1.0 or greater
  - and its maintained by XXX

 Can you discuss about it, Mr.Marc?
There is not much to discuss. THere are multiple sources:

- vim-scripts.org (dupliacating vim.sf.net. In the past it was broken for
1-2 month or so causing trouble to users). The authors know about the
PHP API I created, at least in the past they didn't use it (maybe they
do now)

- github
- bitbucket
- other sources

Some users have their plugins at bitbucket and github ( vim.sf.net),
others have it only at one location.

So IMHO the perfect system would allow to register github/bitbucket/
sources and associate mirrors information. Eg this bitbucket/whatsoever
is a mirror of github/foo-bar

Thene there should be a way to export the data, so that you, me and
others can use it.

Even more we should try to have that server mirror the code, so that you
can search it (ventually also adding tests and continuous integration
later if it happens that we have enough resources).

I don't want to rewrite github, but having a code search feature would
be nice.

And there is a last thing to discuss: Does having a single name for
projets make sense? That's what VAM-kr does provide, too.

Does this make sense?

Marc Weber

-- 
-- 
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 vim_dev+unsubscr...@googlegroups.com.
For more options, visit https://groups.google.com/groups/opt_out.


Re: Plugin manager

2013-12-31 Fir de Conversatie Marc Weber
http://vim-wiki.mawercer.de/wiki//topic/vipi.html
Can we collect wishes/features we want here on this page ? thanks.

Then we should just get it done this time.

Marc Weber

-- 
-- 
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 vim_dev+unsubscr...@googlegroups.com.
For more options, visit https://groups.google.com/groups/opt_out.


[Patch] Add option to disable insert completion message in shortmess

2013-12-31 Fir de Conversatie Shougo
Hi, Bram.

I created the patch for adding option to disable insert completion message in
shortmess.
Because, the completion message is not useful for powered users.
But it clears previous command line messages and flicks command line.
So I think this message can be disabled like other messages by option.


Why do you use Vim?
Because, Vim is avalable.

Dark Vim Master(暗黒美夢王/Uncock Vim Awe) Shougo / My Vim is Dark(neo-plugins) 
powered.


-- 
-- 
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 vim_dev+unsubscr...@googlegroups.com.
For more options, visit https://groups.google.com/groups/opt_out.
diff -r 462a4499f9c6 runtime/doc/options.txt
--- a/runtime/doc/options.txt	Fri Nov 29 14:24:42 2013 +0900
+++ b/runtime/doc/options.txt	Fri Nov 29 18:07:09 2013 +0900
@@ -6259,6 +6259,8 @@
 	  A	don't give the ATTENTION message when an existing swap file
 		is found.
 	  I	don't give the intro message when starting Vim |:intro|.
+	  c	don't give the completion menu message (See
+		|ins-completion-menu|).
 
 	This gives you the opportunity to avoid that a change between buffers
 	requires you to hit Enter, but still gives as useful a message as
diff -r 462a4499f9c6 src/edit.c
--- a/src/edit.c	Fri Nov 29 14:24:42 2013 +0900
+++ b/src/edit.c	Fri Nov 29 18:07:09 2013 +0900
@@ -3878,7 +3878,8 @@
 	ins_compl_free();
 	compl_started = FALSE;
 	compl_matches = 0;
-	msg_clr_cmdline();		/* necessary for noshowmode */
+	if (!shortmess(SHM_COMPLETIONMENU))
+		msg_clr_cmdline();	/* necessary for noshowmode */
 	ctrl_x_mode = 0;
 	compl_enter_selects = FALSE;
 	if (edit_submode != NULL)
@@ -5333,7 +5334,8 @@
 	{
 		ctrl_x_mode = 0;
 		edit_submode = NULL;
-		msg_clr_cmdline();
+		if (!shortmess(SHM_COMPLETIONMENU))
+		msg_clr_cmdline();
 		return FAIL;
 	}
 
@@ -5594,12 +5596,12 @@
 showmode();
 if (edit_submode_extra != NULL)
 {
-	if (!p_smd)
+	if (!p_smd  !shortmess(SHM_COMPLETIONMENU))
 	msg_attr(edit_submode_extra,
 		edit_submode_highl  HLF_COUNT
 		? hl_attr(edit_submode_highl) : 0);
 }
-else
+else if (!shortmess(SHM_COMPLETIONMENU))
 	msg_clr_cmdline();	/* necessary for noshowmode */
 
 /* Show the popup menu, unless we got interrupted. */
diff -r 462a4499f9c6 src/option.h
--- a/src/option.h	Fri Nov 29 14:24:42 2013 +0900
+++ b/src/option.h	Fri Nov 29 18:07:09 2013 +0900
@@ -212,7 +212,8 @@
 #define SHM_SEARCH	's'		/* no search hit bottom messages */
 #define SHM_ATTENTION	'A'		/* no ATTENTION messages */
 #define SHM_INTRO	'I'		/* intro messages */
-#define SHM_ALL		rmfixlnwaWtToOsAI /* all possible flags for 'shm' */
+#define SHM_COMPLETIONMENU	'c'	/* completion menu messages */
+#define SHM_ALL		rmfixlnwaWtToOsAIc /* all possible flags for 'shm' */
 
 /* characters for p_go: */
 #define GO_ASEL		'a'		/* autoselect */
diff -r 462a4499f9c6 src/screen.c
--- a/src/screen.c	Fri Nov 29 14:24:42 2013 +0900
+++ b/src/screen.c	Fri Nov 29 18:07:09 2013 +0900
@@ -9704,7 +9704,8 @@
 	}
 #endif
 #ifdef FEAT_INS_EXPAND
-	if (edit_submode != NULL)		/* CTRL-X in Insert mode */
+	/* CTRL-X in Insert mode */
+	if (edit_submode != NULL  !shortmess(SHM_COMPLETIONMENU))
 	{
 		/* These messages can get long, avoid a wrap in a narrow
 		 * window.  Prefer showing edit_submode_extra. */


Re: Plugin manager

2013-12-31 Fir de Conversatie Marc Weber
I've been thinking again about *why* VAM is viml only again.

The reason is boottsrapping. My goal simplicity and determinism.
The goal was having a .vimrc is enough to bootstrap everything.
At list on linux like system it does work the way.

If we'd use ruby gems it would be harder to declare package sources in
your .vimrc and be done.

Marc Weber

-- 
-- 
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 vim_dev+unsubscr...@googlegroups.com.
For more options, visit https://groups.google.com/groups/opt_out.


Issue 191 in vim: gvim - show position marker of matched search terms

2013-12-31 Fir de Conversatie vim

Status: New
Owner: 
Labels: Type-Defect Priority-Medium

New issue 191 by butko...@gmail.com: gvim - show position marker of matched  
search terms

http://code.google.com/p/vim/issues/detail?id=191

What steps will reproduce the problem?
1. search for any string that is present in the edited buffer

What is the expected output? What do you see instead?
no occurrences marked on/next to scrollbar

What version of the product are you using? On what operating system?
GVIM:
VIM - Vi IMproved 7.3 (2010 Aug 15, compiled Oct 26 2012 16:45:32)
Included patches: 1-547
(Xubuntu 12.10)

Please provide any additional information below.

idea I'd like to see implemented in described in more detail on:  
http://stackoverflow.com/questions/5022950/gvim-show-position-marker-of-matched-search-terms


--
You received this message because this project is configured to send all  
issue notifications to this address.

You may adjust your notification preferences at:
https://code.google.com/hosting/settings

--
--
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 vim_dev+unsubscr...@googlegroups.com.
For more options, visit https://groups.google.com/groups/opt_out.


Re: [patch] non-ASCII font names don't work on Windows

2013-12-31 Fir de Conversatie Bram Moolenaar

Ken Takata wrote:

 Hi,
 
 I wrote a patch to fix an issue from the todo.txt:
 
  8   non-ASCII font names don't work.  Need to convert from 'encoding' and 
  use
  the wide functions.
 
 How to reproduce:
 
  gvim -u NONE -U NONE --cmd set enc=utf-8
 :set guifont=*  Select a non-ASCII font name. E.g. ' $B#M#S (B  $B%4%7%C%/ 
 (B'.
 :set guifontThe selected font name is not shown properly.
 :set guifont= $B#M#S (B_ $B%4%7%C%/ (B:h11:cSHIFTJIS  Error occurs.
 
 
 This patch still uses ANSI functions, not wide functions, and just converts
 font names from 'encoding' to the current codepage.  So a font name which
 can not be handled by the current codepage can not be used even if this
 patch is applied.  Currently, this is a limitation.  (Maybe hundreds of
 lines should be changed when using wide functions.)

Thanks. I'll move it up in the todo list.

-- 
From know your smileys:
 =):-)  Uncle Sam

 /// Bram Moolenaar -- b...@moolenaar.net -- 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 vim_dev+unsubscr...@googlegroups.com.
For more options, visit https://groups.google.com/groups/opt_out.


Re: [PATCH] Typos in makefiles

2013-12-31 Fir de Conversatie Bram Moolenaar

ZyX wrote:

 I found some problems in makefiles:
 
 src/Makefile contains references to test104, test105, test106 and test107 
 which do not exist.

That's OK, for tests added later.

 src/testdir/Make_ming.mak contains test100out in SCRIPTS while it should 
 be test100.out (note the dot).

I'll include that fix, thanks.

-- 
From know your smileys:
 :-{Worf (Never smiles anyways, so he's a bad smiley)

 /// Bram Moolenaar -- b...@moolenaar.net -- 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 vim_dev+unsubscr...@googlegroups.com.
For more options, visit https://groups.google.com/groups/opt_out.


Re: [issue][win32]vim console version can not use the system input method under windows 8

2013-12-31 Fir de Conversatie LiTuX
Since msys-bash has the same issue, while msysgit's bash fixed it, I think 
there must be some way to fix this issue. So will anyone post a patch?

-- 
-- 
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 vim_dev+unsubscr...@googlegroups.com.
For more options, visit https://groups.google.com/groups/opt_out.


E685: Internal error: hash_add() happen when assigning autoload variable

2013-12-31 Fir de Conversatie Yukihiro Nakadaira
Steps to reproduce:
  $ cat ~/.vim/autoload/Foo.vim
  let Foo#x = 0
  $ vim -u NONE -N
  :let Foo#x = function('tr')
  E685: Internal error: hash_add()

eval.c:set_var()
  - var_check_func_name()Foo.vim is loaded and Foo#x is created.
  - hash_add()   error, because Foo#x is already exists.

Please check the following patch.

diff -r 2f856c7c1d43 src/eval.c
--- a/src/eval.cSun Dec 15 10:02:33 2013 +0100
+++ b/src/eval.cWed Jan 01 13:44:46 2014 +0900
@@ -20718,6 +20718,8 @@
 char_u *name;/* points to start of variable name */
 intnew_var;  /* TRUE when creating the variable */
 {
+int err;
+
 if (!(vim_strchr((char_u *)wbs, name[0]) != NULL  name[1] == ':')
  !ASCII_ISUPPER((name[0] != NUL  name[1] == ':')
  ? name[2] : name[0]))
@@ -20729,7 +20731,10 @@
 /* Don't allow hiding a function.  When v is not NULL we might be
  * assigning another function to the same var, the type is checked
  * below. */
-if (new_var  function_exists(name))
+no_autoload = TRUE;
+err = new_var  function_exists(name);
+no_autoload = FALSE;
+if (err)
 {
 EMSG2(_(E705: Variable name conflicts with existing function: %s),
 name);


-- 
Yukihiro Nakadaira - yukihiro.nakada...@gmail.com

-- 
-- 
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 vim_dev+unsubscr...@googlegroups.com.
For more options, visit https://groups.google.com/groups/opt_out.