diff --git a/source/texk/web2c/luatexdir/font/writefont.w b/source/texk/web2c/luatexdir/font/writefont.w
index cd8360c5e8ae149076fac1534937ae2b31c6259d..659d84823d43d2466456259a57601f4448e9fb18 100644
--- a/source/texk/web2c/luatexdir/font/writefont.w
+++ b/source/texk/web2c/luatexdir/font/writefont.w
@@ -376,7 +376,7 @@ static void write_charwidth_array(PDF pdf, fo_entry * fo,
     pdf_begin_array(pdf);
     for (ip = fip, j = *ip; ip != NULL; ip = (int *) avl_t_next(&t)) {
         if (ip != fip)
-            pdf_puts(pdf, " ");
+            pdf_out(pdf, ' ');
         i = *ip;
         while (j < i - 1) {
             pdf_puts(pdf, "0 ");
@@ -549,11 +549,11 @@ static void write_fontdescriptor(PDF pdf, fd_entry * fd)
                 assert(fd->gl_tree != NULL);
                 avl_t_init(&t, fd->gl_tree);
                 pdf_add_name(pdf, "CharSet");
-                pdf_puts(pdf, "(");
+                pdf_out(pdf, '(');
                 for (glyph = (char *) avl_t_first(&t, fd->gl_tree);
                      glyph != NULL; glyph = (char *) avl_t_next(&t))
                     pdf_add_name(pdf, glyph);
-                pdf_puts(pdf, ")");
+                pdf_out(pdf, ')');
                 pdf->cave = 0;
             }
             if (is_type1(fd->fm))
@@ -634,7 +634,7 @@ static void write_fontdictionary(PDF pdf, fo_entry * fo)
     if (pdf_font_attr(fo->tex_font) != get_nullstr() &&
         pdf_font_attr(fo->tex_font) != 0) {
         pdf_print(pdf, pdf_font_attr(fo->tex_font));
-        pdf_puts(pdf, "\n");
+        pdf_out(pdf, '\n');
     }
     pdf_end_dict(pdf);
     pdf_end_obj(pdf);
@@ -938,10 +938,10 @@ static void write_cid_charwidth_array(PDF pdf, fo_entry * fo)
             j = glyph->wd;
         }
         if (glyph->id == (unsigned) (i + 1))
-            pdf_puts(pdf, " ");
+            pdf_out(pdf, ' ');
 
         if (j < 0) {
-            pdf_puts(pdf, "-");
+            pdf_out(pdf, '-');
             j = -j;
         }
 
@@ -1031,9 +1031,9 @@ void write_cid_fontdictionary(PDF pdf, fo_entry * fo, internal_font_number f)
     /* I doubt there is anything useful that could be written here */
 #if 0
     if (pdf_font_attr(fo->tex_font) != get_nullstr()) {
-        pdf_puts(pdf, "\n");
+        pdf_out(pdf, '\n');
         pdf_print(pdf_font_attr(fo->tex_font));
-        pdf_puts(pdf, "\n");
+        pdf_out(pdf, '\n');
     }
 #endif
     pdf_end_dict(pdf);
diff --git a/source/texk/web2c/luatexdir/font/writet3.w b/source/texk/web2c/luatexdir/font/writet3.w
index aacd891f1e519a0a3134ca41608aa02b967d257d..931eee8d9810a9b9204ada6e1abfb0263cd7bd07 100644
--- a/source/texk/web2c/luatexdir/font/writet3.w
+++ b/source/texk/web2c/luatexdir/font/writet3.w
@@ -267,9 +267,9 @@ void writet3(PDF pdf, internal_font_number f)
     snprintf(s, 31, "F%i", (int) f);
     pdf_dict_add_name(pdf, "Name", s);
     if (pdf_font_attr(f) != get_nullstr() && pdf_font_attr(f) != 0) {
-        pdf_puts(pdf, "\n");
+        pdf_out(pdf, '\n');
         pdf_print(pdf, pdf_font_attr(f));
-        pdf_puts(pdf, "\n");
+        pdf_out(pdf, '\n');
     }
     if (is_pk_font) {
         pk_font_scale =
@@ -321,7 +321,7 @@ void writet3(PDF pdf, internal_font_number f)
     if (is_pk_font)
         for (i = first_char; i <= last_char; i++) {
             pdf_print_real(pdf, (int) t3_char_widths[i], 2);
-            pdf_puts(pdf, " ");
+            pdf_out(pdf, ' ');
     } else
         for (i = first_char; i <= last_char; i++)
             pdf_add_int(pdf, (int) t3_char_widths[i]);
diff --git a/source/texk/web2c/luatexdir/image/pdftoepdf.cc b/source/texk/web2c/luatexdir/image/pdftoepdf.cc
index 2e24c5a7987242b419ce0a9aa86a2eeb6fab7497..da627371652324353970a4b2479ab9b308055de6 100644
--- a/source/texk/web2c/luatexdir/image/pdftoepdf.cc
+++ b/source/texk/web2c/luatexdir/image/pdftoepdf.cc
@@ -309,7 +309,7 @@ static void copyString(PDF pdf, GooString * string)
     if (pdf->cave)
         pdf_out(pdf, ' ');
     if (strlen(p) == l) {
-        pdf_puts(pdf, "(");
+        pdf_out(pdf, '(');
         for (; *p != 0; p++) {
             c = (unsigned char) *p;
             if (c == '(' || c == ')' || c == '\\')
@@ -319,21 +319,21 @@ static void copyString(PDF pdf, GooString * string)
             else
                 pdf_out(pdf, c);
         }
-        pdf_puts(pdf, ")");
+        pdf_out(pdf, ')');
     } else {
-        pdf_puts(pdf, "<");
+        pdf_out(pdf, '<');
         for (i = 0; i < l; i++) {
             c = (unsigned char) string->getChar(i);
             pdf_printf(pdf, "%.2x", (int) c);
         }
-        pdf_puts(pdf, ">");
+        pdf_out(pdf, '>');
     }
     pdf->cave = true;
 }
 
 static void copyName(PDF pdf, char *s)
 {
-    pdf_puts(pdf, "/");
+    pdf_out(pdf, '/');
     for (; *s != 0; s++) {
         if (isdigit(*s) || isupper(*s) || islower(*s) || *s == '_' ||
             *s == '.' || *s == '-' || *s == '+')
@@ -787,7 +787,7 @@ void write_epdf(PDF pdf, image_dict * idict)
             if (i < (l - 1)) {
                 // put a space between streams to be on the safe side (streams
                 // should have a trailing space here, but one never knows)
-                pdf_puts(pdf, " ");
+                pdf_out(pdf, ' ');
             }
         }
         pdf_end_stream(pdf);
diff --git a/source/texk/web2c/luatexdir/lua/lpdflib.c b/source/texk/web2c/luatexdir/lua/lpdflib.c
index ca515d34845b5588404af9c8511f63cfcc26583c..d3e5208b9082c9ae5b17b6d00f191f026dd92881 100644
--- a/source/texk/web2c/luatexdir/lua/lpdflib.c
+++ b/source/texk/web2c/luatexdir/lua/lpdflib.c
@@ -123,7 +123,7 @@ static int l_immediateobj(lua_State * L)
         st1.s = lua_tolstring(L, first_arg, &st1.l);
         pdf_out_block(static_pdf, st1.s, st1.l);
         if (st1.s[st1.l - 1] != '\n')
-            pdf_puts(static_pdf, "\n");
+            pdf_out(static_pdf, '\n');
         pdf_end_obj(static_pdf);
         break;
     case 2:
@@ -142,7 +142,7 @@ static int l_immediateobj(lua_State * L)
             buf.s = fread_to_buf(L, st2.s, &buf.l);
             pdf_out_block(static_pdf, (const char *) buf.s, buf.l);
             if (buf.s[buf.l - 1] != '\n')
-                pdf_puts(static_pdf, "\n");
+                pdf_out(static_pdf, '\n');
             xfree(buf.s);
             pdf_end_obj(static_pdf);
         } else {
@@ -155,7 +155,7 @@ static int l_immediateobj(lua_State * L)
                 st3.s = lua_tolstring(L, first_arg + 2, &st3.l);
                 pdf_out_block(static_pdf, st3.s, st3.l);
                 if (st3.s[st3.l - 1] != '\n')
-                    pdf_puts(static_pdf, "\n");
+                    pdf_out(static_pdf, '\n');
             }
             pdf_dict_add_streaminfo(static_pdf);
             pdf_end_dict(static_pdf);
@@ -373,7 +373,7 @@ static int table_obj(lua_State * L)
                 st.s = lua_tolstring(L, -1, &st.l);
                 pdf_out_block(static_pdf, st.s, st.l);
                 if (st.s[st.l - 1] != '\n')
-                    pdf_puts(static_pdf, "\n");
+                    pdf_out(static_pdf, '\n');
             } else
                 obj_obj_data(static_pdf, k) = luaL_ref(L, LUA_REGISTRYINDEX);   /* t */
         } else {
@@ -386,7 +386,7 @@ static int table_obj(lua_State * L)
                 buf.s = fread_to_buf(L, st.s, &buf.l);
                 pdf_out_block(static_pdf, (const char *) buf.s, buf.l);
                 if (buf.s[buf.l - 1] != '\n')
-                    pdf_puts(static_pdf, "\n");
+                    pdf_out(static_pdf, '\n');
                 xfree(buf.s);
             } else {
                 set_obj_obj_is_file(static_pdf, k);
@@ -403,7 +403,7 @@ static int table_obj(lua_State * L)
             if (attr.s != NULL) {
                 pdf_out_block(static_pdf, attr.s, attr.l);
                 if (attr.s[attr.l - 1] != '\n')
-                    pdf_puts(static_pdf, "\n");
+                    pdf_out(static_pdf, '\n');
             }
             if (compress_level > -1)
                 static_pdf->compress_level = compress_level;
diff --git a/source/texk/web2c/luatexdir/pdf/pdfgen.w b/source/texk/web2c/luatexdir/pdf/pdfgen.w
index 3b52731a646c98db8a6fdf760be5c700a8d6a240..d68e86a58b86515355f07f5535e5daefbf9e52bf 100644
--- a/source/texk/web2c/luatexdir/pdf/pdfgen.w
+++ b/source/texk/web2c/luatexdir/pdf/pdfgen.w
@@ -1239,7 +1239,7 @@ void pdf_dict_add_streaminfo(PDF pdf)
 @c
 void pdf_begin_array(PDF pdf)
 {
-    pdf_puts(pdf, "[");
+    pdf_out(pdf, '[');
     pdf->cave = 0;
 }
 
@@ -1247,7 +1247,7 @@ void pdf_begin_array(PDF pdf)
 @c
 void pdf_end_array(PDF pdf)
 {
-    pdf_puts(pdf, "]");
+    pdf_out(pdf, ']');
     pdf->cave = 0;
 }
 
@@ -2190,7 +2190,7 @@ static int pdf_print_info(PDF pdf, int luatex_version,
         pdf_print_int(pdf, luatex_version % 100);
         pdf_out(pdf, '.');
         pdf_print(pdf, luatex_revision);
-        pdf_puts(pdf, ")");
+        pdf_out(pdf, ')');
     }
     if (pdf_info_toks != null) {
         if (len > 0) {
diff --git a/source/texk/web2c/luatexdir/pdf/pdfpage.w b/source/texk/web2c/luatexdir/pdf/pdfpage.w
index 9da60ade105221515bd5fc310530f59e34e3a154..112c5364e70c3b7f717fdc6df6ce8c704548729f 100644
--- a/source/texk/web2c/luatexdir/pdf/pdfpage.w
+++ b/source/texk/web2c/luatexdir/pdf/pdfpage.w
@@ -164,14 +164,14 @@ void print_pdffloat(PDF pdf, pdffloat f)
     int e = f.e, i, j;
     long l, m = f.m;
     if (m < 0) {
-        pdf_puts(pdf, "-");
+        pdf_out(pdf, '-');
         m *= -1;
     }
     l = m / ten_pow[e];
     pdf_print_int(pdf, l);
     l = m % ten_pow[e];
     if (l != 0) {
-        pdf_puts(pdf, ".");
+        pdf_out(pdf, '.');
         j = snprintf(a, 23, "%ld", l + ten_pow[e]);
         assert(j < 23);
         for (i = e; i > 0; i--) {
@@ -189,7 +189,7 @@ void print_pdf_matrix(PDF pdf, pdffloat * tm)
     int i;
     for (i = 0; i < 5; i++) {
         print_pdffloat(pdf, tm[i]);
-        pdf_puts(pdf, " ");
+        pdf_out(pdf, ' ');
     }
     print_pdffloat(pdf, tm[i]);
 }