Ok, I've found new problems, here is the sequence to reproduce: 1. At the beginning of a empty line, I typed "i" 2. Type "aaa" and the line becomes "aaa" 3. "Esc" 4. "i" 5. "eee" and the line becomes "aaaeee" 6. "Esc" 7. Type "." and the line becomes "aaaeeeeee" 8. Type "C-." and the becomes "aaaeeeaaa" while it should be "aaaeeeeeeaaa"
Hope this helps. York On Fri, Aug 19, 2011 at 11:10 AM, York Zhao <[email protected]> wrote: Thanks Frank, I will report back new bugs if I found them. York On Fri, Aug 19, 2011 at 4:03 AM, Frank Fischer < [email protected]> wrote: On Thu, Aug 18, 2011 at 05:34:54PM -0400, York Zhao wrote: > I can reproduce the problem now: > > 1. Hit "i" to enter Insert state and type something > 2. Esc to exit insert > 3. Hit "." and it will work fine > 3. Hit "C-x b" to switch to other buffer > 4. Hit "." in the new buffer and "switch-buffer" command will be repeated > Thanks for the report. I realised it on my own but wasn't able to reproduce it ;) Anyway, it should be fixed in d9c1ed78. Note that I have cleaned up some parts of the repeat system, so there may be new bugs ... Frank > > York > > > On Thu, Aug 18, 2011 at 5:14 PM, York Zhao <[email protected]> wrote: > Hi, > > It had happened a few times today that dot command was not repeating the > previous insertion, but rather some other command, e.g. it was repeating > "switch-buffer" a minute ago, and currently is repeating the "C-h k ." > command. Right now it is working properly again. I don't know how to > reproduce this yet. > > York > > > On Tue, Aug 16, 2011 at 11:45 AM, York Zhao <[email protected]> wrote: > Hi Frank, > > Thank you very much for this. I just did a few quick tests which appeared to > be working perfectly fine. I'm using auto-complet a lot every day so I will > report back problems if I will notice any but my feeling is that it is going > to work. Thanks again for the wonderful works. > > > York > > > On Tue, Aug 16, 2011 at 5:59 AM, Frank Fischer < > [email protected]> wrote: > Am Montag, 15. August 2011 schrieb Frank Fischer: > > Am Mon, 15 Aug 2011 14:54:44 -0400 > > > > schrieb York Zhao <[email protected]>: > > > Hi, > > > > > > I've been having this problem for a while and it is now my biggest > > > complain to Evil because other than Evil itself, "auto-complete" is > > > the next thing I can't be living without. > > > > In fact, the change based repeation system (in contrast to the > > key-stroke based one, I described both in another mail and it will > > hopefully find its way in the docs) is designed exactly for these > > cases and I'm quite confident that this is indeed not a big problem. > > I just haven't activated it yet, but I'm going to have a look at it > > in the next days. > > In turned out to be a little bit more difficult than a thought. > Activating the change-based repeation for auto-complete worked well > except in one case: when the completion is done near the end of the > buffer. The reason is that in this case auto-complete adds a few > newlines to the end of the buffer in order to show its popup-menu > (those newlines are removed when the popup closes). The problem is that > these insertions/deletions are, well, buffer-changes and therefore > confused the recording. Even worse, the popup menu is triggered by a > timer and not by a command, therefore there is no command active when > the first buffer changes appear and this confuses the system even more. > > Luckily, Evil had already had the ability to execute arbitrary functions > to realize a repeation, there just was no way to specify such a > function for a command. I added this functionality in d15b75a5. The > following code should equip auto-complete with working repeation. I'm > going to cleanup the repeation code, especially the definition of > user-defined repeation functions, a little bit, so don't assume this as > a stable example but feel free to test and tell us about problems. > > > (evil-set-command-properties 'ac-complete :repeat 'evil-ac-repeat) > (evil-set-command-properties 'ac-expand :repeat 'evil-ac-repeat) > (evil-set-command-properties 'ac-next :repeat 'ignore) > (evil-set-command-properties 'ac-previous :repeat 'ignore) > > (defvar evil-ac-prefix-len nil > "The length of the prefix of the current item to be completed.") > > (defun evil-ac-repeat (flag) > "Record the changes for auto-completion." > (if (eq flag 'pre) > (setq evil-ac-prefix-len (length ac-prefix)) > ;; Add change to remove the prefix > (evil-repeat-record-change > (list (- evil-ac-prefix-len) "" evil-ac-prefix-len)) > ;; Add change to insert the full completed text > (evil-repeat-record-change > (list (- evil-ac-prefix-len) > (buffer-substring-no-properties (- evil-repeat-pos > evil-ac-prefix-len) > (point)) > 0)) > ;; Finish repeation > (evil-repeat-record-change))) > > > Hope it works, > Frank > > _______________________________________________ > implementations-list mailing list > [email protected] > https://lists.ourproject.org/cgi-bin/mailman/listinfo/implementations-list > _______________________________________________ > implementations-list mailing list > [email protected] > https://lists.ourproject.org/cgi-bin/mailman/listinfo/implementations-list -- Frank Fischer Chemnitz University of Technology, Department of Mathematics eMail: [email protected] Tel.: +49 (371) 531-36913 _______________________________________________ implementations-list mailing list [email protected] https://lists.ourproject.org/cgi-bin/mailman/listinfo/implementations-list
_______________________________________________ implementations-list mailing list [email protected] https://lists.ourproject.org/cgi-bin/mailman/listinfo/implementations-list
