From mboxrd@z Thu Jan 1 00:00:00 1970 Path: news.gmane.org!not-for-mail From: YAMAMOTO Mitsuharu Newsgroups: gmane.emacs.bugs Subject: bug#2375: 23.0.90; ^ in gnus summary buffer does not work in the nextstep build Date: Sat, 21 Feb 2009 15:38:07 +0900 Organization: Faculty of Science, Chiba University Message-ID: References: <20090218182725.7F0B564571F@ate.maierh> Reply-To: YAMAMOTO Mitsuharu , 2375@emacsbugs.donarmstrong.com NNTP-Posting-Host: lo.gmane.org Mime-Version: 1.0 (generated by SEMI 1.14.6 - "Maruoka") Content-Type: text/plain; charset=US-ASCII X-Trace: ger.gmane.org 1235199884 29086 80.91.229.12 (21 Feb 2009 07:04:44 GMT) X-Complaints-To: usenet@ger.gmane.org NNTP-Posting-Date: Sat, 21 Feb 2009 07:04:44 +0000 (UTC) Cc: Stefan Monnier To: Harald Maier , 2375@emacsbugs.donarmstrong.com Original-X-From: bug-gnu-emacs-bounces+geb-bug-gnu-emacs=m.gmane.org@gnu.org Sat Feb 21 08:05:57 2009 Return-path: Envelope-to: geb-bug-gnu-emacs@m.gmane.org Original-Received: from lists.gnu.org ([199.232.76.165]) by lo.gmane.org with esmtp (Exim 4.50) id 1LalvA-0003kG-DY for geb-bug-gnu-emacs@m.gmane.org; Sat, 21 Feb 2009 08:05:38 +0100 Original-Received: from localhost ([127.0.0.1]:43649 helo=lists.gnu.org) by lists.gnu.org with esmtp (Exim 4.43) id 1Laltp-00080N-Pq for geb-bug-gnu-emacs@m.gmane.org; Sat, 21 Feb 2009 02:03:45 -0500 Original-Received: from mailman by lists.gnu.org with tmda-scanned (Exim 4.43) id 1Laltk-00080I-JC for bug-gnu-emacs@gnu.org; Sat, 21 Feb 2009 02:03:40 -0500 Original-Received: from exim by lists.gnu.org with spam-scanned (Exim 4.43) id 1Laltj-000806-9b for bug-gnu-emacs@gnu.org; Sat, 21 Feb 2009 02:03:39 -0500 Original-Received: from [199.232.76.173] (port=59144 helo=monty-python.gnu.org) by lists.gnu.org with esmtp (Exim 4.43) id 1Laltj-000803-5J for bug-gnu-emacs@gnu.org; Sat, 21 Feb 2009 02:03:39 -0500 Original-Received: from rzlab.ucr.edu ([138.23.92.77]:47999) by monty-python.gnu.org with esmtps (TLS-1.0:DHE_RSA_AES_256_CBC_SHA1:32) (Exim 4.60) (envelope-from ) id 1Lalti-000851-DE for bug-gnu-emacs@gnu.org; Sat, 21 Feb 2009 02:03:38 -0500 Original-Received: from rzlab.ucr.edu (rzlab.ucr.edu [127.0.0.1]) by rzlab.ucr.edu (8.13.8/8.13.8/Debian-3) with ESMTP id n1L73aCn004475; Fri, 20 Feb 2009 23:03:36 -0800 Original-Received: (from debbugs@localhost) by rzlab.ucr.edu (8.13.8/8.13.8/Submit) id n1L6j3c6032171; Fri, 20 Feb 2009 22:45:03 -0800 X-Loop: owner@emacsbugs.donarmstrong.com Resent-From: YAMAMOTO Mitsuharu Resent-To: bug-submit-list@donarmstrong.com Resent-CC: Emacs Bugs Resent-Date: Sat, 21 Feb 2009 06:45:03 +0000 Resent-Message-ID: Resent-Sender: owner@emacsbugs.donarmstrong.com X-Emacs-PR-Message: followup 2375 X-Emacs-PR-Package: emacs X-Emacs-PR-Keywords: Original-Received: via spool by 2375-submit@emacsbugs.donarmstrong.com id=B2375.123519829330873 (code B ref 2375); Sat, 21 Feb 2009 06:45:03 +0000 Original-Received: (at 2375) by emacsbugs.donarmstrong.com; 21 Feb 2009 06:38:13 +0000 X-Spam-Bayes: score:0.5 Bayes not run. spammytokens:Tokens not available. hammytokens:Tokens not available. Original-Received: from mathmail.math.s.chiba-u.ac.jp (mathmail.math.s.chiba-u.ac.jp [133.82.132.2]) by rzlab.ucr.edu (8.13.8/8.13.8/Debian-3) with ESMTP id n1L6c9xb030867 for <2375@emacsbugs.donarmstrong.com>; Fri, 20 Feb 2009 22:38:10 -0800 Original-Received: from church.math.s.chiba-u.ac.jp (church [133.82.132.36]) by mathmail.math.s.chiba-u.ac.jp (Postfix) with ESMTP id EBA802C49; Sat, 21 Feb 2009 15:38:07 +0900 (JST) In-Reply-To: User-Agent: Wanderlust/2.14.0 (Africa) SEMI/1.14.6 (Maruoka) FLIM/1.14.8 =?UTF-8?Q?(Shij=C5=8D)?= APEL/10.6 Emacs/22.3 (sparc-sun-solaris2.8) MULE/5.0 (SAKAKI) X-detected-operating-system: by monty-python.gnu.org: GNU/Linux 2.6 (newer, 3) Resent-Date: Sat, 21 Feb 2009 02:03:39 -0500 X-BeenThere: bug-gnu-emacs@gnu.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: "Bug reports for GNU Emacs, the Swiss army knife of text editors" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Original-Sender: bug-gnu-emacs-bounces+geb-bug-gnu-emacs=m.gmane.org@gnu.org Errors-To: bug-gnu-emacs-bounces+geb-bug-gnu-emacs=m.gmane.org@gnu.org Xref: news.gmane.org gmane.emacs.bugs:25534 Archived-At: >>>>> On Sat, 21 Feb 2009 05:56:18 +0100, Harald Maier said: >> Oh, I get it: so hitting ^ doesn't do anything, but hitting ^ SPC >> does trigger the Gnus command bount to ^. Yes, that makes sense. >> We could supposedly improve this to actually make ^ call the proper >> Gnus command directly, but the patch doesn't try to do that. > On a German keyboard this behaviour would be confusing. ^ is a dead > key so we always use the SPACE key to force it. It should be similar > to the X11 build and there I have too to press the SPACE character > to force the dead key. As David mentioned the only small problem is > the "buffer read only" warning. What do you think about the dead-key behavior in the Carbon port (Emacs 22)? If it is reasonable enough, maybe the Cocoa/GNUstep port can adopt its strategy. Below is the code from the Carbon+AppKit port(*), which also uses the NSTextInput protocol. (*) ftp://ftp.math.s.chiba-u.ac.jp/emacs/emacs-22.3-appkit-1.2.tar.gz YAMAMOTO Mitsuharu mituharu@math.s.chiba-u.ac.jp (defconst mac-marked-text-underline-style-faces '((0 . mac-ts-raw-text) ; NSUnderlineStyleNone (1 . mac-ts-converted-text) ; NSUnderlineStyleSingle (2 . mac-ts-selected-converted-text)) ; NSUnderlineStyleThick "Alist of NSUnderlineStyle vs Emacs face in marked text.") (defun mac-text-input-set-marked-text (event) (interactive "e") (let* ((ae (mac-event-ae event)) (text (cdr (mac-ae-parameter ae))) (selected-range (cdr (mac-ae-parameter ae "selectedRange"))) (script-language (mac-ae-script-language ae "tssl")) (coding (or (cdr (assq (car script-language) mac-script-code-coding-systems)) 'mac-roman))) (let ((use-echo-area (or isearch-mode (and cursor-in-echo-area (current-message)) ;; Overlay strings are not shown in some cases. (get-char-property (point) 'invisible) (and (not (bobp)) (or (and (get-char-property (point) 'display) (eq (get-char-property (1- (point)) 'display) (get-char-property (point) 'display))) (and (get-char-property (point) 'composition) (eq (get-char-property (1- (point)) 'composition) (get-char-property (point) 'composition))))))) active-input-string caret-seen) ;; Decode the active input area text with inheriting faces and ;; the caret position. (put-text-property (* (car selected-range) 2) (length text) 'cursor t text) (setq active-input-string (mapconcat (lambda (str) (let* ((decoded (mac-utxt-to-string str coding)) (underline-style (or (cdr (get-text-property 0 'NSUnderline str)) 0)) (face (cdr (assq underline-style mac-marked-text-underline-style-faces)))) (put-text-property 0 (length decoded) 'face face decoded) (when (and (not caret-seen) (get-text-property 0 'cursor str)) (setq caret-seen t) (if (or use-echo-area (null cursor-type)) (put-text-property 0 1 'face 'mac-ts-caret-position decoded) (put-text-property 0 1 'cursor t decoded))) decoded)) (mac-split-string-by-property-change text) "")) (put-text-property 0 (length active-input-string) 'mac-ts-active-input-string t active-input-string) (if use-echo-area (let ((msg (current-message)) message-log-max) (if (and msg ;; Don't get confused by previously displayed ;; `active-input-string'. (null (get-text-property 0 'mac-ts-active-input-string msg))) (setq msg (propertize msg 'display (concat msg active-input-string))) (setq msg active-input-string)) (message "%s" msg) (overlay-put mac-ts-active-input-overlay 'before-string nil)) (move-overlay mac-ts-active-input-overlay (point) (point) (current-buffer)) (overlay-put mac-ts-active-input-overlay 'before-string active-input-string))))) (defun mac-text-input-insert-text (event) (interactive "e") (let* ((ae (mac-event-ae event)) (text (cdr (mac-ae-parameter ae))) (script-language (mac-ae-script-language ae "tssl")) (coding (or (cdr (assq (car script-language) mac-script-code-coding-systems)) 'mac-roman))) (overlay-put mac-ts-active-input-overlay 'before-string nil) (let ((msg (current-message)) message-log-max) (when msg (if (get-text-property 0 'mac-ts-active-input-string msg) (message nil) (let ((disp-prop (get-text-property 0 'display msg))) (when (and (stringp disp-prop) (> (length disp-prop) 1) (get-text-property (1- (length disp-prop)) 'mac-ts-active-input-string)) (remove-text-properties 0 (length disp-prop) '(mac-ts-active-input-string nil) msg) (message "%s" msg)))))) (mac-unread-string (mac-utxt-to-string text coding)))) (define-key mac-apple-event-map [text-input set-marked-text] 'mac-text-input-set-marked-text) (define-key mac-apple-event-map [text-input insert-text] 'mac-text-input-insert-text)