1 /*
2  * This file was generated automatically by ExtUtils::ParseXS version 3.34 from the
3  * contents of XSParagraph.xs. Do not edit this file, edit XSParagraph.xs instead.
4  *
5  *    ANY CHANGES MADE HERE WILL BE LOST!
6  *
7  */
8 
9 #line 1 "XSParagraph.xs"
10 #ifdef HAVE_CONFIG_H
11   #include <config.h>
12 #endif
13 
14 #define PERL_NO_GET_CONTEXT
15 #include "EXTERN.h"
16 #include "perl.h"
17 #include "XSUB.h"
18 
19 #include "ppport.h"
20 
21 #include "xspara.h"
22 
23 #line 24 "XSParagraph.c"
24 #ifndef PERL_UNUSED_VAR
25 #  define PERL_UNUSED_VAR(var) if (0) var = var
26 #endif
27 
28 #ifndef dVAR
29 #  define dVAR		dNOOP
30 #endif
31 
32 
33 /* This stuff is not part of the API! You have been warned. */
34 #ifndef PERL_VERSION_DECIMAL
35 #  define PERL_VERSION_DECIMAL(r,v,s) (r*1000000 + v*1000 + s)
36 #endif
37 #ifndef PERL_DECIMAL_VERSION
38 #  define PERL_DECIMAL_VERSION \
39 	  PERL_VERSION_DECIMAL(PERL_REVISION,PERL_VERSION,PERL_SUBVERSION)
40 #endif
41 #ifndef PERL_VERSION_GE
42 #  define PERL_VERSION_GE(r,v,s) \
43 	  (PERL_DECIMAL_VERSION >= PERL_VERSION_DECIMAL(r,v,s))
44 #endif
45 #ifndef PERL_VERSION_LE
46 #  define PERL_VERSION_LE(r,v,s) \
47 	  (PERL_DECIMAL_VERSION <= PERL_VERSION_DECIMAL(r,v,s))
48 #endif
49 
50 /* XS_INTERNAL is the explicit static-linkage variant of the default
51  * XS macro.
52  *
53  * XS_EXTERNAL is the same as XS_INTERNAL except it does not include
54  * "STATIC", ie. it exports XSUB symbols. You probably don't want that
55  * for anything but the BOOT XSUB.
56  *
57  * See XSUB.h in core!
58  */
59 
60 
61 /* TODO: This might be compatible further back than 5.10.0. */
62 #if PERL_VERSION_GE(5, 10, 0) && PERL_VERSION_LE(5, 15, 1)
63 #  undef XS_EXTERNAL
64 #  undef XS_INTERNAL
65 #  if defined(__CYGWIN__) && defined(USE_DYNAMIC_LOADING)
66 #    define XS_EXTERNAL(name) __declspec(dllexport) XSPROTO(name)
67 #    define XS_INTERNAL(name) STATIC XSPROTO(name)
68 #  endif
69 #  if defined(__SYMBIAN32__)
70 #    define XS_EXTERNAL(name) EXPORT_C XSPROTO(name)
71 #    define XS_INTERNAL(name) EXPORT_C STATIC XSPROTO(name)
72 #  endif
73 #  ifndef XS_EXTERNAL
74 #    if defined(HASATTRIBUTE_UNUSED) && !defined(__cplusplus)
75 #      define XS_EXTERNAL(name) void name(pTHX_ CV* cv __attribute__unused__)
76 #      define XS_INTERNAL(name) STATIC void name(pTHX_ CV* cv __attribute__unused__)
77 #    else
78 #      ifdef __cplusplus
79 #        define XS_EXTERNAL(name) extern "C" XSPROTO(name)
80 #        define XS_INTERNAL(name) static XSPROTO(name)
81 #      else
82 #        define XS_EXTERNAL(name) XSPROTO(name)
83 #        define XS_INTERNAL(name) STATIC XSPROTO(name)
84 #      endif
85 #    endif
86 #  endif
87 #endif
88 
89 /* perl >= 5.10.0 && perl <= 5.15.1 */
90 
91 
92 /* The XS_EXTERNAL macro is used for functions that must not be static
93  * like the boot XSUB of a module. If perl didn't have an XS_EXTERNAL
94  * macro defined, the best we can do is assume XS is the same.
95  * Dito for XS_INTERNAL.
96  */
97 #ifndef XS_EXTERNAL
98 #  define XS_EXTERNAL(name) XS(name)
99 #endif
100 #ifndef XS_INTERNAL
101 #  define XS_INTERNAL(name) XS(name)
102 #endif
103 
104 /* Now, finally, after all this mess, we want an ExtUtils::ParseXS
105  * internal macro that we're free to redefine for varying linkage due
106  * to the EXPORT_XSUB_SYMBOLS XS keyword. This is internal, use
107  * XS_EXTERNAL(name) or XS_INTERNAL(name) in your code if you need to!
108  */
109 
110 #undef XS_EUPXS
111 #if defined(PERL_EUPXS_ALWAYS_EXPORT)
112 #  define XS_EUPXS(name) XS_EXTERNAL(name)
113 #else
114    /* default to internal */
115 #  define XS_EUPXS(name) XS_INTERNAL(name)
116 #endif
117 
118 #ifndef PERL_ARGS_ASSERT_CROAK_XS_USAGE
119 #define PERL_ARGS_ASSERT_CROAK_XS_USAGE assert(cv); assert(params)
120 
121 /* prototype to pass -Wmissing-prototypes */
122 STATIC void
123 S_croak_xs_usage(const CV *const cv, const char *const params);
124 
125 STATIC void
S_croak_xs_usage(const CV * const cv,const char * const params)126 S_croak_xs_usage(const CV *const cv, const char *const params)
127 {
128     const GV *const gv = CvGV(cv);
129 
130     PERL_ARGS_ASSERT_CROAK_XS_USAGE;
131 
132     if (gv) {
133         const char *const gvname = GvNAME(gv);
134         const HV *const stash = GvSTASH(gv);
135         const char *const hvname = stash ? HvNAME(stash) : NULL;
136 
137         if (hvname)
138 	    Perl_croak_nocontext("Usage: %s::%s(%s)", hvname, gvname, params);
139         else
140 	    Perl_croak_nocontext("Usage: %s(%s)", gvname, params);
141     } else {
142         /* Pants. I don't think that it should be possible to get here. */
143 	Perl_croak_nocontext("Usage: CODE(0x%" UVxf ")(%s)", PTR2UV(cv), params);
144     }
145 }
146 #undef  PERL_ARGS_ASSERT_CROAK_XS_USAGE
147 
148 #define croak_xs_usage        S_croak_xs_usage
149 
150 #endif
151 
152 /* NOTE: the prototype of newXSproto() is different in versions of perls,
153  * so we define a portable version of newXSproto()
154  */
155 #ifdef newXS_flags
156 #define newXSproto_portable(name, c_impl, file, proto) newXS_flags(name, c_impl, file, proto, 0)
157 #else
158 #define newXSproto_portable(name, c_impl, file, proto) (PL_Sv=(SV*)newXS(name, c_impl, file), sv_setpv(PL_Sv, proto), (CV*)PL_Sv)
159 #endif /* !defined(newXS_flags) */
160 
161 #if PERL_VERSION_LE(5, 21, 5)
162 #  define newXS_deffile(a,b) Perl_newXS(aTHX_ a,b,file)
163 #else
164 #  define newXS_deffile(a,b) Perl_newXS_deffile(aTHX_ a,b)
165 #endif
166 
167 #line 168 "XSParagraph.c"
168 
169 XS_EUPXS(XS_Texinfo__Convert__Paragraph_init); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_Texinfo__Convert__Paragraph_init)170 XS_EUPXS(XS_Texinfo__Convert__Paragraph_init)
171 {
172     dVAR; dXSARGS;
173     if (items != 2)
174        croak_xs_usage(cv,  "unused, unused2");
175     {
176 	int	unused = (int)SvIV(ST(0))
177 ;
178 	char *	unused2 = (char *)SvPV_nolen(ST(1))
179 ;
180 	int	RETVAL;
181 	dXSTARG;
182 
183 	RETVAL = xspara_init(unused, unused2);
184 	XSprePUSH; PUSHi((IV)RETVAL);
185     }
186     XSRETURN(1);
187 }
188 
189 
190 XS_EUPXS(XS_Texinfo__Convert__Paragraph_set_state); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_Texinfo__Convert__Paragraph_set_state)191 XS_EUPXS(XS_Texinfo__Convert__Paragraph_set_state)
192 {
193     dVAR; dXSARGS;
194     if (items != 1)
195        croak_xs_usage(cv,  "state");
196     {
197 	SV *	state = ST(0)
198 ;
199 
200 	xspara_set_state(state);
201     }
202     XSRETURN_EMPTY;
203 }
204 
205 
206 XS_EUPXS(XS_Texinfo__Convert__Paragraph_new); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_Texinfo__Convert__Paragraph_new)207 XS_EUPXS(XS_Texinfo__Convert__Paragraph_new)
208 {
209     dVAR; dXSARGS;
210     if (items < 1)
211        croak_xs_usage(cv,  "class, ...");
212     {
213 	SV *	class = ST(0)
214 ;
215 #line 49 "XSParagraph.xs"
216         HV *conf = 0;
217         int id;
218 #line 219 "XSParagraph.c"
219 	SV *	RETVAL;
220 #line 52 "XSParagraph.xs"
221         items--;
222         if (items > 0)
223           {
224             if (SvROK(ST(1)) && SvTYPE(SvRV(ST(1))) == SVt_PVHV)
225               conf = (HV *) SvRV(ST(1));
226           }
227         id = xspara_new (conf);
228 
229         /* Create an integer, which the other functions
230            need as their first argument. */
231         RETVAL = newSViv (id);
232 #line 233 "XSParagraph.c"
233 	RETVAL = sv_2mortal(RETVAL);
234 	ST(0) = RETVAL;
235     }
236     XSRETURN(1);
237 }
238 
239 
240 XS_EUPXS(XS_Texinfo__Convert__Paragraph_end_line_count); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_Texinfo__Convert__Paragraph_end_line_count)241 XS_EUPXS(XS_Texinfo__Convert__Paragraph_end_line_count)
242 {
243     dVAR; dXSARGS;
244     if (items != 1)
245        croak_xs_usage(cv,  "paragraph");
246     {
247 	SV *	paragraph = ST(0)
248 ;
249 	int	RETVAL;
250 	dXSTARG;
251 #line 71 "XSParagraph.xs"
252         xspara_set_state (paragraph);
253         RETVAL = xspara_end_line_count ();
254 #line 255 "XSParagraph.c"
255 	XSprePUSH; PUSHi((IV)RETVAL);
256     }
257     XSRETURN(1);
258 }
259 
260 
261 XS_EUPXS(XS_Texinfo__Convert__Paragraph__end_line); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_Texinfo__Convert__Paragraph__end_line)262 XS_EUPXS(XS_Texinfo__Convert__Paragraph__end_line)
263 {
264     dVAR; dXSARGS;
265     if (items != 1)
266        croak_xs_usage(cv,  "paragraph");
267     {
268 	SV *	paragraph = ST(0)
269 ;
270 #line 80 "XSParagraph.xs"
271         xspara_set_state (paragraph);
272         xspara__end_line ();
273 #line 274 "XSParagraph.c"
274     }
275     XSRETURN_EMPTY;
276 }
277 
278 
279 XS_EUPXS(XS_Texinfo__Convert__Paragraph_end_line); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_Texinfo__Convert__Paragraph_end_line)280 XS_EUPXS(XS_Texinfo__Convert__Paragraph_end_line)
281 {
282     dVAR; dXSARGS;
283     if (items != 1)
284        croak_xs_usage(cv,  "paragraph");
285     {
286 	SV *	paragraph = ST(0)
287 ;
288 	char *	RETVAL;
289 	dXSTARG;
290 #line 87 "XSParagraph.xs"
291         xspara_set_state (paragraph);
292         RETVAL = xspara_end_line ();
293 #line 294 "XSParagraph.c"
294 	sv_setpv(TARG, RETVAL); XSprePUSH; PUSHTARG;
295     }
296     XSRETURN(1);
297 }
298 
299 
300 XS_EUPXS(XS_Texinfo__Convert__Paragraph_get_pending); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_Texinfo__Convert__Paragraph_get_pending)301 XS_EUPXS(XS_Texinfo__Convert__Paragraph_get_pending)
302 {
303     dVAR; dXSARGS;
304     if (items != 1)
305        croak_xs_usage(cv,  "paragraph");
306     {
307 	SV *	paragraph = ST(0)
308 ;
309 	char *	RETVAL;
310 	dXSTARG;
311 #line 96 "XSParagraph.xs"
312         xspara_set_state (paragraph);
313         RETVAL = xspara_get_pending ();
314 #line 315 "XSParagraph.c"
315 	sv_setpv(TARG, RETVAL); XSprePUSH; PUSHTARG;
316     }
317     XSRETURN(1);
318 }
319 
320 
321 XS_EUPXS(XS_Texinfo__Convert__Paragraph_add_pending_word); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_Texinfo__Convert__Paragraph_add_pending_word)322 XS_EUPXS(XS_Texinfo__Convert__Paragraph_add_pending_word)
323 {
324     dVAR; dXSARGS;
325     if (items < 1)
326        croak_xs_usage(cv,  "paragraph, ...");
327     {
328 	SV *	paragraph = ST(0)
329 ;
330 #line 106 "XSParagraph.xs"
331         int add_spaces = 0;
332         char *retval;
333 #line 334 "XSParagraph.c"
334 	SV *	RETVAL;
335 #line 109 "XSParagraph.xs"
336         items -= 1;
337         if (items > 0)
338           {
339             if (SvOK(ST(1)))
340               {
341                 add_spaces = (int)SvIV(ST(1));;
342               }
343           }
344         xspara_set_state (paragraph);
345         retval = xspara_add_pending_word (add_spaces);
346 
347         RETVAL = newSVpv (retval, 0);
348         SvUTF8_on (RETVAL);
349 #line 350 "XSParagraph.c"
350 	RETVAL = sv_2mortal(RETVAL);
351 	ST(0) = RETVAL;
352     }
353     XSRETURN(1);
354 }
355 
356 
357 XS_EUPXS(XS_Texinfo__Convert__Paragraph_end); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_Texinfo__Convert__Paragraph_end)358 XS_EUPXS(XS_Texinfo__Convert__Paragraph_end)
359 {
360     dVAR; dXSARGS;
361     if (items != 1)
362        croak_xs_usage(cv,  "paragraph");
363     {
364 	SV *	paragraph = ST(0)
365 ;
366 #line 129 "XSParagraph.xs"
367         char *retval;
368 #line 369 "XSParagraph.c"
369 	SV *	RETVAL;
370 #line 131 "XSParagraph.xs"
371         xspara_set_state (paragraph);
372         retval = xspara_end ();
373 
374         RETVAL = newSVpv (retval, 0);
375         SvUTF8_on (RETVAL);
376 #line 377 "XSParagraph.c"
377 	RETVAL = sv_2mortal(RETVAL);
378 	ST(0) = RETVAL;
379     }
380     XSRETURN(1);
381 }
382 
383 
384 XS_EUPXS(XS_Texinfo__Convert__Paragraph_add_text); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_Texinfo__Convert__Paragraph_add_text)385 XS_EUPXS(XS_Texinfo__Convert__Paragraph_add_text)
386 {
387     dVAR; dXSARGS;
388     if (items != 2)
389        croak_xs_usage(cv,  "paragraph, text_in");
390     {
391 	SV *	paragraph = ST(0)
392 ;
393 	SV *	text_in = ST(1)
394 ;
395 #line 145 "XSParagraph.xs"
396         char *text;
397         char *retval;
398 #line 399 "XSParagraph.c"
399 	SV *	RETVAL;
400 #line 148 "XSParagraph.xs"
401         /* Always convert the input to UTF8 with sv_utf8_upgrade, so we can
402            process it properly in xspara_add_next. */
403         if (!SvUTF8 (text_in))
404           sv_utf8_upgrade (text_in);
405 
406         text = SvPV_nolen (text_in);
407 
408         xspara_set_state (paragraph);
409         retval = xspara_add_text (text);
410 
411         RETVAL = newSVpv (retval, 0);
412         SvUTF8_on (RETVAL);
413 
414 #line 415 "XSParagraph.c"
415 	RETVAL = sv_2mortal(RETVAL);
416 	ST(0) = RETVAL;
417     }
418     XSRETURN(1);
419 }
420 
421 
422 XS_EUPXS(XS_Texinfo__Convert__Paragraph_add_next); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_Texinfo__Convert__Paragraph_add_next)423 XS_EUPXS(XS_Texinfo__Convert__Paragraph_add_next)
424 {
425     dVAR; dXSARGS;
426     if (items < 2)
427        croak_xs_usage(cv,  "paragraph, text_in, ...");
428     {
429 	SV *	paragraph = ST(0)
430 ;
431 	SV *	text_in = ST(1)
432 ;
433 #line 169 "XSParagraph.xs"
434         char *text;
435         STRLEN text_len;
436         char *retval;
437         SV *arg_in;
438         int transparent = 0;
439 #line 440 "XSParagraph.c"
440 	SV *	RETVAL;
441 #line 175 "XSParagraph.xs"
442         items -= 2;
443         if (items > 0)
444           {
445             items--;
446             arg_in = ST(2);
447             if (SvOK(arg_in))
448               transparent = (int)SvIV(arg_in);
449           }
450 
451         /* Always convert the input to UTF8 with sv_utf8_upgrade, so we can
452            process it properly in xspara_add_next. */
453         if (!SvUTF8 (text_in))
454           sv_utf8_upgrade (text_in);
455         text = SvPV (text_in, text_len);
456 
457         xspara_set_state (paragraph);
458         retval = xspara_add_next (text, text_len, transparent);
459 
460         RETVAL = newSVpv (retval, 0);
461         SvUTF8_on (RETVAL);
462 
463 #line 464 "XSParagraph.c"
464 	RETVAL = sv_2mortal(RETVAL);
465 	ST(0) = RETVAL;
466     }
467     XSRETURN(1);
468 }
469 
470 
471 XS_EUPXS(XS_Texinfo__Convert__Paragraph_remove_end_sentence); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_Texinfo__Convert__Paragraph_remove_end_sentence)472 XS_EUPXS(XS_Texinfo__Convert__Paragraph_remove_end_sentence)
473 {
474     dVAR; dXSARGS;
475     if (items != 1)
476        croak_xs_usage(cv,  "paragraph");
477     {
478 	SV *	paragraph = ST(0)
479 ;
480 #line 204 "XSParagraph.xs"
481         xspara_set_state (paragraph);
482         xspara_remove_end_sentence ();
483 #line 484 "XSParagraph.c"
484     }
485     XSRETURN_EMPTY;
486 }
487 
488 
489 XS_EUPXS(XS_Texinfo__Convert__Paragraph_add_end_sentence); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_Texinfo__Convert__Paragraph_add_end_sentence)490 XS_EUPXS(XS_Texinfo__Convert__Paragraph_add_end_sentence)
491 {
492     dVAR; dXSARGS;
493     if (items != 2)
494        croak_xs_usage(cv,  "paragraph, value");
495     {
496 	SV *	paragraph = ST(0)
497 ;
498 	SV *	value = ST(1)
499 ;
500 #line 212 "XSParagraph.xs"
501         int intvalue = 0;
502 #line 503 "XSParagraph.c"
503 #line 214 "XSParagraph.xs"
504         if (SvOK(value))
505           intvalue = (int)SvIV(value);
506         xspara_set_state (paragraph);
507         xspara_add_end_sentence (intvalue);
508 #line 509 "XSParagraph.c"
509     }
510     XSRETURN_EMPTY;
511 }
512 
513 
514 XS_EUPXS(XS_Texinfo__Convert__Paragraph_allow_end_sentence); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_Texinfo__Convert__Paragraph_allow_end_sentence)515 XS_EUPXS(XS_Texinfo__Convert__Paragraph_allow_end_sentence)
516 {
517     dVAR; dXSARGS;
518     if (items != 1)
519        croak_xs_usage(cv,  "paragraph");
520     {
521 	SV *	paragraph = ST(0)
522 ;
523 #line 223 "XSParagraph.xs"
524         xspara_set_state (paragraph);
525         xspara_allow_end_sentence ();
526 #line 527 "XSParagraph.c"
527     }
528     XSRETURN_EMPTY;
529 }
530 
531 
532 XS_EUPXS(XS_Texinfo__Convert__Paragraph_set_space_protection); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_Texinfo__Convert__Paragraph_set_space_protection)533 XS_EUPXS(XS_Texinfo__Convert__Paragraph_set_space_protection)
534 {
535     dVAR; dXSARGS;
536     if (items < 2)
537        croak_xs_usage(cv,  "paragraph, space_protection_in, ...");
538     {
539 	SV *	paragraph = ST(0)
540 ;
541 	SV *	space_protection_in = ST(1)
542 ;
543 #line 234 "XSParagraph.xs"
544         int space_protection = -1;
545         int ignore_columns = -1;
546         int keep_end_lines = -1;
547         int french_spacing = -1;
548         int double_width_no_break = -1;
549         SV *arg_in;
550 #line 551 "XSParagraph.c"
551 #line 241 "XSParagraph.xs"
552         if (SvOK(space_protection_in))
553           space_protection = (int)SvIV(space_protection_in);
554         /* Get optional arguments from stack. */
555         items -= 2;
556         if (items > 0)
557           {
558             items--;
559             arg_in = ST(2);
560             if (SvOK(arg_in))
561               ignore_columns = (int)SvIV(arg_in);
562           }
563         if (items > 0)
564           {
565             items--;
566             arg_in = ST(3);
567             if (SvOK(arg_in))
568               keep_end_lines = (int)SvIV(arg_in);
569           }
570         if (items > 0)
571           {
572             items--;
573             arg_in = ST(4);
574             if (SvOK(arg_in))
575               french_spacing = (int)SvIV(arg_in);
576           }
577         if (items > 0)
578           {
579             items--;
580             arg_in = ST(5);
581             if (SvOK(arg_in))
582               double_width_no_break = (int)SvIV(arg_in);
583           }
584 
585         xspara_set_state (paragraph);
586         xspara_set_space_protection
587           (space_protection, ignore_columns, keep_end_lines,
588            french_spacing, double_width_no_break);
589 #line 590 "XSParagraph.c"
590     }
591     XSRETURN_EMPTY;
592 }
593 
594 #ifdef __cplusplus
595 extern "C"
596 #endif
597 XS_EXTERNAL(boot_Texinfo__Convert__Paragraph); /* prototype to pass -Wmissing-prototypes */
XS_EXTERNAL(boot_Texinfo__Convert__Paragraph)598 XS_EXTERNAL(boot_Texinfo__Convert__Paragraph)
599 {
600 #if PERL_VERSION_LE(5, 21, 5)
601     dVAR; dXSARGS;
602 #else
603     dVAR; dXSBOOTARGSXSAPIVERCHK;
604 #endif
605 #if (PERL_REVISION == 5 && PERL_VERSION < 9)
606     char* file = __FILE__;
607 #else
608     const char* file = __FILE__;
609 #endif
610 
611     PERL_UNUSED_VAR(file);
612 
613     PERL_UNUSED_VAR(cv); /* -W */
614     PERL_UNUSED_VAR(items); /* -W */
615 #if PERL_VERSION_LE(5, 21, 5)
616     XS_VERSION_BOOTCHECK;
617 #  ifdef XS_APIVERSION_BOOTCHECK
618     XS_APIVERSION_BOOTCHECK;
619 #  endif
620 #endif
621 
622         (void)newXSproto_portable("Texinfo::Convert::Paragraph::init", XS_Texinfo__Convert__Paragraph_init, file, "$$");
623         (void)newXSproto_portable("Texinfo::Convert::Paragraph::set_state", XS_Texinfo__Convert__Paragraph_set_state, file, "$");
624         (void)newXSproto_portable("Texinfo::Convert::Paragraph::new", XS_Texinfo__Convert__Paragraph_new, file, "$;@");
625         (void)newXSproto_portable("Texinfo::Convert::Paragraph::end_line_count", XS_Texinfo__Convert__Paragraph_end_line_count, file, "$");
626         (void)newXSproto_portable("Texinfo::Convert::Paragraph::_end_line", XS_Texinfo__Convert__Paragraph__end_line, file, "$");
627         (void)newXSproto_portable("Texinfo::Convert::Paragraph::end_line", XS_Texinfo__Convert__Paragraph_end_line, file, "$");
628         (void)newXSproto_portable("Texinfo::Convert::Paragraph::get_pending", XS_Texinfo__Convert__Paragraph_get_pending, file, "$");
629         (void)newXSproto_portable("Texinfo::Convert::Paragraph::add_pending_word", XS_Texinfo__Convert__Paragraph_add_pending_word, file, "$;@");
630         (void)newXSproto_portable("Texinfo::Convert::Paragraph::end", XS_Texinfo__Convert__Paragraph_end, file, "$");
631         (void)newXSproto_portable("Texinfo::Convert::Paragraph::add_text", XS_Texinfo__Convert__Paragraph_add_text, file, "$$");
632         (void)newXSproto_portable("Texinfo::Convert::Paragraph::add_next", XS_Texinfo__Convert__Paragraph_add_next, file, "$$;@");
633         (void)newXSproto_portable("Texinfo::Convert::Paragraph::remove_end_sentence", XS_Texinfo__Convert__Paragraph_remove_end_sentence, file, "$");
634         (void)newXSproto_portable("Texinfo::Convert::Paragraph::add_end_sentence", XS_Texinfo__Convert__Paragraph_add_end_sentence, file, "$$");
635         (void)newXSproto_portable("Texinfo::Convert::Paragraph::allow_end_sentence", XS_Texinfo__Convert__Paragraph_allow_end_sentence, file, "$");
636         (void)newXSproto_portable("Texinfo::Convert::Paragraph::set_space_protection", XS_Texinfo__Convert__Paragraph_set_space_protection, file, "$$;@");
637 #if PERL_VERSION_LE(5, 21, 5)
638 #  if PERL_VERSION_GE(5, 9, 0)
639     if (PL_unitcheckav)
640         call_list(PL_scopestack_ix, PL_unitcheckav);
641 #  endif
642     XSRETURN_YES;
643 #else
644     Perl_xs_boot_epilog(aTHX_ ax);
645 #endif
646 }
647 
648