2009-05-16 8 views

Respuesta

7

EMACS utiliza un programa externo para realizar la compresión/descompresión. Todo lo que necesita es saber el programa correcto para usar.


Algunos extensa discusión:

Como digo, no tengo caja de Windows, pero el código Lisp es en arco mode.el en alrededor de la línea 230:

(defcustom archive-zip-extract 
    (if (and (not (executable-find "unzip")) 
      (executable-find "pkunzip")) 
     '("pkunzip" "-e" "-o-") 
    '("unzip" "-qq" "-c")) 
    "*Program and its options to run in order to extract a zip file member. 
Extraction should happen to standard output. Archive and member name will 
be added." 
    :type '(list (string :tag "Program") 
     (repeat :tag "Options" 
      :inline t 
      (string :format "%v"))) 
    :group 'archive-zip) 

Observe la función executable-find. Busca en su EMACS exec-path, que incluye algunos directorios ejecutables de EMACS que no están en su variable PATH normal. En mi caso, es:

("/usr/bin" 
"/bin" 
"/usr/sbin" 
"/sbin" 
"/Applications/Emacs.app/Contents/MacOS/libexec" 
"/Applications/Emacs.app/Contents/MacOS/bin" 
"~/bin" 
"/usr/local/bin" 
"/usr/X11R6/bin") 

que incluye los dos directorios dentro del paquete EMACS. Su instalación de Windows incluirá directorios equivalentes en algún lugar de las entrañas de la configuración de EMACS. Ahí es dónde buscar los ejecutables si no están en su ruta habitual.

se puede descargar desde pkunzip this site, instalarlo, y añadir la ruta de acceso a la instalación con (add-to-list 'exec-path "c:/path/to/pkunzip")

+0

Hmm buena observación, pero no es cierto. En mi Emacs 22 en Windows XP, la navegación zip funciona de forma nativa incluso después de comentar las líneas que agregaron mi bin cygwin a PATH. La comprobación rápida con command-shell también muestra que no hay zip/descomprimir ejecutable en mi PATH en alguna parte. – polyglot

+0

Revisé mi ruta de acceso, y no hay descompresión en ella (aunque archive-zip-extract está configurado para descomprimir). No estoy seguro de cómo está funcionando ... –

+0

Pruebe con Ctrl-H V archive-zip-extract y vea cuál es el resultado. –

2

Cómo emacs trata los archivos comprimidos puede ser un poco confuso, pero aquí es un intento de resumir la situación. Hay dos paquetes de compresión principales: arc-mode (por ejemplo, el modo zip-archive) y el modo jka-compr (auto-compression-mode).

  1. arc-mode: se mostrará la tabla-de-contenidos (lista es decir, sencilla de nombres de archivos contenidos en el archivo) de archivos de múltiples archivos (ARC, LZH, código postal, Zoo) sin que el tercero relevante herramienta para existir en su sistema. Si realmente desea hacer visualización/edición de los archivos reales contenidos en el archivo utilizando arc-mode, definitivamente necesitará la herramienta de terceros para instalarse en su sistema y en la ubicación adecuada. P.ej. para los archivos zip, se comprime/descomprime de manera predeterminada en el exec-path (que es el entorno PATH de los sistemas operativos). Esto se puede personalizar usando archive-zip-extract y archive-zip-expunge.
  2. jka-compr (auto-compression-mode): comprimirá/descomprimirá automáticamente los archivos de un solo archivo (gz, Z, bz2, tbz, etc.) y requerirá que la herramienta de terceros correspondiente exista en su sistema.

Así que para obtener zip-archive modo completamente de trabajo en Windows sólo tendrá que encontrar una versión para Windows de postal de línea de comandos/descomprimir y ponerlos en un directorio que está en su PATH (por ejemplo, véase el paquete de descompresión en http://gnuwin32.sourceforge.net/) .

+0

espera, ¿está diciendo que el modo arco necesita o no las herramientas de terceros? No estoy claro? Mi patrón de uso deseado es una dirección, luego y la tecla (f) en un archivo zip para abrirlo. – Cheeso

+0

arc-mode necesita las herramientas de terceros para hacer algo útil (excepto que puede mostrar los nombres de archivo contenidos en un archivo zip sin ellos). Por lo tanto, solo tiene que poner una cremallera/descompresión de terceros en su camino para obtener su patrón de uso. – luapyad

Cuestiones relacionadas