From unknown Mon Sep 08 03:16:20 2025 Content-Disposition: inline Content-Transfer-Encoding: quoted-printable MIME-Version: 1.0 X-Mailer: MIME-tools 5.509 (Entity 5.509) Content-Type: text/plain; charset=utf-8 From: bug#11520 <11520@debbugs.gnu.org> To: bug#11520 <11520@debbugs.gnu.org> Subject: Status: 24.1.50; delete-selection-mode conflicts with electric-pair-mode Reply-To: bug#11520 <11520@debbugs.gnu.org> Date: Mon, 08 Sep 2025 10:16:20 +0000 retitle 11520 24.1.50; delete-selection-mode conflicts with electric-pair-m= ode reassign 11520 emacs submitter 11520 Simon Law severity 11520 normal thanks From debbugs-submit-bounces@debbugs.gnu.org Sat May 19 16:09:25 2012 Received: (at submit) by debbugs.gnu.org; 19 May 2012 20:09:25 +0000 Received: from localhost ([127.0.0.1]:34690 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.72) (envelope-from ) id 1SVpxs-0003s4-08 for submit@debbugs.gnu.org; Sat, 19 May 2012 16:09:24 -0400 Received: from eggs.gnu.org ([208.118.235.92]:45492) by debbugs.gnu.org with esmtp (Exim 4.72) (envelope-from ) id 1SVpxW-0003rF-J2 for submit@debbugs.gnu.org; Sat, 19 May 2012 16:09:22 -0400 Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1SVpww-00086A-Mb for submit@debbugs.gnu.org; Sat, 19 May 2012 16:08:28 -0400 X-Spam-Checker-Version: SpamAssassin 3.3.2 (2011-06-06) on eggs.gnu.org X-Spam-Level: X-Spam-Status: No, score=-6.9 required=5.0 tests=BAYES_00,RCVD_IN_DNSWL_HI autolearn=unavailable version=3.3.2 Received: from lists.gnu.org ([208.118.235.17]:36955) by eggs.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1SVpww-000865-J6 for submit@debbugs.gnu.org; Sat, 19 May 2012 16:08:26 -0400 Received: from eggs.gnu.org ([208.118.235.92]:58142) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1SVpwu-0008Ug-4n for bug-gnu-emacs@gnu.org; Sat, 19 May 2012 16:08:26 -0400 Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1SVpwq-00085M-OR for bug-gnu-emacs@gnu.org; Sat, 19 May 2012 16:08:23 -0400 Received: from mail-bk0-f41.google.com ([209.85.214.41]:50460) by eggs.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1SVpwq-00084m-Ds for bug-gnu-emacs@gnu.org; Sat, 19 May 2012 16:08:20 -0400 Received: by bkcjm19 with SMTP id jm19so2845803bkc.0 for ; Sat, 19 May 2012 13:08:17 -0700 (PDT) X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=20120113; h=mime-version:x-originating-ip:from:date:message-id:subject:to :content-type:content-transfer-encoding:x-gm-message-state; bh=8vr+3jjMirlKYSP6fx4wka2d0ZRk/VI/RZZcqRU3HRY=; b=h3pSHx3ePUKl9/IvSGgw55GmQ429CUoBQ6amvNjmrZbPeGD75onmHZbTpN4EVHxE34 w/aypjt5hcwY3b6eHa1saeNx12FY4SX7m7zPTgVrOMaWdSU6Dc9WsR1wi/8ziKFdctBl K7b/h6I/oZALH3XkRLh+LqlzCqQxYbM82MTfC9hxX7+HAwyubieHpnruOkcIWZNyetEG s1wVgPHzxbVyr0Y3ejrJMaEYsNnbwWrdLp20+cuTodooXivh5cHYpuJ/e2JgHHzqOwjV eMbxrFZEomdifmDtFRZo49KjlyvCv/rBi/y04o2PN4v8XU51tlKmkjYDoNU+mUf0bsGM irMQ== Received: by 10.205.127.140 with SMTP id ha12mr5520724bkc.105.1337458096859; Sat, 19 May 2012 13:08:16 -0700 (PDT) MIME-Version: 1.0 Received: by 10.204.185.208 with HTTP; Sat, 19 May 2012 13:07:56 -0700 (PDT) X-Originating-IP: [184.175.19.162] From: Simon Law Date: Sat, 19 May 2012 16:07:56 -0400 Message-ID: Subject: 24.1.50; delete-selection-mode conflicts with electric-pair-mode To: bug-gnu-emacs@gnu.org Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: quoted-printable X-Gm-Message-State: ALoCoQkD/SIZkckb1ySndu+qVO39T3Z2fYIsQ72KfjDAX83gTccNEs/tgRFWLfN3vTHu27xxDrwH X-detected-operating-system: by eggs.gnu.org: Genre and OS details not recognized. X-detected-operating-system: by eggs.gnu.org: GNU/Linux 2.6 (newer, 3) X-Received-From: 208.118.235.17 X-Spam-Score: -6.2 (------) X-Debbugs-Envelope-To: submit X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.13 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Sender: debbugs-submit-bounces@debbugs.gnu.org Errors-To: debbugs-submit-bounces@debbugs.gnu.org X-Spam-Score: -6.2 (------) delete-selection-mode clobbers text before electric-pair-mode can get to it. Since they are both built-in to Emacs, the modes should be aware of each other. Reproduction steps: $ emacs -Q M-x electric-pair-mode M-x delete-selection-mode ;; Type "a line of text"" C-SPC C-a ;; At this point, you should have the line of text selected ( Expected result: (a line of text) Actual result: )( In GNU Emacs 24.1.50.1 (x86_64-pc-linux-gnu, GTK+ Version 3.2.0) of 2012-05-10 on charichuelo, modified by Debian (emacs-snapshot package, version 2:20120510-1~ppa1~oneiric1) Windowing system distributor `The X.Org Foundation', version 11.0.11004000 Configured using: `configure '--build' 'x86_64-linux-gnu' '--host' 'x86_64-linux-gnu' '--prefix=3D/usr' '--sharedstatedir=3D/var/lib' '--libexecdir=3D/usr/lib' '--localstatedir=3D/var' '--infodir=3D/usr/share/info' '--mandir=3D/usr/share/man' '--with-pop=3Dyes' '--enable-locallisppath=3D/etc/emacs-snapshot:/etc/emacs:/usr/local/share/= emacs/24.1.50/site-lisp:/usr/local/share/emacs/site-lisp:/usr/share/emacs/2= 4.1.50/site-lisp:/usr/share/emacs/site-lisp' '--without-compress-info' '--with-crt-dir=3D/usr/lib/x86_64-linux-gnu/' '--with-x=3Dyes' '--with-x-toolkit=3Dgtk3' '--with-imagemagick=3Dyes' 'build_alias=3Dx86_64-linux-gnu' 'host_alias=3Dx86_64-linux-gnu' 'CFLAGS=3D-DDEBIAN -DSITELOAD_PURESIZE_EXTRA=3D5000 -g -O2' 'LDFLAGS=3D-g -Wl,--as-needed -znocombreloc' 'CPPFLAGS=3D'' Important settings: value of $LC_ALL: nil value of $LC_COLLATE: en_CA.UTF-8 value of $LC_CTYPE: en_CA.UTF-8 value of $LC_MESSAGES: en_CA.UTF-8 value of $LC_MONETARY: nil value of $LC_NUMERIC: nil value of $LC_TIME: nil value of $LANG: en_CA.UTF-8 value of $XMODIFIERS: nil locale-coding-system: utf-8-unix default enable-multibyte-characters: t Major mode: Lisp Interaction Minor modes in effect: outline-minor-mode: t whitespace-mode: t flyspell-mode: t fci-mode: t ido-ubiquitous-mode: t helm-dired-mode: Enable helm completion in Dired functions. Bindings affected are C, R, S, H. This is deprecated for Emacs24+ users, use `helm-mode' instead. helm-match-plugin-mode: t projectile-mode: t projectile-global-mode: t yas/global-mode: t yas/minor-mode: t icomplete-mode: t volatile-highlights-mode: t show-paren-mode: t shell-dirtrack-mode: t recentf-mode: t savehist-mode: t electric-pair-mode: t global-auto-revert-mode: t prelude-mode: t prelude-global-mode: t which-function-mode: t tooltip-mode: t mouse-wheel-mode: t file-name-shadow-mode: t global-font-lock-mode: t font-lock-mode: t auto-composition-mode: t auto-encryption-mode: t auto-compression-mode: t size-indication-mode: t column-number-mode: t line-number-mode: t transient-mark-mode: t abbrev-mode: t Recent input: n t a x SPC - t a b l e c u r r e n t - s y n t a l i s p - m o d e - s y n C-v C-v C-v C-v C-v C-v C-v C-v C-v C-v C-v C-v C-v C-v C-v C-v M-< C-s ( C-n C-n C-v C-v C-v C-v C-v C-v C-v C-v C-v C-v C-v C-v C-v C-v C-v C-v C-v C-v C-v C-v C-v M-v M-v C-x b C-s s y n t a x - t a b l e C-s C-n C-p C-n C-p C-p C-x o C-h v s y n t a x - t a b l e C-g C-g C-n C-x o M-< C-s s y n t a x - t a b l e C-s C-n C-p C-x o C-h f s y n t a x - t a b l e C-x o q C-x o C-x o M-: M-( a r e f M-b C-b C-k l a s t - c o m m a n d - e v e n t M-: M-p C-k ( a r e f SPC ( s y n t a x - t a b l e ) SPC ? ( \ ( C-x o C-n C-n C-n C-n C-p C-p C-p M-v M-v C-v C-v C-p C-p C-p C-p C-p C-p C-p C-p C-p C-p C-p C-n C-v C-v M-v M-v M-x r e p o r t - b u g C-g C-g M-x r e p o r t - e m a c s - b u g Recent messages: byte-code: End of buffer Mark set Mark saved where search started (No changes need to be saved) Type "q" in help window to restore its previous buffer. (No changes need to be saved) 13 (#o15, #xd) Character to escape: ( (4 . 41) Quit Quit Load-path shadows: /usr/share/emacs/24.1.50/site-lisp/debian-startup hides /usr/share/emacs/site-lisp/debian-startup /home/sfllaw/.emacs.d/elpa/python-20120430/python hides /usr/share/emacs/24.1.50/lisp/progmodes/python /home/sfllaw/.emacs.d/elpa/magit-20120507/.dir-locals hides /usr/share/emacs/24.1.50/lisp/gnus/.dir-locals Features: (shadow sort mail-extr emacsbug message rfc822 mml mml-sec mm-decode mm-bodies mm-encode mailabbrev gmm-utils mailheader sendmail cua-base jka-compr cus-start cus-load add-log flymake-cursor debug hippie-exp multi-isearch rainbow-mode eldoc paredit prelude-emacs-lisp-autoloads prelude-lisp prelude-lisp-autoloads autoload find-func pp python mule-util executable time-stamp vc-git mail-utils network-stream starttls url-http tls mail-parse rfc2231 rfc2047 rfc2045 ietf-drums url-gw url-cache url-auth noutline outline whitespace flyspell ispell melpa multi-term term disp-table ehelp python-el-fgallina-expansions flymake fill-column-indicator ido-ubiquitous prelude-global-keybindings prelude-editor re-builder midnight helm-projectile helm-config helm-misc helm-files image-dired dired-x dired-aux ffap helm-tags helm-bookmark helm-adaptative helm-info helm-net browse-url xml url url-proxy url-privacy url-expand url-methods url-history url-cookie url-domsuf url-util url-parse url-vars mailcap helm-plugin helm-locate helm-help helm-match-plugin helm-grep helm-regexp grep helm-external helm-buffers rx helm-elscreen helm-utils dired compile helm projectile yasnippet help-mode view assoc expand-region expand-region-custom expand-region-core icomplete ido etags volatile-highlights hl-line paren windmove tramp-cache tramp-sh tramp tramp-compat auth-source gnus-util mm-util mail-prsvr password-cache shell pcomplete comint ansi-color ring format-spec tramp-loaddefs recentf tree-widget wid-edit savehist saveplace uniquify electric autorevert delsel prelude-mode easy-mmode easymenu edmacro kmacro prelude-core repeat thingatpt prelude-ui zenburn-theme prelude-packages ack-and-a-half-autoloads expand-region-autoloads flymake-css-autoloads flymake-cursor-autoloads gist-autoloads gh-autoloads eieio helm-projectile-autoloads helm-autoloads ido-ubiquitous-autoloads less-css-mode-autoloads logito-autoloads magithub-autoloads magit-autoloads markdown-mode-autoloads mediawiki-autoloads melpa-autoloads byte-opt warnings bytecomp byte-compile cconv macroexp advice help-fns advice-preload multi-term-autoloads paredit-autoloads pcache-autoloads finder-inf pony-mode-autoloads prelude-programming-autoloads which-func imenu projectile-autoloads python-autoloads python-magic-autoloads rainbow-mode-autoloads volatile-highlights-autoloads yasnippet-autoloads zenburn-theme-autoloads package cl time-date tooltip ediff-hook vc-hooks lisp-float-type mwheel x-win x-dnd tool-bar dnd fontset image regexp-opt fringe tabulated-list newcomment lisp-mode register page menu-bar rfn-eshadow timer select scroll-bar mouse jit-lock font-lock syntax facemenu font-core frame cham georgian utf-8-lang misc-lang vietnamese tibetan thai tai-viet lao korean japanese hebrew greek romanian slovak czech european ethiopic indian cyrillic chinese case-table epa-hook jka-cmpr-hook help simple abbrev minibuffer loaddefs button faces cus-face files text-properties overlay sha1 md5 base64 format env code-pages mule custom widget hashtable-print-readable backquote make-network-process dbusbind dynamic-setting system-font-setting font-render-setting move-toolbar gtk x-toolkit x multi-tty emacs) --=20 Cheers, Simon -=C2=A0http://ca.linkedin.com/in/sfllaw/ From debbugs-submit-bounces@debbugs.gnu.org Sat May 19 18:42:22 2012 Received: (at 11520) by debbugs.gnu.org; 19 May 2012 22:42:22 +0000 Received: from localhost ([127.0.0.1]:34809 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.72) (envelope-from ) id 1SVsLt-0007QT-Vn for submit@debbugs.gnu.org; Sat, 19 May 2012 18:42:22 -0400 Received: from mail-ob0-f172.google.com ([209.85.214.172]:64034) by debbugs.gnu.org with esmtp (Exim 4.72) (envelope-from ) id 1SVsLa-0007Pe-3g for 11520@debbugs.gnu.org; Sat, 19 May 2012 18:42:21 -0400 Received: by obbeh20 with SMTP id eh20so6085749obb.3 for <11520@debbugs.gnu.org>; Sat, 19 May 2012 15:41:27 -0700 (PDT) X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=20120113; h=from:to:subject:date:message-id:mime-version:content-type :x-gm-message-state; bh=Iaj0Ppnf+DrDlkWmAyfuFvvtSEdng1njDY9Alr3OTBY=; b=GXH8194r7wOQ+ejQ3cBcqKCryvoMeMf1pSGp5lULPD3rrl8qVh3Qk4Lrg6R0df2Ydz VZROavPCKq8n5aHzd3RMKaVPnD9Y7qP2LtwOO/PPOqYmX5NX6xAvihch6ktTcJ39vYS9 Ea5/9TIFtNMvkWpU6bjPOfpGqMT2Oeq5ETaVai9yBBWbZ0kHXt2ZCuKAQbJayxPQJ41n kNeDKXzJmaZLNn7Dihy4T2jVelQalH0duaWvoBm73575kZ2D1CrIh1eWRjTqojr03FlS Hg7jjjpEwenD3ksHduS8W2Iio60uHYpuwYTr/ZJMCYcIdhtwDrcZ41Xb2oSpRIQW95yz 0yPw== Received: by 10.50.169.65 with SMTP id ac1mr119025igc.54.1337467287125; Sat, 19 May 2012 15:41:27 -0700 (PDT) Received: from boson ([184.175.19.162]) by mx.google.com with ESMTPS id nh8sm13296635igc.1.2012.05.19.15.41.25 (version=TLSv1/SSLv3 cipher=OTHER); Sat, 19 May 2012 15:41:26 -0700 (PDT) From: Simon Law To: 11520@debbugs.gnu.org Subject: Workaround Date: Sat, 19 May 2012 18:41:23 -0400 Message-ID: <87txzb23qk.fsf@sfllaw.ca> MIME-Version: 1.0 Content-Type: text/plain X-Gm-Message-State: ALoCoQkdTocQFruxT5lYxSl4dtIHud4aXDvkOq0cAAYVOrkdE+2ERaUrAuEJ6wSf99eSIKZcuxge X-Spam-Score: -2.6 (--) X-Debbugs-Envelope-To: 11520 X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.13 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Sender: debbugs-submit-bounces@debbugs.gnu.org Errors-To: debbugs-submit-bounces@debbugs.gnu.org X-Spam-Score: -2.6 (--) I use the following defadvice as a hack to workaround this bug: (defadvice delete-active-region (around electric-pair-or-delete-active-region activate) "Prevent delete-active-region from clobbering electric-pair-mode." (unless (and electric-pair-mode (or (eq ?\( (char-syntax last-command-event)) (assq last-command-event electric-pair-pairs))) ad-do-it) t) From debbugs-submit-bounces@debbugs.gnu.org Sun May 20 10:55:30 2012 Received: (at 11520) by debbugs.gnu.org; 20 May 2012 14:55:30 +0000 Received: from localhost ([127.0.0.1]:35494 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.72) (envelope-from ) id 1SW7Xe-0005Bv-9S for submit@debbugs.gnu.org; Sun, 20 May 2012 10:55:30 -0400 Received: from ironport-out.teksavvy.com ([206.248.143.162]:48016) by debbugs.gnu.org with esmtp (Exim 4.72) (envelope-from ) id 1SW7XJ-0005BN-RD for 11520@debbugs.gnu.org; Sun, 20 May 2012 10:55:28 -0400 X-IronPort-Anti-Spam-Filtered: true X-IronPort-Anti-Spam-Result: AmkFAOMAh09FpZld/2dsb2JhbAA3oRSCLoEIgXUBAQQBViMFCwsOJhIUGA0kLodlohGMBBRMCQMBAoM+A4NwBKNjhFg X-IronPort-AV: E=Sophos;i="4.73,1,1325480400"; d="scan'208";a="181435849" Received: from 69-165-153-93.dsl.teksavvy.com (HELO pastel.home) ([69.165.153.93]) by ironport2-out.teksavvy.com with ESMTP/TLS/ADH-AES256-SHA; 20 May 2012 10:54:31 -0400 Received: by pastel.home (Postfix, from userid 20848) id 5DA015979D; Sun, 20 May 2012 10:54:30 -0400 (EDT) From: Stefan Monnier To: Simon Law Subject: Re: bug#11520: 24.1.50; delete-selection-mode conflicts with electric-pair-mode Message-ID: References: Date: Sun, 20 May 2012 10:54:30 -0400 In-Reply-To: (Simon Law's message of "Sat, 19 May 2012 16:07:56 -0400") User-Agent: Gnus/5.13 (Gnus v5.13) Emacs/24.1.50 (gnu/linux) MIME-Version: 1.0 Content-Type: text/plain X-Spam-Score: -1.9 (-) X-Debbugs-Envelope-To: 11520 Cc: 11520@debbugs.gnu.org X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.13 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Sender: debbugs-submit-bounces@debbugs.gnu.org Errors-To: debbugs-submit-bounces@debbugs.gnu.org X-Spam-Score: -1.9 (-) > $ emacs -Q > M-x electric-pair-mode > M-x delete-selection-mode > ;; Type "a line of text"" > C-SPC > C-a > ;; At this point, you should have the line of text selected > ( > Expected result: > (a line of text) > Actual result: > )( Thanks for the recipe. I'm not sure yet how best to solve this problem. Basically, the issue is that delete-selection-mode operates before the ( is processed, so it has to "guess" what ( will do. Most likely the cleanest solution will be to add some "delete-selection-predicates" hook that electric-pair-mode can use to explain when to inhibit delete-selection. Stefan From debbugs-submit-bounces@debbugs.gnu.org Sun May 20 12:32:45 2012 Received: (at 11520) by debbugs.gnu.org; 20 May 2012 16:32:45 +0000 Received: from localhost ([127.0.0.1]:35558 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.72) (envelope-from ) id 1SW93l-0007OO-1e for submit@debbugs.gnu.org; Sun, 20 May 2012 12:32:45 -0400 Received: from rcsinet15.oracle.com ([148.87.113.117]:38154) by debbugs.gnu.org with esmtp (Exim 4.72) (envelope-from ) id 1SW93i-0007OC-QE for 11520@debbugs.gnu.org; Sun, 20 May 2012 12:32:44 -0400 Received: from acsinet21.oracle.com (acsinet21.oracle.com [141.146.126.237]) by rcsinet15.oracle.com (Sentrion-MTA-4.2.2/Sentrion-MTA-4.2.2) with ESMTP id q4KGW287016701 (version=TLSv1/SSLv3 cipher=DHE-RSA-AES256-SHA bits=256 verify=OK); Sun, 20 May 2012 16:32:03 GMT Received: from acsmt356.oracle.com (acsmt356.oracle.com [141.146.40.156]) by acsinet21.oracle.com (8.14.4+Sun/8.14.4) with ESMTP id q4KGW1B6017374 (version=TLSv1/SSLv3 cipher=DHE-RSA-AES256-SHA bits=256 verify=NO); Sun, 20 May 2012 16:32:02 GMT Received: from abhmt111.oracle.com (abhmt111.oracle.com [141.146.116.63]) by acsmt356.oracle.com (8.12.11.20060308/8.12.11) with ESMTP id q4KGW1d3014030; Sun, 20 May 2012 11:32:01 -0500 Received: from dradamslap1 (/10.159.217.115) by default (Oracle Beehive Gateway v4.0) with ESMTP ; Sun, 20 May 2012 09:32:01 -0700 From: "Drew Adams" To: "'Stefan Monnier'" , "'Simon Law'" References: Subject: RE: bug#11520: 24.1.50; delete-selection-mode conflicts with electric-pair-mode Date: Sun, 20 May 2012 09:31:50 -0700 Message-ID: <52696FFEBE154517A60576312AEEEE22@us.oracle.com> MIME-Version: 1.0 Content-Type: text/plain; charset="us-ascii" Content-Transfer-Encoding: 7bit X-Mailer: Microsoft Office Outlook 11 In-Reply-To: Thread-Index: Ac02mJ4oXbM5bPf7RmOKtReGO+pBHwABvStw X-MimeOLE: Produced By Microsoft MimeOLE V6.00.2900.6157 X-Source-IP: acsinet21.oracle.com [141.146.126.237] X-Spam-Score: -6.9 (------) X-Debbugs-Envelope-To: 11520 Cc: 11520@debbugs.gnu.org X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.13 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Sender: debbugs-submit-bounces@debbugs.gnu.org Errors-To: debbugs-submit-bounces@debbugs.gnu.org X-Spam-Score: -6.9 (------) > Thanks for the recipe. I'm not sure yet how best to solve > this problem. Basically, the issue is that delete-selection-mode > operates before the ( is processed, so it has to "guess" what > ( will do. > > Most likely the cleanest solution will be to add some > "delete-selection-predicates" hook that electric-pair-mode can use to > explain when to inhibit delete-selection. I hesitate to jump in here. I like `d-s' mode, and I hope we do not radically alter its design (which keys off of certain command symbol properties, and which takes place pre-command). I don't claim expertise here; I just like the way `d-s' handles and is easy to configure. It essentially hooks into specific commands, taking effect just before they do. `e-p-m' does not change the bindings of self-inserting keys - they are still bound to `self-insert-command'. And `d-s-m' treats that command as it should: the self-insertion is preceded by deletion of the region. `d-s' mode determines the particular behavior from the command. Its behavior is easily changeable by setting different properties on the command symbol. But a given command (e.g. `self-insert-command') has a single delete-selection behavior. `d-s' takes effect _before_ the affected command (on `pre-command-hook'), not after it. `e-p', on the contrary, does its thing _after_ the command (there is apparently only one such command, so far: `self-insert-command'). `e-p' depends on `post-self-insert-hook', which is new in Emacs 24. I see that this hook is also used by other things in Emacs 24. Dunno whether those other cases might also be problematic for use with d-s mode. `e-p', like `d-s', is command-driven - it is associated with only one command, in a hard-coded way rather than by looking up command-symbol properties. Its behavior is thus not variable depending on the command (only one command, only one behavior). But this difference is not really important here, I think. The real difference is when the special effect takes place: before or after the affected command (`self-insert-command', in this case). Since `d-s' does its thing (deletion) before the relevant command, it is natural that it take effect pre-command. Since `e-p' does its thing (insertion) after the relevant command (`self-insert-command' only), it is natural that it take effect post-command. But as you say, Stefan, a pre-command approach like d-s knows nothing about what might be expected to happen after the command is done. It could be possible to let `e-p' know what `d-s' has already done, but I do not see how it is possible/practical to let `d-s' know what `e-p' will do. We could make `d-s' aware that `e-p' mode is turned on, and we could even try to let it know exactly what `e-p' mode does (not a very modular approach, but perhaps doable). But knowing that, `d-s' would have to not only test for `self-insert-command' but also test the character to be inserted. We would end up, I'm afraid, duplicating nearly all of the `e-p' logic inside `d-s'. (But perhaps I don't understand well what you had in mind.) Anyway, that mismatch (pre-command control vs post) is I guess the problem here. If so, it might be seen to be more general than `d-s' vs `e-p'. I don't really have a solution. (Mainly I have a concern that `d-s' mode not be altered radically.) Wrt your proposal: I don't quite understand. `e-p' wants to inhibit `d-s' deletion only in the case where a `(' (or whatever else, such as `"') is inserted. It does not want to inhibit it generally, correct? If so, how can it possibly inhibit it in only some cases, if it does not even take effect until after the `(' command (= `self-insert-command') is finished? I don't see how `e-p', acting post-command, can _inhibit_ something that happens pre-command. `d-s' could perhaps be made aware that `e-p' is coming up, but to make `d-s' DTRT I would think that it would need to know nearly everything about `e-p'. `e-p' could, however undo/reverse what `d-s' did. In the case of killing this would be simple, I imagine, but it might not be quite so trivial in other `d-s' cases. Perhaps `d-s' could save some "undoing" info for the eventuality that some post-command action (e.g. `e-p') might want to reverse what `d-s' did. That's probably what I would propose: have `e-p' somehow undo what `d-s' did. But I'm sure you know more about this than I. My real concern is that we not lose any of the basic design of `d-s': pre-command & driven by properties on command symbols. From debbugs-submit-bounces@debbugs.gnu.org Mon May 21 00:20:45 2012 Received: (at 11520) by debbugs.gnu.org; 21 May 2012 04:20:45 +0000 Received: from localhost ([127.0.0.1]:36060 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.72) (envelope-from ) id 1SWK6u-0001RL-MJ for submit@debbugs.gnu.org; Mon, 21 May 2012 00:20:45 -0400 Received: from mail-bk0-f44.google.com ([209.85.214.44]:58204) by debbugs.gnu.org with esmtp (Exim 4.72) (envelope-from ) id 1SWK6q-0001R6-K0 for 11520@debbugs.gnu.org; Mon, 21 May 2012 00:20:42 -0400 Received: by bkty8 with SMTP id y8so3485968bkt.3 for <11520@debbugs.gnu.org>; Sun, 20 May 2012 21:19:59 -0700 (PDT) X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=20120113; h=mime-version:x-originating-ip:in-reply-to:references:from:date :message-id:subject:to:cc:content-type:content-transfer-encoding :x-gm-message-state; bh=hug74sqRvYZn0zRDKVOYUaTsfMV/ChYtre9r0XcZLc8=; b=dxI5GPw9UxkVGsotuDQvrHOHHqUo7VzmFoKB1bN2pUZCxYdXmiwpVOKhe1UidVYM95 +Jnp0GPf4XNsMxAqfW2c9+X6rXeFE7TmjRQG3PxXmgyp3rW5e1AuH1Zf06xBgbjShfG0 6ZSjQUCEV96rSzj3DRiMQxCYEZ3rA85ryUABP8ehYuN1s3kLW6Ne3GNowft7YVMf+IlT TRMuV6Jj9Syu7W8swp1I4eyhriglGa2R7yylKCFvqFf7iF4N0QMJ6Tj4r52J5PVPKZj2 t/ayGUubyeEla6J+aWgkElwYCOPfV56vnFySAvV/5/OV9ftQvKR0JuBVwqDQcdH0tsbs 63/Q== Received: by 10.205.133.13 with SMTP id hw13mr7223020bkc.30.1337573998726; Sun, 20 May 2012 21:19:58 -0700 (PDT) MIME-Version: 1.0 Received: by 10.204.185.208 with HTTP; Sun, 20 May 2012 21:19:38 -0700 (PDT) X-Originating-IP: [76.10.168.90] In-Reply-To: <52696FFEBE154517A60576312AEEEE22@us.oracle.com> References: <52696FFEBE154517A60576312AEEEE22@us.oracle.com> From: Simon Law Date: Mon, 21 May 2012 00:19:38 -0400 Message-ID: Subject: Re: bug#11520: 24.1.50; delete-selection-mode conflicts with electric-pair-mode To: Drew Adams Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: quoted-printable X-Gm-Message-State: ALoCoQnUFNF2ZRwNWTfKOrMcCXTMmkiVd1Yqlyz1tjcf9lgXmcF1zwUenkkDGDWzLWDGb+v10NSf X-Spam-Score: -2.6 (--) X-Debbugs-Envelope-To: 11520 Cc: Stefan Monnier , 11520@debbugs.gnu.org X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.13 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Sender: debbugs-submit-bounces@debbugs.gnu.org Errors-To: debbugs-submit-bounces@debbugs.gnu.org X-Spam-Score: -2.6 (--) On Sun, May 20, 2012 at 12:31 PM, Drew Adams wrote: > But as you say, Stefan, a pre-command approach like d-s knows nothing abo= ut what > might be expected to happen after the command is done. > > It could be possible to let `e-p' know what `d-s' has already done, but I= do not > see how it is possible/practical to let `d-s' know what `e-p' will do. = =C2=A0We could > make `d-s' aware that `e-p' mode is turned on, and we could even try to l= et it > know exactly what `e-p' mode does (not a very modular approach, but perha= ps > doable). > > But knowing that, `d-s' would have to not only test for `self-insert-comm= and' > but also test the character to be inserted. =C2=A0We would end up, I'm af= raid, > duplicating nearly all of the `e-p' logic inside `d-s'. =C2=A0(But perhap= s I don't > understand well what you had in mind.) > > Anyway, that mismatch (pre-command control vs post) is I guess the proble= m here. > If so, it might be seen to be more general than `d-s' vs `e-p'. It seems to me that delete-selection-mode already knows about four types of commands: 'yank, 'supercede, 'kill, and non-nil. It looks like it could take a function, which will inhibit delete-selection-mode if it returns nil, or return any of the other commands. This way, electric-pair-mode can register its own behaviour with delete-selection-mode when it's activated. --=20 Cheers, Simon -=C2=A0http://ca.linkedin.com/in/sfllaw/ From debbugs-submit-bounces@debbugs.gnu.org Mon Jun 11 17:27:16 2012 Received: (at 11520) by debbugs.gnu.org; 11 Jun 2012 21:27:16 +0000 Received: from localhost ([127.0.0.1]:38362 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.72) (envelope-from ) id 1SeC8q-0005So-Kd for submit@debbugs.gnu.org; Mon, 11 Jun 2012 17:27:16 -0400 Received: from mail-bk0-f44.google.com ([209.85.214.44]:55631) by debbugs.gnu.org with esmtp (Exim 4.72) (envelope-from ) id 1SeC8n-0005Sg-Ve for 11520@debbugs.gnu.org; Mon, 11 Jun 2012 17:27:14 -0400 Received: by bkty8 with SMTP id y8so3940485bkt.3 for <11520@debbugs.gnu.org>; Mon, 11 Jun 2012 14:24:34 -0700 (PDT) X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=20120113; h=mime-version:x-originating-ip:in-reply-to:references:from:date :message-id:subject:to:cc:content-type:content-transfer-encoding :x-gm-message-state; bh=PM2zBPBmI7ARZV0OK/ui4J83pdJZcoM8M1c4lGrQ0EM=; b=aQiroyxlqXwxLILtne36ZHa5Gqo1LXmsD6TNo9ykEKR5QL6XAs9UQuVl7WD61TWsCu Z8xU0olEieSnY+tXHCiCHPwDRmbf511Pja4u+vf/FWB3mCsNiNmhBtyT74LfPlfRhkWU DkdvXiEeofugOgRq+PodEXh47qgTCFmMln6wyM0yptQ0R39v/aVEsMtka1zTCmnoaQY1 Tu8W+9wftQEPhA1GFfwVIZrVIbBspzBtUQZU0Wv7yGRJD4r3qiUXrcybo7nand6PwCrv BHD4OqTUYDJHCkylojCruoBmJD+7KNOIi+DSh+1TyOjNk4eQGNLf3l1wICxRlFDOqZ2w DnHQ== Received: by 10.205.117.3 with SMTP id fk3mr11097052bkc.136.1339449874579; Mon, 11 Jun 2012 14:24:34 -0700 (PDT) MIME-Version: 1.0 Received: by 10.204.224.200 with HTTP; Mon, 11 Jun 2012 14:24:14 -0700 (PDT) X-Originating-IP: [38.108.74.28] In-Reply-To: References: <52696FFEBE154517A60576312AEEEE22@us.oracle.com> From: Simon Law Date: Mon, 11 Jun 2012 17:24:14 -0400 Message-ID: Subject: Re: bug#11520: 24.1.50; delete-selection-mode conflicts with electric-pair-mode To: 11520@debbugs.gnu.org Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: quoted-printable X-Gm-Message-State: ALoCoQnLmEl16wKDTadR62+PKmKgjKz3s801+bEXj/sV76YxbUKPl71aEWA8aCY9rPfCGF/7oOsg X-Spam-Score: -2.6 (--) X-Debbugs-Envelope-To: 11520 Cc: Stefan Monnier , Drew Adams X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.13 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Sender: debbugs-submit-bounces@debbugs.gnu.org Errors-To: debbugs-submit-bounces@debbugs.gnu.org X-Spam-Score: -2.6 (--) I now use the following workaround, in order to preserve string-wrapping behaviour: (defadvice delete-active-region (around electric-pair-or-delete-active-regi= on activate) "Prevent delete-active-region from clobbering electric-pair-mode." (unless (and electric-pair-mode (or (memq (char-syntax last-command-event) '(?\( ?\")) (assq last-command-event electric-pair-pairs))) ad-do-it) t) --=20 Cheers, Simon -=C2=A0http://ca.linkedin.com/in/sfllaw/ From debbugs-submit-bounces@debbugs.gnu.org Sat Jul 14 01:29:37 2012 Received: (at 11520) by debbugs.gnu.org; 14 Jul 2012 05:29:37 +0000 Received: from localhost ([127.0.0.1]:40143 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.72) (envelope-from ) id 1SpuvB-0000LA-BU for submit@debbugs.gnu.org; Sat, 14 Jul 2012 01:29:37 -0400 Received: from fencepost.gnu.org ([208.118.235.10]:55274) by debbugs.gnu.org with esmtp (Exim 4.72) (envelope-from ) id 1Spuv9-0000L3-NR for 11520@debbugs.gnu.org; Sat, 14 Jul 2012 01:29:36 -0400 Received: from [155.69.186.151] (port=33961 helo=ulysses) by fencepost.gnu.org with esmtpsa (TLS1.0:DHE_RSA_AES_128_CBC_SHA1:16) (Exim 4.71) (envelope-from ) id 1Spupc-00059P-Tc; Sat, 14 Jul 2012 01:23:53 -0400 From: Chong Yidong To: Simon Law Subject: Re: bug#11520: 24.1.50; delete-selection-mode conflicts with electric-pair-mode References: Date: Sat, 14 Jul 2012 13:23:47 +0800 In-Reply-To: (Simon Law's message of "Sat, 19 May 2012 16:07:56 -0400") Message-ID: <87ipdqx6e4.fsf@gnu.org> User-Agent: Gnus/5.13 (Gnus v5.13) Emacs/24.1.50 (gnu/linux) MIME-Version: 1.0 Content-Type: text/plain X-Spam-Score: -6.9 (------) X-Debbugs-Envelope-To: 11520 Cc: 11520@debbugs.gnu.org X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.13 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Sender: debbugs-submit-bounces@debbugs.gnu.org Errors-To: debbugs-submit-bounces@debbugs.gnu.org X-Spam-Score: -6.9 (------) Simon Law writes: > $ emacs -Q > M-x electric-pair-mode > M-x delete-selection-mode > ;; Type "a line of text"" > C-SPC > C-a > ;; At this point, you should have the line of text selected > ( > > Actual result: > > )( Fixed in trunk. Thanks. From debbugs-submit-bounces@debbugs.gnu.org Sat Jul 14 01:29:46 2012 Received: (at control) by debbugs.gnu.org; 14 Jul 2012 05:29:46 +0000 Received: from localhost ([127.0.0.1]:40146 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.72) (envelope-from ) id 1SpuvK-0000LX-Hz for submit@debbugs.gnu.org; Sat, 14 Jul 2012 01:29:46 -0400 Received: from fencepost.gnu.org ([208.118.235.10]:55277) by debbugs.gnu.org with esmtp (Exim 4.72) (envelope-from ) id 1SpuvJ-0000LR-0u for control@debbugs.gnu.org; Sat, 14 Jul 2012 01:29:45 -0400 Received: from [155.69.186.151] (port=33962 helo=ulysses) by fencepost.gnu.org with esmtpsa (TLS1.0:DHE_RSA_AES_128_CBC_SHA1:16) (Exim 4.71) (envelope-from ) id 1Spupm-00059W-TR for control@debbugs.gnu.org; Sat, 14 Jul 2012 01:24:03 -0400 From: Chong Yidong To: control@debbugs.gnu.org Subject: close 11520 Date: Sat, 14 Jul 2012 13:23:59 +0800 Message-ID: <87k3y6ex00.fsf@gnu.org> MIME-Version: 1.0 Content-Type: text/plain X-Spam-Score: -6.9 (------) X-Debbugs-Envelope-To: control X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.13 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Sender: debbugs-submit-bounces@debbugs.gnu.org Errors-To: debbugs-submit-bounces@debbugs.gnu.org X-Spam-Score: -6.9 (------) close 11520 thanks From debbugs-submit-bounces@debbugs.gnu.org Sat Jul 14 02:48:41 2012 Received: (at 11520) by debbugs.gnu.org; 14 Jul 2012 06:48:41 +0000 Received: from localhost ([127.0.0.1]:40197 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.72) (envelope-from ) id 1Spw9f-0002zj-NO for submit@debbugs.gnu.org; Sat, 14 Jul 2012 02:48:41 -0400 Received: from mail-bk0-f44.google.com ([209.85.214.44]:50738) by debbugs.gnu.org with esmtp (Exim 4.72) (envelope-from ) id 1Spw9a-0002zZ-Vm for 11520@debbugs.gnu.org; Sat, 14 Jul 2012 02:48:36 -0400 Received: by bkty7 with SMTP id y7so3076393bkt.3 for <11520@debbugs.gnu.org>; Fri, 13 Jul 2012 23:42:52 -0700 (PDT) X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=20120113; h=mime-version:x-originating-ip:in-reply-to:references:from:date :message-id:subject:to:cc:content-type:x-gm-message-state; bh=UWX3DOXlGFRBBl6B0ibxAlZPRu9U72jgO+Tqhbw5Mcg=; b=eMHhuUrlcXdNQz0LqcuZEO/Kg42PjVX763cE3OA7llQmy3O2+1gxjtriRZsV3WVe9D 06+KFm9JnBaIMsXesZ23AVbBY+i0ivOnB4kEO3d47cPPqX5QUnNmgCb9GrXNYj6S+Xhu UPTqF/i58Bi0xFYwuesvL8Y9Vr4K+fTUPQQY5lPnF1Eo6GkDold6GvBwCnL8g66Rb7fE fJL0MZG7uqNRT0Helmj0eNSP5DmGCkE9XU4z3SpvPloi6zXn3BcDDuX0KvfnR0hEsl2/ sLs1SrAxSR5MXY4xFpAine/pMECh7OSb1nqGm7TJklwszYEew9tZF83k12bTjD2UhLI+ qodA== Received: by 10.204.148.66 with SMTP id o2mr2190986bkv.43.1342248171886; Fri, 13 Jul 2012 23:42:51 -0700 (PDT) MIME-Version: 1.0 Received: by 10.204.187.208 with HTTP; Fri, 13 Jul 2012 23:42:31 -0700 (PDT) X-Originating-IP: [69.196.188.112] In-Reply-To: <87ipdqx6e4.fsf@gnu.org> References: <87ipdqx6e4.fsf@gnu.org> From: Simon Law Date: Sat, 14 Jul 2012 02:42:31 -0400 Message-ID: Subject: Re: bug#11520: 24.1.50; delete-selection-mode conflicts with electric-pair-mode To: Chong Yidong Content-Type: text/plain; charset=UTF-8 X-Gm-Message-State: ALoCoQmD2hQHq6vnBG/pwr2Zr2lxG+PTjMSU9IRfWrmKWLKuKkakwp9uY27mQ+YDx0FQu/fGF2KS X-Spam-Score: -2.6 (--) X-Debbugs-Envelope-To: 11520 Cc: 11520@debbugs.gnu.org X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.13 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Sender: debbugs-submit-bounces@debbugs.gnu.org Errors-To: debbugs-submit-bounces@debbugs.gnu.org X-Spam-Score: -2.6 (--) On Sat, Jul 14, 2012 at 1:23 AM, Chong Yidong wrote: > Simon Law writes: > >> $ emacs -Q >> M-x electric-pair-mode >> M-x delete-selection-mode >> ;; Type "a line of text"" >> C-SPC >> C-a >> ;; At this point, you should have the line of text selected >> ( >> >> Actual result: >> >> )( > > Fixed in trunk. Thanks. Hi Chong, I tested your fix and it makes electric-pair-mode insert pairs in the right order now. But the bug is that delete-selection-mode destroys electric-pair-mode's auto-wrapping ability. Unfortunately, your fix does not address that. Would you like me to come up with a patch that implements my suggestions above in the BTS? Thanks, - Simon From debbugs-submit-bounces@debbugs.gnu.org Sun Jul 15 10:46:05 2012 Received: (at 11520) by debbugs.gnu.org; 15 Jul 2012 14:46:05 +0000 Received: from localhost ([127.0.0.1]:42878 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.72) (envelope-from ) id 1SqQ5A-00056y-DS for submit@debbugs.gnu.org; Sun, 15 Jul 2012 10:46:02 -0400 Received: from fencepost.gnu.org ([208.118.235.10]:49774) by debbugs.gnu.org with esmtp (Exim 4.72) (envelope-from ) id 1SqQ56-000553-0c for 11520@debbugs.gnu.org; Sun, 15 Jul 2012 10:45:57 -0400 Received: from cm162.gamma80.maxonline.com.sg ([202.156.80.162]:34035 helo=ulysses) by fencepost.gnu.org with esmtpsa (TLS1.0:DHE_RSA_AES_128_CBC_SHA1:16) (Exim 4.71) (envelope-from ) id 1SqPzQ-0000xK-8r; Sun, 15 Jul 2012 10:40:05 -0400 From: Chong Yidong To: Simon Law Subject: Re: bug#11520: 24.1.50; delete-selection-mode conflicts with electric-pair-mode References: <87ipdqx6e4.fsf@gnu.org> Date: Sun, 15 Jul 2012 22:39:56 +0800 In-Reply-To: (Simon Law's message of "Sat, 14 Jul 2012 02:42:31 -0400") Message-ID: <87a9z19jgj.fsf@gnu.org> User-Agent: Gnus/5.13 (Gnus v5.13) Emacs/24.1.50 (gnu/linux) MIME-Version: 1.0 Content-Type: text/plain X-Spam-Score: -6.9 (------) X-Debbugs-Envelope-To: 11520 Cc: 11520@debbugs.gnu.org X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.13 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Sender: debbugs-submit-bounces@debbugs.gnu.org Errors-To: debbugs-submit-bounces@debbugs.gnu.org X-Spam-Score: -6.9 (------) Simon Law writes: > I tested your fix and it makes electric-pair-mode insert pairs in the > right order now. > > But the bug is that delete-selection-mode destroys > electric-pair-mode's auto-wrapping ability. Unfortunately, your fix > does not address that. Hmm, I guess I misunderstood the bug. I'll re-open it. Trying to work up a patch that does the right thing is not so straightforward, though, as electric-pair-post-self-insert-function does not have a simple triggering condition. From unknown Mon Sep 08 03:16:20 2025 Received: (at fakecontrol) by fakecontrolmessage; To: internal_control@debbugs.gnu.org From: Debbugs Internal Request Subject: Internal Control Message-Id: Did not alter fixed versions and reopened. Date: Sun, 15 Jul 2012 14:47:02 +0000 User-Agent: Fakemail v42.6.9 # This is a fake control message. # # The action: # Did not alter fixed versions and reopened. thanks # This fakemail brought to you by your local debbugs # administrator From debbugs-submit-bounces@debbugs.gnu.org Sun Jul 15 12:39:50 2012 Received: (at 11520) by debbugs.gnu.org; 15 Jul 2012 16:39:50 +0000 Received: from localhost ([127.0.0.1]:42986 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.72) (envelope-from ) id 1SqRrK-0000Fa-9a for submit@debbugs.gnu.org; Sun, 15 Jul 2012 12:39:50 -0400 Received: from mail-bk0-f44.google.com ([209.85.214.44]:43143) by debbugs.gnu.org with esmtp (Exim 4.72) (envelope-from ) id 1SqRrI-0000FT-JK for 11520@debbugs.gnu.org; Sun, 15 Jul 2012 12:39:49 -0400 Received: by bkty7 with SMTP id y7so3461339bkt.3 for <11520@debbugs.gnu.org>; Sun, 15 Jul 2012 09:33:58 -0700 (PDT) X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=20120113; h=mime-version:x-originating-ip:in-reply-to:references:from:date :message-id:subject:to:cc:content-type:x-gm-message-state; bh=eTalOmpGAkYaLUxShiE+NiecdxVKy1g5fq/zCu9ROzU=; b=k1kiNvJU4B8cX2xDgSQqTbiUgj812RBs0vK37qqvMzUsE75+Vb7Fv7UJ4deFyI1FXi jCwtOwFkTlafWn8p8bJc0LHVvXn0Sn473GZRzYfM34Vjsd2ML+Qf02+IBdL16m2LN24E 22WNbHt4EJ0rLD0MB12wWwFkpCrFEIB6ScgGUfN8kClS04ZvMWOzhRE9VCkLNTmiyi/t CJzeuB11P37sFo/jisE+Ptij6e7NUjO0piii0tA5DTsMfmHw4lDPkBBZFFLoF9dhdb5S aHqBDpV2Zvy/Yb7IegThhAgMYhzsva51nVazI5ilfCTEn/TPMs9kZ+qY4eapw2EMPuMB Mv4g== Received: by 10.204.128.214 with SMTP id l22mr3558866bks.86.1342370037852; Sun, 15 Jul 2012 09:33:57 -0700 (PDT) MIME-Version: 1.0 Received: by 10.204.187.208 with HTTP; Sun, 15 Jul 2012 09:33:37 -0700 (PDT) X-Originating-IP: [69.196.162.212] In-Reply-To: <87a9z19jgj.fsf@gnu.org> References: <87ipdqx6e4.fsf@gnu.org> <87a9z19jgj.fsf@gnu.org> From: Simon Law Date: Sun, 15 Jul 2012 12:33:37 -0400 Message-ID: Subject: Re: bug#11520: 24.1.50; delete-selection-mode conflicts with electric-pair-mode To: Chong Yidong Content-Type: text/plain; charset=UTF-8 X-Gm-Message-State: ALoCoQnhgQCMmmoHYDhgrxijYgPvt4amBb0RAne7/dLU61VFKYjl9IF6BYGu2J6W2yt7TuEVgBep X-Spam-Score: -2.6 (--) X-Debbugs-Envelope-To: 11520 Cc: 11520@debbugs.gnu.org X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.13 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Sender: debbugs-submit-bounces@debbugs.gnu.org Errors-To: debbugs-submit-bounces@debbugs.gnu.org X-Spam-Score: -2.6 (--) On Sun, Jul 15, 2012 at 10:39 AM, Chong Yidong wrote: > Simon Law writes: > >> I tested your fix and it makes electric-pair-mode insert pairs in the >> right order now. >> >> But the bug is that delete-selection-mode destroys >> electric-pair-mode's auto-wrapping ability. Unfortunately, your fix >> does not address that. > > Hmm, I guess I misunderstood the bug. I'll re-open it. > > Trying to work up a patch that does the right thing is not so > straightforward, though, as electric-pair-post-self-insert-function does > not have a simple triggering condition. I proposed making delete-selection-pre-hook understand a function as one of the legitimate types. If it were a function, it gets called and its results would be interpreted as type, either: 'yank, 'kill, 'supersede, t, or nil. That way, electric-pair-mode can override the (put 'self-insert-command 'delete-selection ...) with its own function that understands the triggering condition. The triggering condition would be extracted from electric-pair-post-self-insert-function so it could be used in two places. Sound good? P.S. I don't have an bzr checkout of Emacs right now. Would this be something useful to target against Emacs 24 as a bugfix? -- Cheers, Simon - http://ca.linkedin.com/in/sfllaw/ From debbugs-submit-bounces@debbugs.gnu.org Wed Jul 18 08:20:04 2012 Received: (at 11520) by debbugs.gnu.org; 18 Jul 2012 12:20:04 +0000 Received: from localhost ([127.0.0.1]:47681 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.72) (envelope-from ) id 1SrTEZ-00085m-JO for submit@debbugs.gnu.org; Wed, 18 Jul 2012 08:20:04 -0400 Received: from pruche.dit.umontreal.ca ([132.204.246.22]:60773) by debbugs.gnu.org with esmtp (Exim 4.72) (envelope-from ) id 1SrTEX-00085J-AI for 11520@debbugs.gnu.org; Wed, 18 Jul 2012 08:20:02 -0400 Received: from fmsmemgm.homelinux.net (lechon.iro.umontreal.ca [132.204.27.242]) by pruche.dit.umontreal.ca (8.14.1/8.14.1) with ESMTP id q6ICDrW5032029; Wed, 18 Jul 2012 08:13:54 -0400 Received: by fmsmemgm.homelinux.net (Postfix, from userid 20848) id 4DEC8AECAF; Wed, 18 Jul 2012 08:13:51 -0400 (EDT) From: Stefan Monnier To: Simon Law Subject: Re: bug#11520: 24.1.50; delete-selection-mode conflicts with electric-pair-mode Message-ID: References: <87ipdqx6e4.fsf@gnu.org> <87a9z19jgj.fsf@gnu.org> Date: Wed, 18 Jul 2012 08:13:51 -0400 In-Reply-To: (Simon Law's message of "Sun, 15 Jul 2012 12:33:37 -0400") User-Agent: Gnus/5.13 (Gnus v5.13) Emacs/24.1.50 (gnu/linux) MIME-Version: 1.0 Content-Type: text/plain X-NAI-Spam-Flag: NO X-NAI-Spam-Threshold: 5 X-NAI-Spam-Score: 0 X-NAI-Spam-Rules: 1 Rules triggered RV4282=0 X-NAI-Spam-Version: 2.2.0.9309 : core <4282> : streams <786675> : uri <1168436> X-Spam-Score: -3.5 (---) X-Debbugs-Envelope-To: 11520 Cc: Chong Yidong , 11520@debbugs.gnu.org X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.13 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Sender: debbugs-submit-bounces@debbugs.gnu.org Errors-To: debbugs-submit-bounces@debbugs.gnu.org X-Spam-Score: -3.5 (---) > That way, electric-pair-mode can override the (put > 'self-insert-command 'delete-selection ...) with its own function that > understands the triggering condition. The triggering condition would > be extracted from electric-pair-post-self-insert-function so it could > be used in two places. That sounds like a reasonable plan, yes. An alternative is to change self-insert-command so that it pays attention to delete-selection-mode (and provides some hook for electric-pair-mode to indicate when it would use the region). > P.S. I don't have an bzr checkout of Emacs right now. Would this be > something useful to target against Emacs 24 as a bugfix? Yes. Stefan PS: I don't much like delete-selection-mode because of its implementation strategy (using a pre-command-hook along with symbol properties, as opposed to modifying the commands themselves). I can fully understand why it was done this way, but I'd be happy to see it changed, along the same lines as what we did for the shift-select-mode. AFAICT, of the various `delete-selection' properties, `kill' is only used for `open-line' (for no good reason) and could be eliminated. `supersede' is only used by command which should obey `delete-active-region' or close enough, `yank' is only used for commands which end up calling `yank' (so adding code to the `yank' command would cover them), and t is used for commands which end up calling `self-insert-command' (with a few minor exceptions like open-line). From debbugs-submit-bounces@debbugs.gnu.org Wed Jul 18 10:02:10 2012 Received: (at 11520) by debbugs.gnu.org; 18 Jul 2012 14:02:10 +0000 Received: from localhost ([127.0.0.1]:48547 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.72) (envelope-from ) id 1SrUpO-00031u-2T for submit@debbugs.gnu.org; Wed, 18 Jul 2012 10:02:10 -0400 Received: from rcsinet15.oracle.com ([148.87.113.117]:20848) by debbugs.gnu.org with esmtp (Exim 4.72) (envelope-from ) id 1SrUpL-00031m-6g for 11520@debbugs.gnu.org; Wed, 18 Jul 2012 10:02:08 -0400 Received: from ucsinet21.oracle.com (ucsinet21.oracle.com [156.151.31.93]) by rcsinet15.oracle.com (Sentrion-MTA-4.2.2/Sentrion-MTA-4.2.2) with ESMTP id q6IDtxZr025283 (version=TLSv1/SSLv3 cipher=DHE-RSA-AES256-SHA bits=256 verify=OK); Wed, 18 Jul 2012 13:56:00 GMT Received: from acsmt357.oracle.com (acsmt357.oracle.com [141.146.40.157]) by ucsinet21.oracle.com (8.14.4+Sun/8.14.4) with ESMTP id q6IDtwFN025356 (version=TLSv1/SSLv3 cipher=DHE-RSA-AES256-SHA bits=256 verify=NO); Wed, 18 Jul 2012 13:55:59 GMT Received: from abhmt101.oracle.com (abhmt101.oracle.com [141.146.116.53]) by acsmt357.oracle.com (8.12.11.20060308/8.12.11) with ESMTP id q6IDtwqW007692; Wed, 18 Jul 2012 08:55:58 -0500 Received: from dradamslap1 (/10.159.216.130) by default (Oracle Beehive Gateway v4.0) with ESMTP ; Wed, 18 Jul 2012 06:55:57 -0700 From: "Drew Adams" To: "'Stefan Monnier'" , "'Simon Law'" References: <87ipdqx6e4.fsf@gnu.org><87a9z19jgj.fsf@gnu.org> Subject: RE: bug#11520: 24.1.50; delete-selection-mode conflicts with electric-pair-mode Date: Wed, 18 Jul 2012 06:55:36 -0700 Message-ID: <23B93A33CBB6419F9DA18F520F1A9759@us.oracle.com> MIME-Version: 1.0 Content-Type: text/plain; charset="us-ascii" Content-Transfer-Encoding: 7bit X-Mailer: Microsoft Office Outlook 11 In-Reply-To: Thread-Index: Ac1k3vwtUchVCRxWQISPnzh9Ps9+SgACz3Mw X-MimeOLE: Produced By Microsoft MimeOLE V6.00.2900.6157 X-Source-IP: ucsinet21.oracle.com [156.151.31.93] X-Spam-Score: -6.9 (------) X-Debbugs-Envelope-To: 11520 Cc: 'Chong Yidong' , 11520@debbugs.gnu.org X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.13 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Sender: debbugs-submit-bounces@debbugs.gnu.org Errors-To: debbugs-submit-bounces@debbugs.gnu.org X-Spam-Score: -6.9 (------) > I don't much like delete-selection-mode because of its > implementation strategy (using a pre-command-hook along with > symbol properties, as opposed to modifying the commands > themselves). I can fully understand why it was done this > way, but I'd be happy to see it changed, along the > same lines as what we did for the shift-select-mode. FWIW, I am not enthused by that prospect. > AFAICT, of the various `delete-selection' properties, `kill' is only > used for `open-line' (for no good reason) and could be eliminated. > `supersede' is only used by command which should obey > `delete-active-region' or close enough, `yank' is only used > for commands which end up calling `yank' (so adding code to the > `yank' command would cover them), and t is used for commands > which end up calling `self-insert-command' (with a few minor > exceptions like open-line). Delete-selection mode is not only for use by end users out of the box with vanilla Emacs. It is especially designed to be easy to use to adapt code, modes, and general interactive behavior, for both users and other libraries. In this respect it is similar to the general programming functionality provided by thingatpt.el. It would be short-sighted to look only to how the existing code uses thing-at-point features and ignore how they can be (are designed to be) used more generally. Same with delete-selection mode. When will Emacs Dev stop looking only to the existing vanilla code that is distributed to determine the "only" uses of some existing functionality. That last paragraph of yours is a classic: feature A seems only to be used for X,Y,Z in the Emacs code, so let's simplify things by amputating the feature and hard-coding its uses into the existing code. The design of delete-selection mode is for its potential uses, not just its existing uses in the current code that you maintain. Such proposed amputation is like looking at how the character `(' is actually used in one file and proposing to change the possibility to use it more generally, limiting it to its uses in that one file. Just one opinion - from a longtime delete-selection mode user and someone who has also used it in programming. (Likewise thing at point.) From debbugs-submit-bounces@debbugs.gnu.org Mon Oct 08 18:25:39 2012 Received: (at 11520) by debbugs.gnu.org; 8 Oct 2012 22:25:39 +0000 Received: from localhost ([127.0.0.1]:34369 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.72) (envelope-from ) id 1TLLlb-0006DL-J4 for submit@debbugs.gnu.org; Mon, 08 Oct 2012 18:25:39 -0400 Received: from ironport2-out.teksavvy.com ([206.248.154.182]:55717) by debbugs.gnu.org with esmtp (Exim 4.72) (envelope-from ) id 1TLLlZ-0006D8-1G for 11520@debbugs.gnu.org; Mon, 08 Oct 2012 18:25:37 -0400 X-IronPort-Anti-Spam-Filtered: true X-IronPort-Anti-Spam-Result: Ai0FAG6Zu09FxLQG/2dsb2JhbABEsEiDSYEIghUBAQQBViMFCwsOJhIUGA0kiBwFugmQRAOjM4FYgwU X-IronPort-AV: E=Sophos;i="4.75,637,1330923600"; d="scan'208";a="200881997" Received: from 69-196-180-6.dsl.teksavvy.com (HELO ceviche.home) ([69.196.180.6]) by ironport2-out.teksavvy.com with ESMTP/TLS/ADH-AES256-SHA; 08 Oct 2012 18:25:01 -0400 Received: by ceviche.home (Postfix, from userid 20848) id B0B21660E0; Mon, 8 Oct 2012 18:25:00 -0400 (EDT) From: Stefan Monnier To: Simon Law Subject: Re: bug#11520: 24.1.50; delete-selection-mode conflicts with electric-pair-mode Message-ID: References: <87ipdqx6e4.fsf@gnu.org> <87a9z19jgj.fsf@gnu.org> Date: Mon, 08 Oct 2012 18:25:00 -0400 In-Reply-To: (Simon Law's message of "Sun, 15 Jul 2012 12:33:37 -0400") User-Agent: Gnus/5.13 (Gnus v5.13) Emacs/24.1.50 (gnu/linux) MIME-Version: 1.0 Content-Type: text/plain X-Spam-Score: 0.8 (/) X-Debbugs-Envelope-To: 11520 Cc: Chong Yidong , 11520@debbugs.gnu.org X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.13 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Sender: debbugs-submit-bounces@debbugs.gnu.org Errors-To: debbugs-submit-bounces@debbugs.gnu.org X-Spam-Score: 0.8 (/) > I proposed making delete-selection-pre-hook understand a function as > one of the legitimate types. If it were a function, it gets called and > its results would be interpreted as type, either: 'yank, 'kill, > 'supersede, t, or nil. > That way, electric-pair-mode can override the (put > 'self-insert-command 'delete-selection ...) with its own function that That's going in the right direction, but I have two problems with that: - I don't want electric-pair-mode to decide of the whole self-insert-command behavior. I.e. self-insert-command should have a `delete-selection' property that is not specific to electric-pair-mode, so that if someone implements some other post-self-insert-hook that also interacts with selection-selection-mode, they should be able to cooperate. IOW, we need self-insert-command's delete-section property to be a new function that runs a new hook on which electric-foo-mode can add their respective function. - this new hook should be good enough for delete-selection-mode, obviously, but it should also be good enough for a replacement of delete-selection-mode that works differently. I guess the functions on that hook would mostly need to return a boolean indicating whether they're going to make use of the region. Stefan From debbugs-submit-bounces@debbugs.gnu.org Sun Oct 21 19:15:08 2012 Received: (at 11520) by debbugs.gnu.org; 21 Oct 2012 23:15:08 +0000 Received: from localhost ([127.0.0.1]:54726 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.72) (envelope-from ) id 1TQ4jb-0008Ew-U7 for submit@debbugs.gnu.org; Sun, 21 Oct 2012 19:15:08 -0400 Received: from mail-bk0-f44.google.com ([209.85.214.44]:56044) by debbugs.gnu.org with esmtp (Exim 4.72) (envelope-from ) id 1TQ4jZ-0008EE-6r for 11520@debbugs.gnu.org; Sun, 21 Oct 2012 19:15:06 -0400 Received: by mail-bk0-f44.google.com with SMTP id jc3so644394bkc.3 for <11520@debbugs.gnu.org>; Sun, 21 Oct 2012 16:13:16 -0700 (PDT) X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=20120113; h=mime-version:x-originating-ip:in-reply-to:references:from:date :message-id:subject:to:cc:content-type:x-gm-message-state; bh=DSsAA5K+owDLi7DggssrqbBf6R0sf1EmQBoM51pjc08=; b=MjyPH26F0L6Nv2xF1D5qIaXIU6skeYEIO+uDrCJE4byt/f6jK8P0lJFU/SkVitIZM/ 2/nVpKQ9cKG+VOm+3TvzKBih3rXchQX6MtLM9nm1vlpvuIqYhzrDMtcnYOtHlLK/qCoY shrnwXXHd//rSY+8ZmMF7nYuETBbNe+rBB49oM0f2wO/pGOUOhMwbtsYdXPbHlOmcOsD l4uSz0/zDd8hrxmy48FNxFGiLnmrFQCXJZXWHNbOn8lfleKRmTX6sQDopg4tXOBRvv63 CJLrOr0155Z0PUP1AkRMxVyt7OBfvIzUzRIFBJvWViC4SpXpFswpR3gk8TojZkuBfVcR wsDg== Received: by 10.204.151.9 with SMTP id a9mr2102370bkw.2.1350861195876; Sun, 21 Oct 2012 16:13:15 -0700 (PDT) MIME-Version: 1.0 Received: by 10.204.142.140 with HTTP; Sun, 21 Oct 2012 16:12:55 -0700 (PDT) X-Originating-IP: [2607:f2c0:f00e:1900:5c08:1815:a9d3:ea30] In-Reply-To: References: <87ipdqx6e4.fsf@gnu.org> <87a9z19jgj.fsf@gnu.org> From: Simon Law Date: Sun, 21 Oct 2012 19:12:55 -0400 Message-ID: Subject: Re: bug#11520: 24.1.50; delete-selection-mode conflicts with electric-pair-mode To: Stefan Monnier Content-Type: multipart/mixed; boundary=0015175d07e6b89b2504cc99e111 X-Gm-Message-State: ALoCoQm9Ua07a/CBtyW5t6nASO/AZO0d1rB+SuZ/7PifC6H56kWcwQ/PNq/3wh0YtjWfLMkJMecm X-Spam-Score: 0.1 (/) X-Debbugs-Envelope-To: 11520 Cc: Chong Yidong , 11520@debbugs.gnu.org X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.13 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Sender: debbugs-submit-bounces@debbugs.gnu.org Errors-To: debbugs-submit-bounces@debbugs.gnu.org X-Spam-Score: 0.1 (/) --0015175d07e6b89b2504cc99e111 Content-Type: text/plain; charset=UTF-8 Attached is a patch against trunk. I have addressed your concerns below: On Mon, Oct 8, 2012 at 6:25 PM, Stefan Monnier wrote: >> I proposed making delete-selection-pre-hook understand a function as >> one of the legitimate types. If it were a function, it gets called and >> its results would be interpreted as type, either: 'yank, 'kill, >> 'supersede, t, or nil. > >> That way, electric-pair-mode can override the (put >> 'self-insert-command 'delete-selection ...) with its own function that > > That's going in the right direction, but I have two problems with that: > - I don't want electric-pair-mode to decide of the whole > self-insert-command behavior. I.e. self-insert-command should have > a `delete-selection' property that is not specific to > electric-pair-mode, so that if someone implements some other > post-self-insert-hook that also interacts with > selection-selection-mode, they should be able to cooperate. > IOW, we need self-insert-command's delete-section property to be a new > function that runs a new hook on which electric-foo-mode can add their > respective function. There is a new abnormal hook called delete-selection-self-insert-hooks that delete-selection-mode attaches, by default, onto self-insert-command and self-insert-iso. Conceivably, the other functions may also need their own hooks, but I couldn't think of a good use case right now. Therefore, YAGNI. It is trivial to add this later. > - this new hook should be good enough for delete-selection-mode, > obviously, but it should also be good enough for a replacement > of delete-selection-mode that works differently. > I guess the functions on that hook would mostly need to return > a boolean indicating whether they're going to make use of the region. Instead of booleans, those functions return one of the types that delete-selection understands. -- Cheers, Simon - http://ca.linkedin.com/in/sfllaw/ --0015175d07e6b89b2504cc99e111 Content-Type: application/octet-stream; name="11520.0.patch" Content-Disposition: attachment; filename="11520.0.patch" Content-Transfer-Encoding: base64 X-Attachment-Id: f_h8kruz6a0 ZGlmZiAtLWdpdCBhL2xpc3AvZGVsc2VsLmVsIGIvbGlzcC9kZWxzZWwuZWwKaW5kZXggYTY0MzU2 Ny4uMDlmNThlMCAxMDA2NDQKLS0tIGEvbGlzcC9kZWxzZWwuZWwKKysrIGIvbGlzcC9kZWxzZWwu ZWwKQEAgLTQ3LDYgKzQ3LDkgQEAKIDs7ICBub24tbmlsCiA7OyAgICAgIFRoZSBub3JtYWwgY2Fz ZTogZGVsZXRlIHRoZSBhY3RpdmUgcmVnaW9uIHByaW9yIHRvIGV4ZWN1dGluZwogOzsgICAgICB0 aGUgY29tbWFuZCB3aGljaCB3aWxsIGluc2VydCByZXBsYWNlbWVudCB0ZXh0LgorOzsgIGhvb2tz Cis7OyAgICAgIEZvciBjb21tYW5kcyB3aGljaCBuZWVkIHRvIGR5bmFtaWNhbGx5IGRldGVybWlu ZSB0aGlzIGJlaGF2aW91ci4KKzs7ICAgICAgRWFjaCBob29rIHNob3VsZCByZXR1cm4gb25lIG9m IHRoZSBhYm92ZSB2YWx1ZXMgb3IgbmlsLgogCiA7OzsgQ29kZToKIApAQCAtNzEsNjYgKzc0LDEw NiBAQCBhbnkgc2VsZWN0aW9uLiIKICAgICAodHJhbnNpZW50LW1hcmstbW9kZSB0KSkpCiAKIChk ZWZ1biBkZWxldGUtYWN0aXZlLXJlZ2lvbiAoJm9wdGlvbmFsIGtpbGxwKQorICAiRGVsZXRlIHRo ZSBhY3RpdmUgcmVnaW9uLgorSWYgS0lMTFAgaW4gbm90LW5pbCwgdGhlIGFjdGl2ZSByZWdpb24g aXMga2lsbGVkIGluc3RlYWQgb2YgZGVsZXRlZC4iCiAgIChpZiBraWxscAogICAgICAgKGtpbGwt cmVnaW9uIChwb2ludCkgKG1hcmspKQogICAgIChkZWxldGUtcmVnaW9uIChwb2ludCkgKG1hcmsp KSkKICAgdCkKIAorKGRlZnVuIGRlbGV0ZS1zZWxlY3Rpb24taGVscGVyICh0eXBlKQorICAiRGVs ZXRlcyBzZWxlY3Rpb24gYWNjb3JkaW5nIHRvIFRZUEU6CisgJ3lhbmsKKyAgICAgRm9yIGNvbW1h bmRzIHdoaWNoIGRvIGEgeWFuazsgZW5zdXJlcyB0aGUgcmVnaW9uIGFib3V0IHRvIGJlCisgICAg IGRlbGV0ZWQgaXNuJ3QgeWFua2VkLgorICdzdXBlcnNlZGUKKyAgICAgRGVsZXRlIHRoZSBhY3Rp dmUgcmVnaW9uIGFuZCBpZ25vcmUgdGhlIGN1cnJlbnQgY29tbWFuZCwKKyAgICAgaS5lLiB0aGUg Y29tbWFuZCB3aWxsIGp1c3QgZGVsZXRlIHRoZSByZWdpb24uCisgJ2tpbGwKKyAgICAgYGtpbGwt cmVnaW9uJyBpcyB1c2VkIG9uIHRoZSBzZWxlY3Rpb24sIHJhdGhlciB0aGFuCisgICAgIGBkZWxl dGUtcmVnaW9uJy4gIChUZXh0IHNlbGVjdGVkIHdpdGggdGhlIG1vdXNlIHdpbGwgdHlwaWNhbGx5 CisgICAgIGJlIHlhbmthYmxlIGFueWhvdy4pCisgbm9uLW5pbAorICAgICBUaGUgbm9ybWFsIGNh c2U6IGRlbGV0ZSB0aGUgYWN0aXZlIHJlZ2lvbiBwcmlvciB0byBleGVjdXRpbmcKKyAgICAgdGhl IGNvbW1hbmQgd2hpY2ggd2lsbCBpbnNlcnQgcmVwbGFjZW1lbnQgdGV4dC4KKyBob29rcworICAg ICBGb3IgY29tbWFuZHMgd2hpY2ggbmVlZCB0byBkeW5hbWljYWxseSBkZXRlcm1pbmUgdGhpcyBi ZWhhdmlvdXIuCisgICAgIEVhY2ggaG9vayBzaG91bGQgcmV0dXJuIG9uZSBvZiB0aGUgYWJvdmUg dmFsdWVzIG9yIG5pbC4iCisgIChjb25kaXRpb24tY2FzZSBkYXRhCisgICAgICAoY29uZCAoKGVx IHR5cGUgJ2tpbGwpCisJICAgICAoZGVsZXRlLWFjdGl2ZS1yZWdpb24gdCkpCisJICAgICgoZXEg dHlwZSAneWFuaykKKwkgICAgIDs7IEJlZm9yZSBhIHlhbmsgY29tbWFuZCwgbWFrZSBzdXJlIHdl IGRvbid0IHlhbmsgdGhlCisJICAgICA7OyBoZWFkIG9mIHRoZSBraWxsLXJpbmcgdGhhdCByZWFs bHkgY29tZXMgZnJvbSB0aGUKKwkgICAgIDs7IGN1cnJlbnRseSBhY3RpdmUgcmVnaW9uIHdlIGFy ZSBnb2luZyB0byBkZWxldGUuCisJICAgICA7OyBUaGF0IHdvdWxkIG1ha2UgeWFuayBhIG5vLW9w LgorCSAgICAgKHdoZW4gKGFuZCAoc3RyaW5nPSAoYnVmZmVyLXN1YnN0cmluZy1uby1wcm9wZXJ0 aWVzCisJCQkJICAocG9pbnQpIChtYXJrKSkKKwkJCQkgKGNhciBraWxsLXJpbmcpKQorCQkJKGZi b3VuZHAgJ21vdXNlLXJlZ2lvbi1tYXRjaCkKKwkJCShtb3VzZS1yZWdpb24tbWF0Y2gpKQorCSAg ICAgICAoY3VycmVudC1raWxsIDEpKQorCSAgICAgKGRlbGV0ZS1hY3RpdmUtcmVnaW9uKSkKKwkg ICAgKChlcSB0eXBlICdzdXBlcnNlZGUpCisJICAgICAobGV0ICgoZW1wdHktcmVnaW9uICg9IChw b2ludCkgKG1hcmspKSkpCisJICAgICAgIChkZWxldGUtYWN0aXZlLXJlZ2lvbikKKwkgICAgICAg KHVubGVzcyBlbXB0eS1yZWdpb24KKwkJIChzZXRxIHRoaXMtY29tbWFuZCAnaWdub3JlKSkpKQor CSAgICAoKGFuZCAoc3ltYm9scCB0eXBlKSAobm90IChib29sZWFucCB0eXBlKSkpCisJICAgICAo ZGVsZXRlLXNlbGVjdGlvbi1oZWxwZXIKKwkgICAgICAocnVuLWhvb2std2l0aC1hcmdzLXVudGls LXN1Y2Nlc3MgdHlwZSkpKQorCSAgICAodHlwZQorCSAgICAgKGRlbGV0ZS1hY3RpdmUtcmVnaW9u KQorCSAgICAgKGlmIChhbmQgb3ZlcndyaXRlLW1vZGUKKwkJICAgICAgKGVxIHRoaXMtY29tbWFu ZCAnc2VsZi1pbnNlcnQtY29tbWFuZCkpCisJCSAobGV0ICgob3ZlcndyaXRlLW1vZGUgbmlsKSkK KwkJICAgKHNlbGYtaW5zZXJ0LWNvbW1hbmQKKwkJICAgIChwcmVmaXgtbnVtZXJpYy12YWx1ZSBj dXJyZW50LXByZWZpeC1hcmcpKQorCQkgICAoc2V0cSB0aGlzLWNvbW1hbmQgJ2lnbm9yZSkpKSkp CisgICAgOzsgSWYgYXNrLXVzZXItYWJvdXQtc3VwZXJzZXNzaW9uLXRocmVhdCBzaWduYWxzIGFu IGVycm9yLAorICAgIDs7IHN0b3Agc2FmZV9ydW5faG9va3MgZnJvbSBjbGVhcmluZyBvdXQgcHJl LWNvbW1hbmQtaG9vay4KKyAgICAoZmlsZS1zdXBlcnNlc3Npb24gKG1lc3NhZ2UgIiVzIiAoY2Fk ciBkYXRhKSkgKGRpbmcpKQorICAgICh0ZXh0LXJlYWQtb25seQorICAgICA7OyBUaGlzIHNpZ25h bCBtYXkgY29tZSBlaXRoZXIgZnJvbSBgZGVsZXRlLWFjdGl2ZS1yZWdpb24nIG9yCisgICAgIDs7 IGBzZWxmLWluc2VydC1jb21tYW5kJyAod2hlbiBgb3ZlcndyaXRlLW1vZGUnIGlzIG5vbi1uaWwp LgorICAgICA7OyBUbyBhdm9pZCBjbGVhcmluZyBvdXQgYHByZS1jb21tYW5kLWhvb2snIHdlIGhh bmRsZSB0aGlzIGNhc2UKKyAgICAgOzsgYnkgaXNzdWluZyBhIHNpbXBsZSBtZXNzYWdlLiAgTm90 ZSwgaG93ZXZlciwgdGhhdCB3ZSBkbyBub3QKKyAgICAgOzsgaGFuZGxlIGFsbCByZWxhdGVkIHBy b2JsZW1zOiBXaGVuIHJlYWQtb25seSB0ZXh0IGVuZHMgYmVmb3JlCisgICAgIDs7IHRoZSBlbmQg b2YgdGhlIHJlZ2lvbiwgdGhlIGxhdHRlciBpcyBub3QgZGVsZXRlZCBidXQgYW55CisgICAgIDs7 IHN1YnNlcXVlbnQgaW5zZXJ0aW9uIHdpbGwgc3VjY2VlZC4gIFdlIGNvdWxkIGF2b2lkIHRoaXMg Y2FzZQorICAgICA7OyBieSBkb2luZyBhIChzZXRxIHRoaXMtY29tbWFuZCAnaWdub3JlKSBoZXJl LiAgVGhpcyB3b3VsZCwKKyAgICAgOzsgaG93ZXZlciwgc3RpbGwgbm90IGhhbmRsZSB0aGUgY2Fz ZSB3aGVyZSByZWFkLW9ubHkgdGV4dCBlbmRzCisgICAgIDs7IHByZWNpc2VseSB3aGVyZSB0aGUg cmVnaW9uIHN0YXJ0czogSW4gdGhhdCBjYXNlIHRoZSBkZWxldGlvbgorICAgICA7OyB3b3VsZCBz dWNjZWVkIGJ1dCB0aGUgc3Vic2VxdWVudCBpbnNlcnRpb24gd291bGQgZmFpbCB3aXRoIGEKKyAg ICAgOzsgdGV4dC1yZWFkLW9ubHkgZXJyb3IuICBUbyBoYW5kbGUgdGhhdCBjYXNlIHdlIHdvdWxk IGhhdmUgdG8KKyAgICAgOzsgaW52ZXN0aWdhdGUgdGV4dCBwcm9wZXJ0aWVzIGF0IGJvdGggZW5k cyBvZiB0aGUgcmVnaW9uIGFuZAorICAgICA7OyBza2lwIHRoZSBkZWxldGlvbiB3aGVuIGluc2Vy dGluZyB0ZXh0IGlzIGZvcmJpZGRlbiB0aGVyZS4KKyAgICAgKG1lc3NhZ2UgIlRleHQgaXMgcmVh ZC1vbmx5IikgKGRpbmcpKSkpCisKIChkZWZ1biBkZWxldGUtc2VsZWN0aW9uLXByZS1ob29rICgp CisgICJOb3JtYWwgaG9vayBydW4gYmVmb3JlIGNvbW1hbmRzIHRoYXQgZGVsZXRlIHNlbGVjdGlv bnMgYXJlIGV4ZWN1dGVkLgorQ29tbWFuZHMgd2hpY2ggd2lsbCBkZWxldGUgdGhlIHNlbGVjdGlv biBuZWVkIGEgJ2RlbGV0ZS1zZWxlY3Rpb24KK3Byb3BlcnR5IG9uIHRoZWlyIHN5bWJvbHM7IGNv bW1hbmRzIHdoaWNoIGluc2VydCB0ZXh0IGJ1dCBkb24ndAoraGF2ZSB0aGlzIHByb3BlcnR5IHdv bid0IGRlbGV0ZSB0aGUgc2VsZWN0aW9uLgorCitTZWUgYGRlbGV0ZS1zZWxlY3Rpb24taGVscGVy Jy4KKyIKICAgKHdoZW4gKGFuZCBkZWxldGUtc2VsZWN0aW9uLW1vZGUgdHJhbnNpZW50LW1hcmst bW9kZSBtYXJrLWFjdGl2ZQogCSAgICAgKG5vdCBidWZmZXItcmVhZC1vbmx5KSkKICAgICAobGV0 ICgodHlwZSAoYW5kIChzeW1ib2xwIHRoaXMtY29tbWFuZCkKIAkJICAgICAoZ2V0IHRoaXMtY29t bWFuZCAnZGVsZXRlLXNlbGVjdGlvbikpKSkKLSAgICAgIChjb25kaXRpb24tY2FzZSBkYXRhCi0J ICAoY29uZCAoKGVxIHR5cGUgJ2tpbGwpCi0JCSAoZGVsZXRlLWFjdGl2ZS1yZWdpb24gdCkpCi0J CSgoZXEgdHlwZSAneWFuaykKLQkJIDs7IEJlZm9yZSBhIHlhbmsgY29tbWFuZCwgbWFrZSBzdXJl IHdlIGRvbid0IHlhbmsgdGhlCi0JCSA7OyBoZWFkIG9mIHRoZSBraWxsLXJpbmcgdGhhdCByZWFs bHkgY29tZXMgZnJvbSB0aGUKLQkJIDs7IGN1cnJlbnRseSBhY3RpdmUgcmVnaW9uIHdlIGFyZSBn b2luZyB0byBkZWxldGUuCi0JCSA7OyBUaGF0IHdvdWxkIG1ha2UgeWFuayBhIG5vLW9wLgotCQkg KHdoZW4gKGFuZCAoc3RyaW5nPSAoYnVmZmVyLXN1YnN0cmluZy1uby1wcm9wZXJ0aWVzCi0gICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIChwb2ludCkgKG1hcmspKQotCQkJCSAg ICAgKGNhciBraWxsLXJpbmcpKQotCQkJICAgIChmYm91bmRwICdtb3VzZS1yZWdpb24tbWF0Y2gp Ci0JCQkgICAgKG1vdXNlLXJlZ2lvbi1tYXRjaCkpCi0JCSAgIChjdXJyZW50LWtpbGwgMSkpCi0J CSAoZGVsZXRlLWFjdGl2ZS1yZWdpb24pKQotCQkoKGVxIHR5cGUgJ3N1cGVyc2VkZSkKLQkJIChs ZXQgKChlbXB0eS1yZWdpb24gKD0gKHBvaW50KSAobWFyaykpKSkKLQkJICAgKGRlbGV0ZS1hY3Rp dmUtcmVnaW9uKQotCQkgICAodW5sZXNzIGVtcHR5LXJlZ2lvbgotCQkgICAgIChzZXRxIHRoaXMt Y29tbWFuZCAnaWdub3JlKSkpKQotCQkodHlwZQotCQkgKGRlbGV0ZS1hY3RpdmUtcmVnaW9uKQot CQkgKGlmIChhbmQgb3ZlcndyaXRlLW1vZGUKLSAgICAgICAgICAgICAgICAgICAgICAgICAgKGVx IHRoaXMtY29tbWFuZCAnc2VsZi1pbnNlcnQtY29tbWFuZCkpCi0JCSAgIChsZXQgKChvdmVyd3Jp dGUtbW9kZSBuaWwpKQotCQkgICAgIChzZWxmLWluc2VydC1jb21tYW5kCi0gICAgICAgICAgICAg ICAgICAgICAgKHByZWZpeC1udW1lcmljLXZhbHVlIGN1cnJlbnQtcHJlZml4LWFyZykpCi0JCSAg ICAgKHNldHEgdGhpcy1jb21tYW5kICdpZ25vcmUpKSkpKQotCSA7OyBJZiBhc2stdXNlci1hYm91 dC1zdXBlcnNlc3Npb24tdGhyZWF0IHNpZ25hbHMgYW4gZXJyb3IsCi0JIDs7IHN0b3Agc2FmZV9y dW5faG9va3MgZnJvbSBjbGVhcmluZyBvdXQgcHJlLWNvbW1hbmQtaG9vay4KLQkoZmlsZS1zdXBl cnNlc3Npb24gKG1lc3NhZ2UgIiVzIiAoY2FkciBkYXRhKSkgKGRpbmcpKQotCSh0ZXh0LXJlYWQt b25seQotCSA7OyBUaGlzIHNpZ25hbCBtYXkgY29tZSBlaXRoZXIgZnJvbSBgZGVsZXRlLWFjdGl2 ZS1yZWdpb24nIG9yCi0JIDs7IGBzZWxmLWluc2VydC1jb21tYW5kJyAod2hlbiBgb3ZlcndyaXRl LW1vZGUnIGlzIG5vbi1uaWwpLgotCSA7OyBUbyBhdm9pZCBjbGVhcmluZyBvdXQgYHByZS1jb21t YW5kLWhvb2snIHdlIGhhbmRsZSB0aGlzIGNhc2UKLQkgOzsgYnkgaXNzdWluZyBhIHNpbXBsZSBt ZXNzYWdlLiAgTm90ZSwgaG93ZXZlciwgdGhhdCB3ZSBkbyBub3QKLQkgOzsgaGFuZGxlIGFsbCBy ZWxhdGVkIHByb2JsZW1zOiBXaGVuIHJlYWQtb25seSB0ZXh0IGVuZHMgYmVmb3JlCi0JIDs7IHRo ZSBlbmQgb2YgdGhlIHJlZ2lvbiwgdGhlIGxhdHRlciBpcyBub3QgZGVsZXRlZCBidXQgYW55Ci0J IDs7IHN1YnNlcXVlbnQgaW5zZXJ0aW9uIHdpbGwgc3VjY2VlZC4gIFdlIGNvdWxkIGF2b2lkIHRo aXMgY2FzZQotCSA7OyBieSBkb2luZyBhIChzZXRxIHRoaXMtY29tbWFuZCAnaWdub3JlKSBoZXJl LiAgVGhpcyB3b3VsZCwKLQkgOzsgaG93ZXZlciwgc3RpbGwgbm90IGhhbmRsZSB0aGUgY2FzZSB3 aGVyZSByZWFkLW9ubHkgdGV4dCBlbmRzCi0JIDs7IHByZWNpc2VseSB3aGVyZSB0aGUgcmVnaW9u IHN0YXJ0czogSW4gdGhhdCBjYXNlIHRoZSBkZWxldGlvbgotCSA7OyB3b3VsZCBzdWNjZWVkIGJ1 dCB0aGUgc3Vic2VxdWVudCBpbnNlcnRpb24gd291bGQgZmFpbCB3aXRoIGEKLQkgOzsgdGV4dC1y ZWFkLW9ubHkgZXJyb3IuICBUbyBoYW5kbGUgdGhhdCBjYXNlIHdlIHdvdWxkIGhhdmUgdG8KLQkg OzsgaW52ZXN0aWdhdGUgdGV4dCBwcm9wZXJ0aWVzIGF0IGJvdGggZW5kcyBvZiB0aGUgcmVnaW9u IGFuZAotCSA7OyBza2lwIHRoZSBkZWxldGlvbiB3aGVuIGluc2VydGluZyB0ZXh0IGlzIGZvcmJp ZGRlbiB0aGVyZS4KLQkgKG1lc3NhZ2UgIlRleHQgaXMgcmVhZC1vbmx5IikgKGRpbmcpKSkpKSkK LQotKHB1dCAnc2VsZi1pbnNlcnQtY29tbWFuZCAnZGVsZXRlLXNlbGVjdGlvbiB0KQotKHB1dCAn c2VsZi1pbnNlcnQtaXNvICdkZWxldGUtc2VsZWN0aW9uIHQpCisgICAgICAoZGVsZXRlLXNlbGVj dGlvbi1oZWxwZXIgdHlwZSkpKSkKKworKGRlZnVuIGRlbGV0ZS1zZWxlY3Rpb24tc2VsZi1pbnNl cnQtZnVuY3Rpb24gKCkKKyAgdCkKKworKGRlZnZhciBkZWxldGUtc2VsZWN0aW9uLXNlbGYtaW5z ZXJ0LWhvb2tzCisgICcoZGVsZXRlLXNlbGVjdGlvbi1zZWxmLWluc2VydC1mdW5jdGlvbikKKyAg IkFibm9ybWFsIGhvb2sgcnVuIGJlZm9yZSBjb21tYW5kcyB0aGF0IGluc2VydCBjaGFyYWN0ZXJz LgorVGhpcyBob29rIHNob3VsZCByZXR1cm4gYSBUWVBFIHRoYXQgYGRlbGV0ZS1zZWxlY3Rpb24t aGVscGVyJyB1bmRlcnN0YW5kcy4iKQorCisocHV0ICdzZWxmLWluc2VydC1jb21tYW5kICdkZWxl dGUtc2VsZWN0aW9uICdkZWxldGUtc2VsZWN0aW9uLXNlbGYtaW5zZXJ0LWhvb2tzKQorKHB1dCAn c2VsZi1pbnNlcnQtaXNvICdkZWxldGUtc2VsZWN0aW9uICdkZWxldGUtc2VsZWN0aW9uLXNlbGYt aW5zZXJ0LWhvb2tzKQogCiAocHV0ICd5YW5rICdkZWxldGUtc2VsZWN0aW9uICd5YW5rKQogKHB1 dCAnY2xpcGJvYXJkLXlhbmsgJ2RlbGV0ZS1zZWxlY3Rpb24gJ3lhbmspCmRpZmYgLS1naXQgYS9s aXNwL2VsZWN0cmljLmVsIGIvbGlzcC9lbGVjdHJpYy5lbAppbmRleCAzMTA4YTBlLi5lNmZhMWRm IDEwMDY0NAotLS0gYS9saXNwL2VsZWN0cmljLmVsCisrKyBiL2xpc3AvZWxlY3RyaWMuZWwKQEAg LTMwMSwxNCArMzAxLDE3IEBAIFRoaXMgY2FuIGJlIGNvbnZlbmllbnQgZm9yIHBlb3BsZSB3aG8g ZmluZCBpdCBlYXNpZXIgdG8gaGl0ICkgdGhhbiBDLWYuIgogICA6dmVyc2lvbiAiMjQuMSIKICAg OnR5cGUgJ2Jvb2xlYW4pCiAKKyhkZWZ1biBlbGVjdHJpYy1wYWlyLXN5bnRheCAoY29tbWFuZC1l dmVudCkKKyAgKGFuZCBlbGVjdHJpYy1wYWlyLW1vZGUKKyAgICAgICAobGV0ICgoeCAoYXNzcSBj b21tYW5kLWV2ZW50IGVsZWN0cmljLXBhaXItcGFpcnMpKSkKKwkgKGNvbmQKKwkgICh4IChpZiAo ZXEgKGNhciB4KSAoY2RyIHgpKSA/XCIgP1woKSkKKwkgICgocmFzc3EgY29tbWFuZC1ldmVudCBl bGVjdHJpYy1wYWlyLXBhaXJzKSA/XCkpCisJICAodCAoY2hhci1zeW50YXggY29tbWFuZC1ldmVu dCkpKSkpKQorCiAoZGVmdW4gZWxlY3RyaWMtcGFpci1wb3N0LXNlbGYtaW5zZXJ0LWZ1bmN0aW9u ICgpCiAgIChsZXQqICgoc3ludGF4IChhbmQgKGVxIChjaGFyLWJlZm9yZSkgbGFzdC1jb21tYW5k LWV2ZW50KSA7IFNhbml0eSBjaGVjay4KLSAgICAgICAgICAgICAgICAgICAgICBlbGVjdHJpYy1w YWlyLW1vZGUKLSAgICAgICAgICAgICAgICAgICAgICAobGV0ICgoeCAoYXNzcSBsYXN0LWNvbW1h bmQtZXZlbnQgZWxlY3RyaWMtcGFpci1wYWlycykpKQotICAgICAgICAgICAgICAgICAgICAgICAg KGNvbmQKLSAgICAgICAgICAgICAgICAgICAgICAgICAoeCAoaWYgKGVxIChjYXIgeCkgKGNkciB4 KSkgP1wiID9cKCkpCi0gICAgICAgICAgICAgICAgICAgICAgICAgKChyYXNzcSBsYXN0LWNvbW1h bmQtZXZlbnQgZWxlY3RyaWMtcGFpci1wYWlycykgP1wpKQotICAgICAgICAgICAgICAgICAgICAg ICAgICh0IChjaGFyLXN5bnRheCBsYXN0LWNvbW1hbmQtZXZlbnQpKSkpKSkKKwkJICAgICAgKGVs ZWN0cmljLXBhaXItc3ludGF4IGxhc3QtY29tbWFuZC1ldmVudCkpKQogICAgICAgICAgOzsgRklY TUU6IHdoZW4gaW5zZXJ0aW5nIHRoZSBjbG9zZXIsIHdlIHNob3VsZCBtYXliZSB1c2UKICAgICAg ICAgIDs7IHNlbGYtaW5zZXJ0LWNvbW1hbmQsIGFsdGhvdWdoIGl0IG1heSBwcm92ZSB0cmlja3kg cnVubmluZwogICAgICAgICAgOzsgcG9zdC1zZWxmLWluc2VydC1ob29rIHJlY3Vyc2l2ZWx5LCBh bmQgd2Ugd291bGRuJ3Qgd2FudCB0byB0cmlnZ2VyCkBAIC0zNTUsNiArMzU4LDEyIEBAIFRoaXMg Y2FuIGJlIGNvbnZlbmllbnQgZm9yIHBlb3BsZSB3aG8gZmluZCBpdCBlYXNpZXIgdG8gaGl0ICkg dGhhbiBDLWYuIgogICAgICAgICAgICAgICAgKGVxIChjaGFyLXN5bnRheCAoZm9sbG93aW5nLWNo YXIpKSA/dykpKQogICAgICAgKHNhdmUtZXhjdXJzaW9uIChpbnNlcnQgY2xvc2VyKSkpKSkpCiAK KyhkZWZ1biBlbGVjdHJpYy1wYWlyLWRlbGV0ZS1zZWxlY3Rpb24tc2VsZi1pbnNlcnQtZnVuY3Rp b24gKCkKKyAgKGxldCAoKHN5bnRheCAoZWxlY3RyaWMtcGFpci1zeW50YXggbGFzdC1jb21tYW5k LWV2ZW50KSkpCisgICAgKGlmIChhbmQgKG1lbXEgc3ludGF4ICcoP1woID9cIiA/XCQpKSAodXNl LXJlZ2lvbi1wKSkKKwkna2VlcAorICAgICAgdCkpKQorCiA7OzsjIyNhdXRvbG9hZAogKGRlZmlu ZS1taW5vci1tb2RlIGVsZWN0cmljLXBhaXItbW9kZQogICAiVG9nZ2xlIGF1dG9tYXRpYyBwYXJl bnMgcGFpcmluZyAoRWxlY3RyaWMgUGFpciBtb2RlKS4KQEAgLTM3MCwxMCArMzc5LDE2IEBAIFNl ZSBvcHRpb25zIGBlbGVjdHJpYy1wYWlyLXBhaXJzJyBhbmQgYGVsZWN0cmljLXBhaXItc2tpcC1z ZWxmJy4iCiAgIDpnbG9iYWwgdAogICA6Z3JvdXAgJ2VsZWN0cmljaXR5CiAgIChpZiBlbGVjdHJp Yy1wYWlyLW1vZGUKLSAgICAgIChhZGQtaG9vayAncG9zdC1zZWxmLWluc2VydC1ob29rCi0gICAg ICAgICAgICAgICAgIydlbGVjdHJpYy1wYWlyLXBvc3Qtc2VsZi1pbnNlcnQtZnVuY3Rpb24pCisg ICAgICAocHJvZ24KKwkocmVxdWlyZSAnZGVsc2VsKQorCShhZGQtaG9vayAncG9zdC1zZWxmLWlu c2VydC1ob29rCisJCSAgIydlbGVjdHJpYy1wYWlyLXBvc3Qtc2VsZi1pbnNlcnQtZnVuY3Rpb24p CisJKGFkZC1ob29rICdkZWxldGUtc2VsZWN0aW9uLXNlbGYtaW5zZXJ0LWhvb2tzCisJCSAgIydl bGVjdHJpYy1wYWlyLWRlbGV0ZS1zZWxlY3Rpb24tc2VsZi1pbnNlcnQtZnVuY3Rpb24pKQogICAg IChyZW1vdmUtaG9vayAncG9zdC1zZWxmLWluc2VydC1ob29rCi0gICAgICAgICAgICAgICAgICMn ZWxlY3RyaWMtcGFpci1wb3N0LXNlbGYtaW5zZXJ0LWZ1bmN0aW9uKSkpCisgICAgICAgICAgICAg ICAgICMnZWxlY3RyaWMtcGFpci1wb3N0LXNlbGYtaW5zZXJ0LWZ1bmN0aW9uKQorICAgIChyZW1v dmUtaG9vayAnZGVsZXRlLXNlbGVjdGlvbi1zZWxmLWluc2VydC1ob29rcworCQkgICMnZWxlY3Ry aWMtcGFpci1kZWxldGUtc2VsZWN0aW9uLXNlbGYtaW5zZXJ0LWZ1bmN0aW9uKSkpCiAKIDs7IEF1 dG9tYXRpY2FsbHkgYWRkIG5ld2xpbmVzIGFmdGVyL2JlZm9yZS9hcm91bmQgc29tZSBjaGFycy4K IAo= --0015175d07e6b89b2504cc99e111-- From debbugs-submit-bounces@debbugs.gnu.org Mon Oct 22 08:48:36 2012 Received: (at 11520-done) by debbugs.gnu.org; 22 Oct 2012 12:48:36 +0000 Received: from localhost ([127.0.0.1]:55353 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.72) (envelope-from ) id 1TQHQp-0006m8-Pz for submit@debbugs.gnu.org; Mon, 22 Oct 2012 08:48:36 -0400 Received: from ironport2-out.teksavvy.com ([206.248.154.182]:52073) by debbugs.gnu.org with esmtp (Exim 4.72) (envelope-from ) id 1TQHQl-0006lm-N8 for 11520-done@debbugs.gnu.org; Mon, 22 Oct 2012 08:48:32 -0400 X-IronPort-Anti-Spam-Filtered: true X-IronPort-Anti-Spam-Result: AiYGAG6Zu09FpYC//2dsb2JhbABEr1pug0mBCIIVAQEEAVYjBQsLDiYSFBgNJIgcBboJkEQDozOBWIMF X-IronPort-AV: E=Sophos;i="4.75,637,1330923600"; d="scan'208";a="202451526" Received: from 69-165-128-191.dsl.teksavvy.com (HELO fmsmemgm.homelinux.net) ([69.165.128.191]) by ironport2-out.teksavvy.com with ESMTP/TLS/ADH-AES256-SHA; 22 Oct 2012 08:46:39 -0400 Received: by fmsmemgm.homelinux.net (Postfix, from userid 20848) id 279D0AE4B0; Mon, 22 Oct 2012 08:46:39 -0400 (EDT) From: Stefan Monnier To: Simon Law Subject: Re: bug#11520: 24.1.50; delete-selection-mode conflicts with electric-pair-mode Message-ID: References: <87ipdqx6e4.fsf@gnu.org> <87a9z19jgj.fsf@gnu.org> Date: Mon, 22 Oct 2012 08:46:39 -0400 In-Reply-To: (Simon Law's message of "Sun, 21 Oct 2012 19:12:55 -0400") User-Agent: Gnus/5.13 (Gnus v5.13) Emacs/24.2.50 (gnu/linux) MIME-Version: 1.0 Content-Type: text/plain X-Spam-Score: 0.8 (/) X-Debbugs-Envelope-To: 11520-done Cc: Chong Yidong , 11520-done@debbugs.gnu.org X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.13 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Sender: debbugs-submit-bounces@debbugs.gnu.org Errors-To: debbugs-submit-bounces@debbugs.gnu.org X-Spam-Score: 0.8 (/) > Attached is a patch against trunk. Thanks, I really appreciate the addition of docstrings. it's got a few cosmetic problems, so I've installed it and then installed a subsequent patch on top of it. Here are the issues I noticed: - a hook is a symbol whose value contains a list of functions (modulo a few subtleties). The functions themselves are not hooks. E.g. delete-selection-pre-hook is not a hook, just a function that's typically added on a particular hook. And the symbol symbol is named with "-hook" (rather than with "-hooks") for normal hooks and "-functions" for abnormal hooks. - symbols in docstrings are written `foo' rather than 'foo. - docstrings normally don't end with a line-separator (i.e. the closing " should not be on its own line). - there's no self-insert-iso in Emacs, so I'd rather not touch it. - use the imperative for the first line of a docstring. - `keep' is not a value handled specially by delete-selection-helper, so it is handled as a hook, luckily there's no function on this hook (an unbound symbol is treated by `run-hook' as a symbol bound to nil) so it ends up behaving like nil, which is indeed what we need; so the end behavior is correct, but only "by accident". Stefan From debbugs-submit-bounces@debbugs.gnu.org Mon Oct 22 21:09:36 2012 Received: (at 11520-done) by debbugs.gnu.org; 23 Oct 2012 01:09:36 +0000 Received: from localhost ([127.0.0.1]:56538 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.72) (envelope-from ) id 1TQSzv-0005CM-NV for submit@debbugs.gnu.org; Mon, 22 Oct 2012 21:09:36 -0400 Received: from mail-bk0-f44.google.com ([209.85.214.44]:55052) by debbugs.gnu.org with esmtp (Exim 4.72) (envelope-from ) id 1TQSzs-0005C7-1K for 11520-done@debbugs.gnu.org; Mon, 22 Oct 2012 21:09:33 -0400 Received: by mail-bk0-f44.google.com with SMTP id jc3so1101901bkc.3 for <11520-done@debbugs.gnu.org>; Mon, 22 Oct 2012 18:07:36 -0700 (PDT) X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=20120113; h=mime-version:x-originating-ip:in-reply-to:references:from:date :message-id:subject:to:cc:content-type:x-gm-message-state; bh=NuKzwuoD2QHfI1XWN9MnCc+9d8sFfhTcdpPVkMdioEk=; b=IO4w1CSLfVplq+sHzcEGeMCgZUgDOUVLb6mCeYIULTiyPGpOM9yGEHs1dxKIeF6fd/ k5TAtMxvG6AESiOErbieqJL4MIJVTYbIyt0JohC11gH0l1GOD94v3PzXgn6BPuf7H2SZ 6qFckePaKYCdyu0GCkD0PXNmTA1faAYz5j+MPAeECz/DNTt772r2f10XyTKCmrhdyvgI kVpi2r7jIoXXnKyq1Z9J1D8bwvsZkQL4pMksxndTBIOV7EOOjZId4ixW8+jUO+HVWFQT P3jPYxMYW7Hxy8Gp3wg8cutOkOy4wVIFbdCZUiq1U1zagRHptHW7a87JKVyuSNhVbOqh Ru2A== Received: by 10.204.130.10 with SMTP id q10mr3279303bks.59.1350954456306; Mon, 22 Oct 2012 18:07:36 -0700 (PDT) MIME-Version: 1.0 Received: by 10.204.142.140 with HTTP; Mon, 22 Oct 2012 18:07:15 -0700 (PDT) X-Originating-IP: [2607:f2c0:f00e:1900:f415:7b35:64d3:5c90] In-Reply-To: References: <87ipdqx6e4.fsf@gnu.org> <87a9z19jgj.fsf@gnu.org> From: Simon Law Date: Mon, 22 Oct 2012 21:07:15 -0400 Message-ID: Subject: Re: bug#11520: 24.1.50; delete-selection-mode conflicts with electric-pair-mode To: Stefan Monnier Content-Type: text/plain; charset=UTF-8 X-Gm-Message-State: ALoCoQmdppJYYT3tQsLyQvMugstb8LWYjimUEr7ya7Ouj3vIImTY5bpVks99XDAHzoh5Qf6uwNx0 X-Spam-Score: 0.1 (/) X-Debbugs-Envelope-To: 11520-done Cc: Chong Yidong , 11520-done@debbugs.gnu.org X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.13 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Sender: debbugs-submit-bounces@debbugs.gnu.org Errors-To: debbugs-submit-bounces@debbugs.gnu.org X-Spam-Score: 0.1 (/) On Mon, Oct 22, 2012 at 8:46 AM, Stefan Monnier wrote: >> Attached is a patch against trunk. > > Thanks, I really appreciate the addition of docstrings. > it's got a few cosmetic problems, so I've installed it and then > installed a subsequent patch on top of it. > > Here are the issues I noticed: > - a hook is a symbol whose value contains a list of functions (modulo > a few subtleties). The functions themselves are not hooks. > E.g. delete-selection-pre-hook is not a hook, just a function that's > typically added on a particular hook. Yeah, I wasn't sure about delete-selection-pre-hook, but that's what the function was already called, so I wasn't going to change the API there. > And the symbol symbol is named with "-hook" (rather than with > "-hooks") for normal hooks and "-functions" for abnormal hooks. Ah, I read that it was either one or the other in http://www.gnu.org/software/emacs/manual/html_node/elisp/Hooks.html. Perhaps that documentation should discourage the -hooks convention? > - symbols in docstrings are written `foo' rather than 'foo. In delete-selection-helper, you mean? Yes, that appears to be a copy-paste error. > - docstrings normally don't end with a line-separator (i.e. the closing > " should not be on its own line). Whoops. Thanks for catching that. > - there's no self-insert-iso in Emacs, so I'd rather not touch it. delete-selection-mode.el used to touch self-insert-iso, as does cua-rect.el. Is this something to clean up, or is there something I'm missing? > - use the imperative for the first line of a docstring. Will do. > - `keep' is not a value handled specially by delete-selection-helper, > so it is handled as a hook, luckily there's no function on this hook > (an unbound symbol is treated by `run-hook' as a symbol bound to nil) > so it ends up behaving like nil, which is indeed what we need; so the > end behavior is correct, but only "by accident". Gosh, I don't know how that snuck in there. That was a think-o. Finally, I noticed that you created self-insert-uses-region-functions, but there is no defvar or docstring for that. For future reference, is it normal that packages have hidden hooks like that? Thanks for the cleanup! -- Cheers, Simon - http://ca.linkedin.com/in/sfllaw/ From debbugs-submit-bounces@debbugs.gnu.org Tue Oct 23 11:12:41 2012 Received: (at 11520-done) by debbugs.gnu.org; 23 Oct 2012 15:12:41 +0000 Received: from localhost ([127.0.0.1]:57892 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.72) (envelope-from ) id 1TQg9o-0002YA-Qi for submit@debbugs.gnu.org; Tue, 23 Oct 2012 11:12:41 -0400 Received: from ironport2-out.teksavvy.com ([206.248.154.182]:9373) by debbugs.gnu.org with esmtp (Exim 4.72) (envelope-from ) id 1TQg9n-0002Xj-FB for 11520-done@debbugs.gnu.org; Tue, 23 Oct 2012 11:12:39 -0400 X-IronPort-Anti-Spam-Filtered: true X-IronPort-Anti-Spam-Result: Av0EAG6Zu09MCqNj/2dsb2JhbABEtBGBCIIVAQEEAVYjBQsLDiYSFBgNJByIAAULuX6QRAOjM4FYgwU X-IronPort-AV: E=Sophos;i="4.75,637,1330923600"; d="scan'208";a="202542908" Received: from 76-10-163-99.dsl.teksavvy.com (HELO pastel.home) ([76.10.163.99]) by ironport2-out.teksavvy.com with ESMTP/TLS/ADH-AES256-SHA; 23 Oct 2012 11:10:40 -0400 Received: by pastel.home (Postfix, from userid 20848) id 6B2C959347; Tue, 23 Oct 2012 11:10:39 -0400 (EDT) From: Stefan Monnier To: Simon Law Subject: Re: bug#11520: 24.1.50; delete-selection-mode conflicts with electric-pair-mode Message-ID: References: <87ipdqx6e4.fsf@gnu.org> <87a9z19jgj.fsf@gnu.org> Date: Tue, 23 Oct 2012 11:10:39 -0400 In-Reply-To: (Simon Law's message of "Mon, 22 Oct 2012 21:07:15 -0400") User-Agent: Gnus/5.13 (Gnus v5.13) Emacs/24.2.50 (gnu/linux) MIME-Version: 1.0 Content-Type: text/plain X-Spam-Score: 0.8 (/) X-Debbugs-Envelope-To: 11520-done Cc: Chong Yidong , 11520-done@debbugs.gnu.org X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.13 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Sender: debbugs-submit-bounces@debbugs.gnu.org Errors-To: debbugs-submit-bounces@debbugs.gnu.org X-Spam-Score: 0.8 (/) > Yeah, I wasn't sure about delete-selection-pre-hook, but that's what > the function was already called, so I wasn't going to change the API > there. Yes, the function name is better left as is (and really isn't bad), the error was in the docstring (where you described the function as a normal hook). >> And the symbol symbol is named with "-hook" (rather than with >> "-hooks") for normal hooks and "-functions" for abnormal hooks. > Ah, I read that it was either one or the other in > http://www.gnu.org/software/emacs/manual/html_node/elisp/Hooks.html. Historically, "-hooks" was used, but they've (all?) been renamed to "-hook". > Perhaps that documentation should discourage the -hooks convention? Yes, thanks, the wording wasn't clear enough. Fixed. >> - there's no self-insert-iso in Emacs, so I'd rather not touch it. > delete-selection-mode.el used to touch self-insert-iso, as does > cua-rect.el. Is this something to clean up, or is there something I'm > missing? I don't know where this self-insert-iso comes from, so we should just remove it, but I'll keep this change for after the feature freeze. For now, I simply left the setting as it used to be. > Finally, I noticed that you created self-insert-uses-region-functions, > but there is no defvar or docstring for that. For future reference, is > it normal that packages have hidden hooks like that? No, it's not normal. Thanks for catching this missing commit. Stefan From unknown Mon Sep 08 03:16:20 2025 Received: (at fakecontrol) by fakecontrolmessage; To: internal_control@debbugs.gnu.org From: Debbugs Internal Request Subject: Internal Control Message-Id: bug archived. Date: Wed, 21 Nov 2012 12:24:03 +0000 User-Agent: Fakemail v42.6.9 # This is a fake control message. # # The action: # bug archived. thanks # This fakemail brought to you by your local debbugs # administrator From debbugs-submit-bounces@debbugs.gnu.org Thu Jul 24 13:33:26 2014 Received: (at control) by debbugs.gnu.org; 24 Jul 2014 17:33:26 +0000 Received: from localhost ([127.0.0.1]:36944 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.80) (envelope-from ) id 1XAMtR-0003Ht-KD for submit@debbugs.gnu.org; Thu, 24 Jul 2014 13:33:25 -0400 Received: from userp1040.oracle.com ([156.151.31.81]:43979) by debbugs.gnu.org with esmtp (Exim 4.80) (envelope-from ) id 1XAMtP-0003Hf-CV for control@debbugs.gnu.org; Thu, 24 Jul 2014 13:33:24 -0400 Received: from acsinet21.oracle.com (acsinet21.oracle.com [141.146.126.237]) by userp1040.oracle.com (Sentrion-MTA-4.3.2/Sentrion-MTA-4.3.2) with ESMTP id s6OHXGb9030200 (version=TLSv1/SSLv3 cipher=DHE-RSA-AES256-SHA bits=256 verify=OK) for ; Thu, 24 Jul 2014 17:33:17 GMT Received: from aserz7021.oracle.com (aserz7021.oracle.com [141.146.126.230]) by acsinet21.oracle.com (8.14.4+Sun/8.14.4) with ESMTP id s6OHXFLC024098 (version=TLSv1/SSLv3 cipher=DHE-RSA-AES256-SHA bits=256 verify=NO) for ; Thu, 24 Jul 2014 17:33:16 GMT Received: from abhmp0007.oracle.com (abhmp0007.oracle.com [141.146.116.13]) by aserz7021.oracle.com (8.14.4+Sun/8.14.4) with ESMTP id s6OHXFJh024085 for ; Thu, 24 Jul 2014 17:33:15 GMT MIME-Version: 1.0 Message-ID: <25e5af16-32b8-4169-b2a1-630d8b00eee4@default> Date: Thu, 24 Jul 2014 10:33:15 -0700 (PDT) From: Drew Adams To: control@debbugs.gnu.org Subject: unarchive 11520 X-Priority: 3 X-Mailer: Oracle Beehive Extensions for Outlook 2.0.1.8 (707110) [OL 12.0.6691.5000 (x86)] Content-Type: text/plain; charset=us-ascii Content-Transfer-Encoding: quoted-printable X-Source-IP: acsinet21.oracle.com [141.146.126.237] X-Spam-Score: -2.3 (--) X-Debbugs-Envelope-To: control X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.15 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: debbugs-submit-bounces@debbugs.gnu.org Sender: "Debbugs-submit" X-Spam-Score: -2.3 (--) unarchive 11520 thanks From debbugs-submit-bounces@debbugs.gnu.org Thu Jul 24 13:34:57 2014 Received: (at 11520-done) by debbugs.gnu.org; 24 Jul 2014 17:34:57 +0000 Received: from localhost ([127.0.0.1]:36949 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.80) (envelope-from ) id 1XAMuv-0003KL-82 for submit@debbugs.gnu.org; Thu, 24 Jul 2014 13:34:57 -0400 Received: from aserp1040.oracle.com ([141.146.126.69]:37766) by debbugs.gnu.org with esmtp (Exim 4.80) (envelope-from ) id 1XAMus-0003K7-D8 for 11520-done@debbugs.gnu.org; Thu, 24 Jul 2014 13:34:55 -0400 Received: from acsinet21.oracle.com (acsinet21.oracle.com [141.146.126.237]) by aserp1040.oracle.com (Sentrion-MTA-4.3.2/Sentrion-MTA-4.3.2) with ESMTP id s6OHYmJQ020611 (version=TLSv1/SSLv3 cipher=DHE-RSA-AES256-SHA bits=256 verify=OK); Thu, 24 Jul 2014 17:34:48 GMT Received: from aserz7022.oracle.com (aserz7022.oracle.com [141.146.126.231]) by acsinet21.oracle.com (8.14.4+Sun/8.14.4) with ESMTP id s6OHYleB028896 (version=TLSv1/SSLv3 cipher=DHE-RSA-AES256-SHA bits=256 verify=NO); Thu, 24 Jul 2014 17:34:48 GMT Received: from abhmp0007.oracle.com (abhmp0007.oracle.com [141.146.116.13]) by aserz7022.oracle.com (8.14.4+Sun/8.14.4) with ESMTP id s6OHYleR011497; Thu, 24 Jul 2014 17:34:47 GMT MIME-Version: 1.0 Message-ID: <34d46908-99ff-4f70-991f-a05efb8a0091@default> Date: Thu, 24 Jul 2014 10:34:46 -0700 (PDT) From: Drew Adams To: Stefan Monnier , Simon Law Subject: RE: bug#11520: 24.1.50;delete-selection-mode conflicts with electric-pair-mode References: <<87ipdqx6e4.fsf@gnu.org><87a9z19jgj.fsf@gnu.org>> <> In-Reply-To: <> X-Priority: 3 X-Mailer: Oracle Beehive Extensions for Outlook 2.0.1.8 (707110) [OL 12.0.6691.5000 (x86)] Content-Type: text/plain; charset=us-ascii Content-Transfer-Encoding: quoted-printable X-Source-IP: acsinet21.oracle.com [141.146.126.237] X-Spam-Score: -2.3 (--) X-Debbugs-Envelope-To: 11520-done Cc: Chong Yidong , 11520-done@debbugs.gnu.org X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.15 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: debbugs-submit-bounces@debbugs.gnu.org Sender: "Debbugs-submit" X-Spam-Score: -2.3 (--) > > Finally, I noticed that you created self-insert-uses-region-functions, > > but there is no defvar or docstring for that. For future reference, is > > it normal that packages have hidden hooks like that? >=20 > No, it's not normal. Thanks for catching this missing commit. ping From debbugs-submit-bounces@debbugs.gnu.org Mon Aug 18 11:21:30 2014 Received: (at 11520-done) by debbugs.gnu.org; 18 Aug 2014 15:21:30 +0000 Received: from localhost ([127.0.0.1]:46345 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.80) (envelope-from ) id 1XJOkT-0004Cg-L1 for submit@debbugs.gnu.org; Mon, 18 Aug 2014 11:21:30 -0400 Received: from chene.dit.umontreal.ca ([132.204.246.20]:51549) by debbugs.gnu.org with esmtp (Exim 4.80) (envelope-from ) id 1XJOkR-0004CY-IX for 11520-done@debbugs.gnu.org; Mon, 18 Aug 2014 11:21:28 -0400 Received: from fmsmemgm.homelinux.net (lechon.iro.umontreal.ca [132.204.27.242]) by chene.dit.umontreal.ca (8.14.1/8.14.1) with ESMTP id s7IFLQCC021728; Mon, 18 Aug 2014 11:21:26 -0400 Received: by fmsmemgm.homelinux.net (Postfix, from userid 20848) id A4D53AE091; Mon, 18 Aug 2014 11:21:25 -0400 (EDT) From: Stefan Monnier To: Drew Adams Subject: Re: bug#11520: 24.1.50; delete-selection-mode conflicts with electric-pair-mode Message-ID: References: <87ipdqx6e4.fsf@gnu.org> <87a9z19jgj.fsf@gnu.org> > > Date: Mon, 18 Aug 2014 11:21:25 -0400 In-Reply-To: (Drew Adams's message of "Thu, 24 Jul 2014 10:30:18 -0700 (PDT)") User-Agent: Gnus/5.13 (Gnus v5.13) Emacs/24.4.50 (gnu/linux) MIME-Version: 1.0 Content-Type: text/plain X-NAI-Spam-Flag: NO X-NAI-Spam-Threshold: 5 X-NAI-Spam-Score: 0 X-NAI-Spam-Rules: 1 Rules triggered RV5038=0 X-NAI-Spam-Version: 2.3.0.9378 : core <5038> : inlines <1187> : streams <1266957> : uri <1804042> X-Spam-Score: -2.0 (--) X-Debbugs-Envelope-To: 11520-done Cc: Chong Yidong , Simon Law , 11520-done@debbugs.gnu.org X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.15 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: debbugs-submit-bounces@debbugs.gnu.org Sender: "Debbugs-submit" X-Spam-Score: -2.0 (--) >> > Finally, I noticed that you created self-insert-uses-region-functions, >> > but there is no defvar or docstring for that. For future reference, is >> > it normal that packages have hidden hooks like that? >> No, it's not normal. Thanks for catching this missing commit. > ping. Done, Stefan From unknown Mon Sep 08 03:16:20 2025 Received: (at fakecontrol) by fakecontrolmessage; To: internal_control@debbugs.gnu.org From: Debbugs Internal Request Subject: Internal Control Message-Id: bug archived. Date: Tue, 16 Sep 2014 11:24:03 +0000 User-Agent: Fakemail v42.6.9 # This is a fake control message. # # The action: # bug archived. thanks # This fakemail brought to you by your local debbugs # administrator