From debbugs-submit-bounces@debbugs.gnu.org Sat Aug 18 09:12:44 2012 Received: (at submit) by debbugs.gnu.org; 18 Aug 2012 13:12:44 +0000 Received: from localhost ([127.0.0.1]:36966 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.72) (envelope-from ) id 1T2ipX-0005CV-Fz for submit@debbugs.gnu.org; Sat, 18 Aug 2012 09:12:44 -0400 Received: from eggs.gnu.org ([208.118.235.92]:33688) by debbugs.gnu.org with esmtp (Exim 4.72) (envelope-from ) id 1T2ipV-0005CO-Lq for submit@debbugs.gnu.org; Sat, 18 Aug 2012 09:12:42 -0400 Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1T2ipS-0003tJ-HS for submit@debbugs.gnu.org; Sat, 18 Aug 2012 09:12:39 -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,FREEMAIL_FROM, RCVD_IN_DNSWL_HI,T_DKIM_INVALID autolearn=unavailable version=3.3.2 Received: from lists.gnu.org ([208.118.235.17]:46810) by eggs.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1T2ipS-0003tF-EP for submit@debbugs.gnu.org; Sat, 18 Aug 2012 09:12:38 -0400 Received: from eggs.gnu.org ([208.118.235.92]:44218) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1T2ipR-0000B2-KJ for bug-gnu-emacs@gnu.org; Sat, 18 Aug 2012 09:12:38 -0400 Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1T2ipQ-0003t5-NH for bug-gnu-emacs@gnu.org; Sat, 18 Aug 2012 09:12:37 -0400 Received: from mail-pb0-f41.google.com ([209.85.160.41]:63788) by eggs.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1T2ipQ-0003sx-G7 for bug-gnu-emacs@gnu.org; Sat, 18 Aug 2012 09:12:36 -0400 Received: by pbbro12 with SMTP id ro12so5272909pbb.0 for ; Sat, 18 Aug 2012 06:12:35 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20120113; h=from:to:subject:date:message-id:mime-version:content-type; bh=aurr07pqzVuz8HzVCce0RchQgSQFxFof78thYCnNdEw=; b=xrzu5J4BF1WuSMHtU/+pVVCAvInGUqVcu4bYCox4zjDrGiGUozOE1lscm4CbEofHtd Ul3WLY2vrkleZmiynbov9Mzgplbm8TUIqEUTkwlrewZPibru8Bivxq4OgMVfw9jsAlf9 1gabELT0aTXuBcJHCnZ2ivaNqLIpd4jvUrrOWrDhIpY/wM+bzC2ruNQlJqigRyqJrN/a 9aChfjo0i+0cz+FDOrXFaBCWmo6ixx4vhPaS0/ZNQLbGpNmT81aM/GscKd7NFxHGfMpY 3jCMaUhJJQapYRTUqzKMnGhjexbeLY7SrTxG8dAkok+XCvEwyiFwTFl3ETkSrknoveMZ NZTA== Received: by 10.68.227.163 with SMTP id sb3mr19827303pbc.74.1345295555470; Sat, 18 Aug 2012 06:12:35 -0700 (PDT) Received: from localhost ([123.114.56.118]) by mx.google.com with ESMTPS id th6sm7054569pbc.0.2012.08.18.06.12.31 (version=TLSv1/SSLv3 cipher=OTHER); Sat, 18 Aug 2012 06:12:34 -0700 (PDT) From: Leo To: bug-gnu-emacs@gnu.org Subject: 24.2; [PATCH] skeleton expansion in sh-mode can fail by backward-delete-char-untabify-method Date: Sat, 18 Aug 2012 21:12:23 +0800 Message-ID: MIME-Version: 1.0 Content-Type: text/plain 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.1 (------) 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.1 (------) Looks like defaulting skeleton-untabify to t is no longer a good idea. There is no way in a skeleton to figure out how many chars are to be deleted for the skeleton element -num. So for example, skeletons in sh-scripts can behave abnormally if (setq backward-delete-char-untabify-method 'hungry). 1. Emacs -q 2. (setq backward-delete-char-untabify-method 'hungry) 3. C-x C-f x.bash 4. C-c : and choose bash 5. C-c ( You should see the function template expanded incorrectly. I think defaulting skeleton-untabify to nil is the right fix. Otherwise, the idea that customising backward-delete-char-untabify-method can implicitly change how skeleton does its work is scary. A fix local to sh-script.el can be done too: diff --git a/lisp/progmodes/sh-script.el b/lisp/progmodes/sh-script.el index f0dec93f..509b645d 100644 --- a/lisp/progmodes/sh-script.el +++ b/lisp/progmodes/sh-script.el @@ -1512,6 +1512,7 @@ (define-derived-mode sh-mode prog-mode "Shell-script" (set (make-local-variable 'skeleton-pair-filter-function) 'sh-quoted-p) (set (make-local-variable 'skeleton-further-elements) '((< '(- (min sh-indentation (current-column)))))) + (set (make-local-variable 'skeleton-untabify) nil) (set (make-local-variable 'skeleton-filter-function) 'sh-feature) (set (make-local-variable 'skeleton-newline-indent-rigidly) t) (set (make-local-variable 'sh-indent-supported-here) nil) Leo From debbugs-submit-bounces@debbugs.gnu.org Mon Aug 27 07:05:18 2012 Received: (at 12223-done) by debbugs.gnu.org; 27 Aug 2012 11:05:18 +0000 Received: from localhost ([127.0.0.1]:51946 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.72) (envelope-from ) id 1T5x89-0003hp-I7 for submit@debbugs.gnu.org; Mon, 27 Aug 2012 07:05:18 -0400 Received: from mail-pz0-f44.google.com ([209.85.210.44]:41952) by debbugs.gnu.org with esmtp (Exim 4.72) (envelope-from ) id 1T5x87-0003hj-VV for 12223-done@debbugs.gnu.org; Mon, 27 Aug 2012 07:05:16 -0400 Received: by dadf8 with SMTP id f8so2390781dad.3 for <12223-done@debbugs.gnu.org>; Mon, 27 Aug 2012 04:04:23 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20120113; h=from:to:subject:references:face:date:in-reply-to:message-id :user-agent:mime-version:content-type; bh=NXIb4PrNB/C/UKJtIbDe9Fu+eqCcDkFF6SkTqRMi544=; b=AftDgCvUabwk9UkVbZPu68IAzPpL75XGuhipchuiRREvRk2HfWElcBUbWBVb0w04Rn Yea8o4qtX1W+gAPXGAppun87L+Fsp1sCWB4H0dfUEunojPe5GWpjJya2m0kup9mw1drq euEsKD/m0k+1jZLVwBoqSlS80ZfIsY3xFEvLLqwfzrJPvca5wNAcNMXnVsQmyiHr0FnC rzLRhlK+L9JuHb4j3JIMHNtmh9qEWitC5GknjGI6uh9OTdp7Th2pAbas3mNZtxEhu1Jk HoP6ZJ3TmpygmqDcwnqxv6cDw/W4SY1Bj0PQ2Q+OcythtT6Jc+e3lUAyeDkPtWoglNGE oqkg== Received: by 10.68.116.17 with SMTP id js17mr33748741pbb.109.1346065462881; Mon, 27 Aug 2012 04:04:22 -0700 (PDT) Received: from localhost ([123.114.53.125]) by mx.google.com with ESMTPS id qn13sm14469878pbb.71.2012.08.27.04.04.20 (version=TLSv1/SSLv3 cipher=OTHER); Mon, 27 Aug 2012 04:04:22 -0700 (PDT) From: Leo To: 12223-done@debbugs.gnu.org Subject: Re: bug#12223: 24.2; [PATCH] skeleton expansion in sh-mode can fail by backward-delete-char-untabify-method References: Face: iVBORw0KGgoAAAANSUhEUgAAACgAAAAoBAMAAAB+0KVeAAAAGFBMVEUzRVhbQj4eZqO6SjnT eWpxnMetm5b6/PmidmqrAAAAAWJLR0QAiAUdSAAAAAlwSFlzAAALEwAACxMBAJqcGAAAAAd0SU1F B9cBBwMLBfKABCMAAAFoSURBVCjPtZI9a8MwEIaFoc7aYDdelQMna0Em3tsSr0XUeE2Q6a22a+v+ fk8fSSBkbDUI6dHpfe9OEvRgiD+ApqKPJgJeB6iUUXWESjUe/ig38AJrhqqvaU2nTIXbNvOQ40fe qdry4kyGoVWsfCQalXpHnJGM01wjWdYbMlXNFdsZDO69m9aqNqxEJqTEgbM5OF7wlEfIoll1Ked4 LbM5X2EdILLokEdmI8z7g5cKED0cuTC930TYhy7ZDekkXVGw/L60TguJePPxcJF48lpsSUWEA/Ju jGFNgJOXc4Hz7TmAdBeu5Ve4AEjOi2/2jfd3cAJZ+IbNrvdjgBZY01b+HTuG3cLws6BJZqVOj/pp T0OqVwx3rFq+QmJwx3loK5JSLEhDIt62+mtC2C+SrAUxEbV6C6v2BRbd6pILBKFpepKZJHgGgrKF sptSUUoczpwg2pQ7ZH1tgs0ou/917mzz6Cs2//C978cv5l07L02orIEAAAAASUVORK5CYII= Date: Mon, 27 Aug 2012 19:04:17 +0800 In-Reply-To: (Leo's message of "Sat, 18 Aug 2012 21:12:23 +0800") Message-ID: User-Agent: Gnus/5.13 (Gnus v5.13) Emacs/24.2 (OS X 10.8.1) MIME-Version: 1.0 Content-Type: text/plain X-Spam-Score: -2.6 (--) X-Debbugs-Envelope-To: 12223-done 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 (--) Fixed in emacs-24 From unknown Sat Aug 16 18:43:30 2025 Received: (at fakecontrol) by fakecontrolmessage; To: internal_control@debbugs.gnu.org From: Debbugs Internal Request Subject: Internal Control Message-Id: bug archived. Date: Mon, 24 Sep 2012 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