]> CyberLeo.Net >> Repos - FreeBSD/FreeBSD.git/blob - contrib/global/nvi-1.79.diff
unfinished sblive driver, playback/mixer only for now - not enabled in
[FreeBSD/FreeBSD.git] / contrib / global / nvi-1.79.diff
1 diff -c -r -N /usr/local/src/nvi-1.79/build/Makefile.in ./build/Makefile.in
2 *** /usr/local/src/nvi-1.79/build/Makefile.in   Wed Oct 23 22:43:38 1996
3 --- ./build/Makefile.in Fri Aug 14 01:41:14 1998
4 ***************
5 *** 3,9 ****
6   srcdir=       @srcdir@/..
7   CC=   @CC@
8   OPTFLAG=@OPTFLAG@
9 ! CFLAGS=       -c $(OPTFLAG) @CFLAGS@ -I. -I$(srcdir)/include @CPPFLAGS@
10   LDFLAGS=@LDFLAGS@
11   PERL= @vi_cv_path_perl@
12   PERLLIB=@vi_cv_perllib@
13 --- 3,9 ----
14   srcdir=       @srcdir@/..
15   CC=   @CC@
16   OPTFLAG=@OPTFLAG@
17 ! CFLAGS=       -c $(OPTFLAG) @CFLAGS@ -I. -I$(srcdir)/include @CPPFLAGS@ -DGTAGS
18   LDFLAGS=@LDFLAGS@
19   PERL= @vi_cv_path_perl@
20   PERLLIB=@vi_cv_perllib@
21 diff -c -r -N /usr/local/src/nvi-1.79/common/main.c ./common/main.c
22 *** /usr/local/src/nvi-1.79/common/main.c       Sat Oct 12 07:28:28 1996
23 --- ./common/main.c     Fri Aug 14 01:41:14 1998
24 ***************
25 *** 64,69 ****
26 --- 64,72 ----
27         size_t len;
28         u_int flags;
29         int ch, flagchk, lflag, secure, startup, readonly, rval, silent;
30 + #ifdef GTAGS
31 +       int gtags = 0;
32 + #endif
33         char *tag_f, *wsizearg, path[256];
34   
35         /* Initialize the busy routine, if not defined by the screen. */
36 ***************
37 *** 113,123 ****
38 --- 116,134 ----
39         /* Set the file snapshot flag. */
40         F_SET(gp, G_SNAPSHOT);
41   
42 + #ifdef GTAGS
43 + #ifdef DEBUG
44 +       while ((ch = getopt(argc, argv, "c:D:eFGlRrSsT:t:vw:")) != EOF)
45 + #else
46 +       while ((ch = getopt(argc, argv, "c:eFGlRrSst:vw:")) != EOF)
47 + #endif
48 + #else
49   #ifdef DEBUG
50         while ((ch = getopt(argc, argv, "c:D:eFlRrSsT:t:vw:")) != EOF)
51   #else
52         while ((ch = getopt(argc, argv, "c:eFlRrSst:vw:")) != EOF)
53   #endif
54 + #endif
55                 switch (ch) {
56                 case 'c':               /* Run the command. */
57                         /*
58 ***************
59 *** 154,159 ****
60 --- 165,175 ----
61                 case 'F':               /* No snapshot. */
62                         F_CLR(gp, G_SNAPSHOT);
63                         break;
64 + #ifdef GTAGS
65 +               case 'G':               /* gtags mode. */
66 +                       gtags = 1;
67 +                       break;
68 + #endif
69                 case 'l':               /* Set lisp, showmatch options. */
70                         lflag = 1;
71                         break;
72 ***************
73 *** 252,257 ****
74 --- 268,277 ----
75         }
76         if (readonly)
77                 *oargp++ = O_READONLY;
78 + #ifdef GTAGS
79 +       if (gtags)
80 +               *oargp++ = O_GTAGSMODE;
81 + #endif
82         if (secure)
83                 *oargp++ = O_SECURE;
84         *oargp = -1;                    /* Options initialization. */
85 diff -c -r -N /usr/local/src/nvi-1.79/common/options.c ./common/options.c
86 *** /usr/local/src/nvi-1.79/common/options.c    Tue Oct 15 03:56:29 1996
87 --- ./common/options.c  Fri Aug 14 01:41:14 1998
88 ***************
89 *** 80,85 ****
90 --- 80,89 ----
91         {"filec",       NULL,           OPT_STR,        0},
92   /* O_FLASH        HPUX */
93         {"flash",       NULL,           OPT_1BOOL,      0},
94 + #ifdef GTAGS
95 + /* O_GTAGSMODE      FreeBSD2.2 */
96 +       {"gtagsmode",   NULL,           OPT_0BOOL,      0},
97 + #endif
98   /* O_HARDTABS     4BSD */
99         {"hardtabs",    NULL,           OPT_NUM,        0},
100   /* O_ICLOWER    4.4BSD */
101 ***************
102 *** 244,249 ****
103 --- 248,256 ----
104         {"eb",          O_ERRORBELLS},          /*     4BSD */
105         {"ed",          O_EDCOMPATIBLE},        /*     4BSD */
106         {"ex",          O_EXRC},                /* System V (undocumented) */
107 + #ifdef GTAGS
108 +       {"gt",          O_GTAGSMODE},           /* FreeBSD2.2 */
109 + #endif
110         {"ht",          O_HARDTABS},            /*     4BSD */
111         {"ic",          O_IGNORECASE},          /*     4BSD */
112         {"li",          O_LINES},               /*   4.4BSD */
113 diff -c -r -N /usr/local/src/nvi-1.79/docs/USD.doc/vi.man/vi.1 ./docs/USD.doc/vi.man/vi.1
114 *** /usr/local/src/nvi-1.79/docs/USD.doc/vi.man/vi.1    Fri Oct 11 10:34:05 1996
115 --- ./docs/USD.doc/vi.man/vi.1  Fri Aug 14 01:41:14 1998
116 ***************
117 *** 17,23 ****
118   .SH SYNOPSIS
119   .B ex
120   [\c
121 ! .B -eFRrSsv\c
122   ] [\c
123   .BI -c " cmd"\c
124   ] [\c
125 --- 17,23 ----
126   .SH SYNOPSIS
127   .B ex
128   [\c
129 ! .B -eFGRrSsv\c
130   ] [\c
131   .BI -c " cmd"\c
132   ] [\c
133 ***************
134 *** 28,34 ****
135   .br
136   .B vi
137   [\c
138 ! .B -eFlRrSv\c
139   ] [\c
140   .BI -c " cmd"\c
141   ] [\c
142 --- 28,34 ----
143   .br
144   .B vi
145   [\c
146 ! .B -eFGlRrSv\c
147   ] [\c
148   .BI -c " cmd"\c
149   ] [\c
150 ***************
151 *** 39,45 ****
152   .br
153   .B view
154   [\c
155 ! .B -eFRrSv\c
156   ] [\c
157   .BI -c " cmd"\c
158   ] [\c
159 --- 39,45 ----
160   .br
161   .B view
162   [\c
163 ! .B -eFGRrSv\c
164   ] [\c
165   .BI -c " cmd"\c
166   ] [\c
167 ***************
168 *** 121,126 ****
169 --- 121,129 ----
170   .B \-l
171   Start editing with the lisp and showmatch options set.
172   .TP
173 + .B \-G
174 + Start editing in gtags mode, as if the gtagsmode option was set.
175 + .TP
176   .B \-R
177   Start editing in read-only mode, as if the command name was
178   .IR view ,
179 ***************
180 *** 429,434 ****
181 --- 432,439 ----
182   .TP
183   .B "<control-]>"
184   Push a tag reference onto the tag stack.
185 + In gtagsmode, if at the first column of line,
186 + locate function references otherwise function definitions.
187   .TP
188   .B "<control-^>"
189   Switch to the most recently edited file.
190 ***************
191 *** 940,945 ****
192 --- 945,953 ----
193   .B "rew[ind][!]"
194   Rewind the argument list.
195   .TP
196 + .B "rta[g][!] tagstring"
197 + Edit the file refering the specified tag. (Only in gtagsmode)
198 + .TP
199   .B "se[t] [option[=[value]] ...] [nooption ...] [option? ...] [all]"
200   Display or set editor options.
201   .TP
202 ***************
203 *** 1109,1114 ****
204 --- 1117,1125 ----
205   .TP
206   .B "flash [on]"
207   Flash the screen instead of beeping the keyboard on error.
208 + .TP
209 + .B "gtagsmode, gt [off]"
210 + Use GTAGS and GRTAGS instead of tags.
211   .TP
212   .B "hardtabs, ht [8]"
213   Set the spacing between hardware tab settings.
214 diff -c -r -N /usr/local/src/nvi-1.79/ex/ex.h ./ex/ex.h
215 *** /usr/local/src/nvi-1.79/ex/ex.h     Tue Aug 13 09:24:00 1996
216 --- ./ex/ex.h   Fri Aug 14 01:41:14 1998
217 ***************
218 *** 152,157 ****
219 --- 152,160 ----
220   #define       E_SEARCH_WMSG   0x01000000      /* Display search-wrapped message. */
221   #define       E_USELASTCMD    0x02000000      /* Use the last command. */
222   #define       E_VISEARCH      0x04000000      /* It's really a vi search command. */
223 + #ifdef GTAGS
224 + #define       E_REFERENCE     0x08000000      /* locate function references */
225 + #endif
226         u_int32_t flags;                /* Current flags. */
227   };
228   
229 diff -c -r -N /usr/local/src/nvi-1.79/ex/ex_cmd.c ./ex/ex_cmd.c
230 *** /usr/local/src/nvi-1.79/ex/ex_cmd.c Wed Oct 23 22:31:01 1996
231 --- ./ex/ex_cmd.c       Fri Aug 14 01:41:14 1998
232 ***************
233 *** 302,307 ****
234 --- 302,314 ----
235             "!",
236             "rew[ind][!]",
237             "re-edit all the files in the file argument list"},
238 + #ifdef GTAGS
239 + /* C_RTAG */
240 +       {"rtag",        ex_rtag_push,   E_NEWSCREEN,
241 +           "!w1o",
242 +           "rta[g][!] [string]",
243 +           "edit the file containing the tag"},
244 + #endif
245   /*
246    * !!!
247    * Adding new commands starting with 's' may break the substitute command code
248 diff -c -r -N /usr/local/src/nvi-1.79/ex/ex_tag.c ./ex/ex_tag.c
249 *** /usr/local/src/nvi-1.79/ex/ex_tag.c Mon Sep 16 05:02:43 1996
250 --- ./ex/ex_tag.c       Fri Aug 14 01:53:35 1998
251 ***************
252 *** 46,51 ****
253 --- 46,55 ----
254   static int     compare __P((char *, char *, char *));
255   static void    ctag_file __P((SCR *, TAGF *, char *, char **, size_t *));
256   static int     ctag_search __P((SCR *, char *, size_t, char *));
257 + #ifdef GTAGS
258 + static int     getentry __P((char *, char **, char **, char **));
259 + static TAGQ   *gtag_slist __P((SCR *, char *, int));
260 + #endif
261   static int     ctag_sfile __P((SCR *, TAGF *, TAGQ *, char *));
262   static TAGQ   *ctag_slist __P((SCR *, char *));
263   static char   *linear_search __P((char *, char *, char *));
264 ***************
265 *** 89,94 ****
266 --- 93,117 ----
267         return (0);
268   }
269   
270 + #ifdef GTAGS
271 + /*
272 +  * ex_rtag_push -- ^]
273 +  *              :rtag[!] [string]
274 +  *
275 +  * Enter a new TAGQ context based on a ctag string.
276 +  *
277 +  * PUBLIC: int ex_rtag_push __P((SCR *, EXCMD *));
278 +  */
279 + int
280 + ex_rtag_push(sp, cmdp)
281 +       SCR *sp;
282 +       EXCMD *cmdp;
283 + {
284 +       F_SET(cmdp, E_REFERENCE);
285 +       return ex_tag_push(sp, cmdp);
286 + }
287 + #endif
288
289   /*
290    * ex_tag_push -- ^]
291    *              :tag[!] [string]
292 ***************
293 *** 138,143 ****
294 --- 161,172 ----
295         }
296   
297         /* Get the tag information. */
298 + #ifdef GTAGS
299 +       if (O_ISSET(sp, O_GTAGSMODE)) {
300 +               if ((tqp = gtag_slist(sp, exp->tag_last, F_ISSET(cmdp, E_REFERENCE))) == NULL)
301 +                       return (1);
302 +       } else
303 + #endif
304         if ((tqp = ctag_slist(sp, exp->tag_last)) == NULL)
305                 return (1);
306   
307 ***************
308 *** 969,974 ****
309 --- 998,1126 ----
310         return (0);
311   }
312   
313 + #ifdef GTAGS
314 + /*
315 +  * getentry --
316 +  *    get tag information from current line.
317 +  *
318 +  * gtags temporary file format.
319 +  * <tag>   <lineno>  <file>         <image>
320 +  *
321 +  * sample.
322 +  * +------------------------------------------------
323 +  * |main     30      main.c         main(argc, argv)
324 +  * |func     21      subr.c         func(arg)
325 +  */
326 + static int
327 + getentry(buf, tag, file, line)
328 +       char *buf, **tag, **file, **line;
329 + {
330 +       char *p = buf;
331
332 +       for (*tag = p; *p && !isspace(*p); p++)         /* tag name */
333 +               ;
334 +       if (*p == 0)
335 +               goto err;
336 +       *p++ = 0;
337 +       for (; *p && isspace(*p); p++)                  /* (skip blanks) */
338 +               ;
339 +       if (*p == 0)
340 +               goto err;
341 +       *line = p;                                      /* line no */
342 +       for (*line = p; *p && !isspace(*p); p++)
343 +               ;
344 +       if (*p == 0)
345 +               goto err;
346 +       *p++ = 0;
347 +       for (; *p && isspace(*p); p++)                  /* (skip blanks) */
348 +               ;
349 +       if (*p == 0)
350 +               goto err;
351 +       *file = p;                                      /* file name */
352 +       for (*file = p; *p && !isspace(*p); p++)
353 +               ;
354 +       if (*p == 0)
355 +               goto err;
356 +       *p = 0;
357
358 +       /* value check */
359 +       if (strlen(*tag) && strlen(*line) && strlen(*file) && atoi(*line) > 0)
360 +               return 1;       /* OK */
361 + err:
362 +       return 0;               /* ERROR */
363 + }
364
365 + /*
366 +  * gtag_slist --
367 +  *    Search the list of tags files for a tag, and return tag queue.
368 +  */
369 + static TAGQ *
370 + gtag_slist(sp, tag, ref)
371 +       SCR *sp;
372 +       char *tag;
373 +       int ref;
374 + {
375 +       EX_PRIVATE *exp;
376 +       TAGF *tfp;
377 +       TAGQ *tqp;
378 +       size_t len;
379 +       int echk;
380 +       TAG *tp;
381 +       char *name, *file, *line;
382 +       char command[BUFSIZ];
383 +       char buf[BUFSIZ];
384 +       FILE *fp;
385
386 +       /* Allocate and initialize the tag queue structure. */
387 +       len = strlen(tag);
388 +       CALLOC_GOTO(sp, tqp, TAGQ *, 1, sizeof(TAGQ) + len + 1);
389 +       CIRCLEQ_INIT(&tqp->tagq);
390 +       tqp->tag = tqp->buf;
391 +       memcpy(tqp->tag, tag, (tqp->tlen = len) + 1);
392
393 +       /*
394 +        * Find the tag, only display missing file messages once, and
395 +        * then only if we didn't find the tag.
396 +        */
397 +       snprintf(command, sizeof(command), "global -%s '%s' 2>/dev/null", ref ? "rx" : "x", tag);
398 +       if (fp = popen(command, "r")) {
399 +               while (fgets(buf, sizeof(buf), fp)) {
400 +                       if (buf[strlen(buf)-1] == '\n')         /* chop(buf) */
401 +                               buf[strlen(buf)-1] = 0;
402 +                       else
403 +                               while (fgetc(fp) != '\n')
404 +                                       ;
405 +                       if (getentry(buf, &name, &file, &line) == 0) {
406 +                               echk = 1;
407 +                               F_SET(tfp, TAGF_ERR);
408 +                               break;
409 +                       }
410 +                       CALLOC_GOTO(sp, tp,
411 +                           TAG *, 1, sizeof(TAG) + strlen(file) + 1 + strlen(line) + 1);
412 +                       tp->fname = tp->buf;
413 +                       strcpy(tp->fname, file);
414 +                       tp->fnlen = strlen(file);
415 +                       tp->search = tp->fname + tp->fnlen + 1;
416 +                       strcpy(tp->search, line);
417 +                       CIRCLEQ_INSERT_TAIL(&tqp->tagq, tp, q);
418 +               }
419 +               pclose(fp);
420 +       }
421
422 +       /* Check to see if we found anything. */
423 +       if (tqp->tagq.cqh_first == (void *)&tqp->tagq) {
424 +               msgq_str(sp, M_ERR, tag, "162|%s: tag not found");
425 +               free(tqp);
426 +               return (NULL);
427 +       }
428
429 +       tqp->current = tqp->tagq.cqh_first;
430 +       return (tqp);
431
432 + alloc_err:
433 +       return (NULL);
434 + }
435 + #endif
436   /*
437    * ctag_slist --
438    *    Search the list of tags files for a tag, and return tag queue.
439 diff -c -r -N /usr/local/src/nvi-1.79/include/ex_def.h ./include/ex_def.h
440 *** /usr/local/src/nvi-1.79/include/ex_def.h    Wed Oct 23 22:53:09 1996
441 --- ./include/ex_def.h  Fri Aug 14 01:41:14 1998
442 ***************
443 *** 47,78 ****
444   #define C_RECOVER 46
445   #define C_RESIZE 47
446   #define C_REWIND 48
447 ! #define C_SUBSTITUTE 49
448 ! #define C_SCRIPT 50
449 ! #define C_SET 51
450 ! #define C_SHELL 52
451 ! #define C_SOURCE 53
452 ! #define C_STOP 54
453 ! #define C_SUSPEND 55
454 ! #define C_T 56
455 ! #define C_TAG 57
456 ! #define C_TAGNEXT 58
457 ! #define C_TAGPOP 59
458 ! #define C_TAGPREV 60
459 ! #define C_TAGTOP 61
460 ! #define C_TCLCMD 62
461 ! #define C_UNDO 63
462 ! #define C_UNABBREVIATE 64
463 ! #define C_UNMAP 65
464 ! #define C_V 66
465 ! #define C_VERSION 67
466 ! #define C_VISUAL_EX 68
467 ! #define C_VISUAL_VI 69
468 ! #define C_VIUSAGE 70
469 ! #define C_WRITE 71
470 ! #define C_WN 72
471 ! #define C_WQ 73
472 ! #define C_XIT 74
473 ! #define C_YANK 75
474 ! #define C_Z 76
475 ! #define C_SUBTILDE 77
476 --- 47,79 ----
477   #define C_RECOVER 46
478   #define C_RESIZE 47
479   #define C_REWIND 48
480 ! #define C_RTAG 49
481 ! #define C_SUBSTITUTE 50
482 ! #define C_SCRIPT 51
483 ! #define C_SET 52
484 ! #define C_SHELL 53
485 ! #define C_SOURCE 54
486 ! #define C_STOP 55
487 ! #define C_SUSPEND 56
488 ! #define C_T 57
489 ! #define C_TAG 58
490 ! #define C_TAGNEXT 59
491 ! #define C_TAGPOP 60
492 ! #define C_TAGPREV 61
493 ! #define C_TAGTOP 62
494 ! #define C_TCLCMD 63
495 ! #define C_UNDO 64
496 ! #define C_UNABBREVIATE 65
497 ! #define C_UNMAP 66
498 ! #define C_V 67
499 ! #define C_VERSION 68
500 ! #define C_VISUAL_EX 69
501 ! #define C_VISUAL_VI 70
502 ! #define C_VIUSAGE 71
503 ! #define C_WRITE 72
504 ! #define C_WN 73
505 ! #define C_WQ 74
506 ! #define C_XIT 75
507 ! #define C_YANK 76
508 ! #define C_Z 77
509 ! #define C_SUBTILDE 78
510 diff -c -r -N /usr/local/src/nvi-1.79/include/ex_extern.h ./include/ex_extern.h
511 *** /usr/local/src/nvi-1.79/include/ex_extern.h Wed Oct 23 22:53:10 1996
512 --- ./include/ex_extern.h       Fri Aug 14 01:41:14 1998
513 ***************
514 *** 89,94 ****
515 --- 89,95 ----
516       char *, size_t, char **, size_t *, regex_t *, u_int));
517   void re_error __P((SCR *, int, regex_t *));
518   int ex_tag_first __P((SCR *, char *));
519 + int ex_rtag_push __P((SCR *, EXCMD *));
520   int ex_tag_push __P((SCR *, EXCMD *));
521   int ex_tag_next __P((SCR *, EXCMD *));
522   int ex_tag_prev __P((SCR *, EXCMD *));
523 diff -c -r -N /usr/local/src/nvi-1.79/include/options_def.h ./include/options_def.h
524 *** /usr/local/src/nvi-1.79/include/options_def.h       Wed Oct 23 22:53:10 1996
525 --- ./include/options_def.h     Fri Aug 14 01:41:14 1998
526 ***************
527 *** 16,79 ****
528   #define O_EXTENDED 15
529   #define O_FILEC 16
530   #define O_FLASH 17
531 ! #define O_HARDTABS 18
532 ! #define O_ICLOWER 19
533 ! #define O_IGNORECASE 20
534 ! #define O_KEYTIME 21
535 ! #define O_LEFTRIGHT 22
536 ! #define O_LINES 23
537 ! #define O_LISP 24
538 ! #define O_LIST 25
539 ! #define O_LOCKFILES 26
540 ! #define O_MAGIC 27
541 ! #define O_MATCHTIME 28
542 ! #define O_MESG 29
543 ! #define O_MODELINE 30
544 ! #define O_MSGCAT 31
545 ! #define O_NOPRINT 32
546 ! #define O_NUMBER 33
547 ! #define O_OCTAL 34
548 ! #define O_OPEN 35
549 ! #define O_OPTIMIZE 36
550 ! #define O_PARAGRAPHS 37
551 ! #define O_PATH 38
552 ! #define O_PRINT 39
553 ! #define O_PROMPT 40
554 ! #define O_READONLY 41
555 ! #define O_RECDIR 42
556 ! #define O_REDRAW 43
557 ! #define O_REMAP 44
558 ! #define O_REPORT 45
559 ! #define O_RULER 46
560 ! #define O_SCROLL 47
561 ! #define O_SEARCHINCR 48
562 ! #define O_SECTIONS 49
563 ! #define O_SECURE 50
564 ! #define O_SHELL 51
565 ! #define O_SHELLMETA 52
566 ! #define O_SHIFTWIDTH 53
567 ! #define O_SHOWMATCH 54
568 ! #define O_SHOWMODE 55
569 ! #define O_SIDESCROLL 56
570 ! #define O_SLOWOPEN 57
571 ! #define O_SOURCEANY 58
572 ! #define O_TABSTOP 59
573 ! #define O_TAGLENGTH 60
574 ! #define O_TAGS 61
575 ! #define O_TERM 62
576 ! #define O_TERSE 63
577 ! #define O_TILDEOP 64
578 ! #define O_TIMEOUT 65
579 ! #define O_TTYWERASE 66
580 ! #define O_VERBOSE 67
581 ! #define O_W1200 68
582 ! #define O_W300 69
583 ! #define O_W9600 70
584 ! #define O_WARN 71
585 ! #define O_WINDOW 72
586 ! #define O_WINDOWNAME 73
587 ! #define O_WRAPLEN 74
588 ! #define O_WRAPMARGIN 75
589 ! #define O_WRAPSCAN 76
590 ! #define O_WRITEANY 77
591 ! #define O_OPTIONCOUNT 78
592 --- 16,80 ----
593   #define O_EXTENDED 15
594   #define O_FILEC 16
595   #define O_FLASH 17
596 ! #define O_GTAGSMODE 18
597 ! #define O_HARDTABS 19
598 ! #define O_ICLOWER 20
599 ! #define O_IGNORECASE 21
600 ! #define O_KEYTIME 22
601 ! #define O_LEFTRIGHT 23
602 ! #define O_LINES 24
603 ! #define O_LISP 25
604 ! #define O_LIST 26
605 ! #define O_LOCKFILES 27
606 ! #define O_MAGIC 28
607 ! #define O_MATCHTIME 29
608 ! #define O_MESG 30
609 ! #define O_MODELINE 31
610 ! #define O_MSGCAT 32
611 ! #define O_NOPRINT 33
612 ! #define O_NUMBER 34
613 ! #define O_OCTAL 35
614 ! #define O_OPEN 36
615 ! #define O_OPTIMIZE 37
616 ! #define O_PARAGRAPHS 38
617 ! #define O_PATH 39
618 ! #define O_PRINT 40
619 ! #define O_PROMPT 41
620 ! #define O_READONLY 42
621 ! #define O_RECDIR 43
622 ! #define O_REDRAW 44
623 ! #define O_REMAP 45
624 ! #define O_REPORT 46
625 ! #define O_RULER 47
626 ! #define O_SCROLL 48
627 ! #define O_SEARCHINCR 49
628 ! #define O_SECTIONS 50
629 ! #define O_SECURE 51
630 ! #define O_SHELL 52
631 ! #define O_SHELLMETA 53
632 ! #define O_SHIFTWIDTH 54
633 ! #define O_SHOWMATCH 55
634 ! #define O_SHOWMODE 56
635 ! #define O_SIDESCROLL 57
636 ! #define O_SLOWOPEN 58
637 ! #define O_SOURCEANY 59
638 ! #define O_TABSTOP 60
639 ! #define O_TAGLENGTH 61
640 ! #define O_TAGS 62
641 ! #define O_TERM 63
642 ! #define O_TERSE 64
643 ! #define O_TILDEOP 65
644 ! #define O_TIMEOUT 66
645 ! #define O_TTYWERASE 67
646 ! #define O_VERBOSE 68
647 ! #define O_W1200 69
648 ! #define O_W300 70
649 ! #define O_W9600 71
650 ! #define O_WARN 72
651 ! #define O_WINDOW 73
652 ! #define O_WINDOWNAME 74
653 ! #define O_WRAPLEN 75
654 ! #define O_WRAPMARGIN 76
655 ! #define O_WRAPSCAN 77
656 ! #define O_WRITEANY 78
657 ! #define O_OPTIONCOUNT 79
658 diff -c -r -N /usr/local/src/nvi-1.79/vi/v_ex.c ./vi/v_ex.c
659 *** /usr/local/src/nvi-1.79/vi/v_ex.c   Mon Sep 16 05:03:02 1996
660 --- ./vi/v_ex.c Fri Aug 14 01:41:14 1998
661 ***************
662 *** 226,231 ****
663 --- 226,236 ----
664         ARGS *ap[2], a;
665         EXCMD cmd;
666   
667 + #ifdef GTAGS
668 +       if (O_ISSET(sp, O_GTAGSMODE) && vp->m_start.cno == 0)
669 +               ex_cinit(&cmd, C_RTAG, 0, OOBLNO, 0, 0, ap);
670 +       else
671 + #endif
672         ex_cinit(&cmd, C_TAG, 0, OOBLNO, 0, 0, ap);
673         ex_cadd(&cmd, &a, VIP(sp)->keyw, strlen(VIP(sp)->keyw));
674         return (v_exec_ex(sp, vp, &cmd));