From debbugs-submit-bounces@debbugs.gnu.org Tue Oct 29 09:53:51 2013 Received: (at submit) by debbugs.gnu.org; 29 Oct 2013 13:53:51 +0000 Received: from localhost ([127.0.0.1]:50911 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.80) (envelope-from ) id 1Vb9jy-0000Yb-Ee for submit@debbugs.gnu.org; Tue, 29 Oct 2013 09:53:51 -0400 Received: from eggs.gnu.org ([208.118.235.92]:33033) by debbugs.gnu.org with esmtp (Exim 4.80) (envelope-from ) id 1Vb9jq-0000YF-9a for submit@debbugs.gnu.org; Tue, 29 Oct 2013 09:53:44 -0400 Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1Vb9jg-00054G-S0 for submit@debbugs.gnu.org; Tue, 29 Oct 2013 09:53:36 -0400 X-Spam-Checker-Version: SpamAssassin 3.3.2 (2011-06-06) on eggs.gnu.org X-Spam-Level: X-Spam-Status: No, score=0.8 required=5.0 tests=BAYES_50,T_DKIM_INVALID autolearn=disabled version=3.3.2 Received: from lists.gnu.org ([2001:4830:134:3::11]:46773) by eggs.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1Vb9jg-00054B-Ok for submit@debbugs.gnu.org; Tue, 29 Oct 2013 09:53:32 -0400 Received: from eggs.gnu.org ([2001:4830:134:3::10]:34726) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1Vb9jb-0005MC-CH for bug-gnu-emacs@gnu.org; Tue, 29 Oct 2013 09:53:32 -0400 Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1Vb9jV-00052t-US for bug-gnu-emacs@gnu.org; Tue, 29 Oct 2013 09:53:27 -0400 Received: from oproxy12-pub.mail.unifiedlayer.com ([50.87.16.10]:55030) by eggs.gnu.org with smtp (Exim 4.71) (envelope-from ) id 1Vb9jV-00052d-Ic for bug-gnu-emacs@gnu.org; Tue, 29 Oct 2013 09:53:21 -0400 Received: (qmail 21746 invoked by uid 0); 29 Oct 2013 13:52:57 -0000 Received: from unknown (HELO host393.hostmonster.com) (66.147.240.193) by oproxy12.mail.unifiedlayer.com with SMTP; 29 Oct 2013 13:52:57 -0000 DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed; d=nbtrap.com; s=default; h=Content-Type:MIME-Version:Message-ID:Date:Subject:To:From; bh=LtHSirtdxNubgg3R/UxvDotCZGpfz3OhLgBl7s4qZJI=; b=bGqjIM///TilK0+4yQ+hisP8wmhOYfunHYcdDlB+Y94T1zPb8iL30u4DbL5cDyrlKYqajCeI1T7LUIMVs75zs63m5pz2YRqBx/gVX0STjv+FafWBfm1swIffuRQBOtV2; Received: from [50.90.253.209] (port=54653 helo=Nathan-GNU) by host393.hostmonster.com with esmtpsa (TLSv1:CAMELLIA128-SHA:128) (Exim 4.80) (envelope-from ) id 1Vb9j7-0003rl-8z for bug-gnu-emacs@gnu.org; Tue, 29 Oct 2013 07:52:57 -0600 From: Nathan Trapuzzano To: bug-gnu-emacs@gnu.org Subject: Patch to optionally display raw bytes in hexadecimal Date: Tue, 29 Oct 2013 09:52:55 -0400 Message-ID: <87hac0uqtk.fsf@nbtrap.com> User-Agent: Gnus/5.130007 (Ma Gnus v0.7) Emacs/24.3 (gnu/linux) MIME-Version: 1.0 Content-Type: multipart/mixed; boundary="=-=-=" X-Identified-User: {1585:host393.hostmonster.com:nbtrapco:nbtrap.com} {sentby:smtp auth 50.90.253.209 authed with nbtrap@nbtrap.com} X-detected-operating-system: by eggs.gnu.org: GNU/Linux 2.6.x X-detected-operating-system: by eggs.gnu.org: Error: Malformed IPv6 address (bad octet value). X-Received-From: 2001:4830:134:3::11 X-Spam-Score: -4.3 (----) X-Debbugs-Envelope-To: submit X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.15 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: debbugs-submit-bounces@debbugs.gnu.org Sender: "Debbugs-submit" X-Spam-Score: -4.3 (----) --=-=-= Content-Type: text/plain I never understood why raw bytes in emacs are displayed as octal escapes rather than hexadecimal. The latter is much more intuitive to my mind. The attached patch adds the option to display these bytes in hex rather than octal. If it's not accepted, please advise what changes I can make to give it a better chance. Nathan --=-=-= Content-Type: text/x-diff Content-Disposition: inline; filename=hex.patch >From 3938a8a7225e5644cadb14d39d24fc18a33cfd3e Mon Sep 17 00:00:00 2001 From: Nathan Trapuzzano Date: Thu, 25 Jul 2013 15:47:23 -0400 Subject: [PATCH] Define and implement `display-raw-bytes-as-hex' variable. This allows raw bytes to be displayed with hexadecimal escape sequences rather than octal. --- doc/emacs/ChangeLog | 4 ++++ doc/emacs/display.texi | 4 ++++ doc/lispref/ChangeLog | 4 ++++ doc/lispref/display.texi | 30 ++++++++++++++++++++---------- lisp/ChangeLog | 4 ++++ lisp/cus-start.el | 1 + src/ChangeLog | 5 +++++ src/xdisp.c | 8 +++++++- 8 files changed, 49 insertions(+), 11 deletions(-) diff --git a/doc/emacs/ChangeLog b/doc/emacs/ChangeLog index eafe608..595eef3 100644 --- a/doc/emacs/ChangeLog +++ b/doc/emacs/ChangeLog @@ -1,3 +1,7 @@ +2013-10-29 Nathan Trapuzzano + + * display.texi (Text Display): Document `display-raw-bytes-as-hex'. + 2013-10-23 Glenn Morris * files.texi, glossary.texi, killing.texi, search.texi, sending.texi: diff --git a/doc/emacs/display.texi b/doc/emacs/display.texi index 80dffe2..0ffa79d 100644 --- a/doc/emacs/display.texi +++ b/doc/emacs/display.texi @@ -1400,6 +1400,7 @@ character, @code{U+0001}, is displayed as @samp{^A}. @cindex octal escapes @vindex ctl-arrow +@vindex display-raw-bytes-as-hex The raw bytes with codes @code{U+0080} (octal 200) through @code{U+009F} (octal 237) are displayed as @dfn{octal escape sequences}, with the @code{escape-glyph} face. For instance, @@ -1407,6 +1408,9 @@ character code @code{U+0098} (octal 230) is displayed as @samp{\230}. If you change the buffer-local variable @code{ctl-arrow} to @code{nil}, the @acronym{ASCII} control characters are also displayed as octal escape sequences instead of caret escape sequences. +Moreover, setting @code{display-raw-bytes-as-hex} to non-@code{nil} +causes Emacs to display hexadecimal, rather than octal, escape +sequences. @vindex nobreak-char-display @cindex non-breaking space diff --git a/doc/lispref/ChangeLog b/doc/lispref/ChangeLog index 6416991..e51c3f9 100644 --- a/doc/lispref/ChangeLog +++ b/doc/lispref/ChangeLog @@ -1,3 +1,7 @@ +2013-10-29 Nathan Trapuzzano + + * display.texi (Usual Display): Document `display-raw-bytes-as-hex'. + 2013-10-29 Xue Fuqiao * display.texi (Showing Images): Add an index for image-size. diff --git a/doc/lispref/display.texi b/doc/lispref/display.texi index 1194e26..77e3c43 100644 --- a/doc/lispref/display.texi +++ b/doc/lispref/display.texi @@ -5906,11 +5906,13 @@ conversion (@pxref{Coding System Basics}). @cindex octal escapes @item @dfn{Raw bytes} are non-@acronym{ASCII} characters with codes 128 -through 255 (@pxref{Text Representations}). These characters display -as @dfn{octal escapes}: sequences of four glyphs, where the first -glyph is the @acronym{ASCII} code for @samp{\}, and the others are -digit characters representing the character code in octal. (A display -table can specify a glyph to use instead of @samp{\}.) +through 255 (@pxref{Text Representations}). By default, these +characters display as @dfn{octal escapes}: sequences of four glyphs, +where the first glyph is the @acronym{ASCII} code for @samp{\}, and +the others are digit characters representing the character code in +octal. (A display table can specify a glyph to use instead of +@samp{\}.) To display these bytes as hexadecimal escape sequences +rather than octal, set @code{display-raw-bytes-as-hex} to @code{t}. @item Each non-@acronym{ASCII} character with code above 255 is displayed @@ -5928,11 +5930,11 @@ table, for any character whose entry in the active display table is specify the characters for which you want special behavior. The following variables affect how certain characters are displayed -on the screen. Since they change the number of columns the characters -occupy, they also affect the indentation functions. They also affect -how the mode line is displayed; if you want to force redisplay of the -mode line using the new values, call the function -@code{force-mode-line-update} (@pxref{Mode Line Format}). +on the screen. Some of these change the number of columns the +characters occupy, which affects the indentation functions. These +also affect the display of characters in the mode line; if you want to +force redisplay of the mode line using the new values, call the +function @code{force-mode-line-update} (@pxref{Mode Line Format}). @defopt ctl-arrow @cindex control characters in display @@ -5951,6 +5953,14 @@ is completely independent of the user-settable tab stops used by the command @code{tab-to-tab-stop}. @xref{Indent Tabs}. @end defopt +@defopt display-raw-bytes-as-hex +Setting this variable to any value other than @code{nil} will cause +raw bytes to be displayed as hexadecimal escape sequences rather than +octal. The two-digit sequences will be prepended with @samp{x}, which +will in turn be prepended with @samp{\}, or whatever glyph the current +display table specifies for this purpose. +@end defopt + @node Display Tables @subsection Display Tables diff --git a/lisp/ChangeLog b/lisp/ChangeLog index 9519a07..fb82d84 100644 --- a/lisp/ChangeLog +++ b/lisp/ChangeLog @@ -1,3 +1,7 @@ +2013-10-29 Nathan Trapuzzano + + * cus-start.el: Add `display-raw-bytes-as-hex' to `display' group. + 2013-10-29 Daniel Colascione * net/tramp.el (tramp-methods): Document new functionality. diff --git a/lisp/cus-start.el b/lisp/cus-start.el index 24f8ac3..f15a744 100644 --- a/lisp/cus-start.el +++ b/lisp/cus-start.el @@ -71,6 +71,7 @@ (left-margin fill integer) (tab-width editing-basics integer) (ctl-arrow display boolean) + (display-raw-bytes-as-hex display boolean) (truncate-lines display boolean) (word-wrap display boolean) (selective-display-ellipses display boolean) diff --git a/src/ChangeLog b/src/ChangeLog index c9792e6..a4a4089 100644 --- a/src/ChangeLog +++ b/src/ChangeLog @@ -1,3 +1,8 @@ +2013-10-29 Nathan Trapuzzano + + * xdisp.c (Vdisplay_raw_bytes_as_hex, get_next_display_element): + Define and implement `display-raw-bytes-as-hex'. + 2013-10-29 Dmitry Antipov * xterm.h (struct x_output): For 'black_relief' and 'white_relief' diff --git a/src/xdisp.c b/src/xdisp.c index d62bc6b..ff074a8 100644 --- a/src/xdisp.c +++ b/src/xdisp.c @@ -6723,6 +6723,7 @@ get_next_display_element (struct it *it) function pointer `method' used here turns out to be faster than using a sequence of if-statements. */ int success_p; + const char *disp_format = Vdisplay_raw_bytes_as_hex ? "x%02X" : "%03o"; get_next: success_p = GET_NEXT_DISPLAY_ELEMENT (it); @@ -6927,7 +6928,7 @@ get_next_display_element (struct it *it) if (CHAR_BYTE8_P (c)) /* Display \200 instead of \17777600. */ c = CHAR_TO_BYTE8 (c); - len = sprintf (str, "%03o", c); + len = sprintf (str, disp_format, c); XSETINT (it->ctl_chars[0], escape_glyph); for (i = 0; i < len; i++) @@ -29347,6 +29348,11 @@ wide as that tab on the display. */); The face used for trailing whitespace is `trailing-whitespace'. */); Vshow_trailing_whitespace = Qnil; + DEFVAR_BOOL ("display-raw-bytes-as-hex", Vdisplay_raw_bytes_as_hex, + doc: /* Non-nil means display raw 8-bit bytes as hexadecimal +escape sequences as opposed to the default octal escape sequences. */); + Vdisplay_raw_bytes_as_hex = 0; + DEFVAR_LISP ("nobreak-char-display", Vnobreak_char_display, doc: /* Control highlighting of non-ASCII space and hyphen chars. If the value is t, Emacs highlights non-ASCII chars which have the -- 1.8.4.2 --=-=-=-- From debbugs-submit-bounces@debbugs.gnu.org Tue Oct 29 12:58:57 2013 Received: (at 15747) by debbugs.gnu.org; 29 Oct 2013 16:58:58 +0000 Received: from localhost ([127.0.0.1]:51388 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.80) (envelope-from ) id 1VbCd7-0005Wd-1o for submit@debbugs.gnu.org; Tue, 29 Oct 2013 12:58:57 -0400 Received: from mtaout20.012.net.il ([80.179.55.166]:58551) by debbugs.gnu.org with esmtp (Exim 4.80) (envelope-from ) id 1VbCd2-0005WM-HW for 15747@debbugs.gnu.org; Tue, 29 Oct 2013 12:58:53 -0400 Received: from conversion-daemon.a-mtaout20.012.net.il by a-mtaout20.012.net.il (HyperSendmail v2007.08) id <0MVF00000WFP0H00@a-mtaout20.012.net.il> for 15747@debbugs.gnu.org; Tue, 29 Oct 2013 18:58:43 +0200 (IST) Received: from HOME-C4E4A596F7 ([87.69.4.28]) by a-mtaout20.012.net.il (HyperSendmail v2007.08) with ESMTPA id <0MVF00N91WHV4V10@a-mtaout20.012.net.il>; Tue, 29 Oct 2013 18:58:43 +0200 (IST) Date: Tue, 29 Oct 2013 18:58:44 +0200 From: Eli Zaretskii Subject: Re: bug#15747: Patch to optionally display raw bytes in hexadecimal In-reply-to: <87hac0uqtk.fsf@nbtrap.com> X-012-Sender: halo1@inter.net.il To: Nathan Trapuzzano Message-id: <83vc0gdnej.fsf@gnu.org> References: <87hac0uqtk.fsf@nbtrap.com> X-Spam-Score: 1.0 (+) X-Debbugs-Envelope-To: 15747 Cc: 15747@debbugs.gnu.org X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.15 Precedence: list Reply-To: Eli Zaretskii List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: debbugs-submit-bounces@debbugs.gnu.org Sender: "Debbugs-submit" X-Spam-Score: 1.0 (+) > From: Nathan Trapuzzano > Date: Tue, 29 Oct 2013 09:52:55 -0400 > > I never understood why raw bytes in emacs are displayed as octal escapes > rather than hexadecimal. The latter is much more intuitive to my mind. > > The attached patch adds the option to display these bytes in hex rather > than octal. If it's not accepted, please advise what changes I can make > to give it a better chance. For some "symmetry" with read-quoted-char-radix, perhaps make the name something like display-raw-bytes-radix, and make the feature accept the same values (i.e., 8. 10, and 16). From debbugs-submit-bounces@debbugs.gnu.org Tue Oct 29 13:18:35 2013 Received: (at 15747) by debbugs.gnu.org; 29 Oct 2013 17:18:35 +0000 Received: from localhost ([127.0.0.1]:51413 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.80) (envelope-from ) id 1VbCw7-00063N-E2 for submit@debbugs.gnu.org; Tue, 29 Oct 2013 13:18:35 -0400 Received: from outbound-ss-1429.hostmonster.com ([74.220.221.129]:43270) by debbugs.gnu.org with smtp (Exim 4.80) (envelope-from ) id 1VbCw4-00063D-HW for 15747@debbugs.gnu.org; Tue, 29 Oct 2013 13:18:33 -0400 Received: (qmail 10251 invoked by uid 0); 29 Oct 2013 17:18:31 -0000 Received: from unknown (HELO host393.hostmonster.com) (66.147.240.193) by oproxy9.mail.unifiedlayer.com with SMTP; 29 Oct 2013 17:18:31 -0000 DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed; d=nbtrap.com; s=default; h=Content-Type:MIME-Version:Message-ID:In-Reply-To:Date:References:Subject:Cc:To:From; bh=kzUuR5jcSmanHJyeHWumjIyEBjQThf+G+rPlYST2yVY=; b=neQ72Sg7BR2IvNutAJiDpy+purDvRR5RLcmVeeBp+9hd0kZzCcRiGSU8W9Q7dzWYSXdAUDfIDiklY0gDATSopbMZmg5MnHlfcUJ39YAFmKb6bJAVLexpoos2n25rKopQ; Received: from [50.90.253.209] (port=57796 helo=Nathan-GNU) by host393.hostmonster.com with esmtpsa (TLSv1:CAMELLIA128-SHA:128) (Exim 4.80) (envelope-from ) id 1VbCw1-0006HX-SU; Tue, 29 Oct 2013 11:18:30 -0600 From: Nathan Trapuzzano To: Eli Zaretskii Subject: Re: bug#15747: Patch to optionally display raw bytes in hexadecimal References: <87hac0uqtk.fsf@nbtrap.com> <83vc0gdnej.fsf@gnu.org> Date: Tue, 29 Oct 2013 13:18:26 -0400 In-Reply-To: <83vc0gdnej.fsf@gnu.org> (Eli Zaretskii's message of "Tue, 29 Oct 2013 18:58:44 +0200") Message-ID: <87r4b49esd.fsf@nbtrap.com> User-Agent: Gnus/5.130007 (Ma Gnus v0.7) Emacs/24.3 (gnu/linux) MIME-Version: 1.0 Content-Type: text/plain X-Identified-User: {1585:host393.hostmonster.com:nbtrapco:nbtrap.com} {sentby:smtp auth 50.90.253.209 authed with nbtrap@nbtrap.com} X-Spam-Score: 0.0 (/) X-Debbugs-Envelope-To: 15747 Cc: 15747@debbugs.gnu.org X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.15 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: debbugs-submit-bounces@debbugs.gnu.org Sender: "Debbugs-submit" X-Spam-Score: 0.0 (/) Eli Zaretskii writes: > For some "symmetry" with read-quoted-char-radix, perhaps make the name > something like display-raw-bytes-radix, and make the feature accept > the same values (i.e., 8. 10, and 16). How do you suppose decimal escapes should be displayed so as to be distinguishable from octal escapes? Left-padding them with 0s, which typically indicates octal, seems like a bad idea; not padding them at all would result in variable-width escapes, which seems like another bad idea; and finally, many decimal escapes with three significant digits, e.g. "\255", look like they may as well be octal. The benefit to the way the hex escapes are implemented is that (1) they are distinguishable from octal, thanks to the leading "x"; and (2) a given hex escape sequence is the same width as its corresponding octal escape, e.g. "\017" and "\x0F". I don't see how these properties could be retained with decimal escapes. From debbugs-submit-bounces@debbugs.gnu.org Tue Oct 29 21:52:57 2013 Received: (at 15747) by debbugs.gnu.org; 30 Oct 2013 01:52:58 +0000 Received: from localhost ([127.0.0.1]:51728 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.80) (envelope-from ) id 1VbKxt-0004En-DD for submit@debbugs.gnu.org; Tue, 29 Oct 2013 21:52:57 -0400 Received: from ironport2-out.teksavvy.com ([206.248.154.182]:60206) by debbugs.gnu.org with esmtp (Exim 4.80) (envelope-from ) id 1VbKxr-0004ER-Dx for 15747@debbugs.gnu.org; Tue, 29 Oct 2013 21:52:55 -0400 X-IronPort-Anti-Spam-Filtered: true X-IronPort-Anti-Spam-Result: Av4EABK/CFFsoXfp/2dsb2JhbABEvw4Xc4IeAQEEAVYjBQsLDiYSFBgNJIgeBrEfkA6RCgOkeoFegxM X-IPAS-Result: Av4EABK/CFFsoXfp/2dsb2JhbABEvw4Xc4IeAQEEAVYjBQsLDiYSFBgNJIgeBrEfkA6RCgOkeoFegxM X-IronPort-AV: E=Sophos;i="4.84,565,1355115600"; d="scan'208";a="36640052" Received: from 108-161-119-233.dsl.teksavvy.com (HELO pastel.home) ([108.161.119.233]) by ironport2-out.teksavvy.com with ESMTP/TLS/ADH-AES256-SHA; 29 Oct 2013 21:52:49 -0400 Received: by pastel.home (Postfix, from userid 20848) id 104A3608DB; Tue, 29 Oct 2013 21:52:49 -0400 (EDT) From: Stefan Monnier To: Nathan Trapuzzano Subject: Re: bug#15747: Patch to optionally display raw bytes in hexadecimal Message-ID: References: <87hac0uqtk.fsf@nbtrap.com> <83vc0gdnej.fsf@gnu.org> <87r4b49esd.fsf@nbtrap.com> Date: Tue, 29 Oct 2013 21:52:49 -0400 In-Reply-To: <87r4b49esd.fsf@nbtrap.com> (Nathan Trapuzzano's message of "Tue, 29 Oct 2013 13:18:26 -0400") User-Agent: Gnus/5.13 (Gnus v5.13) Emacs/24.3.50 (gnu/linux) MIME-Version: 1.0 Content-Type: text/plain X-Spam-Score: 0.3 (/) X-Debbugs-Envelope-To: 15747 Cc: 15747@debbugs.gnu.org, Eli Zaretskii X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.15 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: debbugs-submit-bounces@debbugs.gnu.org Sender: "Debbugs-submit" X-Spam-Score: 0.3 (/) > How do you suppose decimal escapes should be displayed so as to be > distinguishable from octal escapes? I don't think we could do that, indeed. Stefan From debbugs-submit-bounces@debbugs.gnu.org Tue Oct 29 23:47:25 2013 Received: (at 15747) by debbugs.gnu.org; 30 Oct 2013 03:47:25 +0000 Received: from localhost ([127.0.0.1]:51891 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.80) (envelope-from ) id 1VbMke-0008DH-QD for submit@debbugs.gnu.org; Tue, 29 Oct 2013 23:47:25 -0400 Received: from mtaout22.012.net.il ([80.179.55.172]:35519) by debbugs.gnu.org with esmtp (Exim 4.80) (envelope-from ) id 1VbMkc-0008D3-IY for 15747@debbugs.gnu.org; Tue, 29 Oct 2013 23:47:23 -0400 Received: from conversion-daemon.a-mtaout22.012.net.il by a-mtaout22.012.net.il (HyperSendmail v2007.08) id <0MVG00A00QF9MN00@a-mtaout22.012.net.il> for 15747@debbugs.gnu.org; Wed, 30 Oct 2013 05:47:15 +0200 (IST) Received: from HOME-C4E4A596F7 ([87.69.4.28]) by a-mtaout22.012.net.il (HyperSendmail v2007.08) with ESMTPA id <0MVG00A9GQIRJD40@a-mtaout22.012.net.il>; Wed, 30 Oct 2013 05:47:15 +0200 (IST) Date: Wed, 30 Oct 2013 05:47:18 +0200 From: Eli Zaretskii Subject: Re: bug#15747: Patch to optionally display raw bytes in hexadecimal In-reply-to: X-012-Sender: halo1@inter.net.il To: Stefan Monnier Message-id: <83eh73e7y1.fsf@gnu.org> References: <87hac0uqtk.fsf@nbtrap.com> <83vc0gdnej.fsf@gnu.org> <87r4b49esd.fsf@nbtrap.com> X-Spam-Score: 1.0 (+) X-Debbugs-Envelope-To: 15747 Cc: 15747@debbugs.gnu.org, nbtrap@nbtrap.com X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.15 Precedence: list Reply-To: Eli Zaretskii List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: debbugs-submit-bounces@debbugs.gnu.org Sender: "Debbugs-submit" X-Spam-Score: 1.0 (+) > From: Stefan Monnier > Cc: Eli Zaretskii , 15747@debbugs.gnu.org > Date: Tue, 29 Oct 2013 21:52:49 -0400 > > > How do you suppose decimal escapes should be displayed so as to be > > distinguishable from octal escapes? > > I don't think we could do that, indeed. I thought about \d123. From debbugs-submit-bounces@debbugs.gnu.org Tue Oct 29 23:54:38 2013 Received: (at 15747) by debbugs.gnu.org; 30 Oct 2013 03:54:38 +0000 Received: from localhost ([127.0.0.1]:51899 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.80) (envelope-from ) id 1VbMrb-0008Ng-LW for submit@debbugs.gnu.org; Tue, 29 Oct 2013 23:54:36 -0400 Received: from ironport2-out.teksavvy.com ([206.248.154.182]:37567) by debbugs.gnu.org with esmtp (Exim 4.80) (envelope-from ) id 1VbMrX-0008NR-6C for 15747@debbugs.gnu.org; Tue, 29 Oct 2013 23:54:32 -0400 X-IronPort-Anti-Spam-Filtered: true X-IronPort-Anti-Spam-Result: Av4EABK/CFFsoXfp/2dsb2JhbABEvw4Xc4IeAQEEAVYjEAs0EhQYDSSIHgaxH5AOkQoDpHqBXoMT X-IPAS-Result: Av4EABK/CFFsoXfp/2dsb2JhbABEvw4Xc4IeAQEEAVYjEAs0EhQYDSSIHgaxH5AOkQoDpHqBXoMT X-IronPort-AV: E=Sophos;i="4.84,565,1355115600"; d="scan'208";a="36648151" Received: from 108-161-119-233.dsl.teksavvy.com (HELO pastel.home) ([108.161.119.233]) by ironport2-out.teksavvy.com with ESMTP/TLS/ADH-AES256-SHA; 29 Oct 2013 23:54:25 -0400 Received: by pastel.home (Postfix, from userid 20848) id 387AF60713; Tue, 29 Oct 2013 23:54:25 -0400 (EDT) From: Stefan Monnier To: Eli Zaretskii Subject: Re: bug#15747: Patch to optionally display raw bytes in hexadecimal Message-ID: References: <87hac0uqtk.fsf@nbtrap.com> <83vc0gdnej.fsf@gnu.org> <87r4b49esd.fsf@nbtrap.com> <83eh73e7y1.fsf@gnu.org> Date: Tue, 29 Oct 2013 23:54:25 -0400 In-Reply-To: <83eh73e7y1.fsf@gnu.org> (Eli Zaretskii's message of "Wed, 30 Oct 2013 05:47:18 +0200") User-Agent: Gnus/5.13 (Gnus v5.13) Emacs/24.3.50 (gnu/linux) MIME-Version: 1.0 Content-Type: text/plain X-Spam-Score: 0.3 (/) X-Debbugs-Envelope-To: 15747 Cc: 15747@debbugs.gnu.org, nbtrap@nbtrap.com X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.15 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: debbugs-submit-bounces@debbugs.gnu.org Sender: "Debbugs-submit" X-Spam-Score: 0.3 (/) >> > How do you suppose decimal escapes should be displayed so as to be >> > distinguishable from octal escapes? >> I don't think we could do that, indeed. > I thought about \d123. Of course, but that's even longer than octal. But I guess it's good enough. Stefan From debbugs-submit-bounces@debbugs.gnu.org Thu Oct 31 00:39:40 2013 Received: (at 15747) by debbugs.gnu.org; 31 Oct 2013 04:39:40 +0000 Received: from localhost ([127.0.0.1]:53850 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.80) (envelope-from ) id 1Vbk2k-0001XH-UY for submit@debbugs.gnu.org; Thu, 31 Oct 2013 00:39:39 -0400 Received: from oproxy14-pub.mail.unifiedlayer.com ([67.222.51.224]:39890) by debbugs.gnu.org with smtp (Exim 4.80) (envelope-from ) id 1Vbk2a-0001Wy-Rk for 15747@debbugs.gnu.org; Thu, 31 Oct 2013 00:39:35 -0400 Received: (qmail 28710 invoked by uid 0); 30 Oct 2013 10:33:51 -0000 Received: from unknown (HELO host393.hostmonster.com) (66.147.240.193) by oproxy14.mail.unifiedlayer.com with SMTP; 30 Oct 2013 10:33:51 -0000 DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed; d=nbtrap.com; s=default; h=Content-Type:MIME-Version:Message-ID:Date:References:Subject:Cc:To:From; bh=bLVkoTX7Rq/EKPuGC9+iVl8++LCxy863HwCJa8Xrjqw=; b=D4z7rYKVlq0ArtsxaHtxk+MvmGAlHtC1IHtFHGomMdrcnPnxtA1M+ji5lgRYXCiNNlQag87vxft8U08aTNdaGcnRceFCtbs5GBhrBTzARqD4QCIYl5/M+/KcRbCWsdNz; Received: from [50.90.253.209] (port=60793 helo=Nathan-GNU) by host393.hostmonster.com with esmtpsa (TLSv1:CAMELLIA128-SHA:128) (Exim 4.80) (envelope-from ) id 1VbT5z-0007rz-Fw; Wed, 30 Oct 2013 04:33:51 -0600 From: Nathan Trapuzzano To: Stefan Monnier Subject: Re: bug#15747: Patch to optionally display raw bytes in hexadecimal References: <87hac0uqtk.fsf@nbtrap.com> <83vc0gdnej.fsf@gnu.org> <87r4b49esd.fsf@nbtrap.com> <83eh73e7y1.fsf@gnu.org> User-Agent: Gnus/5.130007 (Ma Gnus v0.7) Emacs/24.3 (gnu/linux) Date: Wed, 30 Oct 2013 06:33:46 -0400 Message-ID: <87y55bvyid.fsf@nbtrap.com> MIME-Version: 1.0 Content-Type: text/plain X-Identified-User: {1585:host393.hostmonster.com:nbtrapco:nbtrap.com} {sentby:smtp auth 50.90.253.209 authed with nbtrap@nbtrap.com} X-Spam-Score: 1.3 (+) X-Spam-Report: Spam detection software, running on the system "debbugs.gnu.org", has identified this incoming email as possible spam. The original message has been attached to this so you can view it (if it isn't spam) or label similar future email. If you have any questions, see the administrator of that system for details. Content preview: Stefan Monnier writes: >> I thought about \d123. > > Of course, but that's even longer than octal. But I guess it's good enough. And left pad it with zeros I assume? [...] Content analysis details: (1.3 points, 10.0 required) pts rule name description ---- ---------------------- -------------------------------------------------- 1.2 RCVD_IN_BL_SPAMCOP_NET RBL: Received via a relay in bl.spamcop.net [Blocked - see ] -0.0 SPF_PASS SPF: sender matches SPF record 0.0 T_DKIM_INVALID DKIM-Signature header exists but is not valid X-Debbugs-Envelope-To: 15747 Cc: 15747@debbugs.gnu.org, Eli Zaretskii X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.15 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: debbugs-submit-bounces@debbugs.gnu.org Sender: "Debbugs-submit" X-Spam-Score: 1.3 (+) X-Spam-Report: Spam detection software, running on the system "debbugs.gnu.org", has identified this incoming email as possible spam. The original message has been attached to this so you can view it (if it isn't spam) or label similar future email. If you have any questions, see the administrator of that system for details. Content preview: Stefan Monnier writes: >> I thought about \d123. > > Of course, but that's even longer than octal. But I guess it's good enough. And left pad it with zeros I assume? [...] Content analysis details: (1.3 points, 10.0 required) pts rule name description ---- ---------------------- -------------------------------------------------- 1.2 RCVD_IN_BL_SPAMCOP_NET RBL: Received via a relay in bl.spamcop.net [Blocked - see ] -0.0 SPF_PASS SPF: sender matches SPF record 0.0 T_DKIM_INVALID DKIM-Signature header exists but is not valid Stefan Monnier writes: >> I thought about \d123. > > Of course, but that's even longer than octal. But I guess it's good enough. And left pad it with zeros I assume? Also, what do you guys think of making it buffer-local? I don't see the point in doing so, but then again, the variable `ctl-arrow', which affects the display of control characters, is itself buffer-local. From debbugs-submit-bounces@debbugs.gnu.org Thu Oct 31 12:16:01 2013 Received: (at 15747) by debbugs.gnu.org; 31 Oct 2013 16:16:01 +0000 Received: from localhost ([127.0.0.1]:55095 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.80) (envelope-from ) id 1Vbuue-0004EL-Eq for submit@debbugs.gnu.org; Thu, 31 Oct 2013 12:16:00 -0400 Received: from mtaout21.012.net.il ([80.179.55.169]:35339) by debbugs.gnu.org with esmtp (Exim 4.80) (envelope-from ) id 1Vbuua-0004E3-UE for 15747@debbugs.gnu.org; Thu, 31 Oct 2013 12:15:58 -0400 Received: from conversion-daemon.a-mtaout21.012.net.il by a-mtaout21.012.net.il (HyperSendmail v2007.08) id <0MVJ00H00JOWFM00@a-mtaout21.012.net.il> for 15747@debbugs.gnu.org; Thu, 31 Oct 2013 18:15:49 +0200 (IST) Received: from HOME-C4E4A596F7 ([87.69.4.28]) by a-mtaout21.012.net.il (HyperSendmail v2007.08) with ESMTPA id <0MVJ00H3DJUCED50@a-mtaout21.012.net.il>; Thu, 31 Oct 2013 18:15:48 +0200 (IST) Date: Thu, 31 Oct 2013 18:15:33 +0200 From: Eli Zaretskii Subject: Re: bug#15747: Patch to optionally display raw bytes in hexadecimal In-reply-to: <87y55bvyid.fsf@nbtrap.com> X-012-Sender: halo1@inter.net.il To: Nathan Trapuzzano Message-id: <83zjppct7e.fsf@gnu.org> References: <87hac0uqtk.fsf@nbtrap.com> <83vc0gdnej.fsf@gnu.org> <87r4b49esd.fsf@nbtrap.com> <83eh73e7y1.fsf@gnu.org> <87y55bvyid.fsf@nbtrap.com> X-Spam-Score: 1.0 (+) X-Debbugs-Envelope-To: 15747 Cc: 15747@debbugs.gnu.org, monnier@iro.umontreal.ca X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.15 Precedence: list Reply-To: Eli Zaretskii List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: debbugs-submit-bounces@debbugs.gnu.org Sender: "Debbugs-submit" X-Spam-Score: 1.0 (+) > From: Nathan Trapuzzano > Cc: Eli Zaretskii , 15747@debbugs.gnu.org > Date: Wed, 30 Oct 2013 06:33:46 -0400 > > Stefan Monnier writes: > > >> I thought about \d123. > > > > Of course, but that's even longer than octal. But I guess it's good enough. > > And left pad it with zeros I assume? Probably. > Also, what do you guys think of making it buffer-local? Definitely, IMO. From debbugs-submit-bounces@debbugs.gnu.org Thu Oct 31 21:11:10 2013 Received: (at 15747) by debbugs.gnu.org; 1 Nov 2013 01:11:10 +0000 Received: from localhost ([127.0.0.1]:55967 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.80) (envelope-from ) id 1Vc3GW-0002P5-M7 for submit@debbugs.gnu.org; Thu, 31 Oct 2013 21:11:10 -0400 Received: from outbound-ss-1429.hostmonster.com ([74.220.221.129]:55566) by debbugs.gnu.org with smtp (Exim 4.80) (envelope-from ) id 1Vc3GO-0002Oa-La for 15747@debbugs.gnu.org; Thu, 31 Oct 2013 21:11:07 -0400 Received: (qmail 14418 invoked by uid 0); 1 Nov 2013 01:10:58 -0000 Received: from unknown (HELO host393.hostmonster.com) (66.147.240.193) by oproxy19-pub.mail.unifiedlayer.com with SMTP; 1 Nov 2013 01:10:58 -0000 DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed; d=nbtrap.com; s=default; h=Content-Type:MIME-Version:Message-ID:In-Reply-To:Date:References:Subject:Cc:To:From; bh=wqyylZ5o/mH+aw199cICa4lvtLqSNFPaPyzFsGjQNWI=; b=ubXOHG2rBkhn5unLjgBqyoEUfP3FY3DuP0CsJKrXIwGe2LCoqRbdEcahbxvDvoGFQQpg9rCQGTly+6IUGF0xwzdIUgQUNocHxom0rLJMnbMYZzDKEBJUZlFpStmuWQxX; Received: from [50.90.253.209] (port=39263 helo=Nathan-GNU) by host393.hostmonster.com with esmtpsa (TLSv1:CAMELLIA128-SHA:128) (Exim 4.80) (envelope-from ) id 1Vc3GM-0008BJ-20; Thu, 31 Oct 2013 19:10:58 -0600 From: Nathan Trapuzzano To: Eli Zaretskii Subject: Re: bug#15747: Patch to optionally display raw bytes in hexadecimal References: <87hac0uqtk.fsf@nbtrap.com> <83vc0gdnej.fsf@gnu.org> <87r4b49esd.fsf@nbtrap.com> <83eh73e7y1.fsf@gnu.org> <87y55bvyid.fsf@nbtrap.com> <83zjppct7e.fsf@gnu.org> Date: Thu, 31 Oct 2013 21:10:56 -0400 In-Reply-To: <83zjppct7e.fsf@gnu.org> (Eli Zaretskii's message of "Thu, 31 Oct 2013 18:15:33 +0200") Message-ID: <87sivhncyn.fsf@nbtrap.com> User-Agent: Gnus/5.130007 (Ma Gnus v0.7) Emacs/24.3 (gnu/linux) MIME-Version: 1.0 Content-Type: multipart/mixed; boundary="=-=-=" X-Identified-User: {1585:host393.hostmonster.com:nbtrapco:nbtrap.com} {sentby:smtp auth 50.90.253.209 authed with nbtrap@nbtrap.com} X-Spam-Score: 0.0 (/) X-Debbugs-Envelope-To: 15747 Cc: 15747@debbugs.gnu.org, monnier@iro.umontreal.ca X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.15 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: debbugs-submit-bounces@debbugs.gnu.org Sender: "Debbugs-submit" X-Spam-Score: 0.0 (/) --=-=-= Content-Type: text/plain Eli Zaretskii writes: > Probably. > >> Also, what do you guys think of making it buffer-local? > > Definitely, IMO. Patch attached. I ended up naming the variable `raw-byte-display-radix'. --=-=-= Content-Type: text/x-diff; charset=utf-8 Content-Disposition: inline; filename=raw-byte-display-radix.patch Content-Transfer-Encoding: quoted-printable >From 96cbab813bdde2b2aa7ee54bdcd191506e5e9186 Mon Sep 17 00:00:00 2001 From: Nathan Trapuzzano Date: Thu, 25 Jul 2013 15:47:23 -0400 Subject: [PATCH] Define and implement `raw-byte-display-radix' variable. This buffer-local variable allows raw bytes to be displayed with hexadecimal and decimal escape sequences as opposed to traditional octal escapes. --- doc/emacs/ChangeLog | 4 ++++ doc/emacs/display.texi | 5 +++++ doc/lispref/ChangeLog | 4 ++++ doc/lispref/display.texi | 37 +++++++++++++++++++++++++------------ doc/lispref/text.texi | 11 ++++++----- lisp/ChangeLog | 4 ++++ lisp/cus-start.el | 1 + src/ChangeLog | 13 +++++++++++++ src/buffer.c | 7 +++++++ src/buffer.h | 3 +++ src/character.h | 24 ++++++++++++++++++------ src/dispextern.h | 4 ++++ src/indent.c | 18 +++++++++++------- src/xdisp.c | 14 +++++++++++++- 14 files changed, 118 insertions(+), 31 deletions(-) diff --git a/doc/emacs/ChangeLog b/doc/emacs/ChangeLog index eafe608..d418eec 100644 --- a/doc/emacs/ChangeLog +++ b/doc/emacs/ChangeLog @@ -1,3 +1,7 @@ +2013-10-31 Nathan Trapuzzano + + * display.texi (Text Display): Document `raw-byte-display-radix'. + 2013-10-23 Glenn Morris =20 * files.texi, glossary.texi, killing.texi, search.texi, sending.texi: diff --git a/doc/emacs/display.texi b/doc/emacs/display.texi index 80dffe2..74fe801 100644 --- a/doc/emacs/display.texi +++ b/doc/emacs/display.texi @@ -1400,6 +1400,7 @@ character, @code{U+0001}, is displayed as @samp{^A}. =20 @cindex octal escapes @vindex ctl-arrow +@vindex raw-byte-display-radix The raw bytes with codes @code{U+0080} (octal 200) through @code{U+009F} (octal 237) are displayed as @dfn{octal escape sequences}, with the @code{escape-glyph} face. For instance, @@ -1407,6 +1408,10 @@ character code @code{U+0098} (octal 230) is displaye= d as @samp{\230}. If you change the buffer-local variable @code{ctl-arrow} to @code{nil}, the @acronym{ASCII} control characters are also displayed as octal escape sequences instead of caret escape sequences. +Moreover, setting the buffer-local variable +@code{raw-byte-display-radix} to 16 or 10 causes Emacs to display +hexadecimal or decimal escape sequences, respectively, rather than +octal sequences. =20 @vindex nobreak-char-display @cindex non-breaking space diff --git a/doc/lispref/ChangeLog b/doc/lispref/ChangeLog index a685f1f..5238ce3 100644 --- a/doc/lispref/ChangeLog +++ b/doc/lispref/ChangeLog @@ -1,3 +1,7 @@ +2013-10-31 Nathan Trapuzzano + + * display.texi (Usual Display): Document `raw-byte-display-radix'. + 2013-10-30 Xue Fuqiao =20 * display.texi (Abstract Display): Improve indexing. diff --git a/doc/lispref/display.texi b/doc/lispref/display.texi index 07ab2c6..20318f6 100644 --- a/doc/lispref/display.texi +++ b/doc/lispref/display.texi @@ -5900,7 +5900,7 @@ instead of @samp{^}); e.g., the @key{DEL} character i= s displayed as @samp{^?}. =20 If @code{ctl-arrow} is @code{nil}, these characters are displayed as -octal escapes (see below). +octal escapes (but see below). =20 This rule also applies to carriage return (character code 13), if that character appears in the buffer. But carriage returns usually do not @@ -5910,11 +5910,14 @@ conversion (@pxref{Coding System Basics}). @cindex octal escapes @item @dfn{Raw bytes} are non-@acronym{ASCII} characters with codes 128 -through 255 (@pxref{Text Representations}). These characters display -as @dfn{octal escapes}: sequences of four glyphs, where the first -glyph is the @acronym{ASCII} code for @samp{\}, and the others are -digit characters representing the character code in octal. (A display -table can specify a glyph to use instead of @samp{\}.) +through 255 (@pxref{Text Representations}). By default, these +characters display as @dfn{octal escapes}: sequences of four glyphs, +where the first glyph is the @acronym{ASCII} code for @samp{\}, and +the others are digit characters representing the character code in +octal. (A display table can specify a glyph to use instead of +@samp{\}.) To display these bytes as hexadecimal or decimal escape +sequences rather than octal, set @code{raw-byte-display-radix} to 16 +or 10, respectively. =20 @item Each non-@acronym{ASCII} character with code above 255 is displayed @@ -5932,11 +5935,11 @@ table, for any character whose entry in the active = display table is specify the characters for which you want special behavior. =20 The following variables affect how certain characters are displayed -on the screen. Since they change the number of columns the characters -occupy, they also affect the indentation functions. They also affect -how the mode line is displayed; if you want to force redisplay of the -mode line using the new values, call the function -@code{force-mode-line-update} (@pxref{Mode Line Format}). +on the screen. Some of these change the number of columns the +characters occupy, which affects the indentation functions. These +also affect the display of characters in the mode line; if you want to +force redisplay of the mode line using the new values, call the +function @code{force-mode-line-update} (@pxref{Mode Line Format}). =20 @defopt ctl-arrow @cindex control characters in display @@ -5944,7 +5947,7 @@ This buffer-local variable controls how control chara= cters are displayed. If it is non-@code{nil}, they are displayed as a caret followed by the character: @samp{^A}. If it is @code{nil}, they are displayed as octal escapes: a backslash followed by three octal -digits, as in @samp{\001}. +digits, as in @samp{\001} (but see below). @end defopt =20 @defopt tab-width @@ -5955,6 +5958,16 @@ is completely independent of the user-settable tab s= tops used by the command @code{tab-to-tab-stop}. @xref{Indent Tabs}. @end defopt =20 +@defopt raw-byte-display-radix +Setting this buffer-local variable to 16 or 10 will cause raw bytes to +be displayed as hexadecimal or decimal escape sequences, respectively, +rather than octal. The sequences will be prepended with @samp{\} (or +whatever glyph the current display table specifies for this purpose), +followed by @samp{x} for hexadecimal or @samp{d} for decimal. All +other values cause raw bytes to be displayed with the default octal +escapes. +@end defopt + @node Display Tables @subsection Display Tables =20 diff --git a/doc/lispref/text.texi b/doc/lispref/text.texi index aa19338..06788be 100644 --- a/doc/lispref/text.texi +++ b/doc/lispref/text.texi @@ -2110,11 +2110,12 @@ characters from the beginning of the buffer) and a = column position (counting screen characters from the beginning of a line). =20 These functions count each character according to the number of -columns it occupies on the screen. This means control characters count -as occupying 2 or 4 columns, depending upon the value of -@code{ctl-arrow}, and tabs count as occupying a number of columns that -depends on the value of @code{tab-width} and on the column where the tab -begins. @xref{Usual Display}. +columns it occupies on the screen. This means control characters +count as occupying 2, 4, or 5 columns, depending upon the values of +@code{ctl-arrow} and @code{raw-byte-display-radix}, and tabs count as +occupying a number of columns that depends on the value of +@code{tab-width} and on the column where the tab begins. @xref{Usual +Display}. =20 Column number computations ignore the width of the window and the amount of horizontal scrolling. Consequently, a column value can be diff --git a/lisp/ChangeLog b/lisp/ChangeLog index 58fd55b..a05b7d5 100644 --- a/lisp/ChangeLog +++ b/lisp/ChangeLog @@ -1,3 +1,7 @@ +2013-10-31 Nathan Trapuzzano + + * cus-start.el: Add customization support for `raw-byte-display-radix'. + 2013-10-31 Glenn Morris =20 * Makefile.in (custom-deps, finder-data): No need to setq the target diff --git a/lisp/cus-start.el b/lisp/cus-start.el index 24f8ac3..3711db2 100644 --- a/lisp/cus-start.el +++ b/lisp/cus-start.el @@ -139,6 +139,7 @@ Leaving \"Default\" unchecked is equivalent with specif= ying a default of (const :tag "Right to Left" right-to-left) (const :tag "Dynamic, according to paragraph text" nil)) "24.1") + (raw-byte-display-radix display (choice (const 8) (const 10) (const = 16))) ;; callint.c (mark-even-if-inactive editing-basics boolean) ;; callproc.c diff --git a/src/ChangeLog b/src/ChangeLog index fa468c9..09c9de0 100644 --- a/src/ChangeLog +++ b/src/ChangeLog @@ -1,3 +1,16 @@ +2013-10-31 Nathan Trapuzzano + + Define and implement buffer-local `raw_byte_display_radix' for + displaying raw bytes with hexadecimal and decimal escape + sequences. + * buffer.c (init_buffer_once): + * buffer.h (struct buffer): + * character.h (RAW_BYTE_ESCAPE_WIDTH, ASCII_CHAR_WIDTH, CHAR_WIDTH): + * dispextern.h (struct it): Add `raw_byte_display_format' member. + * indent.c (current_column, scan_for_column, string_display_width) + (compute_motion): + * xdisp.c (init_iterator, get_next_display_element): + 2013-10-31 Jan Dj=C3=A4rv =20 * emacs.c (main): Skip -psn args on OSX even if ! isatty (0). diff --git a/src/buffer.c b/src/buffer.c index e44908a..0b1e1a5 100644 --- a/src/buffer.c +++ b/src/buffer.c @@ -5175,6 +5175,7 @@ init_buffer_once (void) bset_truncate_lines (&buffer_defaults, Qnil); bset_word_wrap (&buffer_defaults, Qnil); bset_ctl_arrow (&buffer_defaults, Qt); + XSETFASTINT (BVAR (&buffer_defaults, raw_byte_display_radix), 8); bset_bidi_display_reordering (&buffer_defaults, Qt); bset_bidi_paragraph_direction (&buffer_defaults, Qnil); bset_cursor_type (&buffer_defaults, Qt); @@ -5244,6 +5245,7 @@ init_buffer_once (void) XSETFASTINT (BVAR (&buffer_local_flags, truncate_lines), idx); ++idx; XSETFASTINT (BVAR (&buffer_local_flags, word_wrap), idx); ++idx; XSETFASTINT (BVAR (&buffer_local_flags, ctl_arrow), idx); ++idx; + XSETFASTINT (BVAR (&buffer_local_flags, raw_byte_display_radix), idx); += +idx; XSETFASTINT (BVAR (&buffer_local_flags, fill_column), idx); ++idx; XSETFASTINT (BVAR (&buffer_local_flags, left_margin), idx); ++idx; XSETFASTINT (BVAR (&buffer_local_flags, abbrev_table), idx); ++idx; @@ -5716,6 +5718,11 @@ A value of nil means use backslash and octal digits. This variable does not apply to characters whose display is specified in the current display table (if there is one). */); =20 + DEFVAR_PER_BUFFER ("raw-byte-display-radix", &BVAR (current_buffer, raw_= byte_display_radix), + Qintegerp, + doc: /* Radix for displaying raw byte escape sequences. +Legitimate values are 8, 10, and 16. Any other value has the same effect = as 8. */); + DEFVAR_PER_BUFFER ("enable-multibyte-characters", &BVAR (current_buffer, enable_multibyte_characters), Qnil, diff --git a/src/buffer.h b/src/buffer.h index a36c0d1..51fce4d 100644 --- a/src/buffer.h +++ b/src/buffer.h @@ -584,6 +584,9 @@ struct buffer /* Non-nil means display ctl chars with uparrow. */ Lisp_Object INTERNAL_FIELD (ctl_arrow); =20 + /* Radix to use for displaying raw byte escape sequences. */ + Lisp_Object INTERNAL_FIELD (raw_byte_display_radix); + /* Non-nil means reorder bidirectional text for display in the visual order. */ Lisp_Object INTERNAL_FIELD (bidi_display_reordering); diff --git a/src/character.h b/src/character.h index d1b781c..5e011b1 100644 --- a/src/character.h +++ b/src/character.h @@ -561,6 +561,12 @@ sanitize_tab_width (EMACS_INT width) return 0 < width && width <=3D 1000 ? width : 8; } =20 +/* Return the display width of a raw byte escape sequence, including + '\', in buffer BUF. */ + +#define RAW_BYTE_ESCAPE_WIDTH(buf) \ + ((XFASTINT (BVAR ((buf), raw_byte_display_radix))) =3D=3D 10 ? 5 : 4) + /* Return the width of ASCII character C. The width is measured by how many columns C will occupy on the screen when displayed in the current buffer. */ @@ -569,10 +575,14 @@ sanitize_tab_width (EMACS_INT width) (c < 0x20 \ ? (c =3D=3D '\t' \ ? SANE_TAB_WIDTH (current_buffer) \ - : (c =3D=3D '\n' ? 0 : (NILP (BVAR (current_buffer, ctl_arrow)) ? 4 = : 2))) \ + : (c =3D=3D '\n' ? 0 : (NILP (BVAR (current_buffer, ctl_arrow)) \ + ? RAW_BYTE_ESCAPE_WIDTH (current_buffer) \ + : 2))) \ : (c < 0x7f \ ? 1 \ - : ((NILP (BVAR (current_buffer, ctl_arrow)) ? 4 : 2)))) + : ((NILP (BVAR (current_buffer, ctl_arrow)) \ + ? RAW_BYTE_ESCAPE_WIDTH (current_buffer) \ + : 2)))) =20 /* Return a non-outlandish value for a character width. */ =20 @@ -586,10 +596,12 @@ sanitize_char_width (EMACS_INT width) columns C will occupy on the screen when displayed in the current buffer. */ =20 -#define CHAR_WIDTH(c) \ - (ASCII_CHAR_P (c) \ - ? ASCII_CHAR_WIDTH (c) \ - : sanitize_char_width (XINT (CHAR_TABLE_REF (Vchar_width_table, c)))) +#define CHAR_WIDTH(c) \ + (ASCII_CHAR_P (c) \ + ? ASCII_CHAR_WIDTH (c) \ + : CHAR_BYTE8_P (c) \ + ? RAW_BYTE_ESCAPE_WIDTH (current_buffer) \ + : sanitize_char_width (XINT (CHAR_TABLE_REF (Vchar_width_table, c))= )) =20 /* If C is a variation selector, return the index of the variation selector (1..256). Otherwise, return 0. */ diff --git a/src/dispextern.h b/src/dispextern.h index dd64ae1..a147ea8 100644 --- a/src/dispextern.h +++ b/src/dispextern.h @@ -2391,6 +2391,10 @@ struct it where the `^' can be replaced by a display table entry. */ unsigned ctl_arrow_p : 1; =20 + /* Format string for displaying raw bytes. Determined by + raw_byte_display_radix. */ + const char *raw_byte_display_format; + /* Non-zero means that the current face has a box. */ unsigned face_box_p : 1; =20 diff --git a/src/indent.c b/src/indent.c index d956e62..bf5d5eb 100644 --- a/src/indent.c +++ b/src/indent.c @@ -98,9 +98,9 @@ character_width (int c, struct Lisp_Char_Table *dp) =20 /* Everybody else (control characters, metacharacters) has other widths. We could return their actual widths here, but they - depend on things like ctl_arrow and crud like that, and they're - not very common at all. So we'll just claim we don't know their - widths. */ + depend on things like ctl_arrow, raw_byte_display_radix, and crud + like that, and they're not very common at all. So we'll just + claim we don't know their widths. */ else return 0; } @@ -319,6 +319,7 @@ current_column (void) int c; int tab_width =3D SANE_TAB_WIDTH (current_buffer); bool ctl_arrow =3D !NILP (BVAR (current_buffer, ctl_arrow)); + int raw_byte_escape_width =3D RAW_BYTE_ESCAPE_WIDTH (current_buffer); struct Lisp_Char_Table *dp =3D buffer_display_table (); =20 if (PT =3D=3D last_known_column_point @@ -422,7 +423,7 @@ current_column (void) also takes one column. */ ++col; else - col +=3D (ctl_arrow && c < 0200) ? 2 : 4; + col +=3D (ctl_arrow && c < 0200) ? 2 : raw_byte_escape_width; } } =20 @@ -500,6 +501,7 @@ scan_for_column (ptrdiff_t *endpos, EMACS_INT *goalcol,= ptrdiff_t *prevcol) { int tab_width =3D SANE_TAB_WIDTH (current_buffer); bool ctl_arrow =3D !NILP (BVAR (current_buffer, ctl_arrow)); + int raw_byte_escape_width =3D RAW_BYTE_ESCAPE_WIDTH (current_buffer); struct Lisp_Char_Table *dp =3D buffer_display_table (); bool multibyte =3D !NILP (BVAR (current_buffer, enable_multibyte_charact= ers)); struct composition_it cmp_it; @@ -657,7 +659,7 @@ scan_for_column (ptrdiff_t *endpos, EMACS_INT *goalcol,= ptrdiff_t *prevcol) else if (ctl_arrow && (c < 040 || c =3D=3D 0177)) col +=3D 2; else if (c < 040 || c >=3D 0177) - col +=3D 4; + col +=3D raw_byte_escape_width; else col++; } @@ -711,6 +713,7 @@ string_display_width (Lisp_Object string, Lisp_Object b= eg, Lisp_Object end) int c; int tab_width =3D SANE_TAB_WIDTH (current_buffer); bool ctl_arrow =3D !NILP (current_buffer->ctl_arrow); + int raw_byte_escape_width =3D RAW_BYTE_ESCAPE_WIDTH (current_buffer); struct Lisp_Char_Table *dp =3D buffer_display_table (); int b, e; =20 @@ -760,7 +763,7 @@ string_display_width (Lisp_Object string, Lisp_Object b= eg, Lisp_Object end) tab_seen =3D 1; } else - col +=3D (ctl_arrow && c < 0200) ? 2 : 4; + col +=3D (ctl_arrow && c < 0200) ? 2 : raw_byte_escape_width; } =20 if (tab_seen) @@ -1092,6 +1095,7 @@ compute_motion (ptrdiff_t from, ptrdiff_t frombyte, E= MACS_INT fromvpos, int c =3D 0; int tab_width =3D SANE_TAB_WIDTH (current_buffer); bool ctl_arrow =3D !NILP (BVAR (current_buffer, ctl_arrow)); + int raw_byte_escape_width =3D RAW_BYTE_ESCAPE_WIDTH (current_buffer); struct Lisp_Char_Table *dp =3D window_display_table (win); EMACS_INT selective =3D (INTEGERP (BVAR (current_buffer, selective_display)) @@ -1631,7 +1635,7 @@ compute_motion (ptrdiff_t from, ptrdiff_t frombyte, E= MACS_INT fromvpos, else if (VECTORP (charvec)) ++hpos; else - hpos +=3D (ctl_arrow && c < 0200) ? 2 : 4; + hpos +=3D (ctl_arrow && c < 0200) ? 2 : raw_byte_escape_width; } } } diff --git a/src/xdisp.c b/src/xdisp.c index 5cd2c2b..ab0d998 100644 --- a/src/xdisp.c +++ b/src/xdisp.c @@ -2714,6 +2714,18 @@ init_iterator (struct it *it, struct window *w, /* Are control characters displayed as `^C'? */ it->ctl_arrow_p =3D !NILP (BVAR (current_buffer, ctl_arrow)); =20 + switch (XFASTINT (BVAR (current_buffer, raw_byte_display_radix))) + { + case 10: + it->raw_byte_display_format =3D "d%03d"; + break; + case 16: + it->raw_byte_display_format =3D "x%02X"; + break; + default: + it->raw_byte_display_format =3D "%03o"; + } + /* -1 means everything between a CR and the following line end is invisible. >0 means lines indented more than this value are invisible. */ @@ -6863,7 +6875,7 @@ get_next_display_element (struct it *it) if (CHAR_BYTE8_P (c)) /* Display \200 instead of \17777600. */ c =3D CHAR_TO_BYTE8 (c); - len =3D sprintf (str, "%03o", c); + len =3D sprintf (str, it->raw_byte_display_format, c); =20 XSETINT (it->ctl_chars[0], escape_glyph); for (i =3D 0; i < len; i++) --=20 1.8.4.2 --=-=-=-- From debbugs-submit-bounces@debbugs.gnu.org Wed Nov 13 22:09:20 2013 Received: (at 15747) by debbugs.gnu.org; 14 Nov 2013 03:09:20 +0000 Received: from localhost ([127.0.0.1]:51061 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.80) (envelope-from ) id 1VgnJ2-00033v-8l for submit@debbugs.gnu.org; Wed, 13 Nov 2013 22:09:20 -0500 Received: from oproxy12-pub.mail.unifiedlayer.com ([50.87.16.10]:58166) by debbugs.gnu.org with smtp (Exim 4.80) (envelope-from ) id 1VgnJ0-00033m-01 for 15747@debbugs.gnu.org; Wed, 13 Nov 2013 22:09:18 -0500 Received: (qmail 8668 invoked by uid 0); 14 Nov 2013 03:09:14 -0000 Received: from unknown (HELO host393.hostmonster.com) (66.147.240.193) by oproxy12.mail.unifiedlayer.com with SMTP; 14 Nov 2013 03:09:14 -0000 DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed; d=nbtrap.com; s=default; h=Content-Type:MIME-Version:Message-ID:In-Reply-To:Date:References:Subject:Cc:To:From; bh=kRJiOz7eYBquwog3D42/HNN5G3lHJjOzrK6ra2spQtA=; b=ankEcmtzfQ5qJsBgTZ3WKIUfm5OcIRqKrGOunUT1bubkFjSWE2Lzi7TP1jw+2Es9DE73R4zpL6HfGZ5K+ZTyaAlJCsM0CBN6fAaG7B5enftsYCAVDQsUJ5Oe/kb0jhSC; Received: from [50.90.253.209] (port=37182 helo=Nathan-GNU) by host393.hostmonster.com with esmtpsa (TLSv1:CAMELLIA128-SHA:128) (Exim 4.80) (envelope-from ) id 1VgnIv-0002AK-Rn; Wed, 13 Nov 2013 20:09:14 -0700 From: Nathan Trapuzzano To: Eli Zaretskii Subject: Re: bug#15747: Patch to optionally display raw bytes in hexadecimal References: <87hac0uqtk.fsf@nbtrap.com> <83vc0gdnej.fsf@gnu.org> <87r4b49esd.fsf@nbtrap.com> <83eh73e7y1.fsf@gnu.org> <87y55bvyid.fsf@nbtrap.com> <83zjppct7e.fsf@gnu.org> <87sivhncyn.fsf@nbtrap.com> Date: Wed, 13 Nov 2013 22:09:11 -0500 In-Reply-To: <87sivhncyn.fsf@nbtrap.com> (Nathan Trapuzzano's message of "Thu, 31 Oct 2013 21:10:56 -0400") Message-ID: <87fvqzllwo.fsf@nbtrap.com> User-Agent: Gnus/5.130007 (Ma Gnus v0.7) Emacs/24.3.50 (gnu/linux) MIME-Version: 1.0 Content-Type: text/plain X-Identified-User: {1585:host393.hostmonster.com:nbtrapco:nbtrap.com} {sentby:smtp auth 50.90.253.209 authed with nbtrap@nbtrap.com} X-Spam-Score: 0.0 (/) X-Debbugs-Envelope-To: 15747 Cc: 15747@debbugs.gnu.org X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.15 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: debbugs-submit-bounces@debbugs.gnu.org Sender: "Debbugs-submit" X-Spam-Score: 0.0 (/) This should still apply cleanly on current trunk. From debbugs-submit-bounces@debbugs.gnu.org Wed Nov 13 23:52:43 2013 Received: (at 15747) by debbugs.gnu.org; 14 Nov 2013 04:52:43 +0000 Received: from localhost ([127.0.0.1]:51149 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.80) (envelope-from ) id 1Vgov4-0005Zx-MV for submit@debbugs.gnu.org; Wed, 13 Nov 2013 23:52:42 -0500 Received: from ironport2-out.teksavvy.com ([206.248.154.182]:24715) by debbugs.gnu.org with esmtp (Exim 4.80) (envelope-from ) id 1Vgov2-0005Zk-8H for 15747@debbugs.gnu.org; Wed, 13 Nov 2013 23:52:40 -0500 X-IronPort-Anti-Spam-Filtered: true X-IronPort-Anti-Spam-Result: AlEJABK/CFFsr+b0/2dsb2JhbABEvgsEBHsXc4IeAQEEAVYeBQULCw4mEhQYDSSIHgbBLZEKA4hhnBmBXoMV X-IPAS-Result: AlEJABK/CFFsr+b0/2dsb2JhbABEvgsEBHsXc4IeAQEEAVYeBQULCw4mEhQYDSSIHgbBLZEKA4hhnBmBXoMV X-IronPort-AV: E=Sophos;i="4.84,565,1355115600"; d="scan'208";a="37855033" Received: from 108-175-230-244.dsl.teksavvy.com (HELO fmsmemgm.homelinux.net) ([108.175.230.244]) by ironport2-out.teksavvy.com with ESMTP/TLS/ADH-AES256-SHA; 13 Nov 2013 23:52:32 -0500 Received: by fmsmemgm.homelinux.net (Postfix, from userid 20848) id 99F2BAE25E; Wed, 13 Nov 2013 23:52:29 -0500 (EST) From: Stefan Monnier To: Nathan Trapuzzano Subject: Re: bug#15747: Patch to optionally display raw bytes in hexadecimal Message-ID: References: <87hac0uqtk.fsf@nbtrap.com> <83vc0gdnej.fsf@gnu.org> <87r4b49esd.fsf@nbtrap.com> <83eh73e7y1.fsf@gnu.org> <87y55bvyid.fsf@nbtrap.com> <83zjppct7e.fsf@gnu.org> <87sivhncyn.fsf@nbtrap.com> <87fvqzllwo.fsf@nbtrap.com> Date: Wed, 13 Nov 2013 23:52:29 -0500 In-Reply-To: <87fvqzllwo.fsf@nbtrap.com> (Nathan Trapuzzano's message of "Wed, 13 Nov 2013 22:09:11 -0500") User-Agent: Gnus/5.13 (Gnus v5.13) Emacs/24.3.50 (gnu/linux) MIME-Version: 1.0 Content-Type: text/plain X-Spam-Score: 0.3 (/) X-Debbugs-Envelope-To: 15747 Cc: 15747@debbugs.gnu.org, Eli Zaretskii X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.15 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: debbugs-submit-bounces@debbugs.gnu.org Sender: "Debbugs-submit" X-Spam-Score: 0.3 (/) > This should still apply cleanly on current trunk. Thanks. But at this stage, we have to wait for your paperwork to come through. Stefan From debbugs-submit-bounces@debbugs.gnu.org Tue Feb 23 22:58:39 2016 Received: (at 15747) by debbugs.gnu.org; 24 Feb 2016 03:58:39 +0000 Received: from localhost ([127.0.0.1]:42084 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84) (envelope-from ) id 1aYQb1-0001nt-FG for submit@debbugs.gnu.org; Tue, 23 Feb 2016 22:58:39 -0500 Received: from hermes.netfonds.no ([80.91.224.195]:60468) by debbugs.gnu.org with esmtp (Exim 4.84) (envelope-from ) id 1aYQaz-0001nl-Oc for 15747@debbugs.gnu.org; Tue, 23 Feb 2016 22:58:38 -0500 Received: from cpe-60-225-211-161.nsw.bigpond.net.au ([60.225.211.161] helo=mouse) by hermes.netfonds.no with esmtpsa (TLS1.0:RSA_AES_128_CBC_SHA1:16) (Exim 4.72) (envelope-from ) id 1aYQaZ-0007wA-Gy; Wed, 24 Feb 2016 04:58:12 +0100 From: Lars Ingebrigtsen To: Stefan Monnier Subject: Re: bug#15747: Patch to optionally display raw bytes in hexadecimal References: <87hac0uqtk.fsf@nbtrap.com> <83vc0gdnej.fsf@gnu.org> <87r4b49esd.fsf@nbtrap.com> <83eh73e7y1.fsf@gnu.org> <87y55bvyid.fsf@nbtrap.com> <83zjppct7e.fsf@gnu.org> <87sivhncyn.fsf@nbtrap.com> <87fvqzllwo.fsf@nbtrap.com> Date: Wed, 24 Feb 2016 14:58:06 +1100 In-Reply-To: (Stefan Monnier's message of "Wed, 13 Nov 2013 23:52:29 -0500") Message-ID: <87io1ekbe9.fsf@gnus.org> User-Agent: Gnus/5.13 (Gnus v5.13) Emacs/25.1.50 (gnu/linux) MIME-Version: 1.0 Content-Type: text/plain X-MailScanner-ID: 1aYQaZ-0007wA-Gy X-Netfonds-MailScanner: Found to be clean X-Netfonds-MailScanner-From: larsi@gnus.org MailScanner-NULL-Check: 1456891093.39278@SIIMnkp9inoon+ZqtPDqbA X-Spam-Status: No X-Spam-Score: 0.0 (/) X-Debbugs-Envelope-To: 15747 Cc: 15747@debbugs.gnu.org, Nathan Trapuzzano , Eli Zaretskii X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.18 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: debbugs-submit-bounces@debbugs.gnu.org Sender: "Debbugs-submit" X-Spam-Score: 0.0 (/) Stefan Monnier writes: >> This should still apply cleanly on current trunk. > > Thanks. But at this stage, we have to wait for your paperwork to > come through. It seems like that still hasn't happened, and there doesn't seem to be much clamoring for this feature, so I'm closing this bug report as "wontfix". If others disagree, please reopen. -- (domestic pets only, the antidote for overdose, milk.) bloggy blog: http://lars.ingebrigtsen.no From debbugs-submit-bounces@debbugs.gnu.org Tue Feb 23 22:58:45 2016 Received: (at control) by debbugs.gnu.org; 24 Feb 2016 03:58:45 +0000 Received: from localhost ([127.0.0.1]:42087 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84) (envelope-from ) id 1aYQb7-0001oC-LV for submit@debbugs.gnu.org; Tue, 23 Feb 2016 22:58:45 -0500 Received: from hermes.netfonds.no ([80.91.224.195]:60475) by debbugs.gnu.org with esmtp (Exim 4.84) (envelope-from ) id 1aYQb6-0001o5-ED for control@debbugs.gnu.org; Tue, 23 Feb 2016 22:58:44 -0500 Received: from cpe-60-225-211-161.nsw.bigpond.net.au ([60.225.211.161] helo=mouse) by hermes.netfonds.no with esmtpsa (TLS1.0:RSA_AES_128_CBC_SHA1:16) (Exim 4.72) (envelope-from ) id 1aYQah-0007wP-NQ for control@debbugs.gnu.org; Wed, 24 Feb 2016 04:58:20 +0100 Date: Wed, 24 Feb 2016 14:58:16 +1100 Message-Id: <87h9gykbdz.fsf@gnus.org> To: control@debbugs.gnu.org From: Lars Ingebrigtsen Subject: control message for bug #15747 X-MailScanner-ID: 1aYQah-0007wP-NQ X-Netfonds-MailScanner: Found to be clean X-Netfonds-MailScanner-From: larsi@gnus.org MailScanner-NULL-Check: 1456891101.46634@2sVqUDqxPJdjd1bewlv10w X-Spam-Status: No X-Spam-Score: 0.0 (/) X-Debbugs-Envelope-To: control X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.18 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: debbugs-submit-bounces@debbugs.gnu.org Sender: "Debbugs-submit" X-Spam-Score: 0.0 (/) tags 15747 wontfix close 15747 From unknown Sun Jun 22 00:11:48 2025 Received: (at fakecontrol) by fakecontrolmessage; To: internal_control@debbugs.gnu.org From: Debbugs Internal Request Subject: Internal Control Message-Id: bug archived. Date: Wed, 23 Mar 2016 11:24:06 +0000 User-Agent: Fakemail v42.6.9 # This is a fake control message. # # The action: # bug archived. thanks # This fakemail brought to you by your local debbugs # administrator