From mboxrd@z Thu Jan 1 00:00:00 1970 Path: news.gmane.org!not-for-mail From: Rolf Ade Newsgroups: gmane.emacs.bugs Subject: bug#23565: 24.5; tcl-end-of-defun and tcl-eval-defun doesn't work reliable Date: Wed, 18 May 2016 00:10:01 +0200 Message-ID: <87mvnoe3pi.fsf@linux-qg7d.fritz.box> NNTP-Posting-Host: plane.gmane.org Mime-Version: 1.0 Content-Type: text/plain X-Trace: ger.gmane.org 1463537067 27273 80.91.229.3 (18 May 2016 02:04:27 GMT) X-Complaints-To: usenet@ger.gmane.org NNTP-Posting-Date: Wed, 18 May 2016 02:04:27 +0000 (UTC) To: 23565@debbugs.gnu.org Original-X-From: bug-gnu-emacs-bounces+geb-bug-gnu-emacs=m.gmane.org@gnu.org Wed May 18 04:04:14 2016 Return-path: Envelope-to: geb-bug-gnu-emacs@m.gmane.org Original-Received: from lists.gnu.org ([208.118.235.17]) by plane.gmane.org with esmtp (Exim 4.69) (envelope-from ) id 1b2qqL-0006xs-NY for geb-bug-gnu-emacs@m.gmane.org; Wed, 18 May 2016 04:04:13 +0200 Original-Received: from localhost ([::1]:42188 helo=lists.gnu.org) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1b2qqK-0007sc-U2 for geb-bug-gnu-emacs@m.gmane.org; Tue, 17 May 2016 22:04:13 -0400 Original-Received: from eggs.gnu.org ([2001:4830:134:3::10]:55028) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1b2qR8-0000g1-HI for bug-gnu-emacs@gnu.org; Tue, 17 May 2016 21:38:13 -0400 Original-Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1b2qR1-0006kD-87 for bug-gnu-emacs@gnu.org; Tue, 17 May 2016 21:38:09 -0400 Original-Received: from debbugs.gnu.org ([208.118.235.43]:44029) by eggs.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1b2qR1-0006jL-2z for bug-gnu-emacs@gnu.org; Tue, 17 May 2016 21:38:03 -0400 Original-Received: from Debian-debbugs by debbugs.gnu.org with local (Exim 4.84_2) (envelope-from ) id 1b2qR0-0006mV-HK for bug-gnu-emacs@gnu.org; Tue, 17 May 2016 21:38:02 -0400 X-Loop: help-debbugs@gnu.org Resent-From: Rolf Ade Original-Sender: "Debbugs-submit" Resent-CC: bug-gnu-emacs@gnu.org Resent-Date: Wed, 18 May 2016 01:38:02 +0000 Resent-Message-ID: Resent-Sender: help-debbugs@gnu.org X-GNU-PR-Message: report 23565 X-GNU-PR-Package: emacs X-GNU-PR-Keywords: X-Debbugs-Original-To: bug-gnu-emacs@gnu.org Original-Received: via spool by submit@debbugs.gnu.org id=B.146353542425998 (code B ref -1); Wed, 18 May 2016 01:38:02 +0000 Original-Received: (at submit) by debbugs.gnu.org; 18 May 2016 01:37:04 +0000 Original-Received: from localhost ([127.0.0.1]:56366 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1b2qQ4-0006lF-Aq for submit@debbugs.gnu.org; Tue, 17 May 2016 21:37:04 -0400 Original-Received: from eggs.gnu.org ([208.118.235.92]:33542) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1b2qQ1-0006kj-0n for submit@debbugs.gnu.org; Tue, 17 May 2016 21:37:02 -0400 Original-Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1b2qPu-0005xW-AG for submit@debbugs.gnu.org; Tue, 17 May 2016 21:36:55 -0400 Original-Received: from lists.gnu.org ([2001:4830:134:3::11]:40176) by eggs.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1b2qPu-0005xH-5x for submit@debbugs.gnu.org; Tue, 17 May 2016 21:36:54 -0400 Original-Received: from eggs.gnu.org ([2001:4830:134:3::10]:49945) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1b2qPp-0005xc-O5 for bug-gnu-emacs@gnu.org; Tue, 17 May 2016 21:36:53 -0400 Original-Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1b2nBp-0004SO-3f for bug-gnu-emacs@gnu.org; Tue, 17 May 2016 18:10:12 -0400 Original-Received: from mxout3.interscholz.de ([85.236.196.238]:42960) by eggs.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1b2nBo-0004PY-TY for bug-gnu-emacs@gnu.org; Tue, 17 May 2016 18:10:09 -0400 Original-Received: from localhost (mxout3 [127.0.0.1]) by mxout3.interscholz.de (Postfix) with ESMTP id 3AC6020F53 for ; Wed, 18 May 2016 00:10:06 +0200 (CEST) X-Virus-Scanned: interscholz amavisd-new at mxout3.interscholz.de Original-Received: from server.web01.interscholz.net (server.web01.interscholz.net [85.236.196.138]) by mxout3.interscholz.de (Postfix) with ESMTP id 0606E202D9 for ; Wed, 18 May 2016 00:10:04 +0200 (CEST) Original-Received: from linux-qg7d.fritz.box (p4FFBE6E1.dip0.t-ipconnect.de [79.251.230.225]) by server.web01.interscholz.net (Postfix) with ESMTPSA id E7405340098; Wed, 18 May 2016 00:10:01 +0200 (CEST) X-detected-operating-system: by eggs.gnu.org: GNU/Linux 2.2.x-3.x [generic] X-detected-operating-system: by eggs.gnu.org: GNU/Linux 2.6.x X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.18 Precedence: list X-detected-operating-system: by eggs.gnu.org: GNU/Linux 2.2.x-3.x [generic] X-Received-From: 208.118.235.43 X-BeenThere: bug-gnu-emacs@gnu.org List-Id: "Bug reports for GNU Emacs, the Swiss army knife of text editors" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: bug-gnu-emacs-bounces+geb-bug-gnu-emacs=m.gmane.org@gnu.org Original-Sender: "bug-gnu-emacs" Xref: news.gmane.org gmane.emacs.bugs:118366 Archived-At: Recipt: - Start emacs -Q - Open some buffer and enable tcl-mode (M-x tcl-mode). Copy the following tcl code into it: proc bad {{value ""}} { # do something } proc good {value} { # do something } This is valid tcl code, creating two functions (or procedures, als Tcl also calls them). The first function has an optional argument. If that argument isn't given, the argument variable 'value' will have the default value ("" in the bad example) given in the proc definition. The second is an example for a function. that always expects one argument. - Put the point at the beginning of the proc bad and call tcl-end-of-defun (which is an alias of end-of-defun, therefor all keybindings to that will work). Now the point is (marked as: _P_ proc bad {{value ""}} _P_{ # do something } This is wrong, this is not the end of the proc. In general, tcl-end-of-defun does work. Look at the proc good. Placing the point at the beginning of proc good and calling tcl-end-of-defun, the point is where expected: proc good {value} { # do something }_P_ This is only an example of the mis-functioning. It seems always to show up, if a proc definition has the syntax for one ore more optional arguments with the empty string (given as "" in the code) as default value. Since tcl-eval-defun is implemented with the help of end-of-defun, it suffers from this, too. In GNU Emacs 24.5.1 (x86_64-unknown-linux-gnu, GTK+ Version 2.24.10) of 2015-04-11 on linux-qg7d Windowing system distributor `The X.Org Foundation', version 11.0.11203000