zsh-workers
 help / color / mirror / code / Atom feed
From: Wayne Davison <wayned@users.sourceforge.net>
To: Peter Stephenson <pws@csr.com>
Cc: zsh-workers@sunsite.dk
Subject: Re: PATCH: make unicode support configurable
Date: Mon, 15 Aug 2005 11:27:52 -0700	[thread overview]
Message-ID: <20050815182752.GC29158@blorf.net> (raw)
In-Reply-To: <13553.1124126857@csr.com>

[-- Attachment #1: Type: text/plain, Size: 1163 bytes --]

On Mon, Aug 15, 2005 at 06:27:37PM +0100, Peter Stephenson wrote:
> Probably something more general is appropriate [...]
> --enable-multibyte-zle is about the best I can think of.

OK.  I also like Oliver's logic that we will want to tie-in any future
multibyte support into the same option, so my newest patch changes the
option name to just --enable-multibyte.  If we decide the -zle suffix
is better, it will be easy to add.

> (indeed, [something more general] would be [appropriate] for the name
> ZLE_UNICODE_SUPPORT if the definition doesn't depend on ISO 10646). 

I'll leave any possible renaming of the ZLE_UNICODE_SUPPORT define for
later.

> It's possible we might: it controls whether printf understands Unicode.

Oh, I didn't realize that.  I've restored that logic in this new patch
and enhanced the comment to mention printf.  The code in system.h still
checks for __STDC_ISO_10646__ for this, though I don't know if the
subset actually needs this test or not.

My new patch also removes some debug code that got left in the previous
patch (it echoed a var to /tmp/uni).

Let me know if there are any objections to my checking this in.

..wayne..

[-- Attachment #2: multibyte.patch --]
[-- Type: text/plain, Size: 2327 bytes --]

--- configure.ac	1 Aug 2005 09:54:56 -0000	1.37
+++ configure.ac	15 Aug 2005 18:22:36 -0000
@@ -2063,6 +2063,37 @@ int ptsname();], ,
    fi
 fi
 
+dnl ---------------------
+dnl multibyte ZLE support
+dnl ---------------------
+AC_ARG_ENABLE(multibyte,
+[  --enable-multibyte         support multibyte chars in the zsh line editor],
+[zsh_cv_c_zle_unicode_support=$enableval],
+[AC_CACHE_CHECK(if the system adequately supports multibyte chars,
+ zsh_cv_c_zle_unicode_support,
+  [AC_TRY_COMPILE([
+#ifdef HAVE_LOCALE_H
+# include <locale.h>
+#endif
+   ], [
+int main() {
+#if defined(HAVE_WCHAR_H) && defined(HAVE_WCTOMB) \
+ && defined(HAVE_MBRTOWC) && defined(HAVE_WCRTOMB) \
+ && defined (__STDC_ISO_10646__)
+    return 0;
+#else
+# error Not supported.
+#endif
+}
+  ],
+    zsh_cv_c_zle_unicode_support=yes,
+    zsh_cv_c_zle_unicode_support=no)])
+])
+AH_TEMPLATE([ZLE_UNICODE_SUPPORT],
+[Define to 1 if you want unicode support in the line editor.])
+if test $zsh_cv_c_zle_unicode_support = yes; then
+  AC_DEFINE(ZLE_UNICODE_SUPPORT)
+fi
 
 dnl ---------------
 dnl dynamic loading
--- Src/system.h	15 Aug 2005 10:01:48 -0000	1.33
+++ Src/system.h	15 Aug 2005 18:22:36 -0000
@@ -692,21 +692,17 @@ extern short ospeed;
 #endif
 
 /*
- * This is a subset of ZLE_UNICODE_SUPPORT.  It is not all that likely
- * that only the subset is supported, however it's easy to make the
- * \u and \U escape sequences work with just the following.
+ * The ZLE_UNICODE_SUPPORT configure-define specifies that we want to enable
+ * complete Unicode conversion between wide characters and multibyte strings.
  */
-#if defined(HAVE_WCHAR_H) && defined(HAVE_WCTOMB) && defined (__STDC_ISO_10646__)
-# include <wchar.h>
-# include <wctype.h>
-
+#if defined ZLE_UNICODE_SUPPORT \
+ || (defined HAVE_WCHAR_H && defined HAVE_WCTOMB && defined __STDC_ISO_10646__)
 /*
- * More stringent requirements to enable complete Unicode conversion
- * between wide characters and multibyte strings.
+ * If ZLE_UNICODE_SUPPORT is not defined, these includes provide a subset of
+ * Unicode support that makes the \u and \U printf escape sequences work.
  */
-#if defined(HAVE_MBRTOWC) && defined(HAVE_WCRTOMB)
-#define ZLE_UNICODE_SUPPORT	1
-#endif
+# include <wchar.h>
+# include <wctype.h>
 #else
 # ifdef HAVE_LANGINFO_H
 #   include <langinfo.h>

  reply	other threads:[~2005-08-15 18:28 UTC|newest]

Thread overview: 5+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2005-08-15 17:17 Wayne Davison
2005-08-15 17:27 ` Peter Stephenson
2005-08-15 18:27   ` Wayne Davison [this message]
2005-08-15 17:46 ` Oliver Kiddle
2005-08-15 17:54   ` Peter Stephenson

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=20050815182752.GC29158@blorf.net \
    --to=wayned@users.sourceforge.net \
    --cc=pws@csr.com \
    --cc=zsh-workers@sunsite.dk \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
Code repositories for project(s) associated with this public inbox

	https://git.vuxu.org/mirror/zsh/

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).