[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
bug#30116: [PATCH] `substitute' crashes when file contains NUL character
From: |
Ludovic Courtès |
Subject: |
bug#30116: [PATCH] `substitute' crashes when file contains NUL characters (core-updates) |
Date: |
Tue, 23 Jan 2018 15:11:04 +0100 |
User-agent: |
Gnus/5.13 (Gnus v5.13) Emacs/25.3 (gnu/linux) |
Maxim Cournoyer <address@hidden> skribis:
> In the `patch-el-files' phase of the emacs-build-system, we find the
> following snippet:
>
> (with-directory-excursion el-dir
> ;; Some old '.el' files (e.g., tex-buf.el in AUCTeX) are still encoded
> ;; with the "ISO-8859-1" locale.
> (unless (false-if-exception (substitute-cmd))
> (with-fluids ((%default-port-encoding "ISO-8859-1"))
> (substitute-cmd))))
>
> In case an exception is returned while processing the file, it is
> retried being opened with the "ISO-8859-1" encoding. Or, this resolves
> to a call to `open-file', which documentation says:
>
> ‘b’
> Use binary mode, ensuring that each byte in the file will be
> read as one Scheme character.
>
> To provide this property, the file will be opened with the
> 8-bit character encoding "ISO-8859-1", ignoring the default
> port encoding. *Note Ports::, for more information on port
> encodings.
>
> So, by opening an file whose encoding is unknown as a ISO-8859-1 file,
> we are doing the same as if we had passed the 'binary option. Could this
> explain why we end up with NUL characters where we were expecting text?
That could be the reason. Guile provides a way to honor Emacs-style
‘encoding’ declarations, and ‘call-with-input-file’ does that if we pass
#:guess-encoding #t (info "(guile) Character Encoding of Source Files").
Did the faulty file have such a declaration?
Thanks,
Ludo’.
- bug#30116: [PATCH] `substitute' crashes when file contains NUL characters (core-updates), Maxim Cournoyer, 2018/01/14
- Message not available
- bug#30116: [PATCH] `substitute' crashes when file contains NUL characters (core-updates), Ludovic Courtès, 2018/01/16
- bug#30116: [PATCH] `substitute' crashes when file contains NUL characters (core-updates), Maxim Cournoyer, 2018/01/20
- bug#30116: [PATCH] `substitute' crashes when file contains NUL characters (core-updates), Mark H Weaver, 2018/01/21
- bug#30116: [PATCH] `substitute' crashes when file contains NUL characters (core-updates), Ludovic Courtès, 2018/01/22
- bug#30116: [PATCH] `substitute' crashes when file contains NUL characters (core-updates), Maxim Cournoyer, 2018/01/22
- bug#30116: [PATCH] `substitute' crashes when file contains NUL characters (core-updates),
Ludovic Courtès <=
- bug#30116: [PATCH] `substitute' crashes when file contains NUL characters (core-updates), Maxim Cournoyer, 2018/01/25
- bug#30116: [PATCH] `substitute' crashes when file contains NUL characters (core-updates), Ludovic Courtès, 2018/01/25