توی نسخههای قبلی بسته bidi یک محدودیت وجود داشت و اون این بود که:
بسته bidi باید فراخوانی کلاس book و report رو با بسته flowfram چک کنه. توی سیستم قدیمی فراخوانی بستهها (جایی که بسته bidi یا بسته xepersian باید آخرین بستهای بود که فراخوانی میشد) چون بسته bidi آخرین بستهای بود که فراخوانی میشد انجام این کار ساده بود اما توی سیستم جدید فراخوانی بستهها (جایی که بسته bidi یا بسته xepersian هر جایی ممکنه فراخوانی بشوند) معلوم نیست کاربر کجا بسته flowfram رو فراخوانی میکنه و در نتیجه بسته bidi باید تغییرات مربوط به کلاس book و کلاس report رو خیلی دیر انجام بده در نتیجه تغییرات کدهای پرسش در ماکروی \@makechapterhead و \l@chapter بازنویسی میشه و ماکروی موجود در کدهای بالا تاثیری ندارد. برای داشتن خروجی مناسب باید بازتعریف این دستور رو پس از تغییرات بسته bidi قرار بدهید تا توسط بسته bidi بازنویسی نشه.
و به خاطر این محدودیت حتما لازم بود که از دستور \ApplyPatchCodeToFile استفاده بشه تا تغییرات کاربر توسط بسته bidi بازنویسی نشه.
متلسفانه این محدودیت موجب سردرگمی کاربران شده بود و پرسشهای زیادی وجود داشت. به عنوان نمونه، این پرسش قبلا چندین بار پاسخ داده شده. به عنوان نمونه این پرسش، این پرسش، این پرسش، این پرسش و این پرسش را ببینید.
در نسخه 25.12.19 بسته bidi که تازه به CTAN داده شده، این محدودیت از بین رفته و دیگر نیازی به استفاده از دستور \ApplyPatchCodeToFile ندارید.