- /*
- * After a put want current line first line,
- * and dot was made the last line put in code run
- * so far. This is why we increment vcline above,
- * and decrease (usually) dot here.
- */
- dot = undap1;
- vreplace(vcline, i, undap2 - undap1);
+ /*
+ * After a put want current line first line,
+ * and dot was made the last line put in code
+ * run so far. This is why we increment vcline
+ * above and decrease dot here.
+ */
+ dot -= nlput - 1;
+ }
+#ifdef TRACE
+ if (trace)
+ fprintf(trace, "vreplace(%d, %d, %d), undap1=%d, undap2=%d, dot=%d\n", vcline, i, nlput, lineno(undap1), lineno(undap2), lineno(dot));
+#endif
+ vreplace(vcline, i, nlput);