emacs-orgmode
[Top][All Lists]
Advanced

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

Re: [Orgmode] Insert link with "foreign" character - cannot save


From: Sebastian Rose
Subject: Re: [Orgmode] Insert link with "foreign" character - cannot save
Date: Sat, 21 Nov 2009 00:17:01 +0100
User-agent: Gnus/5.13 (Gnus v5.13) Emacs/23.1 (gnu/linux)

Carsten Dominik <address@hidden> writes:

> Hi Mattias,
>
> I tried that, and my buffer swiched to unicode encoding automatically.
>
> Unfortunately I don't know much about coding systems, and so I do
> not know how to fix this.
>
> Anyone????
>
> - Carsten
>
> On Nov 12, 2009, at 10:28 AM, Mattias Jämting wrote:
>
>> (I'm using English Windows Vista x64, Emacs 23.1 and Org-mode 6.32b)
>>
>> So i'm doing C-u C-c C-l to browse for a file in order to insert a link to
>> it.
>>
>> The path and/or the filename contains for instance an ö (an o with two dots
>> above it, also the swedish word for "island"), which gets translated in my
>> org-file as \366.
>>
>> When I try to save the file I see the message:
>>
>> These default coding systems were tried to encode text
>> in the buffer `jwd.org':
>>   (utf-8-dos (79 . 4194294))
>> However, each of them encountered characters it couldn't encode:
>>   utf-8-dos cannot encode these:  These default coding systems were tried
>> to encode text
>> in the buffer `jwd.org':
>>   (utf-8-dos (79 . 4194294))
>> However, each of them encountered characters it couldn't encode:
>>   utf-8-dos cannot encode these:  \366
>>
>> Next I tried to hack myself a fix :-)
>>
>> I added (?\366 . "%F6") to org-link-escape-chars and ran make on it again,
>> but it didn't seem to work.


It's true, you cannot encode the bytes with dec. values above 127 in
utf-8 (see `man utf-8', unicode.org, whatever).



Seems your filenames are not utf-8 encoded.

Here it works, because on current Linux distros (and MAC OS??) filenames
are utf-8 encoded:

  C-u C-c C-f
  nä TAB RET

  [[file:nächtes-nötiges.org][Umlaute in Dateinamen]]


Maybe, if the file is from an old system, rename it (twice, to give it
the original name) and try again. Would that work?




There's an interesting discussion going on on emacs-devel, that might be
related (but it's not about filenames). You may read the entire thread
here:

  http://lists.gnu.org/archive/html/emacs-devel/2009-11/msg00661.html


The fazit so far, as I understood it, is, that Emasc 23 distinguishes
single and multibyte strings. Better not use array functions to handle
strings (which are multibyte internaly) in Emacs 23.

The OP did

  (setq nl "\n")
  (aset nl 0 ?ñ
  (insert nl)

which sets the first _byte_ of an array to 241, which in turn has no
valid representation on screen as character in Unicode (see `man urf-8'
and unicode.org). Thus Emacs insert \361 - for some reason :)



   Sebastian




reply via email to

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