From: Matthew Leach <matthew@mattleach.net>
To: Eli Zaretskii <eliz@gnu.org>
Cc: xah@xahlee.org, 1702@debbugs.gnu.org, cyd@stupidchicken.com
Subject: bug#1702: [PATCH]: feature request: correctly display single file zip archive
Date: Fri, 14 Nov 2014 11:06:45 +0000 [thread overview]
Message-ID: <87sihmjb22.fsf@mattleach.net> (raw)
In-Reply-To: <83d28qjqs2.fsf@gnu.org> (Eli Zaretskii's message of "Fri, 14 Nov 2014 07:27:09 +0200")
[-- Attachment #1: Type: text/plain, Size: 943 bytes --]
Hi Eli,
Eli Zaretskii <eliz@gnu.org> writes:
>> From: Matthew Leach <matthew@mattleach.net>
>> Cc: xah@xahlee.org, 1702@debbugs.gnu.org, cyd@stupidchicken.com
>> Date: Thu, 13 Nov 2014 20:50:21 +0000
>>
>> > Do we want to disable decompression when auto-compression-mode is off,
>> > for example?
>>
>> I think in the case that the user has auto-compression-mode off, the
>> archive summary should be shown instead.
>
> I agree. So this needs to be part of the patch, if the rationale is
> what you proposed.
Thank you for the review. The attached patch should take care of
everything mentioned.
--
Matt
lisp/ChangeLog:
2014-11-14 Matthew Leach <matthew@mattleach.net>
* arc-mode.el (archive-visit-single-files): New.
(archive-mode): Visit file if archive contains a single file.
etc/ChangeLog:
2014-11-14 Matthew Leach <matthew@mattleach.net>
* NEWS: Mention archive will now visit the file in singular-file
archives.
[-- Warning: decoded text below may be mangled, UTF-8 assumed --]
[-- Attachment #2: 0001-Don-t-show-summary-for-single-file-archives.patch --]
[-- Type: text/x-diff, Size: 2354 bytes --]
From fb5402f8fe3e5bdd7e6994cc7fc744d75b0da1da Mon Sep 17 00:00:00 2001
From: Matthew Leach <matthew@mattleach.net>
Date: Thu, 13 Nov 2014 18:30:24 +0000
Subject: [PATCH] Don't show summary for single-file archives.
* arc-mode.el (archive-visit-single-files): New.
(archive-mode): Visit file if archive contains a single file.
* etc/NEWS: Mention archive will now visit the file in singular-file
archives.
---
etc/NEWS | 6 ++++++
lisp/arc-mode.el | 17 ++++++++++++++++-
2 files changed, 22 insertions(+), 1 deletion(-)
diff --git a/etc/NEWS b/etc/NEWS
index 05210df..2083127 100644
--- a/etc/NEWS
+++ b/etc/NEWS
@@ -184,6 +184,12 @@ appending FUN to `minibuffer-setup-hook'.
** cl-lib
*** New functions cl-fresh-line, cl-digit-char-p and cl-parse-integer.
+** Archive
+*** When visiting an archive that contains a single file automatically
+visit that file, rather than displaying the archive summary. To
+revert to the original behaviour, set `archive-visit-single-files' to
+nil.
+
** Calendar and diary
+++
diff --git a/lisp/arc-mode.el b/lisp/arc-mode.el
index ef155ee..80f6564 100644
--- a/lisp/arc-mode.el
+++ b/lisp/arc-mode.el
@@ -147,6 +147,15 @@ A local copy of the archive will be used when updating."
"Hook run when an archive member has been extracted."
:type 'hook
:group 'archive)
+
+(defcustom archive-visit-single-files t
+ "If non-nil, opening an archive with a single file visits that file.
+
+ If this option's value is nil, visiting such archives will
+ display the archive summary."
+ :type '(choice (const :tag "Visit the single file" t)
+ (const :tag "Show the archive summary" nil))
+ :group 'archive)
;; ------------------------------
;; Arc archive configuration
@@ -742,7 +751,13 @@ archive.
(if (default-value 'enable-multibyte-characters)
(set-buffer-multibyte 'to))
(archive-summarize nil)
- (setq buffer-read-only t))))
+ (setq buffer-read-only t)
+ (when (and archive-visit-single-files
+ auto-compression-mode
+ (= (length archive-files) 1))
+ (let ((archive-buffer (current-buffer)))
+ (rename-buffer (concat " " (buffer-name)))
+ (archive-extract))))))
;; Archive mode is suitable only for specially formatted data.
(put 'archive-mode 'mode-class 'special)
--
2.1.3
next prev parent reply other threads:[~2014-11-14 11:06 UTC|newest]
Thread overview: 19+ messages / expand[flat|nested] mbox.gz Atom feed top
2008-12-28 2:47 bug#1702: feature request: correctly display single file zip archive Chong Yidong
2009-01-16 20:09 ` xah lee
2014-11-13 18:39 ` bug#1702: [PATCH]: " Matthew Leach
2014-11-13 18:50 ` Eli Zaretskii
2014-11-13 19:26 ` Matthew Leach
2014-11-13 19:39 ` Eli Zaretskii
2014-11-13 20:03 ` Matthew Leach
2014-11-13 20:25 ` Eli Zaretskii
2014-11-13 20:50 ` Matthew Leach
2014-11-14 5:27 ` Eli Zaretskii
2014-11-14 11:06 ` Matthew Leach [this message]
2014-11-14 11:31 ` Matthew Leach
2014-11-18 13:04 ` Daniel Colascione
2014-11-18 20:12 ` Matthew Leach
2014-11-21 10:10 ` Eli Zaretskii
2014-11-13 19:51 ` Lars Magne Ingebrigtsen
2008-12-25 18:30 ` bug#1702: " xah lee
2014-11-18 13:22 ` bug#1702: [PATCH]: " Rasmus
2014-11-13 19:58 ` Eli Zaretskii
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
List information: https://www.gnu.org/software/emacs/
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=87sihmjb22.fsf@mattleach.net \
--to=matthew@mattleach.net \
--cc=1702@debbugs.gnu.org \
--cc=cyd@stupidchicken.com \
--cc=eliz@gnu.org \
--cc=xah@xahlee.org \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
Code repositories for project(s) associated with this public inbox
https://git.savannah.gnu.org/cgit/emacs.git
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for read-only IMAP folder(s) and NNTP newsgroup(s).