From unknown Sat Jun 21 03:23:51 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#30775 <30775@debbugs.gnu.org> To: bug#30775 <30775@debbugs.gnu.org> Subject: Status: 27.0.50; term.el regression handling zsh prompt - extra "%" Reply-To: bug#30775 <30775@debbugs.gnu.org> Date: Sat, 21 Jun 2025 10:23:51 +0000 retitle 30775 27.0.50; term.el regression handling zsh prompt - extra "%" reassign 30775 emacs submitter 30775 Noam Postavsky severity 30775 normal tag 30775 patch fixed thanks From debbugs-submit-bounces@debbugs.gnu.org Sun Mar 11 20:42:40 2018 Received: (at submit) by debbugs.gnu.org; 12 Mar 2018 00:42:40 +0000 Received: from localhost ([127.0.0.1]:55864 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1evBY0-0003zh-Gl for submit@debbugs.gnu.org; Sun, 11 Mar 2018 20:42:40 -0400 Received: from eggs.gnu.org ([208.118.235.92]:50727) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1evBXy-0003zU-G0 for submit@debbugs.gnu.org; Sun, 11 Mar 2018 20:42:39 -0400 Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1evBXs-0002fM-Ec for submit@debbugs.gnu.org; Sun, 11 Mar 2018 20:42:33 -0400 X-Spam-Checker-Version: SpamAssassin 3.3.2 (2011-06-06) on eggs.gnu.org X-Spam-Level: X-Spam-Status: No, score=-0.5 required=5.0 tests=BAYES_05,FREEMAIL_FROM, T_DKIM_INVALID autolearn=disabled version=3.3.2 Received: from lists.gnu.org ([2001:4830:134:3::11]:39104) by eggs.gnu.org with esmtps (TLS1.0:RSA_AES_256_CBC_SHA1:32) (Exim 4.71) (envelope-from ) id 1evBXs-0002fF-B6 for submit@debbugs.gnu.org; Sun, 11 Mar 2018 20:42:32 -0400 Received: from eggs.gnu.org ([2001:4830:134:3::10]:41698) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1evBXr-0004h2-8k for bug-gnu-emacs@gnu.org; Sun, 11 Mar 2018 20:42:32 -0400 Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1evBXn-0002d1-D9 for bug-gnu-emacs@gnu.org; Sun, 11 Mar 2018 20:42:31 -0400 Received: from mail-it0-x22d.google.com ([2607:f8b0:4001:c0b::22d]:55388) by eggs.gnu.org with esmtps (TLS1.0:RSA_AES_128_CBC_SHA1:16) (Exim 4.71) (envelope-from ) id 1evBXn-0002ch-7Q for bug-gnu-emacs@gnu.org; Sun, 11 Mar 2018 20:42:27 -0400 Received: by mail-it0-x22d.google.com with SMTP id n136so8983931itg.5 for ; Sun, 11 Mar 2018 17:42:27 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20161025; h=from:to:subject:date:message-id:mime-version; bh=fZdtNs/CJXOKhSB8nnhRRsaTKHf9m116EtuHfUTd32s=; b=L2js4yVTfkMkePMVKHwyibfrFkMFfddxlwqEtqy2+r01k3gPNcfpj4nZEMaLX692L1 8Tty+1ZKgs5f/GGSzKIQ6cuIpe5xDiPO1+VJ/AWCBtOyfeiG02MwtXggLGaGh8y8n4AT dnjDzKbgZFLM/Uew1Nb3czfPQlaNnyx6aYqOc8VPoua5FBfAGOWItfGuE0VsDz4huW4E LK2C2t1CEXlvCizfR/QuLa+08c6caYXxXUaBBzC+xH365UDMSak3XIGWE9Av25W8/f9d fIrEcAmm1qExf3ZrdGasYGRNXl7SLy4BPCMP++CaV1CidcpN+wMX8ldGRD7QsTB3vN9s iKtw== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:from:to:subject:date:message-id:mime-version; bh=fZdtNs/CJXOKhSB8nnhRRsaTKHf9m116EtuHfUTd32s=; b=RU3Bbf6HP7eu2NfPXhPiZ0ccp65UYer/MH5XuL+Fs9apSBf7hQDDvVZwMGflm0Gdp0 gSAylURjx9B+t242q7OujSxfxu1DOcJSEyUH/btHhQeLLVwd/SkVIP/mHx8Ihf5cX2zC yNbqh0Ysb8seFn4vsW/9n5vWkd373vm9iYfWYXGFc8CubSA+FEwMQoqtK2S2yjdrDO4J RZE+6QVq3nMBKAMiuOwzfzU9LP8aYpGlUwqYFsDgy4QLVEUuov2rUF4XXMSbrD5IoLTm xgKp23h6n882zqDMVmKv8lBN8BcqioszpO5MkeR2x/HoGDHmiD9NfIUkoHRzm0M4ESMH m/xw== X-Gm-Message-State: AElRT7FowFEcZI6fWlaKZc5R5+HLLI1Pu0EHkTtK5kmDPGGc80wEpCNY gWkoxa92r3BRW3PpX6xI7DxRnQ== X-Google-Smtp-Source: AG47ELvX4z9uEKr6407wuikeLSmwNh7aiO9UW70we8m8sNe5t6VMf1b28bms1JU9yGQx1YCO+1w3dg== X-Received: by 10.36.73.95 with SMTP id z92mr6866014ita.38.1520815346469; Sun, 11 Mar 2018 17:42:26 -0700 (PDT) Received: from zebian (cbl-45-2-119-34.yyz.frontiernetworks.ca. [45.2.119.34]) by smtp.googlemail.com with ESMTPSA id y192sm2617203itb.3.2018.03.11.17.42.25 for (version=TLS1_2 cipher=ECDHE-RSA-CHACHA20-POLY1305 bits=256/256); Sun, 11 Mar 2018 17:42:25 -0700 (PDT) From: Noam Postavsky To: bug-gnu-emacs@gnu.org Subject: 27.0.50; term.el regression handling zsh prompt - extra "%" Date: Sun, 11 Mar 2018 20:42:24 -0400 Message-ID: <873716yvin.fsf@gmail.com> 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.x X-Received-From: 2001:4830:134:3::11 X-Spam-Score: -4.0 (----) X-Debbugs-Envelope-To: submit X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.18 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: -4.0 (----) This is a regression in master (emacs-26 is ok), as reported in [1]: when I open term or ansi-term there is always a % character at the end of every command i execute in term. Stated in terms of tests/lisp/term.el, the following fails: (ert-deftest term-line-wrapping-then-motion () "Make sure we reset the line-wrapping state after moving cursor. A real-life example is the default zsh prompt which writes spaces to the end of line (triggering line-wrapping state), and then sends a carriage return followed by another space to overwrite the first character of the line." (let* ((width 10) (strs (list "x" (make-string (1- width) ?_) "\r_"))) (should (equal (term-test-screen-from-input width 12 strs) (make-string width ?_))))) Patch to follow. [1]: https://emacs.stackexchange.com/questions/39207/emacs-27-0-50-term-el-doesnt-play-well-with-zsh From debbugs-submit-bounces@debbugs.gnu.org Sun Mar 11 20:49:32 2018 Received: (at 30775) by debbugs.gnu.org; 12 Mar 2018 00:49:32 +0000 Received: from localhost ([127.0.0.1]:55876 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1evBee-0004B9-ER for submit@debbugs.gnu.org; Sun, 11 Mar 2018 20:49:32 -0400 Received: from mail-it0-f46.google.com ([209.85.214.46]:51830) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1evBeY-0004Ak-MA; Sun, 11 Mar 2018 20:49:27 -0400 Received: by mail-it0-f46.google.com with SMTP id u66so9020986ith.1; Sun, 11 Mar 2018 17:49:26 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20161025; h=from:to:subject:references:date:in-reply-to:message-id:user-agent :mime-version; bh=ixGvruYcHVsOML7cK19PUh3S1KCYxQ2RA3Y4hDdaM6k=; b=HxAB+azzYtf8P8s9AVbHsjyvidFSmV2na0eJeHBhu4Kf4Lpu+tLPZ8+LwRhJD+dZhp 3AYGCmhsjDB/CsJSlTPMreeOfcxM8V6+hS8887A7cp8+g9NzngrogdG0LxmTNQTbk5s3 dPZZx6N1Bcii0xfC5FqkRFsxTvqIZxlMdgrmIhhrDJtr4zks/cmYGTs8US8ZB8bK4jOA Npez+enPfX/gj9PVRjCrDbZ+XKtUqgsS1aPWKvxr+GILdv2B/DO/aFBxZTJJSDFmLNBw vZwsbErougFvqMnk1U+x4mPdSgoju+5dei7RhSiuh11QbH/Bd4S652pIBtKvFZc22Xel yw3g== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:from:to:subject:references:date:in-reply-to :message-id:user-agent:mime-version; bh=ixGvruYcHVsOML7cK19PUh3S1KCYxQ2RA3Y4hDdaM6k=; b=oVL/+8YgB15CiGlvDJZwlDqAAYs1LHyLOO5TN3aboIGTBBHavtHVLOgKYMpnVfj79x quryHas20DZrlHLMPgGrj5pdteroWLX+x2TY/pY6dgQPjYDo+8tuf87oV1qvwC7QKlA7 moP2qN6iX9rCJecf9zll114Ryw3eZUdVCHQyZKDhoay+0sHF45zT3djNmKdLcBNdmTtZ j4WFzIRqZzHlnwkWgMxpc4qt1EEOkgHesmNNAC5su8aBhqsVr9wy77gsvbQGPajvBm+J 2A1i0SAswtH6/H0xMD47nB4zyd+ptHC+6k1YcqamF+omWAP4iPLWoYXUehaemYrSrIhv mUTA== X-Gm-Message-State: AElRT7H+Y0NMODJ4EoGOZaMv2AttPw8oNXANA5XrMGWUOwL6jz5xwwim oR8PMb9LPh4Dlff9Ez+skcREzA== X-Google-Smtp-Source: AG47ELspjXbCJtUpJrjBEXzhQPMr5ByuCLfV9OgthNUMnKqeA2niZ5Y7HxjxGRPetFOEI0xKUDdZkQ== X-Received: by 10.36.122.69 with SMTP id a66mr7069295itc.117.1520815761011; Sun, 11 Mar 2018 17:49:21 -0700 (PDT) Received: from zebian (cbl-45-2-119-34.yyz.frontiernetworks.ca. [45.2.119.34]) by smtp.googlemail.com with ESMTPSA id 12sm2661833itm.0.2018.03.11.17.49.19 (version=TLS1_2 cipher=ECDHE-RSA-CHACHA20-POLY1305 bits=256/256); Sun, 11 Mar 2018 17:49:20 -0700 (PDT) From: Noam Postavsky To: 30775@debbugs.gnu.org Subject: Re: bug#30775: 27.0.50; term.el regression handling zsh prompt - extra "%" References: <873716yvin.fsf@gmail.com> Date: Sun, 11 Mar 2018 20:49:18 -0400 In-Reply-To: <873716yvin.fsf@gmail.com> (Noam Postavsky's message of "Sun, 11 Mar 2018 20:42:24 -0400") Message-ID: <87zi3exgmp.fsf@gmail.com> User-Agent: Gnus/5.13 (Gnus v5.13) Emacs/26.0.90 (gnu/linux) MIME-Version: 1.0 Content-Type: multipart/mixed; boundary="=-=-=" X-Spam-Score: -0.0 (/) X-Debbugs-Envelope-To: 30775 X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.18 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: -0.0 (/) --=-=-= Content-Type: text/plain tags 30775 + patch quit > Patch to follow. --=-=-= Content-Type: text/x-diff Content-Disposition: inline; filename=v1-0001-Fix-line-wrapping-for-term.el-Bug-30775.patch Content-Description: patch >From 8b6f574ec8959891f388ca77abed908e7637a881 Mon Sep 17 00:00:00 2001 From: Noam Postavsky Date: Sun, 11 Mar 2018 20:47:12 -0400 Subject: [PATCH v1] Fix line-wrapping for term.el (Bug#30775) * lisp/term.el (term-emulate-terminal): Leave line-wrapping state if point was moved after we entered it. * test/lisp/term-tests.el (term-line-wrapping-then-motion): New test. --- lisp/term.el | 11 ++++++++--- test/lisp/term-tests.el | 12 ++++++++++++ 2 files changed, 20 insertions(+), 3 deletions(-) diff --git a/lisp/term.el b/lisp/term.el index cf7699abc9..a458cc4fe4 100644 --- a/lisp/term.el +++ b/lisp/term.el @@ -2891,9 +2891,11 @@ term-emulate-terminal ;; If the last char was written in last column, ;; back up one column, but remember we did so. ;; Thus we emulate xterm/vt100-style line-wrapping. - (cond ((eq (term-current-column) term-width) - (term-move-columns -1) - (setq term-do-line-wrapping t))) + (when (eq (term-current-column) term-width) + (term-move-columns -1) + ;; We check after ctrl sequence handling if point + ;; was moved (and leave line-wrapping state if so). + (setq term-do-line-wrapping (point))) (setq term-current-column nil) (setq i funny)) (pcase-exhaustive (and (<= ctl-end str-length) (aref str i)) @@ -2993,6 +2995,9 @@ term-emulate-terminal (substring str i ctl-end))))) ;; Ignore NUL, Shift Out, Shift In. ((or ?\0 #xE #xF 'nil) nil)) + ;; Leave line-wrapping state if point was moved. + (unless (eq term-do-line-wrapping (point)) + (setq term-do-line-wrapping nil)) (if (term-handling-pager) (progn ;; Finish stuff to get ready to handle PAGER. diff --git a/test/lisp/term-tests.el b/test/lisp/term-tests.el index 234dfa1f0d..8aaa61a210 100644 --- a/test/lisp/term-tests.el +++ b/test/lisp/term-tests.el @@ -124,6 +124,18 @@ term-test-screen-from-input 40 12 (list "\eAnSiTc /f" "oo/\n") 'default-directory) "/foo/")))) +(ert-deftest term-line-wrapping-then-motion () + "Make sure we reset the line-wrapping state after moving cursor. +A real-life example is the default zsh prompt which writes spaces +to the end of line (triggering line-wrapping state), and then +sends a carriage return followed by another space to overwrite +the first character of the line." + (let* ((width 10) + (strs (list "x" (make-string (1- width) ?_) + "\r_"))) + (should (equal (term-test-screen-from-input width 12 strs) + (make-string width ?_))))) + (provide 'term-tests) ;;; term-tests.el ends here -- 2.11.0 --=-=-=-- From debbugs-submit-bounces@debbugs.gnu.org Tue Mar 13 22:04:04 2018 Received: (at 30775) by debbugs.gnu.org; 14 Mar 2018 02:04:04 +0000 Received: from localhost ([127.0.0.1]:60240 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1evvls-0004am-8C for submit@debbugs.gnu.org; Tue, 13 Mar 2018 22:04:04 -0400 Received: from mail-it0-f43.google.com ([209.85.214.43]:37598) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1evvlp-0004aB-5M; Tue, 13 Mar 2018 22:04:01 -0400 Received: by mail-it0-f43.google.com with SMTP id k79-v6so2697974ita.2; Tue, 13 Mar 2018 19:04:01 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20161025; h=from:to:subject:references:date:in-reply-to:message-id:user-agent :mime-version; bh=MLfuIcgCTe4GcVkseI3SR3YaGJJy+N/XYoRjlwWHnyU=; b=LWz1yJERAQ2oPNCYegIe23rAMca3qsyUjwfqtl//ejbs3zZ1xz6m29AJ7Y885plajT 7zInTU/wjJrrZ1tYf3HL+GwC6RdgKsX3knGrl2OcN6A8P8Ws0gUgzlNBdQrTdyh51kWQ Prn9AiF4iCpqLFrJd5uLEo7h7cGWxkfkRejIP79ZHFzxXZMDA13la0lbjwaxlO2U1OZp EHf8kmNMZVdMZtjb/rOvIv7s2qLZde/XPUVPSVahktTQe4n8NFyU+s8AcJV0TR6StWlz iEyyjoNpRd5ogGel6fYbaJyjKT8aj18mqtvVoKq1nXjx1cMr34g9GtjSVHUsTL+5+X91 +zYA== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:from:to:subject:references:date:in-reply-to :message-id:user-agent:mime-version; bh=MLfuIcgCTe4GcVkseI3SR3YaGJJy+N/XYoRjlwWHnyU=; b=fsC0urDwr7+q43PaH+ua1K4mFMXM7TYrAu3uWSxznhjgihqEb9G+U4y/yGnoADWswp xBp6t44HoEb1i+lpBvf3fpFjBj55jhXxb0rxXwr111LDo6HQ6PobNhTJ0FZh+cyF15bL Pdl8gJMYstIavHgSGecoOxyh78OTzejasD0f3P5v/CA38R2JoMw8gEATE/VIRKuixaGQ dvzu9/p+tPi+WGEQd2cEZPvgjLups5lfe8ryVCWA2dxThVQGe3MN2Gc+Ir+AGZ6VhG2G I267CUCr7VqRPtGwvKshLx7QNXHT649ODEXCjjoRCIBCk/hXIgaX+bNgx6GSlPh0S28O 9JfQ== X-Gm-Message-State: AElRT7F6AIwu0E/9iO8kl1ryezas/fGIwvp6XoOyiT2Ke7qlmOtEmx5R w0wn0TTjB8D6HdHKG0H/NzdVDQ== X-Google-Smtp-Source: AG47ELvMk1+H4yoBUF6Ry/ntHQXm96xuDM2/bvTu6zcmcUQyVqyv/St22/KSRpEnaRgKskP8hNwKNw== X-Received: by 2002:a24:1f15:: with SMTP id d21-v6mr212574itd.71.1520993035514; Tue, 13 Mar 2018 19:03:55 -0700 (PDT) Received: from zebian (cbl-45-2-119-34.yyz.frontiernetworks.ca. [45.2.119.34]) by smtp.googlemail.com with ESMTPSA id r23sm763337iod.8.2018.03.13.19.03.54 (version=TLS1_2 cipher=ECDHE-RSA-CHACHA20-POLY1305 bits=256/256); Tue, 13 Mar 2018 19:03:54 -0700 (PDT) From: Noam Postavsky To: 30775@debbugs.gnu.org Subject: Re: bug#30775: 27.0.50; term.el regression handling zsh prompt - extra "%" References: <873716yvin.fsf@gmail.com> <87zi3exgmp.fsf@gmail.com> Date: Tue, 13 Mar 2018 22:03:54 -0400 In-Reply-To: <87zi3exgmp.fsf@gmail.com> (Noam Postavsky's message of "Sun, 11 Mar 2018 20:49:18 -0400") Message-ID: <871sgnxvjp.fsf@gmail.com> User-Agent: Gnus/5.13 (Gnus v5.13) Emacs/26.0.90 (gnu/linux) MIME-Version: 1.0 Content-Type: text/plain X-Spam-Score: -0.0 (/) X-Debbugs-Envelope-To: 30775 X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.18 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: -0.0 (/) tags 30775 fixed close 30775 quit Noam Postavsky writes: >>>From 8b6f574ec8959891f388ca77abed908e7637a881 Mon Sep 17 00:00:00 2001 > From: Noam Postavsky > Date: Sun, 11 Mar 2018 20:47:12 -0400 > Subject: [PATCH v1] Fix line-wrapping for term.el (Bug#30775) > > * lisp/term.el (term-emulate-terminal): Leave line-wrapping state if > point was moved after we entered it. > * test/lisp/term-tests.el (term-line-wrapping-then-motion): New test. Pushed to master. [1: 4c33ad4a24]: 2018-03-13 21:58:38 -0400 Fix line-wrapping for term.el (Bug#30775) https://git.savannah.gnu.org/cgit/emacs.git/commit/?id=4c33ad4a244db59bfe128aa54380904efdc775ba From unknown Sat Jun 21 03:23:51 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, 11 Apr 2018 11:24:04 +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