33.24 Работа с сжатыми данными

Когда включен auto-compression-mode, Emacs автоматически распаковывает сжатые файлы при их открытии и автоматически повторно сжимает их, если вы их изменили и сохранили. См. Сжатые файлы в Руководстве GNU Emacs.

Вышеупомянутая функция работает путем вызова внешней исполняемой программы (например, gzip). Emacs также может быть скомпилирован с поддержкой встроенной декомпрессии с использованием библиотеки zlib, что быстрее, чем вызов внешней программы.

Функция: zlib-available-p

Эта функция возвращает не-nil, если доступна встроенная декомпрессия zlib.

Функция: zlib-decompress-region start end &optional allow-partial

Эта функция декомпрессирует область между start и end, используя встроенную декомпрессию zlib. Область должна содержать данные, сжатые с помощью gzip или zlib. При успехе функция заменяет содержимое области декомпрессированными данными. Если allow-partial равен nil или опущен, то при неудаче функция оставляет область без изменений и возвращает nil. В противном случае она возвращает количество байтов, которые не были декомпрессированы, и заменяет текст области данными, которые были успешно декомпрессированы. Эта функция может быть вызвана только в однобайтовых буферах.