Package: cdebconf
Version: 0.156
Severity: normal
Tags: patch

Hello,

Currently, the speech synthesis speaks cdebconf choices in a
non-intelligible way. This is because:

1. Foo 2. Bar

is recognized as "1", then "Foo 2", then "Bar".

The attached patch fixes it by properly using colon and comma to
separate choices:

1: Foo, 2: Bar

the speech synthesis will then properly pause between "Foo" and "2".

Samuel

-- System Information:
Debian Release: wheezy/sid
  APT prefers testing
  APT policy: (990, 'testing'), (500, 'unstable'), (500, 'stable'), (1, 
'experimental')
Architecture: amd64 (x86_64)

Kernel: Linux 2.6.39-2-amd64 (SMP w/2 CPU cores)
Locale: LANG=fr_FR.UTF-8, LC_CTYPE=fr_FR.UTF-8 (charmap=UTF-8)
Shell: /bin/sh linked to /bin/bash

Versions of packages cdebconf depends on:
ii  debconf                      1.5.40      Debian configuration management sy
ii  dpkg                         1.16.0.3    Debian package management system
ii  libc6                        2.13-7      Embedded GNU C Library: Shared lib
ii  libdebian-installer4         0.78        Library of common debian-installer
ii  libnewt0.52                  0.52.11-2.1 Not Erik's Windowing Toolkit - tex
ii  libslang2                    2.2.4-2     S-Lang programming library - runti
ii  libtextwrap1                 0.1-12      text-wrapping library with i18n - 

cdebconf recommends no packages.

Versions of packages cdebconf suggests:
pn  cdebconf-gtk                  <none>     (no description available)

-- no debconf information

-- 
Samuel Thibault <samuel.thiba...@fnac.net>
Actually, typing random strings in the Finder does the equivalent of
filename completion.
(Discussion in comp.os.linux.misc on the intuitiveness of commands: file
completion vs. the Mac Finder.)
diff --git a/src/modules/frontend/text/text.c b/src/modules/frontend/text/text.c
index db4988d..1e66244 100644
--- a/src/modules/frontend/text/text.c
+++ b/src/modules/frontend/text/text.c
@@ -234,10 +234,11 @@ printlist (struct frontend *obj, struct question *q, int 
count, char **choices_t
        for (i=0; i < count; i++)
        {
                /*  Trailing spaces are a placeholder to add [*] for
-                   selected values */
-               asprintf(&(fchoices[i]), "%3d. %s    ", i+1, 
choices_translated[i]);
+                   selected values
+                   Comma is needed for proper speech synthesis pause */
+               asprintf(&(fchoices[i]), "%3d: %s,    ", i+1, 
choices_translated[i]);
                if (selected[tindex[i]])
-                       strcpy(fchoices[i]+strlen(fchoices[i])-3, "[*]");
+                       strcpy(fchoices[i]+strlen(fchoices[i])-5, " [*],");
                if (strwidth(fchoices[i]) < choice_min || choice_min == -1)
                        choice_min = strwidth(fchoices[i]);
                if (strwidth(fchoices[i]) > width)
@@ -339,8 +340,8 @@ static int text_handler_boolean(struct frontend *obj, 
struct question *q)
        }
 
        do {
-               printf("  %d. %s%s", 1, question_get_text(obj, "debconf/yes", 
"Yes"), (1 == def ? " [*]" : "    "));
-               printf("  %d. %s%s", 2, question_get_text(obj, "debconf/no", 
"No"), (2 == def ? " [*]" : ""));
+               printf("  %d: %s%s", 1, question_get_text(obj, "debconf/yes", 
"Yes"), (1 == def ? " [*]" : "    "));
+               printf("  %d: %s%s", 2, question_get_text(obj, "debconf/no", 
"No"), (2 == def ? " [*]" : ""));
                printf("\n");
                if (def)
                        printf(question_get_text(obj, 
"debconf/text-prompt-default",

Reply via email to