From mboxrd@z Thu Jan 1 00:00:00 1970 Path: news.gmane.org!not-for-mail From: Adrian Robert Newsgroups: gmane.emacs.bugs Subject: bug#19977: 24.4; Incorrect translation of Super modifier with Ctrl or Meta on OS X Date: Tue, 29 Mar 2016 20:56:40 +0300 Message-ID: References: <83r3etwc9j.fsf@gnu.org> <83lh51w9z8.fsf@gnu.org> <83d1qdw7bt.fsf@gnu.org> NNTP-Posting-Host: plane.gmane.org Mime-Version: 1.0 (Mac OS X Mail 7.3 \(1878.6\)) Content-Type: text/plain; charset=windows-1252 Content-Transfer-Encoding: quoted-printable X-Trace: ger.gmane.org 1459274249 4221 80.91.229.3 (29 Mar 2016 17:57:29 GMT) X-Complaints-To: usenet@ger.gmane.org NNTP-Posting-Date: Tue, 29 Mar 2016 17:57:29 +0000 (UTC) Cc: 19977@debbugs.gnu.org To: Philipp Stephani Original-X-From: bug-gnu-emacs-bounces+geb-bug-gnu-emacs=m.gmane.org@gnu.org Tue Mar 29 19:57:18 2016 Return-path: Envelope-to: geb-bug-gnu-emacs@m.gmane.org Original-Received: from lists.gnu.org ([208.118.235.17]) by plane.gmane.org with esmtp (Exim 4.69) (envelope-from ) id 1akxtE-0006KP-V5 for geb-bug-gnu-emacs@m.gmane.org; Tue, 29 Mar 2016 19:57:17 +0200 Original-Received: from localhost ([::1]:49045 helo=lists.gnu.org) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1akxtD-00077L-OV for geb-bug-gnu-emacs@m.gmane.org; Tue, 29 Mar 2016 13:57:15 -0400 Original-Received: from eggs.gnu.org ([2001:4830:134:3::10]:46212) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1akxt6-00070B-GE for bug-gnu-emacs@gnu.org; Tue, 29 Mar 2016 13:57:12 -0400 Original-Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1akxt0-000266-Ft for bug-gnu-emacs@gnu.org; Tue, 29 Mar 2016 13:57:08 -0400 Original-Received: from debbugs.gnu.org ([208.118.235.43]:46959) by eggs.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1akxt0-000262-Bb for bug-gnu-emacs@gnu.org; Tue, 29 Mar 2016 13:57:02 -0400 Original-Received: from Debian-debbugs by debbugs.gnu.org with local (Exim 4.84_2) (envelope-from ) id 1akxt0-0006nU-57 for bug-gnu-emacs@gnu.org; Tue, 29 Mar 2016 13:57:02 -0400 X-Loop: help-debbugs@gnu.org Resent-From: Adrian Robert Original-Sender: "Debbugs-submit" Resent-CC: bug-gnu-emacs@gnu.org Resent-Date: Tue, 29 Mar 2016 17:57:02 +0000 Resent-Message-ID: Resent-Sender: help-debbugs@gnu.org X-GNU-PR-Message: followup 19977 X-GNU-PR-Package: emacs X-GNU-PR-Keywords: patch Original-Received: via spool by 19977-submit@debbugs.gnu.org id=B19977.145927420926108 (code B ref 19977); Tue, 29 Mar 2016 17:57:02 +0000 Original-Received: (at 19977) by debbugs.gnu.org; 29 Mar 2016 17:56:49 +0000 Original-Received: from localhost ([127.0.0.1]:44086 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1akxsn-0006n1-Ft for submit@debbugs.gnu.org; Tue, 29 Mar 2016 13:56:49 -0400 Original-Received: from mail-lf0-f47.google.com ([209.85.215.47]:33532) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1akxsl-0006mo-K7 for 19977@debbugs.gnu.org; Tue, 29 Mar 2016 13:56:47 -0400 Original-Received: by mail-lf0-f47.google.com with SMTP id g124so15974440lfg.0 for <19977@debbugs.gnu.org>; Tue, 29 Mar 2016 10:56:47 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20120113; h=from:mime-version:subject:in-reply-to:date:cc :content-transfer-encoding:message-id:references:to; bh=fyYcH+Y6Mk6RSEZ9RnC1hoFRnhxBi7OaOnfYAqVKUss=; b=Na1jP9aiCKUnKGFOvDFbzQAUieLh0gcwD6H/W/0c/5egCK9N7osuMeqIwoiap0jLUE me4yGrM3B2tSM+Nxl59D0C5a5XAsA6Ea6YA57mMcTecywL6nSqZoSm8aQsuZRTT08XNm qCHWcllklgqdxRRqae7ICJlYsYdhuYjsGGfBxKyyTU/ZvarB2oe84xmAxEgbMUzDbfby kRn9L4DIdb3n7Thns6DATtsDNUF98vDc4RvNx28kAxenRVsXHx3RKq6ITELj0UhWBNoe peHZmkn72YSfsHIkS32AKJLWBGOKAduDgPR+I/QyFcGf9Fk0WodjIN66Olg851BT9+At NzBg== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20130820; h=x-gm-message-state:from:mime-version:subject:in-reply-to:date:cc :content-transfer-encoding:message-id:references:to; bh=fyYcH+Y6Mk6RSEZ9RnC1hoFRnhxBi7OaOnfYAqVKUss=; b=dEE1mi0+OVjkh4BjJ/VWvqivxL2jTyN6YXPVmm4cmO5P4H3c76OHlKxbfEqzKPIN33 GF+Mdw5E12UJtHxKTRV1A/Dp/4XIKKDGSQi4btR310HJueEaNZkeczlEL8qUMtTWBKS4 MqsJJk0WQuA3QjZQjA4EMTfCfWnPolW7pBtUII3tt61tb2+IEvxUdv2zWDTgaWflmYWC OuIUNo53n7klJ7+Xwfw8kp4kBd+lmGecA5H6D/x8SBJhW4SpiwoJ18TftTxu8ojNw7nb A3YkX/M125g0vyykfr7Q0Z7OEGFHleoDtFAcmHm5mn5jpJUtx0+fjdFMzzOioEEXVD7X x0xA== X-Gm-Message-State: AD7BkJKdKezynjUU9knKaqy4u5lR1PRWHuIo+YUPoUEZZ8Pm9HKQaDyU18VRXbbMxNDhmA== X-Received: by 10.25.157.79 with SMTP id g76mr1857805lfe.93.1459274201736; Tue, 29 Mar 2016 10:56:41 -0700 (PDT) Original-Received: from [192.168.10.4] (82-181-99-163.bb.dnainternet.fi. [82.181.99.163]) by smtp.gmail.com with ESMTPSA id a14sm5748243lfe.7.2016.03.29.10.56.39 (version=TLSv1/SSLv3 cipher=OTHER); Tue, 29 Mar 2016 10:56:40 -0700 (PDT) X-Google-Original-From: Adrian Robert In-Reply-To: X-Mailer: Apple Mail (2.1878.6) X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.18 Precedence: list X-detected-operating-system: by eggs.gnu.org: GNU/Linux 2.2.x-3.x [generic] X-Received-From: 208.118.235.43 X-BeenThere: bug-gnu-emacs@gnu.org List-Id: "Bug reports for GNU Emacs, the Swiss army knife of text editors" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: bug-gnu-emacs-bounces+geb-bug-gnu-emacs=m.gmane.org@gnu.org Original-Sender: bug-gnu-emacs-bounces+geb-bug-gnu-emacs=m.gmane.org@gnu.org Xref: news.gmane.org gmane.emacs.bugs:115732 Archived-At: On 2016.3.29, at 20:44, Philipp Stephani wrote: >=20 >=20 > Adrian Robert schrieb am Di., 29. M=E4rz = 2016 um 19:19 Uhr: >=20 > On 2016.3.29, at 19:57, Eli Zaretskii wrote: >=20 > >> From: Philipp Stephani > >> Date: Tue, 29 Mar 2016 16:38:52 +0000 > >> Cc: 19977@debbugs.gnu.org > >> > >> If I comment out the if block below the comment > >> > >> /* if super (default), take input manager's word so things like > >> dvorak / qwerty layout work */ > >> > >> in nsterm.m, everything works. Unless somebody can explain why that = if block exists at all (i.e. why > >> [theEvent characters] instead of [theEvent = charactersIgnoringModifiers] is used), then I'd suggest to > >> remove the block completely. > >> > >> Attached a patch to remove this code. > > > > Adrian, any comments? It's your code from 7 years ago. >=20 >=20 > Heh, well of the top of my head=85 ;-) >=20 > Did you try testing Dvorak / Qwerty layout? If not, that=92s under = System Preferences, Keyboard, add new, English, select Dvorak or Dvorak = / Qwerty. >=20 > =46rom what I remember, the issue had to do with cmd-key shortcuts = when one of those layouts was in use. I think users were expecting the = letter reported for the cmd shortcut to either agree with or disagree = with the dvorak layout. Using [theEvent characters] caused it to use = what they were expecting. >=20 > It sounds like either this wasn=92t the right solution, or user = expectations vary. In either case I would agree with simplifying the = code and removing the part you suggest. >=20 >=20 > Yes, I can see what the problem is, thanks for the pointer. Basically = in a couple of layouts (there are others, e.g. "Gujarati - QUERTY"), = Command acts as shift-like character, like Option and Shift, selecting a = different character, and not as a control-like character. For Option, = Emacs allows switching between shift-like and control-like behavior = using the `ns-alternate-modifier' option. The same should be implemented = for Command. > However, the code for `ns-alternate-modifier' is also somewhat broken. = If it's set to 'none, C-M- doesn't work any more. This needs a = bit more thought. What exactly is supposed to happen if both a = shift-like and a control-like modifier are pressed at the same time? = Emacs is inconsistent here: C-S-a remains C-S-a, but M-S-a gets = translated to M-A. I would say the correct behavior is to combine the modifier and the = =93shift=94ed result. C-S-a should be C-A. But my memory is fuzzy as = to whether nsterm should do this or it happens in emacs generic code. = And if ns-alternate-modifier is =91none=92, then there is no such thing = as C-M-letter, just C-letter, where the identify of =91letter' is = determined by what comes from opt-.