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