unofficial mirror of emacs-devel@gnu.org 
 help / color / mirror / code / Atom feed
From: "Jan Djärv" <jan.h.d@swipnet.se>
To: Jason Rumney <jasonr@gnu.org>
Cc: Juri Linkov <juri@jurta.org>, emacs-devel@gnu.org
Subject: Re: Key bindings proposal
Date: Sat, 28 Aug 2010 12:58:02 +0200	[thread overview]
Message-ID: <4C78EBBA.4010000@swipnet.se> (raw)
In-Reply-To: <4C78E145.80700@gnu.org>



Jason Rumney skrev 2010-08-28 12.13:
> On 28/8/2010 5:41 PM, Jan Djärv wrote:
>
>> Sure, but putting in stuff like :key-accel makes translation harder and you
>> have to add lisp and C code to handle it. Text properties exist now.
>>
>> It is trivial to make a function that takes for example "_File" and turns
>> this into a string with "File" and a text property on F.
>
> It's not significantly more difficult than a function that replaces both the
> menu text and the :key-accel (or :mnemonic to use the GTK and Motif name
> rather than the MS Windows one) property given the menu item that is being
> translated and the translation string as above.
>
> The interface should be what is easy for the users of the function, not what
> is slightly easier for the person who implements the feature.
>

Agreed.  But it is a fundamentally bad design to keep information in two 
places.  Take this:

(define-key menu-bar-file-menu [exit-emacs]
   `(menu-item ,(purecopy "Quit") save-buffers-kill-terminal
	      :key-accel "Q"
               :help ,(purecopy "Save unsaved buffers, then exit")))

Information in two places.  You may think it is not a big deal, but Motif uses 
a similar scheme (a property that is the number of the acceleration 
character).  People has to update in two places.  When changing menu text 
mistakes will be made and :key-accel will be wrong.  I seen this happen in 
Motif apps, it will happen here also.

Keeping the accelerator indication in the string itself:
(define-key menu-bar-file-menu [exit-emacs]
   `(menu-item ,(purecopy "_Quit") save-buffers-kill-terminal
               :help ,(purecopy "Save unsaved buffers, then exit")))

almost guarantees that bad things won't happen.

This is without any translation.  That is a separate matter.  For example, how 
are you going to present the first case to a translator that uses gettext? He 
only sees "Quit" and does not know where the accelerator is or that there 
should be one.  Gettext collects it strings automatically from sources such as 
.el files and does not know about :key-accel.

	Jan D.




  reply	other threads:[~2010-08-28 10:58 UTC|newest]

Thread overview: 277+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2010-07-26 22:01 Key bindings proposal [Was: Emacs learning curve] Uday S Reddy
2010-07-27  3:17 ` Stephen J. Turnbull
2010-07-27 10:32 ` Key bindings proposal Stefan Monnier
2010-07-27 11:30   ` Eric M. Ludlam
2010-07-27 11:32   ` Stephen J. Turnbull
2010-07-27 12:03     ` Stefan Monnier
2010-07-27 16:41       ` Uday S Reddy
2010-07-27 23:32         ` Miles Bader
2010-07-29 14:05           ` Stefan Monnier
2010-07-27 16:41       ` Stephen J. Turnbull
2010-07-27 17:52         ` Uday S Reddy
2010-07-28  5:57           ` Stephen J. Turnbull
2010-07-28 18:32             ` Uday S Reddy
2010-07-29  5:47               ` Stephen J. Turnbull
2010-07-29 15:28   ` Uday S Reddy
2010-07-29 16:05     ` Andreas Röhler
2010-07-31  7:16     ` Mathias Dahl
2010-07-31 10:04       ` Uday S Reddy
2010-07-31 14:07         ` Alan Mackenzie
2010-07-31 18:17         ` Drew Adams
2010-08-02 14:59           ` Uday S Reddy
2010-08-02 17:59             ` Drew Adams
2010-08-02 18:10               ` Lennart Borgman
2010-08-03  9:45                 ` Jan Djärv
2010-08-03 10:02                   ` Lennart Borgman
2010-08-03  2:09               ` Stephen J. Turnbull
2010-08-03 11:56               ` Uday S Reddy
2010-08-03 14:04                 ` Juanma Barranquero
2010-08-03 15:02                   ` Lennart Borgman
2010-08-03 15:16                     ` Juanma Barranquero
2010-08-03 15:54                       ` Lennart Borgman
2010-08-03 15:18                     ` David Kastrup
2010-08-03 15:51                       ` Lennart Borgman
2010-08-03 15:58                         ` no forking relation (was: Key bindings proposal) Drew Adams
2010-08-05  8:39                   ` Key bindings proposal Uday S Reddy
2010-08-05  9:22                     ` Juanma Barranquero
2010-08-05 11:00                       ` Lennart Borgman
2010-08-05 11:24                         ` Juanma Barranquero
2010-08-05 12:16                           ` Lennart Borgman
2010-08-05 13:59                             ` Uday S Reddy
2010-08-05 14:07                               ` Lennart Borgman
2010-08-05 13:10                         ` Uday S Reddy
2010-08-05 13:13                           ` Juanma Barranquero
2010-08-05 13:22                           ` Lennart Borgman
2010-08-05 13:48                             ` Uday S Reddy
2010-08-05 14:01                               ` Lennart Borgman
2010-08-05 14:01                                 ` Lennart Borgman
2010-08-05 17:08                                   ` Uday S Reddy
     [not found]                                 ` <19546.51009.703000.960158@gargle.gargle.HOWL>
