¿Por qué `openin_any = p` restringe el acceso a paquetes en TEXMFDIST?

¿Por qué `openin_any = p` restringe el acceso a paquetes en TEXMFDIST?

Estoy usando openin_any = p(establecido en un personalizado TEXMFCNF) como una línea de defensa adicional en una aplicación que se ejecuta en código LaTeX (parcialmente) proporcionado por el usuario. Esto solía funcionar bien, pero después de actualizar a la última versión de texlive 2020, ahora falla la creación de prácticamente cualquier documento:

/opt/texlive/bin/x86_64-linux/xelatex: Not reading from /opt/texlive/texmf-dist/tex/latex/l3packages/xparse/xparse-generic.tex (openin_any = p).
! LaTeX3 Error: File 'xparse-generic.tex' not found.

Por lo que tengo entendido, incluso con openin_any = parchivos TEXMFDISTse supone que está bien. ¿Es esto un error o es un cambio intencional? En cualquier caso, estoy buscando una solución que permita el acceso a cualquier cosa además TEXMFDISTdel directorio que contiene mi archivo tex.

Respuesta1

De hecho, esto fue un error en texlive; después de preguntar en la lista de correo ellosarreglado.

Detalles (también dellista de correo) sobre por qué sucedió exactamente esto:

Con openin_any=pél puedes cargar la mayoría de los paquetes LaTeX normalmente. El problema específico de xparse(-generic.tex) es que utiliza una \pdffilesizeprueba basada en - (ampliable) para comprobar si existe un archivo y, como dije en mi correo anterior, \pdffilesize falla con openin_any=p:

export openin_any=p && pdftex '\pdffilesize{sample2e.tex}\bye'

y eso es lo que aborda el parche de Akira-san.

Este "viejo comportamiento" que mencionas es que hasta hace unos meses xparse se cargaba todo de una sola vez en xparse.sty como lo hacen la mayoría de los paquetes (y funciona como siempre), pero ahora está dividido en el "cargador" (y legado---no usar---interfaces) y la mayor parte del código en xparse-generic.tex. Como este último usa \pdffilesize, falla con openin_any=p.

información relacionada