From unknown Sun Aug 17 22:07:48 2025 X-Loop: help-debbugs@gnu.org Subject: bug#7252: hexl-revert-buffer Resent-From: Daiki Ueno Original-Sender: debbugs-submit-bounces@debbugs.gnu.org Resent-To: owner@debbugs.gnu.org Resent-CC: bug-gnu-emacs@gnu.org Resent-Date: Wed, 20 Oct 2010 06:01:02 +0000 Resent-Message-ID: Resent-Sender: help-debbugs@gnu.org X-GNU-PR-Message: report 7252 X-GNU-PR-Package: emacs X-GNU-PR-Keywords: To: 7252@debbugs.gnu.org X-Debbugs-Original-To: bug-gnu-emacs@gnu.org Received: via spool by submit@debbugs.gnu.org id=B.12875544041025 (code B ref -1); Wed, 20 Oct 2010 06:01:02 +0000 Received: (at submit) by debbugs.gnu.org; 20 Oct 2010 06:00:04 +0000 Received: from localhost ([127.0.0.1] helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.69) (envelope-from ) id 1P8RiW-0000GU-3d for submit@debbugs.gnu.org; Wed, 20 Oct 2010 02:00:04 -0400 Received: from eggs.gnu.org ([140.186.70.92]) by debbugs.gnu.org with esmtp (Exim 4.69) (envelope-from ) id 1P8RiT-0000G4-IA for submit@debbugs.gnu.org; Wed, 20 Oct 2010 02:00:02 -0400 Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1P8Rm8-0004Zm-8v for submit@debbugs.gnu.org; Wed, 20 Oct 2010 02:03:49 -0400 X-Spam-Checker-Version: SpamAssassin 3.3.1 (2010-03-16) on eggs.gnu.org X-Spam-Level: X-Spam-Status: No, score=0.8 required=5.0 tests=BAYES_00,RCVD_IN_PSBL, T_TVD_MIME_NO_HEADERS autolearn=no version=3.3.1 Received: from lists.gnu.org ([199.232.76.165]:48902) by eggs.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1P8Rm8-0004Zi-6R for submit@debbugs.gnu.org; Wed, 20 Oct 2010 02:03:48 -0400 Received: from [140.186.70.92] (port=46744 helo=eggs.gnu.org) by lists.gnu.org with esmtp (Exim 4.43) id 1P8Rm7-0002i5-5O for bug-gnu-emacs@gnu.org; Wed, 20 Oct 2010 02:03:48 -0400 Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1P8Rm5-0004ZY-WD for bug-gnu-emacs@gnu.org; Wed, 20 Oct 2010 02:03:46 -0400 Received: from ivory4.scn-net.ne.jp ([219.117.176.192]:49176) by eggs.gnu.org with smtp (Exim 4.71) (envelope-from ) id 1P8Rm5-0004Z9-GZ for bug-gnu-emacs@gnu.org; Wed, 20 Oct 2010 02:03:45 -0400 Received: from ([192.168.0.187]) (envelope sender: ) by ivory4.scn-net.ne.jp with Active!Hunter esmtp server; Wed, 20 Oct 2010 14:53:40 +0900 Received: Received: from well-done.deisui.org (g187018.scn-net.ne.jp [202.83.187.18]) (authenticated) by blue17.scn-net.ne.jp (unknown) with ESMTP id o9K5reTh027472 for ; Wed, 20 Oct 2010 14:53:40 +0900 Message-ID: From: Daiki Ueno Date: Wed, 20 Oct 2010 14:57:13 +0900 User-Agent: Gnus/5.13 (Gnus v5.13) Emacs/23.2 (gnu/linux) MIME-Version: 1.0 Content-Type: multipart/mixed; boundary="=-=-=" X-detected-operating-system: by eggs.gnu.org: GNU/Linux 2.6, seldom 2.4 (older, 4) X-detected-operating-system: by eggs.gnu.org: GNU/Linux 2.6, seldom 2.4 (older, 4) X-Spam-Score: -4.6 (----) X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.11 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Sender: debbugs-submit-bounces@debbugs.gnu.org Errors-To: debbugs-submit-bounces@debbugs.gnu.org X-Spam-Score: -4.6 (----) --=-=-= If I open a ZIP file with M-x hexl-find-file and then M-x revert-buffer, I see hexified file list generated by arc-mode, instead of raw ZIP data. This behavior is surprising for me and it is cumbersome to do M-x kill-buffer and M-x hexl-find-file each time. How about adding M-x hexl-revert-buffer? --=-=-= Content-Type: text/x-patch Content-Disposition: inline; filename=hexl-revert-buffer.diff === modified file 'lisp/hexl.el' --- lisp/hexl.el 2010-10-10 23:12:30 +0000 +++ lisp/hexl.el 2010-10-20 05:46:47 +0000 @@ -189,6 +189,7 @@ (define-key map "\C-x\C-p" 'undefined) (define-key map "\C-x\C-s" 'hexl-save-buffer) (define-key map "\C-x\C-t" 'undefined) + (define-key map "\C-xg" 'hexl-revert-buffer) map)) ;; Variable declarations for suppressing warnings from the byte-compiler. @@ -464,6 +465,16 @@ (if (not (eq major-mode 'hexl-mode)) (hexl-mode))) +(defun hexl-revert-buffer () + "Revert the buffer previously opened with `hexl-find-file'." + (interactive) + (if (eq major-mode 'hexl-mode) + (let ((coding-system-for-read 'no-conversion)) + (revert-buffer nil nil t) + (setq major-mode 'fundamental-mode) + (hexl-mode)) + (call-interactively #'revert-buffer))) + (defun hexl-mode-exit (&optional arg) "Exit Hexl mode, returning to previous mode. With arg, don't unhexlify buffer." --=-=-= Regards, -- Daiki Ueno --=-=-=-- From unknown Sun Aug 17 22:07:48 2025 X-Loop: help-debbugs@gnu.org Subject: bug#7252: hexl-revert-buffer Resent-From: Stefan Monnier Original-Sender: debbugs-submit-bounces@debbugs.gnu.org Resent-To: owner@debbugs.gnu.org Resent-CC: bug-gnu-emacs@gnu.org Resent-Date: Wed, 20 Oct 2010 16:16:01 +0000 Resent-Message-ID: Resent-Sender: help-debbugs@gnu.org X-GNU-PR-Message: followup 7252 X-GNU-PR-Package: emacs X-GNU-PR-Keywords: To: Daiki Ueno Cc: 7252@debbugs.gnu.org Received: via spool by 7252-submit@debbugs.gnu.org id=B7252.128759130720510 (code B ref 7252); Wed, 20 Oct 2010 16:16:01 +0000 Received: (at 7252) by debbugs.gnu.org; 20 Oct 2010 16:15:07 +0000 Received: from localhost ([127.0.0.1] helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.69) (envelope-from ) id 1P8bJj-0005Kl-0d for submit@debbugs.gnu.org; Wed, 20 Oct 2010 12:15:07 -0400 Received: from ironport2-out.teksavvy.com ([206.248.154.183] helo=ironport2-out.pppoe.ca) by debbugs.gnu.org with esmtp (Exim 4.69) (envelope-from ) id 1P8bJh-0005KB-GU for 7252@debbugs.gnu.org; Wed, 20 Oct 2010 12:15:05 -0400 X-IronPort-Anti-Spam-Filtered: true X-IronPort-Anti-Spam-Result: An8KANqyvkxMCpO7/2dsb2JhbACgUnpyv0uFSgSSGw X-IronPort-AV: E=Sophos;i="4.57,356,1283745600"; d="scan'208";a="80226128" Received: from 76-10-147-187.dsl.teksavvy.com (HELO ceviche.home) ([76.10.147.187]) by ironport2-out.pppoe.ca with ESMTP/TLS/ADH-AES256-SHA; 20 Oct 2010 12:18:53 -0400 Received: by ceviche.home (Postfix, from userid 20848) id A038866112; Wed, 20 Oct 2010 12:18:53 -0400 (EDT) From: Stefan Monnier Message-ID: References: Date: Wed, 20 Oct 2010 12:18:53 -0400 In-Reply-To: (Daiki Ueno's message of "Wed, 20 Oct 2010 14:57:13 +0900") User-Agent: Gnus/5.13 (Gnus v5.13) Emacs/24.0.50 (gnu/linux) MIME-Version: 1.0 Content-Type: text/plain X-Spam-Score: -2.1 (--) X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.11 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Sender: debbugs-submit-bounces@debbugs.gnu.org Errors-To: debbugs-submit-bounces@debbugs.gnu.org X-Spam-Score: -2.1 (--) > If I open a ZIP file with M-x hexl-find-file and then M-x revert-buffer, > I see hexified file list generated by arc-mode, instead of raw ZIP data. > This behavior is surprising for me and it is cumbersome to do M-x > kill-buffer and M-x hexl-find-file each time. > How about adding M-x hexl-revert-buffer? No, we should tweak revert-buffer-function instead. > + (if (eq major-mode 'hexl-mode) Use derived-mode-p rather than looking at major-mode. > + (let ((coding-system-for-read 'no-conversion)) > + (revert-buffer nil nil t) > + (setq major-mode 'fundamental-mode) Why is this setq needed (IOW please add a comment explaining why it's needed). Stefan From unknown Sun Aug 17 22:07:48 2025 X-Loop: help-debbugs@gnu.org Subject: bug#7252: hexl-revert-buffer Resent-From: Daiki Ueno Original-Sender: debbugs-submit-bounces@debbugs.gnu.org Resent-To: owner@debbugs.gnu.org Resent-CC: bug-gnu-emacs@gnu.org Resent-Date: Thu, 21 Oct 2010 01:53:03 +0000 Resent-Message-ID: Resent-Sender: help-debbugs@gnu.org X-GNU-PR-Message: followup 7252 X-GNU-PR-Package: emacs X-GNU-PR-Keywords: To: Stefan Monnier Cc: 7252@debbugs.gnu.org Received: via spool by 7252-submit@debbugs.gnu.org id=B7252.12876259822921 (code B ref 7252); Thu, 21 Oct 2010 01:53:03 +0000 Received: (at 7252) by debbugs.gnu.org; 21 Oct 2010 01:53:02 +0000 Received: from localhost ([127.0.0.1] helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.69) (envelope-from ) id 1P8kL0-0000l3-Bf for submit@debbugs.gnu.org; Wed, 20 Oct 2010 21:53:02 -0400 Received: from ivory4.scn-net.ne.jp ([219.117.176.192]) by debbugs.gnu.org with smtp (Exim 4.69) (envelope-from ) id 1P8kKx-0000kw-B8 for 7252@debbugs.gnu.org; Wed, 20 Oct 2010 21:53:00 -0400 Received: from ([192.168.0.187]) (envelope sender: ) by ivory4.scn-net.ne.jp with Active!Hunter esmtp server; Thu, 21 Oct 2010 10:56:46 +0900 Received: Received: from well-done.deisui.org (g187018.scn-net.ne.jp [202.83.187.18]) (authenticated) by blue17.scn-net.ne.jp (unknown) with ESMTP id o9L1ujMQ012546; Thu, 21 Oct 2010 10:56:45 +0900 Message-ID: From: Daiki Ueno References: Date: Thu, 21 Oct 2010 11:00:23 +0900 In-Reply-To: (Stefan Monnier's message of "Wed, 20 Oct 2010 12:18:53 -0400") User-Agent: Gnus/5.13 (Gnus v5.13) Emacs/23.2 (gnu/linux) MIME-Version: 1.0 Content-Type: multipart/mixed; boundary="=-=-=" X-Spam-Score: -2.7 (--) X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.11 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Sender: debbugs-submit-bounces@debbugs.gnu.org Errors-To: debbugs-submit-bounces@debbugs.gnu.org X-Spam-Score: -2.7 (--) --=-=-= Stefan Monnier writes: >> If I open a ZIP file with M-x hexl-find-file and then M-x revert-buffer, >> I see hexified file list generated by arc-mode, instead of raw ZIP data. > >> This behavior is surprising for me and it is cumbersome to do M-x >> kill-buffer and M-x hexl-find-file each time. > >> How about adding M-x hexl-revert-buffer? > > No, we should tweak revert-buffer-function instead. Ok, how about this? --=-=-= Content-Type: text/x-patch Content-Disposition: inline; filename=hexl-revert-buffer.diff === modified file 'lisp/hexl.el' --- lisp/hexl.el 2010-10-10 23:12:30 +0000 +++ lisp/hexl.el 2010-10-21 01:51:54 +0000 @@ -212,6 +212,7 @@ (defvar hexl-mode-old-syntax-table) (defvar hexl-mode-old-font-lock-keywords) (defvar hexl-mode-old-eldoc-documentation-function) +(defvar hexl-mode-old-revert-buffer-function) (defvar hexl-ascii-overlay nil "Overlay used to highlight ASCII element corresponding to current point.") @@ -373,10 +374,9 @@ (setq hexl-mode-old-font-lock-keywords font-lock-defaults) (setq font-lock-defaults '(hexl-font-lock-keywords t)) - ;; Add hooks to rehexlify or dehexlify on various events. - (add-hook 'before-revert-hook 'hexl-before-revert-hook nil t) - (add-hook 'after-revert-hook 'hexl-after-revert-hook nil t) - + (make-local-variable 'hexl-mode-old-revert-buffer-function) + (setq hexl-mode-old-revert-buffer-function revert-buffer-function) + (setq revert-buffer-function 'hexl-revert-buffer-function) (add-hook 'change-major-mode-hook 'hexl-maybe-dehexlify-buffer nil t) ;; Set a callback function for eldoc. @@ -413,12 +413,6 @@ (let ((isearch-search-fun-function nil)) (isearch-search-fun)))) -(defun hexl-before-revert-hook () - (remove-hook 'change-major-mode-hook 'hexl-maybe-dehexlify-buffer t)) - -(defun hexl-after-revert-hook () - (hexl-mode)) - (defvar hexl-in-save-buffer nil) (defun hexl-save-buffer () @@ -464,6 +458,23 @@ (if (not (eq major-mode 'hexl-mode)) (hexl-mode))) +(defun hexl-revert-buffer-function (ignore-auto noconfirm) + (let ((coding-system-for-read 'no-conversion) + revert-buffer-function) + ;; Call the original `revert-buffer' without code conversion; also + ;; prevent it changes the major mode to normal-mode, which calls + ;; `set-auto-mode'. + (revert-buffer nil nil t) + ;; A couple of hacks are necessary here: + ;; 1. change the major-mode to one other than hexl-mode since the + ;; function `hexl-mode' does nothing if the current major-mode is + ;; already hexl-mode. + ;; 2. reset change-major-mode-hook in case that `hexl-mode' + ;; previously add `hexl-maybe-dehexlify-buffer' to it. + (remove-hook 'change-major-mode-hook 'hexl-maybe-dehexlify-buffer t) + (setq major-mode 'fundamental-mode) + (hexl-mode))) + (defun hexl-mode-exit (&optional arg) "Exit Hexl mode, returning to previous mode. With arg, don't unhexlify buffer." @@ -483,8 +494,6 @@ (or (bobp) (setq original-point (1+ original-point)))) (goto-char original-point))) - (remove-hook 'before-revert-hook 'hexl-before-revert-hook t) - (remove-hook 'after-revert-hook 'hexl-after-revert-hook t) (remove-hook 'change-major-mode-hook 'hexl-maybe-dehexlify-buffer t) (remove-hook 'post-command-hook 'hexl-follow-ascii-find t) (setq hexl-ascii-overlay nil) @@ -512,6 +521,7 @@ (set-syntax-table hexl-mode-old-syntax-table) (setq font-lock-defaults hexl-mode-old-font-lock-keywords) (setq major-mode hexl-mode-old-major-mode) + (setq revert-buffer-function hexl-mode-old-revert-buffer-function) (force-mode-line-update)) (defun hexl-maybe-dehexlify-buffer () --=-=-= Regards, -- Daiki Ueno --=-=-=-- From unknown Sun Aug 17 22:07:48 2025 X-Loop: help-debbugs@gnu.org Subject: bug#7252: hexl-revert-buffer Resent-From: Stefan Monnier Original-Sender: debbugs-submit-bounces@debbugs.gnu.org Resent-To: owner@debbugs.gnu.org Resent-CC: bug-gnu-emacs@gnu.org Resent-Date: Thu, 21 Oct 2010 02:17:02 +0000 Resent-Message-ID: Resent-Sender: help-debbugs@gnu.org X-GNU-PR-Message: followup 7252 X-GNU-PR-Package: emacs X-GNU-PR-Keywords: To: Daiki Ueno Cc: 7252@debbugs.gnu.org Received: via spool by 7252-submit@debbugs.gnu.org id=B7252.12876273753571 (code B ref 7252); Thu, 21 Oct 2010 02:17:02 +0000 Received: (at 7252) by debbugs.gnu.org; 21 Oct 2010 02:16:15 +0000 Received: from localhost ([127.0.0.1] helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.69) (envelope-from ) id 1P8khT-0000vY-1d for submit@debbugs.gnu.org; Wed, 20 Oct 2010 22:16:15 -0400 Received: from ironport2-out.teksavvy.com ([206.248.154.183] helo=ironport2-out.pppoe.ca) by debbugs.gnu.org with esmtp (Exim 4.69) (envelope-from ) id 1P8khR-0000vT-AA for 7252@debbugs.gnu.org; Wed, 20 Oct 2010 22:16:13 -0400 X-IronPort-Anti-Spam-Filtered: true X-IronPort-Anti-Spam-Result: AukJALNAv0xMCpO7/2dsb2JhbACgWnpyv0eFSgSSGw X-IronPort-AV: E=Sophos;i="4.58,214,1286164800"; d="scan'208";a="80277949" Received: from 76-10-147-187.dsl.teksavvy.com (HELO ceviche.home) ([76.10.147.187]) by ironport2-out.pppoe.ca with ESMTP/TLS/ADH-AES256-SHA; 20 Oct 2010 22:20:02 -0400 Received: by ceviche.home (Postfix, from userid 20848) id 0D8DD66112; Wed, 20 Oct 2010 22:20:02 -0400 (EDT) From: Stefan Monnier Message-ID: References: Date: Wed, 20 Oct 2010 22:20:02 -0400 In-Reply-To: (Daiki Ueno's message of "Thu, 21 Oct 2010 11:00:23 +0900") User-Agent: Gnus/5.13 (Gnus v5.13) Emacs/24.0.50 (gnu/linux) MIME-Version: 1.0 Content-Type: text/plain X-Spam-Score: -2.1 (--) X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.11 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Sender: debbugs-submit-bounces@debbugs.gnu.org Errors-To: debbugs-submit-bounces@debbugs.gnu.org X-Spam-Score: -2.1 (--) >> No, we should tweak revert-buffer-function instead. > Ok, how about this? Looks good (even better than I thought since I hadn't noticed the *-revert-hooks). Assuming you've tested it, please install it. Stefan From unknown Sun Aug 17 22:07:48 2025 MIME-Version: 1.0 X-Mailer: MIME-tools 5.427 (Entity 5.427) X-Loop: help-debbugs@gnu.org From: help-debbugs@gnu.org (GNU bug Tracking System) To: Daiki Ueno Subject: bug#7252: closed (Re: bug#7252: hexl-revert-buffer) Message-ID: References: X-Gnu-PR-Message: they-closed 7252 X-Gnu-PR-Package: emacs Reply-To: 7252@debbugs.gnu.org Date: Thu, 21 Oct 2010 02:35:02 +0000 Content-Type: multipart/mixed; boundary="----------=_1287628502-4084-1" This is a multi-part message in MIME format... ------------=_1287628502-4084-1 Content-Disposition: inline Content-Transfer-Encoding: quoted-printable Content-Type: text/plain; charset="utf-8" Your bug report #7252: hexl-revert-buffer which was filed against the emacs package, has been closed. The explanation is attached below, along with your original report. If you require more details, please reply to 7252@debbugs.gnu.org. --=20 7252: http://debbugs.gnu.org/cgi/bugreport.cgi?bug=3D7252 GNU Bug Tracking System Contact help-debbugs@gnu.org with problems ------------=_1287628502-4084-1 Content-Type: message/rfc822 Content-Disposition: inline Content-Transfer-Encoding: 7bit Received: (at 7252-done) by debbugs.gnu.org; 21 Oct 2010 02:34:51 +0000 Received: from localhost ([127.0.0.1] helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.69) (envelope-from ) id 1P8kzS-00013g-Rk for submit@debbugs.gnu.org; Wed, 20 Oct 2010 22:34:51 -0400 Received: from ivory4.scn-net.ne.jp ([219.117.176.192]) by debbugs.gnu.org with smtp (Exim 4.69) (envelope-from ) id 1P8kzQ-00013Y-CC for 7252-done@debbugs.gnu.org; Wed, 20 Oct 2010 22:34:49 -0400 Received: from ([192.168.0.187]) (envelope sender: ) by ivory4.scn-net.ne.jp with Active!Hunter esmtp server; Thu, 21 Oct 2010 11:38:36 +0900 Received: Received: from well-done.deisui.org (g187018.scn-net.ne.jp [202.83.187.18]) (authenticated) by blue17.scn-net.ne.jp (unknown) with ESMTP id o9L2cZMh023583 for <7252-done@debbugs.gnu.org>; Thu, 21 Oct 2010 11:38:35 +0900 Message-ID: From: Daiki Ueno To: 7252-done@debbugs.gnu.org Subject: Re: bug#7252: hexl-revert-buffer References: Date: Thu, 21 Oct 2010 11:42:14 +0900 In-Reply-To: (Stefan Monnier's message of "Wed, 20 Oct 2010 22:20:02 -0400") User-Agent: Gnus/5.13 (Gnus v5.13) Emacs/23.2 (gnu/linux) MIME-Version: 1.0 Content-Type: text/plain; charset=us-ascii X-Spam-Score: -2.7 (--) X-Debbugs-Envelope-To: 7252-done X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.11 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Sender: debbugs-submit-bounces@debbugs.gnu.org Errors-To: debbugs-submit-bounces@debbugs.gnu.org X-Spam-Score: -2.7 (--) Done as r102027. Regards, -- Daiki Ueno ------------=_1287628502-4084-1 Content-Type: message/rfc822 Content-Disposition: inline Content-Transfer-Encoding: 7bit Received: (at submit) by debbugs.gnu.org; 20 Oct 2010 06:00:04 +0000 Received: from localhost ([127.0.0.1] helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.69) (envelope-from ) id 1P8RiW-0000GU-3d for submit@debbugs.gnu.org; Wed, 20 Oct 2010 02:00:04 -0400 Received: from eggs.gnu.org ([140.186.70.92]) by debbugs.gnu.org with esmtp (Exim 4.69) (envelope-from ) id 1P8RiT-0000G4-IA for submit@debbugs.gnu.org; Wed, 20 Oct 2010 02:00:02 -0400 Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1P8Rm8-0004Zm-8v for submit@debbugs.gnu.org; Wed, 20 Oct 2010 02:03:49 -0400 X-Spam-Checker-Version: SpamAssassin 3.3.1 (2010-03-16) on eggs.gnu.org X-Spam-Level: X-Spam-Status: No, score=0.8 required=5.0 tests=BAYES_00,RCVD_IN_PSBL, T_TVD_MIME_NO_HEADERS autolearn=no version=3.3.1 Received: from lists.gnu.org ([199.232.76.165]:48902) by eggs.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1P8Rm8-0004Zi-6R for submit@debbugs.gnu.org; Wed, 20 Oct 2010 02:03:48 -0400 Received: from [140.186.70.92] (port=46744 helo=eggs.gnu.org) by lists.gnu.org with esmtp (Exim 4.43) id 1P8Rm7-0002i5-5O for bug-gnu-emacs@gnu.org; Wed, 20 Oct 2010 02:03:48 -0400 Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1P8Rm5-0004ZY-WD for bug-gnu-emacs@gnu.org; Wed, 20 Oct 2010 02:03:46 -0400 Received: from ivory4.scn-net.ne.jp ([219.117.176.192]:49176) by eggs.gnu.org with smtp (Exim 4.71) (envelope-from ) id 1P8Rm5-0004Z9-GZ for bug-gnu-emacs@gnu.org; Wed, 20 Oct 2010 02:03:45 -0400 Received: from ([192.168.0.187]) (envelope sender: ) by ivory4.scn-net.ne.jp with Active!Hunter esmtp server; Wed, 20 Oct 2010 14:53:40 +0900 Received: Received: from well-done.deisui.org (g187018.scn-net.ne.jp [202.83.187.18]) (authenticated) by blue17.scn-net.ne.jp (unknown) with ESMTP id o9K5reTh027472 for ; Wed, 20 Oct 2010 14:53:40 +0900 Message-ID: From: Daiki Ueno To: bug-gnu-emacs@gnu.org Subject: hexl-revert-buffer Date: Wed, 20 Oct 2010 14:57:13 +0900 User-Agent: Gnus/5.13 (Gnus v5.13) Emacs/23.2 (gnu/linux) MIME-Version: 1.0 Content-Type: multipart/mixed; boundary="=-=-=" X-detected-operating-system: by eggs.gnu.org: GNU/Linux 2.6, seldom 2.4 (older, 4) X-detected-operating-system: by eggs.gnu.org: GNU/Linux 2.6, seldom 2.4 (older, 4) X-Spam-Score: -4.6 (----) X-Debbugs-Envelope-To: submit X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.11 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Sender: debbugs-submit-bounces@debbugs.gnu.org Errors-To: debbugs-submit-bounces@debbugs.gnu.org X-Spam-Score: -4.6 (----) --=-=-= If I open a ZIP file with M-x hexl-find-file and then M-x revert-buffer, I see hexified file list generated by arc-mode, instead of raw ZIP data. This behavior is surprising for me and it is cumbersome to do M-x kill-buffer and M-x hexl-find-file each time. How about adding M-x hexl-revert-buffer? --=-=-= Content-Type: text/x-patch Content-Disposition: inline; filename=hexl-revert-buffer.diff === modified file 'lisp/hexl.el' --- lisp/hexl.el 2010-10-10 23:12:30 +0000 +++ lisp/hexl.el 2010-10-20 05:46:47 +0000 @@ -189,6 +189,7 @@ (define-key map "\C-x\C-p" 'undefined) (define-key map "\C-x\C-s" 'hexl-save-buffer) (define-key map "\C-x\C-t" 'undefined) + (define-key map "\C-xg" 'hexl-revert-buffer) map)) ;; Variable declarations for suppressing warnings from the byte-compiler. @@ -464,6 +465,16 @@ (if (not (eq major-mode 'hexl-mode)) (hexl-mode))) +(defun hexl-revert-buffer () + "Revert the buffer previously opened with `hexl-find-file'." + (interactive) + (if (eq major-mode 'hexl-mode) + (let ((coding-system-for-read 'no-conversion)) + (revert-buffer nil nil t) + (setq major-mode 'fundamental-mode) + (hexl-mode)) + (call-interactively #'revert-buffer))) + (defun hexl-mode-exit (&optional arg) "Exit Hexl mode, returning to previous mode. With arg, don't unhexlify buffer." --=-=-= Regards, -- Daiki Ueno --=-=-=-- ------------=_1287628502-4084-1-- From unknown Sun Aug 17 22:07:48 2025 X-Loop: help-debbugs@gnu.org Subject: bug#7252: hexl-revert-buffer Resent-From: Stefan Monnier Original-Sender: debbugs-submit-bounces@debbugs.gnu.org Resent-To: owner@debbugs.gnu.org Resent-CC: bug-gnu-emacs@gnu.org Resent-Date: Thu, 21 Oct 2010 17:50:03 +0000 Resent-Message-ID: Resent-Sender: help-debbugs@gnu.org X-GNU-PR-Message: followup 7252 X-GNU-PR-Package: emacs X-GNU-PR-Keywords: To: 7252@debbugs.gnu.org Cc: ueno@unixuser.org Received: via spool by 7252-submit@debbugs.gnu.org id=B7252.12876833655326 (code B ref 7252); Thu, 21 Oct 2010 17:50:03 +0000 Received: (at 7252) by debbugs.gnu.org; 21 Oct 2010 17:49:25 +0000 Received: from localhost ([127.0.0.1] helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.69) (envelope-from ) id 1P8zGX-0001Nr-7P for submit@debbugs.gnu.org; Thu, 21 Oct 2010 13:49:25 -0400 Received: from pruche.dit.umontreal.ca ([132.204.246.22]) by debbugs.gnu.org with esmtp (Exim 4.69) (envelope-from ) id 1P8zGV-0001Nm-71 for 7252@debbugs.gnu.org; Thu, 21 Oct 2010 13:49:23 -0400 Received: from faina.iro.umontreal.ca (lechon.iro.umontreal.ca [132.204.27.242]) by pruche.dit.umontreal.ca (8.14.1/8.14.1) with ESMTP id o9LHr9Tf027841; Thu, 21 Oct 2010 13:53:09 -0400 Received: by faina.iro.umontreal.ca (Postfix, from userid 20848) id C4C85B45E5; Thu, 21 Oct 2010 13:53:08 -0400 (EDT) From: Stefan Monnier Message-ID: References: Date: Thu, 21 Oct 2010 13:53:08 -0400 In-Reply-To: (Daiki Ueno's message of "Thu, 21 Oct 2010 11:42:14 +0900") User-Agent: Gnus/5.13 (Gnus v5.13) Emacs/24.0.50 (gnu/linux) MIME-Version: 1.0 Content-Type: text/plain X-NAI-Spam-Score: 0 X-NAI-Spam-Rules: 1 Rules triggered RV3655=0 X-Spam-Score: -1.9 (-) X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.11 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Sender: debbugs-submit-bounces@debbugs.gnu.org Errors-To: debbugs-submit-bounces@debbugs.gnu.org X-Spam-Score: -1.9 (-) > Done as r102027. Thank you. Actually, I see now that, while your patch is going in the right direction, the problem is deeper. E.g. M-x find-file-literally RET foo.tar.gz RET does the right thing but M-x revert-buffer RET in it ignores the "literally" part and gives you a tar-mode view of the file. I.e. revert-buffer should probably pay attention to the `find-file-literally' variable, and hexl-mode should then make use of it as well. Stefan From unknown Sun Aug 17 22:07:48 2025 X-Loop: help-debbugs@gnu.org Subject: bug#7252: hexl-revert-buffer Resent-From: Daiki Ueno Original-Sender: debbugs-submit-bounces@debbugs.gnu.org Resent-To: owner@debbugs.gnu.org Resent-CC: bug-gnu-emacs@gnu.org Resent-Date: Fri, 22 Oct 2010 01:08:02 +0000 Resent-Message-ID: Resent-Sender: help-debbugs@gnu.org X-GNU-PR-Message: followup 7252 X-GNU-PR-Package: emacs X-GNU-PR-Keywords: To: Stefan Monnier Cc: 7252@debbugs.gnu.org Received: via spool by 7252-submit@debbugs.gnu.org id=B7252.128770967020904 (code B ref 7252); Fri, 22 Oct 2010 01:08:02 +0000 Received: (at 7252) by debbugs.gnu.org; 22 Oct 2010 01:07:50 +0000 Received: from localhost ([127.0.0.1] helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.69) (envelope-from ) id 1P966o-0005R7-5S for submit@debbugs.gnu.org; Thu, 21 Oct 2010 21:07:50 -0400 Received: from ivory4.scn-net.ne.jp ([219.117.176.192]) by debbugs.gnu.org with smtp (Exim 4.69) (envelope-from ) id 1P966m-0005R2-4p for 7252@debbugs.gnu.org; Thu, 21 Oct 2010 21:07:49 -0400 Received: from ([192.168.0.187]) (envelope sender: ) by ivory4.scn-net.ne.jp with Active!Hunter esmtp server; Fri, 22 Oct 2010 10:11:37 +0900 Received: Received: from well-done.deisui.org (g187018.scn-net.ne.jp [202.83.187.18]) (authenticated) by blue17.scn-net.ne.jp (unknown) with ESMTP id o9M1BX8H012128; Fri, 22 Oct 2010 10:11:35 +0900 Message-ID: From: Daiki Ueno References: Date: Fri, 22 Oct 2010 10:15:16 +0900 In-Reply-To: (Stefan Monnier's message of "Thu, 21 Oct 2010 13:53:08 -0400") User-Agent: Gnus/5.13 (Gnus v5.13) Emacs/23.2 (gnu/linux) MIME-Version: 1.0 Content-Type: text/plain; charset=us-ascii X-Spam-Score: -2.7 (--) X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.11 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Sender: debbugs-submit-bounces@debbugs.gnu.org Errors-To: debbugs-submit-bounces@debbugs.gnu.org X-Spam-Score: -2.7 (--) Stefan Monnier writes: > Actually, I see now that, while your patch is going in the right > direction, the problem is deeper. E.g. M-x find-file-literally RET > foo.tar.gz RET does the right thing but M-x revert-buffer RET in it > ignores the "literally" part and gives you a tar-mode view of the file. Right, but my personal feeling is that typical users would not expect such a "literally"-ness of revert-buffer when the file is opened with M-x find-file-literally, unlike with M-x hexl-find-file. With M-x find-file-literally user's intension would be to quick look at the raw content. In that case he might do M-x revert-buffer to "go back to the normal view of that file" and expect auto-mode conversion. However, with M-x hexl-find-file user's intension would be to analyze the file format or edit the raw content. In that case auto-mode conversion is definitely unwanted. Perhaps it might be better to bring this up in emacs-devel. Regards, -- Daiki Ueno