2010-08-05 14:18                                   ` Lennart Borgman
2010-08-06  0:50                             ` Jason Rumney
2010-08-06  1:28                               ` Lennart Borgman
2010-08-06  1:35                                 ` Jason Rumney
2010-08-06  1:41                                   ` Lennart Borgman
2010-08-06  1:58                                     ` Lennart Borgman
2010-08-06  2:16                                       ` Óscar Fuentes
2010-08-06  2:38                                         ` Lennart Borgman
2010-08-06  2:34                                       ` Lennart Borgman
2010-08-06  2:55                                         ` Lennart Borgman
2010-08-06  3:11                                           ` Lennart Borgman
2010-08-06  6:05                                             ` Jason Rumney
2010-08-06 15:07                                               ` Lennart Borgman
2010-08-06 15:29                                                 ` Lennart Borgman
2010-08-05 20:33                           ` Óscar Fuentes
2010-08-05 21:26                             ` Uday S Reddy
2010-08-05 22:55                               ` Lennart Borgman
2010-08-06  0:05                               ` Drew Adams
2010-08-06  7:46                                 ` Eli Zaretskii
2010-08-06  3:21                             ` Stephen J. Turnbull
2010-08-06  3:25                               ` Lennart Borgman
2010-08-06  5:22                                 ` Stephen J. Turnbull
2010-08-06  6:21                                   ` Tassilo Horn
2010-08-06  5:09                               ` Miles Bader
2010-08-06  9:02                                 ` Stephen J. Turnbull
2010-08-06 17:32                               ` Uday S Reddy
2010-08-06 17:46                                 ` Óscar Fuentes
2010-08-06 18:40                                   ` Uday S Reddy
2010-08-06 19:13                                   ` Drew Adams
2010-08-06 19:04                                 ` Juanma Barranquero
2010-08-08 22:22                                 ` Chong Yidong
2010-08-08 22:29                                   ` Lennart Borgman
2010-08-08 23:06                                     ` David De La Harpe Golden
2010-08-08 23:09                                     ` Chong Yidong
     [not found]                                       ` <AANLkTim86uB8Yb3P9_HX2NN=RQ6svVTvXfyvUQfAJAnE@mail.gmail! .com>
2010-08-08 23:19                                       ` Lennart Borgman
2010-08-08 23:42                                         ` Chong Yidong
     [not found]                                           ` <AANLkTikRWNmYsEqJX7ccPFGsBobNLkeYRY+1BvnBDOt9!! @mail.gmail.com>
     [not found]                                           ` <AANLkTikRWNmYsEqJX7ccPFGsBobNLkeYRY+1BvnBDOt9! @mail.gmail.com>
2010-08-09 14:50                                           ` Lennart Borgman
2010-08-09 15:16                                             ` Uday S Reddy
2010-08-09 16:08                                               ` Drew Adams
2010-08-10  7:30                                                 ` Stephen J. Turnbull
2010-08-12 15:21                                             ` Chong Yidong
2010-08-12 15:46                                               ` Andreas Schwab
2010-08-12 16:13                                                 ` Jan Djärv
2010-08-12 15:59                                               ` Lennart Borgman
2010-08-12 21:20                                                 ` Juanma Barranquero
2010-08-12 21:57                                                   ` Uday S Reddy
2010-08-12 22:06                                                     ` Uday S Reddy
2010-08-12 22:12                                                     ` Juanma Barranquero
2010-08-12 23:02                                                       ` Lennart Borgman
2010-08-12 23:11                                                         ` Juanma Barranquero
2010-08-13  8:57                                                       ` Uday S Reddy
2010-08-13 14:42                                                         ` Drew Adams
2010-08-13 14:57                                                           ` Lennart Borgman
2010-08-13 16:09                                                             ` Drew Adams
2010-08-13 16:15                                                               ` Lennart Borgman
2010-08-13 17:40                                                                 ` David Robinow
2010-08-14  0:01                                                                 ` Drew Adams
2010-08-13 16:07                                                           ` Uday S Reddy
2010-08-13 22:34                                                             ` Juanma Barranquero
2010-08-14  0:01                                                             ` Drew Adams
2010-08-14  9:23                                                               ` Uday S Reddy
2010-08-13 22:53                                                         ` Juanma Barranquero
2010-08-14  7:08                                                           ` Uday S Reddy
2010-08-13 15:37                                                     ` Chong Yidong
2010-08-13 15:46                                                       ` Óscar Fuentes
2010-08-13 16:50                                                         ` Chong Yidong
2010-08-13 20:32                                                           ` Óscar Fuentes
2010-08-13 22:37                                                             ` Juanma Barranquero
2010-08-13 23:30                                                               ` Óscar Fuentes
2010-08-13 23:53                                                                 ` Juanma Barranquero
2010-08-14  0:21                                                                   ` Óscar Fuentes
2010-08-15 22:21                                                                     ` Juanma Barranquero
2010-08-14  0:00                                                             ` Drew Adams
2010-08-14  0:25                                                               ` Óscar Fuentes
2010-08-14  2:05                                                                 ` Drew Adams
2010-08-14 10:20                                                                   ` Jeff Clough
2010-08-14  7:48                                                             ` Uday S Reddy
2010-08-14  8:18                                                               ` Jason Rumney
2010-08-15 22:27                                                               ` Juanma Barranquero
2010-08-16  7:25                                                           ` christian.lynbech
2010-08-16  7:37                                                             ` Miles Bader
2010-08-13 16:01                                                       ` Jason Rumney
2010-08-13 22:40                                                         ` Juanma Barranquero
2010-08-13 22:46                                                           ` Lennart Borgman
2010-08-13 16:04                                                       ` Lennart Borgman
2010-08-13 16:53                                                         ` Chong Yidong
2010-08-14  0:41                                                           ` Jason Rumney
2010-08-14  1:24                                                             ` Chong Yidong
2010-08-14  2:13                                                               ` Jason Rumney
2010-08-14  2:02                                                             ` Drew Adams
2010-08-13 22:43                                                         ` Juanma Barranquero
2010-08-14  0:30                                                         ` Jason Rumney
2010-08-14 12:07                                                           ` Lennart Borgman
2010-08-14 13:56                                                             ` Jason Rumney
2010-08-09  1:01                                         ` Juanma Barranquero
2010-08-09  8:48                                           ` Uday S Reddy
2010-08-09  8:13                                   ` Uday S Reddy
2010-08-10  7:52                                   ` Uday Reddy
2010-08-13  9:05                                   ` Uday S Reddy
2010-08-03 15:54                 ` Stephen J. Turnbull
2010-08-04  9:52                   ` Uday S Reddy
2010-08-04 10:20                     ` joakim
2010-08-04 10:52                       ` Lennart Borgman
2010-08-04 11:11                         ` joakim
2010-08-04 11:25                           ` Lennart Borgman
2010-08-04 11:44                             ` joakim
2010-08-04 13:24                             ` Jason Rumney
2010-08-04 13:29                               ` Lennart Borgman
2010-08-04 11:19                         ` Jan Djärv
2010-08-04 11:27                           ` Lennart Borgman
2010-08-04 13:27                             ` Jason Rumney
2010-08-04 13:45                               ` Lennart Borgman
2010-08-04 11:16                       ` Uday S Reddy
2010-08-04 11:28                         ` Andreas Schwab
2010-08-04 11:36                           ` Uday S Reddy
2010-08-04 12:03                             ` Andreas Schwab
2010-08-04 12:09                               ` Lennart Borgman
2010-08-04 12:13                                 ` Andreas Schwab
2010-08-04 12:17                                   ` Lennart Borgman
2010-08-04 12:33                               ` Uday S Reddy
2010-08-04 16:19                                 ` Tom
2010-08-04 17:38                                   ` Stuart Hacking
2010-08-05  2:39                                     ` Stephen J. Turnbull
2010-08-05  8:16                                       ` Stuart Hacking
2010-08-05  8:34                                       ` Andreas Schwab
2010-08-05 11:55                                         ` Stephen J. Turnbull
2010-08-05 12:20                                           ` Andreas Schwab
2010-08-05 12:37                                             ` Stephen J. Turnbull
2010-08-05 12:47                                               ` Andreas Schwab
2010-08-05  2:28                                   ` Chong Yidong
2010-08-05  3:14                                     ` Stephen J. Turnbull
2010-08-05  7:46                                       ` Uday S Reddy
2010-08-05 15:17                                         ` David Kastrup
2010-08-06  3:12                                         ` Stephen J. Turnbull
2010-08-06  5:54                                           ` Jan Djärv
2010-08-06  6:20                                             ` Stephen J. Turnbull
2010-08-05 14:01                                     ` Richard Stallman
2010-08-05 14:55                                       ` Eli Zaretskii
2010-08-04 14:06                               ` Stephen J. Turnbull
2010-08-04 13:53                         ` Stephen J. Turnbull
2010-08-04 13:15                       ` Jason Rumney
2010-08-04 10:54                     ` Stephen J. Turnbull
2010-08-04 11:25                       ` Uday S Reddy
2010-08-04 14:25                         ` Stephen J. Turnbull
2010-08-04 15:21                       ` Óscar Fuentes
2010-08-04 15:45                         ` joakim
2010-08-04 12:57                 ` Stefan Monnier
2010-08-02  9:42         ` Stuart Hacking
2010-08-02 10:58           ` Uday S Reddy
2010-08-02 11:17             ` Stuart Hacking
2010-08-02 11:58               ` Uday S Reddy
2010-08-03  3:03                 ` Stephen J. Turnbull
2010-08-02 10:12         ` Tassilo Horn
2010-08-02 11:24           ` Uday S Reddy
2010-08-23 13:45       ` Juri Linkov
2010-08-23 14:14         ` Thierry Volpiatto
2010-08-23 20:56           ` Juri Linkov
2010-08-23 21:15             ` Thierry Volpiatto
2010-08-23 22:36               ` Drew Adams
2010-08-24 13:55                 ` Juri Linkov
2010-08-24 15:20                   ` Thierry Volpiatto
2010-08-24 16:38                   ` Drew Adams
2010-08-25 13:47                     ` Juri Linkov
2010-08-23 14:39         ` Drew Adams
2010-08-23 20:45           ` Juri Linkov
2010-08-24 13:50           ` Juri Linkov
2010-08-24 16:34             ` Drew Adams
2010-08-25 13:48               ` Juri Linkov
2010-08-25 15:07                 ` Drew Adams
2010-08-26 23:22                   ` Juri Linkov
2010-08-27 12:10                     ` Jason Rumney
2010-08-27 22:38                       ` Juri Linkov
2010-08-28  0:01                         ` Stefan Monnier
2010-08-28  7:28                           ` Eli Zaretskii
2010-08-30 14:37                             ` Stefan Monnier
2010-08-30 15:34                               ` Drew Adams
2010-08-30 15:39                                 ` Lennart Borgman
2010-08-30 15:53                                   ` Drew Adams
2010-08-30 16:06                                     ` Lennart Borgman
2010-08-30 15:54                                 ` Andreas Schwab
2010-08-30 21:39                                 ` Davis Herring
2010-08-31  5:49                                   ` Jan Djärv
2010-08-31  9:54                                     ` Lennart Borgman
2010-08-31 12:14                                       ` Jan Djärv
2010-08-31 21:25                                         ` Lennart Borgman
2010-08-28  9:25                           ` Jan Djärv
2010-08-28  1:02                         ` Jason Rumney
2010-08-28  9:20                         ` Jan Djärv
2010-08-28  9:23                           ` Jason Rumney
2010-08-28  9:41                             ` Jan Djärv
2010-08-28 10:13                               ` Jason Rumney
2010-08-28 10:58                                 ` Jan Djärv [this message]
2010-08-28 23:16                                   ` Juri Linkov
2010-08-29  7:46                                     ` Jan Djärv
2010-08-29 11:58                                       ` David Kastrup
2010-08-29 12:24                                         ` Jan Djärv
2010-08-25 16:34                 ` Stephen J. Turnbull
2010-08-26 23:23                   ` Juri Linkov
2010-08-27  0:17                     ` Miles Bader
2010-08-27 22:38                       ` Juri Linkov
2010-08-27  8:56           ` Uday S Reddy
2010-08-23 17:10         ` Andreas Schwab
2010-08-27  8:18         ` Uday S Reddy
2010-08-27 22:34           ` Juri Linkov
2010-08-27 23:12             ` Lennart Borgman
2010-08-28 23:27               ` Juri Linkov
2010-07-30  2:04   ` coding guidelines? (was Re: Key bindings proposal) Joe Brenner
2010-07-30  8:33     ` Andreas Schwab
2010-07-30  9:32     ` Stephen J. Turnbull
2010-07-31 19:19       ` Joe Brenner
2010-07-31 19:45         ` Joe Brenner
  -- strict thread matches above, loose matches on Subject: below --
