We no longer need the distinction between raw and composed chars in input. - sam - An updated version of the sam text editor.
 (HTM) git clone git://vernunftzentrum.de/sam.git
 (DIR) Log
 (DIR) Files
 (DIR) Refs
 (DIR) LICENSE
       ---
 (DIR) commit ad594291b42ac116ce427211956cff9126912036
 (DIR) parent 8e2e9e5d024f89ba01f40f68a8d4cdd04b47c454
 (HTM) Author: Rob King <jking@deadpixi.com>
       Date:   Tue, 13 Sep 2016 10:58:51 -0500
       
       We no longer need the distinction between raw and composed chars in input.
       
       Diffstat:
         doc/samrc.5                         |       8 ++------
         include/libg.h                      |       1 -
         libXg/xtbinit.c                     |       2 +-
         samterm/samrc.c                     |      16 ----------------
       
       4 files changed, 3 insertions(+), 24 deletions(-)
       ---
 (DIR) diff --git a/doc/samrc.5 b/doc/samrc.5
       @@ -24,14 +24,11 @@ are considered comments and are ignored.
        The following configuration directives are supported:
        .Bl -tag
        .It bind
       -Bind a key sequence to a command,
       -a composed character,
       -or a raw character.
       +Bind a key sequence to a command or a raw character.
        The forms are:
        .Bd -literal
        
            bind M K command C
       -    bind M K composed C
            bind M K raw C
        
        .Ed
       @@ -61,8 +58,7 @@ or hexadecimal
        as in
        .Xr keyboard 5
        .Pc
       -specification of a character
       -.Pq "for raw and composed characters" "."
       +specification of a character.
        .Pp
        Note that keyboard symbol names are implementation-defined and often case-sensitive.
        .It unbind
 (DIR) diff --git a/include/libg.h b/include/libg.h
       @@ -99,7 +99,6 @@ enum{
            Knone,      /* invalid command type */
            Kdefault,   /* perform default command action */
            Kraw,       /* insert raw character code, subject to transformation (e.g. tab expansion) */
       -    Kcomposed,  /* insert composed character code */
            Kcommand,   /* execute command (see below) */
            Kend        /* mark the end of a command list */
        };
 (DIR) diff --git a/libXg/xtbinit.c b/libXg/xtbinit.c
       @@ -607,7 +607,7 @@ pushkbd(int c)
            if (eb == 0)
                berror("eballoc can't malloc");
            k.c = c;
       -    k.k = Kcomposed;
       +    k.k = Kraw;
            memcpy(eb->buf, &k, sizeof(Keystroke));
            esrc[Skeyboard].count++;
        }
 (DIR) diff --git a/samterm/samrc.c b/samterm/samrc.c
       @@ -238,12 +238,6 @@ dirraw(const char *s1, const char *s2, const char *s3, const char *s4)
        }
        
        static int
       -dircomposed(const char *s1, const char *s2, const char *s3, const char *s4)
       -{
       -    return installbinding(statetomask(s1, modmapping), nametokeysym(s2), Kcomposed, strtol(s3, NULL, 16));
       -}
       -
       -static int
        dirrawliteral(const char *s1, const char *s2, const char *s3, const char *s4)
        {
            if (strlen(s3) != 1)
       @@ -252,14 +246,6 @@ dirrawliteral(const char *s1, const char *s2, const char *s3, const char *s4)
        }
        
        static int
       -dircomposedliteral(const char *s1, const char *s2, const char *s3, const char *s4)
       -{
       -    if (strlen(s3) != 1)
       -        return -1;
       -    return installbinding(statetomask(s1, modmapping), nametokeysym(s2), Kcomposed, s3[0]);
       -}
       -
       -static int
        dirbind(const char *s1, const char *s2, const char *s3, const char *s4)
        {
            return installbinding(statetomask(s1, modmapping), nametokeysym(s2), Kcommand, nametocommand(s3));
       @@ -349,9 +335,7 @@ Directive directives[] ={
            {" chord %5[Nn12345] %5[Nn12345] %99s %99s",                  4, dirchord},
            {" unchord %5[Nn12345] %5[Nn12345]",                          2, dirunchord},
            {" bind %5[*camshNCAMSH12345] %99s raw 0x%4[0-9a-fA-F]",      3, dirraw},
       -    {" bind %5[*camshNCAMSH12345] %99s composed 0x%4[0-9a-fA-F]", 3, dircomposed},
            {" bind %5[*camshNCAMSH12345] %99s raw %1s",                  3, dirrawliteral},
       -    {" bind %5[*camshNCAMSH12345] %99s composed %1s",             3, dircomposedliteral},
            {" bind %5[*camshNCAMSH12345] %99s command %99s",             3, dirbind},
            {" unbind %5[*camshNCAMSH12345] %99s",                        2, dirunbind},
            {" foreground %1023s",                                        1, dirforeground},