help-gnu-emacs
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: how to teach emacs that ' + c = ç


From: Filipe Silva
Subject: Re: how to teach emacs that ' + c = ç
Date: Wed, 5 Jul 2017 13:11:23 -0300

Ok, so I implemented a your LANG=C hack in my emacs daemon script:



unamestr=$(uname -a)
if [[ "$unamestr" == *"Linux"* ]] && [[ $unamestr == *"ARCH"* ]]; then
  # fix cedila | ç  in emacs under arch linux
  # hack found here:
http://lists.gnu.org/archive/html/help-gnu-emacs/2017-07/msg00070.html
  LANG=C
fi

emacs.sh --daemon; rc=$?
if [[ ! $rc = 0 ]]; then
  echo -e "there was a ${Red}problem${Rst} starting emacs daemon: $rc"
  exit $rc
else
  echo -e "emacs daemon ${Blue}started${Rst}. success."
fi

boostrap_time=$(emacsclient.sh -e "(emacs-init-time)")
echo -e "emacs daemon boostrap time: ${Cyan}${boostrap_time}${Rst}"


And it works. But why does it works? It feels so fragile.


On Wed, Jul 5, 2017 at 12:55 PM, Filipe Silva <filipe.silva@gmail.com>
wrote:

> very interesting. LANC=C emacs really fix the problem. What is happening
> here?
>
> maybe this is a bug.
>
> On Tue, Jul 4, 2017 at 10:57 PM, Óscar Fuentes <ofv@wanadoo.es> wrote:
>
>> Filipe Silva <filipe.silva@gmail.com> writes:
>>
>> > I've set up my keyboard layout in arch with localectl set-x11-keymap us
>> > pc104 intl
>> >
>> > By default, in this layout, the ' is a dead character. It is called a
>> dead
>> > acute. In portuguese, we are used to compose the ç char with ' + c = ç
>> when
>> > using international us-keyboard layouts.
>> >
>> > I don't know why, but by default linux distros come configured so that
>> when
>> > you type this combination ' + c= ć, which is an invalid char in
>> Brazilian
>> > portuguese, and so I'm screwed.
>> >
>> > So I did this:
>> >
>> >    -
>> >
>> >    Editing the files:
>> >
>> >    sudo vim /usr/lib/gtk-3.0/3.0.0/immodules.cache sudo vim
>> >    /usr/lib/gtk-2.0/2.10.0/immodules.cache
>> >
>> >    changing the line
>> >
>> >    "cedilla" "Cedilla" "gtk20" "/usr/share/locale"
>> >    "az:ca:co:fr:gv:oc:pt:sq:tr:wa" to "cedilla" "Cedilla" "gtk20"
>> >    "/usr/share/locale" "az:ca:co:fr:gv:oc:pt:sq:tr:wa:en"
>> >    -
>> >
>> >    replaced "ć" to "ç" and "Ć" to "Ç" on
>> >    /usr/share/X11/locale/en_US.UTF-8/Compose
>> >
>> >    sudo cp /usr/share/X11/locale/en_US.UTF-8/Compose
>> >    /usr/share/X11/locale/en_US.UTF-8/Compose.bak sed 's/ć/ç/g' <
>> >    /usr/share/X11/locale/en_US.UTF-8/Compose | sed 's/Ć/Ç/g' > Compose
>> sudo mv
>> >    Compose /usr/share/X11/locale/en_US.UTF-8/Compose
>> >    -
>> >
>> >       add two lines on /etc/environment
>> >
>> >       GTK_IM_MODULE=cedilla QT_IM_MODULE=cedilla
>> >       -
>> >
>> >       restart my computer.
>> >
>> > And all is working fine in firefox, chromium, scite, gvim or any other
>> gui
>> > tool, but no emacs. on emacs, ' + cinsist on producing ć, despite my
>> > efforts.
>> >
>> >
>> > So I ask you, how can I teach emacs to produce ç and not ć in this
>> scenario?
>> >
>> >
>> > thanks in advance.
>>
>> Curious. I have
>>
>> setxkbmap us_intl
>>
>> in my init scripts and have the opposite problem (not actually a problem
>> for me since in my languages ç is not used).
>>
>> ' + c produces ç in Emacs but ć elsewhere.
>>
>> BUT...
>>
>> if I start Emacs with -Q, then ' + c indeed produces as the other
>> applications ć.
>>
>> After looking at my customizations, tried
>>
>> LANG=C emacs -Q
>>
>> and now ' + c gives ç.
>>
>> Hope this gives you some clues.
>>
>> Ubuntu 17.04 here.
>>
>>
>>
>


reply via email to

[Prev in Thread] Current Thread [Next in Thread]