2010-07-29  0:08 Key bindings proposal [Was: Emacs learning curve] Noah Lavine
2010-07-29 11:26 ` Uday S Reddy
2010-07-29 12:21   ` Key bindings proposal joakim
2010-07-29 14:16     ` Stefan Monnier
2010-08-03 20:10 MON KEY
2010-08-03 22:19 ` Uday S Reddy
2010-08-03 20:39 MON KEY
2010-08-04  0:11 ` Lennart Borgman
     [not found] <0LflI2-1PHZPs2uvS-00oe0Z@mx.perfora.net>
2010-08-13 10:21 ` Xah Lee
2010-08-13 11:32 grischka
2010-08-13 12:49 ` Uday S Reddy
2010-08-13 20:24   ` grischka
2010-08-14  6:37     ` Uday S Reddy
2010-08-14  7:59       ` Stephen J. Turnbull
2010-08-14  9:39         ` Uday S Reddy
2010-08-23 13:45       ` Juri Linkov
     [not found] <0LpLKf-1PMJpV3jOf-00eqos@mx.perfora.net>
2010-08-13 17:40 ` Xah Lee
     [not found] <0LuegS-1Osh2D2A3E-00zozI@mx.perfora.net>
2010-08-14  0:14 ` Xah Lee
     [not found] <0MKXcd-1OjFjG3Si7-001yF5@mx.perfora.net>
2010-08-14  0:18 ` Xah Lee
     [not found] <0LyWQo-1Ovn6v30nm-01699h@mx.perfora.net>
2010-08-14 15:19 ` Xah Lee

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

  List information: https://www.gnu.org/software/emacs/

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=4C78EBBA.4010000@swipnet.se \
    --to=jan.h.d@swipnet.se \
    --cc=emacs-devel@gnu.org \
    --cc=jasonr@gnu.org \
    --cc=juri@jurta.org \
    /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.
Code repositories for project(s) associated with this public inbox

	https://git.savannah.gnu.org/cgit/emacs.git

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 read-only IMAP folder(s) and NNTP newsgroup(s).