Gnus development mailing list
 help / color / mirror / Atom feed
From: Stefan Monnier <monnier@IRO.UMontreal.CA>
To: rms@gnu.org
Cc: tzz@lifelogs.com, ding@gnus.org, emacs-devel@gnu.org
Subject: Re: gnus should accept UTF8 even if UTF-8 is standard
Date: Fri, 31 Oct 2008 17:29:32 -0400	[thread overview]
Message-ID: <jwvprlgtq06.fsf-monnier+emacs@gnu.org> (raw)
In-Reply-To: <E1KtwxR-0006sp-Ar@fencepost.gnu.org> (Richard M. Stallman's message of "Sun, 26 Oct 2008 00:10:29 -0400")

>> For instance, completing-read could accept a list of alternatives
>> that are valid if entered, but should not affect completion.

>     It's just easier to do a "loose match" than to hardcode a list
>     of alternatives.

> If it works, it's fine.

The following patch (to be applied by hand, or to be read) is a proof
of concept.  It allows the user to do "C-x RET f u8 TAB" and have it
complete to utf-8.


        Stefan


=== modified file 'lisp/international/mule.el'
--- lisp/international/mule.el  2008-07-24 03:10:36 +0000
+++ lisp/international/mule.el  2008-10-31 21:08:00 +0000
@@ -1192,6 +1192,10 @@
                  (widen)
                  (goto-char (point-min))
                  (set-auto-coding buffer-file-name (buffer-size))))))
+          (completion-ignore-case t)
+          (completion-pcm--delim-wild-regex
+           (concat completion-pcm--delim-wild-regex
+                   "\\|\\([[:alpha:]]\\)[[:digit:]]"))
           (cs (completing-read (format "Coding system for saving file (default %s): " auto-cs)
                                (completion-table-in-turn
                                 bcss-table combined-table)

=== modified file 'lisp/minibuffer.el'
--- lisp/minibuffer.el  2008-10-30 00:44:07 +0000
+++ lisp/minibuffer.el  2008-10-31 21:11:08 +0000
@@ -1512,6 +1512,13 @@
            (p0 p))
 
       (while (setq p (string-match completion-pcm--delim-wild-regex string p))
+        ;; Usually, completion-pcm--delim-wild-regex matches a delimiter,
+        ;; meaning that something can be added *before* it, but it can also
+        ;; match a prefix and postfix, in which case something can be added
+        ;; in-between (e.g. match [[:lower:]][[:upper:]]).
+        ;; This is determined by the presence of a submatch-1 which delimits
+        ;; the prefix.
+        (if (match-end 1) (setq p (match-end 1)))
         (push (substring string p0 p) pattern)
         (if (eq (aref string p) ?*)
             (progn





  reply	other threads:[~2008-10-31 21:29 UTC|newest]

Thread overview: 72+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2008-10-14 20:30 jidanni
2008-10-14 20:50 ` Ted Zlatanov
2008-10-15  0:39   ` Kenichi Handa
2008-10-15 16:10     ` Richard M. Stallman
2008-10-15 17:32     ` Ted Zlatanov
2008-10-15 19:49       ` Reiner Steib
2008-10-15 19:05         ` Ted Zlatanov
2008-10-15 22:03           ` Reiner Steib
2008-10-15 21:23             ` Ted Zlatanov
2008-10-16  0:15               ` Katsumi Yamaoka
2008-10-20 16:23                 ` Reiner Steib
2008-10-21  0:01                   ` Katsumi Yamaoka
2008-12-15 23:35                     ` Katsumi Yamaoka
2008-10-16  4:32               ` Stephen J. Turnbull
2008-10-16  6:47               ` Eli Zaretskii
2008-10-16 13:01                 ` Ted Zlatanov
2008-10-16  2:41             ` Stefan Monnier
2008-10-16 14:27               ` Richard M. Stallman
2008-10-16 15:41                 ` Stefan Monnier
2008-10-16 17:47                   ` Eli Zaretskii
2008-10-17 19:59                   ` Richard M. Stallman
2008-10-18 19:01                     ` Stefan Monnier
2008-10-20  1:14                       ` Richard M. Stallman
2008-10-20  3:21                         ` Stefan Monnier
2008-10-20  8:42                           ` Eli Zaretskii
2008-10-20 17:04                           ` Richard M. Stallman
2008-10-21  4:39                             ` Stephen J. Turnbull
2008-10-21  5:23                               ` Miles Bader
2008-10-21  6:25                                 ` tomas
2008-10-21  6:21                                   ` Miles Bader
2008-10-21  7:44                                     ` tomas
2008-10-21  8:15                                     ` Eli Zaretskii
2008-10-21  9:06                                       ` Stephen J. Turnbull
2008-10-21 10:22                                         ` Eli Zaretskii
2008-10-21 12:06                                           ` Stephen J. Turnbull
2008-10-21 12:40                                             ` Eli Zaretskii
2008-10-22  2:34                                               ` Stephen J. Turnbull
2008-10-22  4:33                                                 ` Eli Zaretskii
2008-10-22 21:02                                                 ` Richard M. Stallman
2008-10-22  0:32                                       ` Kenichi Handa
2008-10-22  4:27                                         ` Eli Zaretskii
2009-01-27  4:51                                           ` Kenichi Handa
2008-10-21  8:06                                 ` Stephen J. Turnbull
2008-10-20 16:00                 ` Reiner Steib
2008-10-20 22:03                   ` Richard M. Stallman
2008-10-21  2:50                     ` Kenichi Handa
2008-10-21 16:00                       ` Ted Zlatanov
2008-10-22  1:22                         ` Kenichi Handa
2008-10-22  2:07                         ` Stephen J. Turnbull
2008-10-22  6:21                         ` Richard M. Stallman
2008-10-23  2:34                           ` Kenichi Handa
2008-10-23 21:08                             ` Richard M. Stallman
2008-10-24  0:54                               ` Kenichi Handa
2008-10-24 18:36                                 ` Richard M. Stallman
2008-10-22 13:15                         ` Stefan Monnier
2008-10-24 17:21                           ` Ted Zlatanov
2008-10-25  2:01                             ` Richard M. Stallman
2008-10-25  2:32                               ` Kenichi Handa
2008-10-26  4:10                                 ` Richard M. Stallman
2008-10-31  6:33                                   ` Kenichi Handa
2008-10-31  7:24                                     ` Miles Bader
2008-10-31 19:31                                     ` Richard M. Stallman
2008-11-01  2:17                                       ` Kenichi Handa
2008-11-02  1:53                                         ` Richard M. Stallman
2008-11-07  7:15                                           ` Kenichi Handa
2008-11-07 17:04                                             ` Richard M. Stallman
2008-10-25 18:27                               ` Stefan Monnier
2008-10-26  4:10                                 ` Richard M. Stallman
2008-10-31 21:29                                   ` Stefan Monnier [this message]
2008-11-10  5:43                                     ` Kenichi Handa
2008-11-10 15:01                                       ` Stefan Monnier
2008-10-16  1:12         ` Kenichi Handa

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=jwvprlgtq06.fsf-monnier+emacs@gnu.org \
    --to=monnier@iro.umontreal.ca \
    --cc=ding@gnus.org \
    --cc=emacs-devel@gnu.org \
    --cc=rms@gnu.org \
    --cc=tzz@lifelogs.com \
    /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.
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).