-
Notifications
You must be signed in to change notification settings - Fork 3
/
Copy pathbuglist
1658 lines (1197 loc) · 61.6 KB
/
buglist
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
289
290
291
292
293
294
295
296
297
298
299
300
301
302
303
304
305
306
307
308
309
310
311
312
313
314
315
316
317
318
319
320
321
322
323
324
325
326
327
328
329
330
331
332
333
334
335
336
337
338
339
340
341
342
343
344
345
346
347
348
349
350
351
352
353
354
355
356
357
358
359
360
361
362
363
364
365
366
367
368
369
370
371
372
373
374
375
376
377
378
379
380
381
382
383
384
385
386
387
388
389
390
391
392
393
394
395
396
397
398
399
400
401
402
403
404
405
406
407
408
409
410
411
412
413
414
415
416
417
418
419
420
421
422
423
424
425
426
427
428
429
430
431
432
433
434
435
436
437
438
439
440
441
442
443
444
445
446
447
448
449
450
451
452
453
454
455
456
457
458
459
460
461
462
463
464
465
466
467
468
469
470
471
472
473
474
475
476
477
478
479
480
481
482
483
484
485
486
487
488
489
490
491
492
493
494
495
496
497
498
499
500
501
502
503
504
505
506
507
508
509
510
511
512
513
514
515
516
517
518
519
520
521
522
523
524
525
526
527
528
529
530
531
532
533
534
535
536
537
538
539
540
541
542
543
544
545
546
547
548
549
550
551
552
553
554
555
556
557
558
559
560
561
562
563
564
565
566
567
568
569
570
571
572
573
574
575
576
577
578
579
580
581
582
583
584
585
586
587
588
589
590
591
592
593
594
595
596
597
598
599
600
601
602
603
604
605
606
607
608
609
610
611
612
613
614
615
616
617
618
619
620
621
622
623
624
625
626
627
628
629
630
631
632
633
634
635
636
637
638
639
640
641
642
643
644
645
646
647
648
649
650
651
652
653
654
655
656
657
658
659
660
661
662
663
664
665
666
667
668
669
670
671
672
673
674
675
676
677
678
679
680
681
682
683
684
685
686
687
688
689
690
691
692
693
694
695
696
697
698
699
700
701
702
703
704
705
706
707
708
709
710
711
712
713
714
715
716
717
718
719
720
721
722
723
724
725
726
727
728
729
730
731
732
733
734
735
736
737
738
739
740
741
742
743
744
745
746
747
748
749
750
751
752
753
754
755
756
757
758
759
760
761
762
763
764
765
766
767
768
769
770
771
772
773
774
775
776
777
778
779
780
781
782
783
784
785
786
787
788
789
790
791
792
793
794
795
796
797
798
799
800
801
802
803
804
805
806
807
808
809
810
811
812
813
814
815
816
817
818
819
820
821
822
823
824
825
826
827
828
829
830
831
832
833
834
835
836
837
838
839
840
841
842
843
844
845
846
847
848
849
850
851
852
853
854
855
856
857
858
859
860
861
862
863
864
865
866
867
868
869
870
871
872
873
874
875
876
877
878
879
880
881
882
883
884
885
886
887
888
889
890
891
892
893
894
895
896
897
898
899
900
901
902
903
904
905
906
907
908
909
910
911
912
913
914
915
916
917
918
919
920
921
922
923
924
925
926
927
928
929
930
931
932
933
934
935
936
937
938
939
940
941
942
943
944
945
946
947
948
949
950
951
952
953
954
955
956
957
958
959
960
961
962
963
964
965
966
967
968
969
970
971
972
973
974
975
976
977
978
979
980
981
982
983
984
985
986
987
988
989
990
991
992
993
994
995
996
997
998
999
1000
------------------------
-- vile:txtmode
------------------------
vile bug/enhancement/wish list (mostly wishes ;-)
------------------------
$Id: buglist,v 1.419 2020/01/17 23:24:30 tom Exp $
----------------------
(E means enhancement, L,M,H are low, medium, high priority)
E add ":n file"
(:n means go to the next file in a series of files.
:n file means go to that specific file - one can specify a
+<cmd> before file to indicate the vi command which should be
executed when entering the command.)
E :k, to set a mark, won't work as ":ka" or ":kb". Must use ":k a"
E patterns as addresses do not work, e.g. ":/str1/,/str2/d". They're
hard to parse the way things are set up right now. We could accumulate
the whole commandline, and then parse it, the way real vi does, but we'd
lose the "prompt and display last response" behavior.
E should add an option to support file locking, rather than the current
ifdef stuff. (this is only useful if we match the GNU locking
protocol.) And it's not clear that in an NFS'ed environment that
it's all that easy to get that style of locking right anyway.
E the scrsearch functions could become region based -- as in "search for
the next occurrence of the region", which would usually be a word. And
the ^A/ version could become "a/ (search for the contents of buffer a),
if you know what I mean.
E g should become a region command. Then it could take ranges, as
it should, and could also become an operator command.
E collapse command execution code to as few places as possible.
Its currently spread through execute(), operator(),
docmd(), and usekreg().
E I haven't even come close to testing vile for
memory-full conditions. Some malloc() packages give 95%
warnings -- perhaps something like that should be done for
safety.
E marks should perhaps be linked onto lines. this would make a lot
of things a lot easier, since a mark would travel with the
line, instead of having to be moved when the line is
reallocated etc. the U line could be treated as a special
mark. The "copied" flag needed by undo could be a special
sort of mark as well. Implementation of the "tag stack"
would be aided by this as well.
E ":e" and ":e!" should share the same prompt data, which should be
editable / history. They both should default (like vi!) to the
current buffer.
E for consistency, 'execute-macro-nn' should be 'execute-macro nn';
doing this would allow modification to eliminate a fixed number of
macro-buffers.
--------------
The ed 'transfer' and 'move' commands don't work.
(to copy and move text around. e.g., :'a,'bt$.)
--------------------------------
Though I use it, I'm still not quite satisfied with the qident stuff. It
needs to be more flexible. That is, I'd like to make it user defined.
For example
find-tag $qidentifier
should be expressible as a character class like
find-tag &anyof "a-zA-Z_0-9:"
in a macro. Or even more generally, as a regular expression:
find-tag &scan "[a-zA-Z_][a-zA-Z_0-9:]\\*"
A leading ^ would root the search at the current cursor position.
Absence of a leading ^ would start at the current cursor position but would
scan ahead until it found a match. That way I can redefine ^] to pick
up the next word even if the cursor is before the start of the word (thus
better mimicking vi's behavior).
[ This can almost be done with the $match variable, e.g.
7 store-macro
search-forward "[a-zA-Z_][a-zA-Z_0-9:]*"
find-tag $match
~endm
bind-key execute-macro-7 ^A-g
- pgf ]
----------------------------------------------------------------------
Also, I encountered the following problem: I am editing foo.tex and
call latex using ^X!latex foo.tex. There is an error, so latex waits for
input -> vile sits waiting and nothing helps. I think this should
be interruptible. I will agree with you that the ^X! command was not
intended for this, but still...
But ok, the real problem is that after I kill latex and
vile comes back to life I can no longer filter parts of text using
!fmt. The text just gets deleted.
----------------------------------------------------------------------
I just grabbed a copy of xvi. I noted some interesting tidbits while
reading the "differences between vi and xvi" document. Some of these would
be nice in vile.
As well as the normal named (conjugate) buffers, and the default
one named @, several extra buffers named :, /, ? and ! contain
the last command lines entered for each of the command types. So
for instance, @: will re-execute the last colon command, or you
can insert it into your buffer, edit it and then re-execute it
(e.g. with dd@@).
+ In insert and replace modes, ^A has the same meaning as ^@
in vi, except that it works at any time, not just for the
first character. Also, typing ^Bx, where x is the name of a
conjugate buffer, inserts the contents of that buffer into
the input stream at that point. The buffer named < always
contains the last thing inserted, so that ^B< is the same as
^A.
------------------------
I wish ^X-! could execute shell commands async'ly, i.e. I should not have
to wait/do nothing while waiting for the output of compiling. I should be
able to edit stuff in other buffers or even ^X-^X to edit src codes
while compilation is still going on.
------------
similar to above -- sub-commands run from ^X-! or ":[erw] !cmd" should be
"interactive" to the extent that user's input should be sent to the cmd
at least on a line-by-line basis (i.e. we can't send raw keystrokes -- we
have to do canonical processing. of course, we should really use pty's, and
reconnect input and capture output.) some commands like latex prompt for
more input when partway done.
========(VMS-VILE)=============================================================
Unfinished items on vax/vms [tom]
+ if the current directory has changed, offer to restore it on exit.
(Note that if the _device_ portion has changed, the original
directory should be restored anyway!).
+ add key bindings and other support to make the vt100 keypad work for
me (e.g., like EDT).
+ see if I can decode ".dia" files, if so connect it to finderr.c
+ catch exception/signals, and restore terminal settings.
+ make write-pipes work (actually, flesh out to use 'npopen' coding
scheme, like the MSDOS stuff).
+ I had a case in which I wanted to read the contents of one file into
another; they had the same buffer name; the target buffer got the
filename for the source, e.g.,
:e []foo - read and determined version # ok
:r [-.temp]foo - current filename reset to [-.temp]foo
------------------------------------------------------------
it would be nice if vile would fold text...
This feature appeared in uEmacs version 3.10.23 and you can
use archie/xarchie to file fue.tar.Z (fue - folding-micro-emacs).
[ someone said they were going to fold this in, so to speak. i'm not
real comfortable with the idea, since the uemacs code causes the LINE
struct to grow _enormously_ ]
-----------
When I execute a keyboard macro using ^X-& I cannot repeat this
using the dot command. Instead, the last command in the macro
is repeated.
[ this is because '.' doesn't do @ macros either...]
------------------------------
Can you add the '>' character to the list of comment chars for paragraph
reformatting? I would live to be able to reformat mail quotes (like shown
above).
[ pgf notes: I did this, as chris suggested, but formatregion should use
the comments regexp to match a comment delimiter at the beginning of
line, and should insert the comment delimiter of the _second_ line (so
that boxed C comments work right)in subsequent reformatted lines,
including leading but not trailing whitespace. indentlen should be
counted _after_ the width of such a comment delimiter. this would make
paragraphs that are indented way after the delimiter keep their indent.
commented paragraphs should end when exp->mlen for the comment regexp is
equal to llength(DOT), i.e. it's the whole line. (we'll need to take
the $ off the end of the comment regexp). ]
------------------------------
Another enhancement.
How about a history file. say I have been using vile and
quit and come back in later I can use the history file.
--------------------------
In a xterm window the down arrow (which sends ESC-O-B) works for individual
presses. If you hold down the key then letter Bs get peppered through out
the file. It appears that the ESC is occasionally being missed so that the
following OB puts a B in the file.
In my case I'm on a workstation running 4.1.3 and xterm using rlogin to
connect to a 690 server (lightly loaded) running 4.1.3 and running vile
on the 690.
I just ran vile locally and didn't see the problem.
-------------------------------
I found a bug (new with 3.59) on our Pyramid SVR4 (but not Pyramid SVR3,
SunOS 4.1.1, AIX 3.2) where
xvile tmp &
pops up the xvile window briefly, the window dies, the xterm I started
xvile from says
[1] + suspended (tty input) xvile3.59 tmp
and then after a couple seconds the xterm itself vanishes! However,
xvile tmp
works fine, except that the process is in the foreground.
> The bug on the Pyramid SVR4 machine with xvile & suspending itself,
> committing suicide, and then blowing away the xterm still exists.
> For the time being I just remember to run xvile on a different
> machine.
-------------------------------------------------------------------------
With vim 1.27 you can configure its behaviour regarding backspace using
the 'backspace' variable. From the help file:
backspace (bs) number 0 0 standard Vi, 1 delete NL, 2 delete all
i.e. if bs is non-zero, you can backup to the previous line, and if it's
a 2, you can backup past the insertion point.
i don't think this is optimal -- i think you should be able to choose
independently whether you backup past the newline or past the insertion point.
in any case, vile won't let you back up past the newline during an insert.
when _not_ in insert, you can rebind ^H to backward-character.
---------------------------
When you do a :b you should have line completion for the name.
---------------------------
How can I read the status of a shell command when I execute a
shell-command? Although the shell command has a $STATUS=1 the
status of the status variable is TRUE.
---------------------------
you can't use ! as a regular expression delimiter, as in:
:s!pat!replace!g
because the parser treats ":s!" as if it's ":q!" or ":w!".
-------------------------
width of a region is kept in units of offset, not of columns.
i think this will break rectangular inserts of non-rectangular regions,
where the longest line may not extend to the furthest column, due to
tabs in other lines.
---------------------------
the borland console driver won't display the cursor on blank lines until
after you've refreshed the screen at least once, e.g. with ^L. must
be something to do with color initialization, or something like that...
---------------------------
running a SunOS4.1.3 binary of vile on Solaris2.3 causes the "interrupted
system call" problem, no doubt due to the differing BSD/SysV signal()
semantics. [ probable workaround: ":set noworking" ]
----------------------
Another thing that would be really helpful would be a description of the
$debug variable, and what it does, how it works.
-------------------------------
there should be better support in vile for reading bits of shell output
into a buffer -- ":r !foo" is a little primitive when trying to insert a
single word into a line.
---------------------------------
autoindent skips blank lines when looking for the
indent value. apparently real vi doesn't?
----------------------
currently can't pop/untag from within macro
[really? why is this?]
------------------
are there still reentrancy problems in xvile when mousing around during
long-running operations.
----------------------
could the attribute selection logic be used to emulate vi's behavior
of replacing the last char of a change operation to '$'? (but only for
text which does not span a line)
-------------------------
there should be a way to reference buffer attributes of the currently-
executing macro (or stack of macros).
-------------------------
[ how do i test this? ]
In xvile, when the load is high and the machine stalls for a while
and I key in several keystrokes ahead, it takes the first of those keystrokes
and replaces the later keys by it i.e. when several events simultaneously
arrive, it doesn't do the right thing (process them in order).
-----------------
when motion keys or pasting is used during an insertion, we should
break the insertion into multiple undoable chunks.
-----------------
pasting to a view-only buffer does not generate an error message.
----------------------------
XVILE BUG:
- If I click on the "maximize" gadget, it gets _really_ big.
Like, many times bigger than the screen big; I suspect that
it is maximizing to a number of *characters* equal to the number
of *pixels* available or something. If I click on the same
gadget (after dragging that part of the window onto the screen),
which does a normalize, it crashes.
I am use vile 4.5 and xvile on HP/UX 9.01.
I use vuewm as my window manager (a motif variant).
[I would guess that the suspicion of the person reporting the bug
is correct concerning the behavior of the window manager during
maximization. I don't have this problem with fvwm. pgf's changes
to eliminate the hardcoded maximum width and height will probably
fix the core dumps. I'll look into seeing if there is some protocol
which we're not observing with regard to maximization. -kev]
----------------------
if you have lines like
123
1234
12
it's impossible to select them as a rectangle, since the middle line is
longest.
----------------
It would be useful to have a search that is constrained to a certain
movement. For example, I might want to look for the string "foo" over the
next paragraph, not the whole document. This would really be useful to
programmers who want to look for the instance of a variable or a function
call only within the current scope (or #if).
----------------
xvile:
Is it possible to have an optional horizontal scrollbars ?
(just for maniac users)
----------------------------
under DOS, ^P character turns on the printer. argh.
actually, this only happens if compiled with borland. it uses getch()
instead of intdos() to get the char. (see ttgetc()) that's probably
at least part of the answer.
[I also see this with djgpp, which uses borland.c - tom]
---------------
how about a mode that supports autosaving to the backup-file,
instead of to the original file -- useful for system crashes.
-----------------
rectangular operations don't work right if there are control characters
to the left of the rectangle. (physically they work, but the visual
effect is wrong. i'm not sure what the right thing to do is.)
-------------------------
double quote characters (and probably other special chars) are interpreted
incorrectly on the lhs of a map command. for instance:
map ^K" WBi"^[Ea"^[
will result in
^K WBi
as the lhs, leaving
^[Ea"^[
as the rhs. the workaround is to escape the " in the lhs:
map ^K\" WBi"^[Ea"^[
(this map surrounds the current word in double quotes)
-----------------------------
Would you please add another hook: modify-hook. I thought this is useful,
for example, if I attempt to insert, delete (in general, modify) text
in a read-only file, I like it to prompt if the user wants to PVCS-lock it.
A message would look something like this:
File is read-only, check out?
-----------------------------
contrary to the vile.hlp text, binding to the interrupt{} terminal
character does not fully change intrc and the user's interrupt character.
-----------------------------------------------------------------
DOS: wildcarding in the top directory:
c:
cd \
vile a*.bat (will not open autoexec.bat)
does not work, because Watcom's opendir() routine only succeeds on the root
directory if it is specified as '\'. no other name for it seems to work.
stat won't work on it either. (we try to open it as ".", not an unreasonable
thing to do.)
sigh. i hate DOS.
-----------------------------------------------------------------
Mips RISCos5.0 machines:
Error: random.c, line 625: 'SIG_BLOCK' undefined, ...
Error: random.c, line 637: 'SIG_SETMASK' undefined, ...
[ i thought i could provide fallback definitions of those, but
the values are different on sunos and linux, and are probably
different again on Mips RISCos5.0, bless it's broken little heart. ]
-----------------------------------------------------------------
we should consider adding user-customizable menu or button support to
xvile:
"Right now, you have most of the major functions as strings that can be
called from the macro language. Suppose you made icons or something
for those strings, and then let the user string the icons (or maybe
have icons trigger macros and have a set of macros for most of the
basic stuff as a default package) together to form new icons they could
put in some sort of icon bar. The windows (boo! Hiss!) users would go
nuts! Also, put some of this into the pull down menus, and people
would stand to cheer and applaud. "
-----------------------------------------------------------------
I think I found a couple of very minor bugs in vile.
Possible bug #1)
I'm using xvile right now because ^S doesn't seem to work correctly in
regular vile yet (must be an HP 9.05 thing, I'm not sure yet). I had
thought you turned flow control off in vile, but I want to do more testing
before I call this a bug.
Anyway, do this:
On a page with several lines of text, do this operation on the first one:
:s/^/> /
Now, using the mouse (or 'q'), sweep the next couple of lines. To make
things interesting, sweep to the end of the second to last line, but
not the last line itself, so the highlighted text looks like this:
xxxxxxxx
xxxxxxxx
xxxxxxxx
instead of
xxxxxxxx
xxxxxxxx
xxxxxxxx
x
Now, do a
^A-&-^S
On my machine, the last line of the highlighted text isn't touched. I'm
thinking it should be...
-----------------------------------------------------------------
the command ":r !ls" should not require the space.
-----------------------------------------------------------
when using wrapmargin, it is impossible to break
up long lines consisting of a single word.
[vi doesn't do this]
-----------------------------------------------------------
- the layering of the map code with respect to the record/replay
code that implements '.', the keyboard macros, and the '@'
command execution is severely broken. if you have a :map
that executes a '@a' command in the middle, the contents
of register a are readied for replay, but input continues
to come from the :map string until it is ended, and only then
so we dip down to the lower level and start getting the result
of '@a'. a similar thing happens with '.' used in a :map, only
it seems even worse, since recording isn't started/stopped
correctly.
[this has been fixed for the @a case, but in a sloppy fashion.
it should be cleaned up. -pgf ]
-----------------------------
Using xvile, if I [oO]pen a
new line or do insert at the beginning of a line, and then paste in
some text using the mouse, xvile inserts an extra blank line. that is,
if I have
foo
bar
and I try to paste in 'hi' under the foo, I get
foo
hi
bar
this only seems to happen in autoindent mode at the very beginning of
the line. it does *not* happen if the preceding line is indented, or
if I type a space before pasting.
----------------
only "reverse" works as a visual-match hilite under DOS.
---------------
a newly entered search string (even an identical one) should turn visual-match
highlighting back on. this is surprisingly hard, due to the layering of
readpattern() and kbd_reply.
---------------
While we're on the subject of bugs, let me tell you about another one that
I've long noticed when I try to insert such text. I would like to do
:unsetl ai before pasting in the text (since I normally have auotindent
on). But that has no effect. Even :setall shows that autoindent is still
on. Instead I have to do :setl noai. Annoying.
[ i agree -- shouldn't "setl nonumber" and "unsetl number" be synonymous? -pgf]
[ I've gotten used to it as a quirk: "unsetl" deletes a flag that shadows the
global setting. I wish (however) that there were a nice way to highlight the
flags that are shadowed -dickey]
---------------
running a shell command from xvile should arguably spawn a new xterm. it
should certainly do it in a new window.
---------------
vile trims all trailing whitespace when user inserts a space that triggers
wrapmargin, vi trims only the whitespace inserted during the current command.
[ i'm not sure i consider this a bug. vile plays loose with whitespace
in many such situations. if you're using wrapmargin, you're probably
not worried about trailing whitespace anyway. -- pgf ]
--------------------------
This is a report against vile v5.4 built using djgpp. Vile is running
in raw DOS (not in a Windows DOS box).
This command:
vile -4
gives me 50 lines (not 43). The only two screen resolutions that seem
to work are vile -2 and vile -5 .
[ This is a result of the borland screen library. 43 lines are available
under OS/2... ]
---------------------------------
.. you can't use the mouse to select text from the command input line, I often
use this after Ctrl+G to get the filename for a UNIX command elsewhere.
---------------------------------
.. button 1 selection doesn't work it quite the same way as other apps. e.g.
in xterm, double click on a word (don't release button after second click)
and drag along a sentence - first word is selected and so are subsequent
words in the sentence as you drag. Just the first word is selected in xvile.
---------------------------------
vile 5.5 almost passed my macro test with only small cosmetic problem:
; !@ --mapto--> replace "Unixcommand!@" with "Unixcommand" output
map! !@ ^V^M^[bi:r !^[F:"adt@mm@ais^["bd$dd`m@b
; #@ --mapto--> replace "@Unixcommand args#@" with "Unixcommand" output
map! #@ ^V^M^[F@s:r !^[F:"adt@mm@ais^["bd$dd`m@b
Both now produce correct results. But the final status message doesn't
make sense: Delete operation pending... when it actually in insert
mode. Fortunately, there is a workaround, set terse. it would be nice
if vile can temporary set terse before executing macros and reset back
to original mode afterwards. Sounds easy?
------------------------
there are two conflicting wordwrap mechanisms in vile --
- the historical wrapwords setting, inherited from
microemacs, will wrap words in input mode when you type a
space character after you've passed the "fillcol" column.
- the vi-like "wrapmargin" setting sets the column past which
entering more input will cause a line break.
i think we should eliminate the historical mechanism in favor of the vi-ish
one, and i've marked it [deprecated] in vile.hlp. (as of version 5.6)
vim has a "textwidth" mode, which functions exactly like wrapmargin, except
that it is measured from the left. this prevents line length from changing
when the screen is resized, a drawback of wrapmargin. i propose eliminating
fillcol, and introducing textwidth.
--------------------------------------
It would be nice to have a 'smart' shiftwidth, that would jump back
to the indent level of the first previous line with a different
indent level. What I mean is:
aaa aa aa aaa aaa a
- bb bbb bb bb bb b
ccc cc cc cc c
<control-d>
where <control-d> would jump back to the indent level of the minus sign.
I encountered this behaviour with the 'EDIT' program on MS-DOS with
the backspace key. It's really quite convenient, although I am not so
sure it is smart to put both the 'shift-back' and 'backspace' behaviour
under the same key.
------------------------
The 'qsort' function in Watcom 10.0a for MS-DOS is broken (file-completion
hangs, probably due to stack overflow).
OS/2 version built with Watcom 10.0a does not open pipes successfully. Also it
does not do function keys.
------------------------
when a buffer is out of date wrt its file (i.e. you have been warned but
you answered 'n') it should say something like [out-of-date] on the modeline.
this should be true whether or not "check-modtimes" is on. in fact, in
retrospect, "check-modtimes" should really be "warn-out-of-date", or
something like that, and we should _always_ check modification times.
---------------------
Not sure if this will be generally useful, but I changed the tags.c
module to use "_qident" instead of "_ident" in the gototag() function.
This allows a user to goto C++ functions when the tag is a C++
class::function reference.
-----------------------------
add a copyright to the binary
------------------
The configure script returns the wrong value for HAVE_SYS_FILIO_H on
OSF/1-Alpha; termio.c doesn't compile with that problem.
also, the configure script returns the wrong value for GETPGRP_HAS_ARG on the
OSF/1-Alpha.
The test in configure compiles ok with "cc" but not with gcc.
ac_compile in configure uses cc as a default. This may be able
to be worked around by setting $CC to gcc before running
configure.
The install program is also much touchier about argument order; the
directory must follow -c argument.
Here's a partial diff which I think shows part of what must be done:
*** makefile.orig Thu Feb 15 11:56:40 1996
--- makefile Thu Feb 15 11:56:41 1996
***************
*** 404,410 ****
# dependency-rules for install/installdirs
$(bindir)/$(TARGET): $(TARGET)
! $(INSTALL_PROGRAM) $(TARGET) $@
$(bindir)/vile-manfilt: vile-manfilt
$(INSTALL_PROGRAM) vile-manfilt $@
$(bindir)/vile-c-filt: vile-c-filt
--- 404,410 ----
# dependency-rules for install/installdirs
$(bindir)/$(TARGET): $(TARGET)
! $(INSTALL_PROGRAM) $@ $(TARGET)
$(bindir)/vile-manfilt: vile-manfilt
$(INSTALL_PROGRAM) vile-manfilt $@
$(bindir)/vile-c-filt: vile-c-filt
But on the other hand, it also doesn't want the final name of the
binary in the path mentioned (bad: /usr/local/bin/vile; good: /usr/local/bin/);
I don't know enough make magic to get the basename stripped off. Perhaps
the "$@" should just be $(bindir).
----------------------
Another point of irritation is the autoindent behavior when inserting
blank lines; where vi will continue with a reduced indent after typing a
CTRL-D, vile insists on keeping the indent on par with the last non-empty
line. (^^D is intended to be temporary, 0^D should be permanent, even if
what you've entered is a blank line. don't know about simple ^D.)
----------------------
file completion doesn't work in the presence of directories which match
a substring of other files or directories. that is:
:!mkdir foo
:!mkdir food
:!mkdir fool
:e foo<TAB>
yields:
:e foo/
instead of also providing "food" and "fool" as choices. with the same
setup, the following:
:e food<TAB>
yields:
:e food/
instead of also providing "fool".
------------------------
When the various DOS/Windoze) .zip files are created, it would be nice if
they included a formatted version of the man page ('cuz DOS/Windoze doesn't
have nroff :-) ).
-----------
I'm using vile 5.6 on Unix and I'm wondering if you could add to
the next release of vile a method of bringing up a permanent list of
buffers automatically on startup i.e. execute the show-buffers command on
startup. [I realise that you haven't fully implemented the + command line
option in vile ]
------------
using '&' in pc-vile as the word-expansion replacement for ':' in regular
vile may someday conflict if we want to spawn stuff in the background
in VMS or win32 vile. clearly the expansion chars should be made
selectable. not a big deal yet....
------------------
"visual-matches" mode should be conditional on file size, or perhaps
on time taken to do the search...
-----------------
> It seems that some files were in the zipfile vil60dos.zip with the read
> only parameter set. I unzipped them with infozip's unzipper instead
> of pkunzip, and this became a read-only attribute on the vile.hlp
> file. If this is set, vile.exe can't find it.
----------------- (tom)
These are old wishes/bugs:
not every system declares the struct-type for utime/utimes.
make partial-completion in [History] set DOT to the current line
we're matching from, if [History] is visible.
make vile know about different types of tags-files (ctags -s, etags),
These date back to 5.4:
+ should next_column() use HIGHBIT test?
+ ':' expansion doesn't work with ":write-file" because DOT is
commandeered for use in a region.
+ should allow '$' in identifiers (or make it an option), and modify
'tags' to correspond
These are pre-6.0 (undated)
use CSet C/C++ to flush out unsigned stuff, especially flags that
ought to be.
add configure-test for 'ospeed'
implement gpm
vi sets '#' on attempted write; vile doesn't
--------------------------------------------------------------------------------
-- 96-09-27 (Lance Heller <[email protected]>)
If I start an aixterm:
aixterm -bd Wheat -fg Wheat -bg MidnightBlue -ms grey90
the problem does NOT occur.
However, if I start it as:
aixterm -geometry 90x70+110+1
it does.
The appropriate section from my .Xdefaults is:
aixterm*background: lightsalmon
aixterm*foreground: black
aixterm*saveLines: 1024
aixterm*scrollPosition: left
aixterm*pointerColor: black
aixterm*fullCursor: true
!aixterm.geometry: 90x73+448+0
aixterm*jumpScroll: true
aixterm*font: -ibm-serf-medium-r-normal-iso9241-10-100-75-75-*-*:
aixterm*scrollBar: true
aixterm*multiScroll: false
aixterm*iconName: aixterm
aixterm*pointerShape: pirate
-- 96-10-02 (tom)
add state (variables) to allow a macro to pick up the beginning/ending of a
selected area.
-- 96-10-14 (tom)
add 'mouse-hook' command (maybe generalize with "on" command)
-- 96-10-16 (tom)
implement $title for tcap.c
-- 96-10-19 (tom)
getting an error in $buffer-hook can blow away the buffer that's being hooked
(e.g., if it's a temporary file).
-- 96-10-25 (Anand Mandapati <[email protected]>)
The behavior of 'yq' doesn't seem to match the behavior of other quoted
motion operations. Here are some sample scenarios:
I) Yank a single line NOT including the eol, ie, like 'y$'
1. I type 'yq$q' to yank the line all the way to the eol but
don't want to include the eol.
2. I then do a 'P' to put this yanked text before the cursor.
3. It behaves as 'y$P' would.
II) Yank a single line including the eol, ie, like 'yy'
1. I type 'yqjq' to yank the line all the way to the eol and
want to include the eol in the selection.
2. I then do a 'P' to put this yanked text before the cursor.
3. It behaves as 'y$P' would, not as 'yyp' would.
At first I thought maybe this is the expected behavior, but if I use
'c' to change the same selections instead of yank, the behavior seems
different. Let me clarify:
I) Change a single line NOT including the eol, ie, like 'c$'
1. I type 'cq$q' to change the line all the way to the eol but
don't want to include the eol.
2. This deletes all the way to the end of the line and I can
now type like normal.
II) Change a single line including the eol (no equiv. in vi?)
1. I type 'cqjq' to change the line all the way to the eol and
want to include the eol in the deletion.
2. This deletes the entire line including the eol, shifts the
next line up to the cursor and I can now type the replacement
text.
The behavior for 'd' and other quoted-motion operations is similar.
The 'yq' behavior doesn't seem logical. Do I just not understand it
correctly?
[I've seen a case of off-by-one on end of selections, possibly related - tom]
-- 96-11-09 (tom)
modify xvile blink_interval to use 2/3 duty-cycle
-- 96-11-22 (tom)
it should be possible to recode the tcap.c mouse-motion to use 'select()' to
check for the user holding down the mouse button, and use _that_ to control a
fake scrolling in the general direction of the mouse.
-- 97-01-17 (tom)
probably should use WINMARK logic, but it's too late (pre-7.0) to do this now.
-- 97-01-17 (tom)
mouse-clicking should set the position so I can use ` or ' to jump back.
-- 97-01-18 (Paul Fox <[email protected]>)
another one i saw this afternoon: i got into a state where typing
":!rm append"
in an attempt to remove a file named "append" gave me
"[Improper line range]"
i was able to clear the condition with
":! ^H^Hrm append"
i haven't been able to reproduce this one.
-- 97-01-19 (Abraham V. George" <[email protected]>)
While working with huge src files I find it very convenient to keep
bookmarks. If I use markers, i would loose them if I were to re-open
the file. One way I get through it is to make a book mark file of
'tags' file format. I can then get to that src line the same way I use
ctags reference.
-- 97-01-23 (Clayton Weaver <[email protected]>)
reports problem running a curses application within a shell buffer, wants
documentation clarified. Shell buffers, since they are the output from
redirecting stdout and stderr, won't look like the curses application intended.
(And since they don't accept interactive input, the curses application won't
work well, even when stdin is reconnected to /dev/tty).
-- 97-01-25 (tom)
when filtering, etc., via a pipe, we're interruptible and may be killed (at
least when running in gdb).
-- 97-02-09 (tom)
should add gcc's -Wwrite-strings warnings
-- 97-02-10 (tom)
on VMS, we don't get filename completion with "~", since that's not processed
in glob.c
-- 97-02-26 (Andy Harper <[email protected]>)
Under VMS, the location of the package should be in a rooted directory
tree, let's say VILE_ROOT:[000000], with subdirectories for VAX
executables [BIN_VAX], Alpha executables [BIN_ALPHA], documentation
[DOC] and configuration [CONFIG].
[I believe he's suggesting it be installed this way - tom]
-- 97-03-08 (Otto Lind <[email protected]>)
I've been a user of vile since vile-3.33, and have noticed an obnoxious
bug which has appeared in later versions (I'm at 7.0). If you try and
execute the vi sequence:
1,$s:/:_:
it reports "[No pattern.]" when pressing the first ':'. The following
does work:
1,$s^/^_^
But my fingers are hardwired to use : as the substitution delimiter.
-- 97-04-02 (Clark Morgan <[email protected]>)
Write pipes are broken on DOS.
-- 97-04-23 (Ron Olsen <[email protected]>)
I recently built version 7.0h of vile and xvile on my UnixWare 2.03 system.
vile and xvile (X11 version) seem to work well, but I'm having a problem with
filename completion with the MOTIF/menu version of xvile:
I have to hit TAB three times to get the list of possible completions, and then
when I enter the completion and hit Enter, xvile ignores the Enter key until I
use the mouse to scroll a window, and then hit Enter again. It looks as if
there are circumstances in which keyboard input is being ignored.
I also have minor pixelization problem with the MOTIF version: a thin red
border gets drawn around my window the second time I hit TAB during filename
completion.
-- 97-05-16 (Richard A Ward <[email protected]>)
I just started using vile 7.1 and I think there may be a new bug. When I
delete a large number of lines and try to undo, vile seems to hang.
-- 97-05-25 (Guido Socher <eedgus@aken104>)
Quoted motion should be usable as ranges for the colon commands. I.e., you
type "q: motion-command q" and only complete lines are marked. The cursor
jumps to the command input line as soon as you type the final q and prints the
range (e.g., 3,28).