From mboxrd@z Thu Jan 1 00:00:00 1970 Path: news.gmane.org!.POSTED!not-for-mail From: Drew Adams Newsgroups: gmane.emacs.devel Subject: Variable-width font indentation: pasting outside Emacs Date: Tue, 6 Mar 2018 10:21:47 -0800 (PST) Message-ID: NNTP-Posting-Host: blaine.gmane.org Mime-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: quoted-printable X-Trace: blaine.gmane.org 1520360465 4588 195.159.176.226 (6 Mar 2018 18:21:05 GMT) X-Complaints-To: usenet@blaine.gmane.org NNTP-Posting-Date: Tue, 6 Mar 2018 18:21:05 +0000 (UTC) Cc: Paul Eggert To: =?utf-8?B?Q2zDqW1lbnQgUGl0LUNsYXVkZWw=?= , "Herring, Davis" , emacs-devel@gnu.org Original-X-From: emacs-devel-bounces+ged-emacs-devel=m.gmane.org@gnu.org Tue Mar 06 19:21:00 2018 Return-path: Envelope-to: ged-emacs-devel@m.gmane.org Original-Received: from lists.gnu.org ([208.118.235.17]) by blaine.gmane.org with esmtp (Exim 4.84_2) (envelope-from ) id 1etHCY-0006Fa-26 for ged-emacs-devel@m.gmane.org; Tue, 06 Mar 2018 19:20:38 +0100 Original-Received: from localhost ([::1]:57468 helo=lists.gnu.org) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1etHEZ-0002UQ-0x for ged-emacs-devel@m.gmane.org; Tue, 06 Mar 2018 13:22:43 -0500 Original-Received: from eggs.gnu.org ([2001:4830:134:3::10]:39218) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1etHDv-0002UF-2I for emacs-devel@gnu.org; Tue, 06 Mar 2018 13:22:04 -0500 Original-Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1etHDq-0006Br-Tz for emacs-devel@gnu.org; Tue, 06 Mar 2018 13:22:03 -0500 Original-Received: from aserp2130.oracle.com ([141.146.126.79]:35352) by eggs.gnu.org with esmtps (TLS1.0:RSA_AES_256_CBC_SHA1:32) (Exim 4.71) (envelope-from ) id 1etHDq-00069h-KI for emacs-devel@gnu.org; Tue, 06 Mar 2018 13:21:58 -0500 Original-Received: from pps.filterd (aserp2130.oracle.com [127.0.0.1]) by aserp2130.oracle.com (8.16.0.22/8.16.0.22) with SMTP id w26ILsP5109165; Tue, 6 Mar 2018 18:21:54 GMT DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=oracle.com; h=mime-version : message-id : date : from : sender : to : cc : subject : content-type : content-transfer-encoding; s=corp-2017-10-26; bh=LACbWKqGj7GzjOaoPoxoTVfIPu+W5+3EgcCFqzOUzX4=; b=RvojKdDQAbYNwww5Dk5xOdj+NHmKU2oLcqDzLrPvkFwWEwPDBq1B4eDcIS/Xz12hBs2g fxHF+is5IF7i8Kg1Q00LsZEQvATVZlcwrnk7wa0fxaFadVIhTnp11Xmo6sMtR0hEELKh S+sc7kJRBHo9GF8ZVIT19FJTiBFttyuZsIM+LgKA8hG4zVGbI834nmBnsDYQIW/u8A1X efbKKu9zVohWRIvRFKX2+PzniScwi9bu3xrhBUMOpu2c5MMS+gAjRYlxDeXj1gF1ul5R CDASkBxsSTC+ifAYtJvF7XVZJ0MoCRQtHu6/MaunmCdAhfKuLG7SJwD/b5LoDiqJADuT Fg== Original-Received: from userv0021.oracle.com (userv0021.oracle.com [156.151.31.71]) by aserp2130.oracle.com with ESMTP id 2ghyt5r3sq-1 (version=TLSv1.2 cipher=ECDHE-RSA-AES256-GCM-SHA384 bits=256 verify=OK); Tue, 06 Mar 2018 18:21:54 +0000 Original-Received: from userv0122.oracle.com (userv0122.oracle.com [156.151.31.75]) by userv0021.oracle.com (8.14.4/8.14.4) with ESMTP id w26ILo2K002443 (version=TLSv1/SSLv3 cipher=DHE-RSA-AES256-GCM-SHA384 bits=256 verify=FAIL); Tue, 6 Mar 2018 18:21:50 GMT Original-Received: from abhmp0019.oracle.com (abhmp0019.oracle.com [141.146.116.25]) by userv0122.oracle.com (8.14.4/8.14.4) with ESMTP id w26ILmBp006398; Tue, 6 Mar 2018 18:21:49 GMT X-Priority: 3 X-Mailer: Oracle Beehive Extensions for Outlook 2.0.1.9.1 (1003210) [OL 16.0.4654.0 (x86)] X-Proofpoint-Virus-Version: vendor=nai engine=5900 definitions=8824 signatures=668685 X-Proofpoint-Spam-Details: rule=notspam policy=default score=0 suspectscore=0 malwarescore=0 phishscore=0 bulkscore=0 spamscore=0 mlxscore=0 mlxlogscore=999 adultscore=0 classifier=spam adjust=0 reason=mlx scancount=1 engine=8.0.1-1711220000 definitions=main-1803060203 X-detected-operating-system: by eggs.gnu.org: GNU/Linux 3.x [generic] [fuzzy] X-Received-From: 141.146.126.79 X-BeenThere: emacs-devel@gnu.org X-Mailman-Version: 2.1.21 Precedence: list List-Id: "Emacs development discussions." List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: emacs-devel-bounces+ged-emacs-devel=m.gmane.org@gnu.org Original-Sender: "Emacs-devel" Xref: news.gmane.org gmane.emacs.devel:223356 Archived-At: FWIW - I see lots of discussion about different ways that Emacs might implement appropriate display wrt indentation and alignment, for code and other text, and in particular, for variable-width fonts. But all of that is only about how the text appears inside Emacs. What about copying text and pasting it into other applications? Today, with a fixed-width font, you can copy and paste text, including code, into other apps and have it appear pretty much as you might expect/hope. (At least, that is, provided the text uses only SPC and not tab chars for indentation, or provided you first use `untabify'.) Should some consideration be given to pasting variable-width text outside Emacs in a way that pretty much does what a user might want/expect? If so, how to do that for variable-width fonts? Could we, for example, (optionally) affect copy or paste operations, to automatically try to compensate by inserting the (more or less) right number of SPC chars of the variable-width font (of the first non-whitespace char on the line)? Should we perhaps have different such conversions available while copying, depending on the destination (paste) environment, i.e., whether or not it handles variable-width text? People communicate about code and other text in more and more ways, many of which are and will remain outside Emacs. Can we try to DTRT for variable-width text, so that the result of pasting into another app gives indentation and alignment that at least approximates what one would want/expect? If so, should we try to do that? Shouldn't we take a point of view in which Emacs is part of the wider world and text is exchanged between Emacs and other apps? Thinking about that fact of exchange should maybe affect decisions about how to indent and align variable-width fonts inside Emacs. Or if it doesn't, maybe we should at least think about how we might convert text for exchange, from whatever design we choose to solve the inside-Emacs problem of displaying variable-width text with appropriate indentation and alignment. Put differently, if we choose this or that implementation to show variable-width text appropriately in Emacs, that might affect how well the result of pasting outside Emacs reflects the appearance inside Emacs.