From mboxrd@z Thu Jan 1 00:00:00 1970 Path: news.gmane.io!.POSTED.blaine.gmane.org!not-for-mail From: Tim Landscheidt Newsgroups: gmane.emacs.help Subject: Coding system to encode arguments to groff? Date: Wed, 29 Sep 2021 08:01:12 +0000 Organization: http://www.tim-landscheidt.de/ Message-ID: <87v92jyfnb.fsf@vagabond.tim-landscheidt.de> Mime-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit Injection-Info: ciao.gmane.io; posting-host="blaine.gmane.org:116.202.254.214"; logging-data="18932"; mail-complaints-to="usenet@ciao.gmane.io" User-Agent: Gnus/5.13 (Gnus v5.13) Emacs/27.2 (gnu/linux) To: help-gnu-emacs@gnu.org Cancel-Lock: sha1:SzhfT0X3m8A6/gtw+4G1sfuWxDI= Original-X-From: help-gnu-emacs-bounces+geh-help-gnu-emacs=m.gmane-mx.org@gnu.org Wed Sep 29 10:03:15 2021 Return-path: Envelope-to: geh-help-gnu-emacs@m.gmane-mx.org Original-Received: from lists.gnu.org ([209.51.188.17]) by ciao.gmane.io with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.92) (envelope-from ) id 1mVUYd-0004na-Bm for geh-help-gnu-emacs@m.gmane-mx.org; Wed, 29 Sep 2021 10:03:15 +0200 Original-Received: from localhost ([::1]:35446 helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1mVUYb-0000H5-I2 for geh-help-gnu-emacs@m.gmane-mx.org; Wed, 29 Sep 2021 04:03:13 -0400 Original-Received: from eggs.gnu.org ([2001:470:142:3::10]:53248) by lists.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1mVUXL-0000Ex-An for help-gnu-emacs@gnu.org; Wed, 29 Sep 2021 04:01:55 -0400 Original-Received: from ciao.gmane.io ([116.202.254.214]:46412) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1mVUXG-0007xH-N0 for help-gnu-emacs@gnu.org; Wed, 29 Sep 2021 04:01:52 -0400 Original-Received: from list by ciao.gmane.io with local (Exim 4.92) (envelope-from ) id 1mVUXD-0003BN-84 for help-gnu-emacs@gnu.org; Wed, 29 Sep 2021 10:01:47 +0200 X-Injected-Via-Gmane: http://gmane.org/ Received-SPF: pass client-ip=116.202.254.214; envelope-from=geh-help-gnu-emacs@m.gmane-mx.org; helo=ciao.gmane.io X-Spam_score_int: -16 X-Spam_score: -1.7 X-Spam_bar: - X-Spam_report: (-1.7 / 5.0 requ) BAYES_00=-1.9, HEADER_FROM_DIFFERENT_DOMAINS=0.249, SPF_HELO_NONE=0.001, SPF_PASS=-0.001 autolearn=no autolearn_force=no X-Spam_action: no action X-BeenThere: help-gnu-emacs@gnu.org X-Mailman-Version: 2.1.23 Precedence: list List-Id: Users list for the GNU Emacs text editor List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: help-gnu-emacs-bounces+geh-help-gnu-emacs=m.gmane-mx.org@gnu.org Original-Sender: "help-gnu-emacs" Xref: news.gmane.io gmane.emacs.help:133381 Archived-At: Hi, I pass text arguments from Emacs Lisp to a groff command with the "-d" option. For ASCII strings, this is trivial; for strings with umlauts, I need to use: | (encode-coding-string variable-to-pass 'iso-latin-1) For strings with other Unicode characters like "–" (#x2013), I need to call groff's preconv like: | (shell-command-to-string (concat "preconv -r <(echo " (shell-quote-argument variable-to-pass) ")")) which for "ä–ö" returns something like: | \[u00E4]\[u2013]\[u00F6] Now in Emacs, this looks very much like what a coding system would do. The info documentation for elisp just laconically says: | How to define a coding system is an arcane matter, and is not | documented here. Has someone implemented such a coding system for groff so that something like: | (encode-coding-string variable-to-pass 'x-groff) would do what is needed? TIA, Tim