Description:

The question and answer at

http://stackoverflow.com/questions/21118197/how-to-automatically-decompress-a-custom-compressed-file-when-opened-in-emacs/21127244#21127244

show that it would be nice if the arguments of the compression/uncompression program would be evaluated.

The following patch provides that possibility with almost no costs.

The patch includes the evaluation of the arguments as well as the necessary changes to the customization of jka-compr-info-compress-args and its documentation.

 

File: jka-cmpr-hook.el

Version: GNU Emacs 24.3.1 (x86_64-unknown-cygwin, GTK+ Version 3.8.2) of 2013-08-20 on moufang

Patch:

99c99

< (defun jka-compr-info-compress-args        (info)  (aref info 3))

---

> (defun jka-compr-info-compress-args        (info)  (mapcar 'apply (aref info 3)))

102c102

< (defun jka-compr-info-uncompress-args      (info)  (aref info 6))

---

> (defun jka-compr-info-uncompress-args      (info)  (mapcar 'apply (aref info 6)))

260c260,263

<    compress-args         is a list of args to pass to the compress program

---

>    compress-args         is a list of args to pass to the compress program,

>                          each arg may be a string or a lisp expression

>                          the variable FILENAME is bound to the name of the file

>                          to be compressed

267a271

>                          (analogeous to compress-args)

296c300

<                                             (repeat :tag "Uncompress Arguments" string)

---

>                                             (repeat :tag "Uncompress Arguments" (choice (string) (sexp)))