Path: csiph.com!xmission!news.snarked.org!news.linkpendium.com!news.linkpendium.com!panix!usenet.stanford.edu!not-for-mail From: Chet Ramey Newsgroups: gnu.bash.bug Subject: Re: print/echo lost from COMMAND_PROMPT Function Date: Tue, 4 Feb 2020 10:07:50 -0500 Lines: 38 Approved: bug-bash@gnu.org Message-ID: References: <258ec5bc-56ef-54c9-fc9b-27dd968574c0@case.edu> Reply-To: chet.ramey@case.edu NNTP-Posting-Host: lists.gnu.org Mime-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Trace: usenet.stanford.edu 1580828879 16279 209.51.188.17 (4 Feb 2020 15:07:59 GMT) X-Complaints-To: action@cs.stanford.edu Cc: chet.ramey@case.edu To: Manish Patel , bug-bash@gnu.org, bash@packages.debian.org Envelope-to: bug-bash@gnu.org DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=case.edu; s=smtp-primary; t=1580828872; bh=wJlRsUnYoTDECU4SARaCEGTxCHYdCgzziBEhprQ09uE=; h=Reply-To:Cc:Subject:To:References:From:Message-ID:Date: MIME-Version:In-Reply-To:Content-Type:Content-Transfer-Encoding; b=yID0hW/uce9Idr80SNpjGJo6mTmJaIt2Oepvol8j2iwx6MNJ8yDgczmdDdyRXc9UWb 3fr+B2xodAElYkF7BI7XLPfXyBp7mvtb3Lr3r+qqEKaWwV3GN+qJCaa5CLY1pv8iwV7 OC6YfkP01MFAwizuw7Y4a7GQfWHNOLQkdE/Pe11lq3oaCDpuTCz00FMIUoESz+BVsSq nWrmaOt/BqZOm3lMladlvUeP1g3sb4fXXcQPDAnYYm5el+tQzn+NwTqRJAresGUl1DK NYsHjs1x7tTqmKu6OijuiagJ/TwD/vuPKcd/05XY6NWjt9puBWgoop6dATvNKOQP56W fer1ZZTg== DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=case.edu; s=smtp-primary; t=1580828871; bh=FV7oXvGPOkmwIR9uPRBFvawTTWMqFd8FKhMA1wC7cZQ=; h=Reply-To:Cc:Subject:To:References:From:Message-ID:Date: MIME-Version:In-Reply-To:Content-Type:Content-Transfer-Encoding; b=ToRDQyyqspmfPomXnhAQb5JQwOXrzpMKBR/l7FR9+zMiR5/x34jqngo1UHTBSlLmd5 ocRkaIFCKrYTzfS2KFeHYwppMKwgSxl3NvJwzuzZ2RhJQxQq7gX1PTMvpP8NsAVcPZM PJZY9lgj7OvGaNReeZZJHJt7gVHx0Y+pDGnjFDOvonuFKSxq+L3wFuz4OHyCP7WrdTl EIUf+OxDg8l/FCvmiwJd/FwFVlKZFfk9gGpuKpFvd8MZLkx584Bp2+GCVamjrd4jNIp DkOElE18qe1hPYPx8N7Il3YiDsn6gOgbBZW3zbE6MQuFbJiDoUoiCDy80lC8vmeB7TT wVbAvhGA== Autocrypt: addr=chet.ramey@case.edu; prefer-encrypt=mutual; keydata= mQGiBEEOsGwRBACFa0A1oa71HSZLWxAx0svXzhOZNQZOzqHmSuGOG92jIpQpr8DpvgRh40Yp AwdcXb8QG1J5yGAKeevNE1zCFaA725vGSdHUyypHouV0xoWwukYO6qlyyX+2BZU+okBUqoWQ koWxiYaCSfzB2Ln7pmdys1fJhcgBKf3VjWCjd2XJTwCgoFJOwyBFJdugjfwjSoRSwDOIMf0D /iQKqlWhIO1LGpMrGX0il0/x4zj0NAcSwAk7LaPZbN4UPjn5pqGEHBlf1+xDDQCkAoZ/VqES GZragl4VqJfxBr29Ag0UDvNbUbXoxQsARdero1M8GiAIRc50hj7HXFoERwenbNDJL86GPLAQ OTGOCa4W2o29nFfFjQrsrrYHzVtyA/9oyKvTeEMJ7NA3VJdWcmn7gOu0FxEmSNhSoV1T4vP2 1Wf7f5niCCRKQLNyUy0wEApQi4tSysdz+AbgAc0b/bHYVzIf2uO2lIEZQNNt+3g2bmXgloWm W5fsm/di50Gm1l1Na63d3RZ00SeFQos6WEwLUHEB0yp6KXluXLLIZitEJLQgQ2hldCBSYW1l eSA8Y2hldC5yYW1leUBjYXNlLmVkdT6IYQQTEQIAIQIbAwYLCQgHAwIDFQIDAxYCAQIeAQIX gAUCRX3FIgIZAQAKCRC7WGnwZOp0q069AKCNDRn+zzN/AHbaynls/Lvq1kH/RQCgkLvF8bDs maUHSxSIPqzlGuKWDxa5AQ0EQQ6wbxAEAJCukwDigRDPhAuI+lf+6P64lWanIFOXIndqhvU1 3cDbQ/Wt5LwPzm2QTvd7F+fcHOgZ8KOFScbDpjJaRqwIybMTcIN0B2pBLX/C10W1aY+cUrXZ gXUGVISEMmpaP9v02auToo7XXVEHC+XLO9IU7/xaU98FL69l6/K4xeNSBRM/AAMHA/wNAmRB pcyK0+VggZ5esQaIP/LyolAm2qwcmrd3dZi+g24s7yjV0EUwvRP7xHRDQFgkAo6++QbuecU/ J90lxrVnQwucZmfz9zgWDkT/MpfB/CNRSKLFjhYq2yHmHWT6vEjw9Ry/hF6Pc0oh1a62USdf aKAiim0nVxxQmPmiRvtCmYhJBBgRAgAJBQJBDrBvAhsMAAoJELtYafBk6nSr43AAn2ZZFQg8 Gs/zUzvXMt7evaFqVTzcAJ0cHtKpP1i/4H4R9+OsYeQdxxWxTQ== User-Agent: Mozilla/5.0 (Macintosh; Intel Mac OS X 10.14; rv:68.0) Gecko/20100101 Thunderbird/68.4.2 In-Reply-To: Content-Language: en-US X-Junkmail-Status: score=7/90, host=mpv2-2015.case.edu X-Junkmail-PrAS-Raw: score=7/90, refid=2.7.2:2020.2.4.140017:17:7.944, ip=, rules=DKIM_SIGNATURE, __HAS_REPLYTO, __HAS_CC_HDR, __SUBJ_REPLY, __BOUNCE_CHALLENGE_SUBJ, __BOUNCE_NDR_SUBJ_EXEMPT, __SUBJ_ALPHA_END, __TO_MALFORMED_2, __MULTIPLE_RCPTS_TO_X2, __TO_NAME, __TO_NAME_DIFF_FROM_ACC, __HAS_REFERENCES, __REFERENCES, __HAS_FROM, FROM_EDU_TLD, __HAS_MSGID, __SANE_MSGID, DATE_TZ_NA, __USER_AGENT, __MOZILLA_USER_AGENT, __MIME_VERSION, __IN_REP_TO, __CT, __CT_TEXT_PLAIN, __CTE, __REPLYTO_SAMEAS_FROM_ADDY, __REPLYTO_SAMEAS_FROM_ACC, __FROM_DOMAIN_IN_ANY_CC1, __FROM_DOMAIN_IN_ANY_CC2, __REPLYTO_SAMEAS_FROM_DOMAIN, __DKIM_ALIGNS_1, __DKIM_ALIGNS_2, __ANY_URI, __URI_MAILTO, __URI_WITH_PATH, __URI_ENDS_IN_SLASH, __URI_NO_WWW, __HIGHBITS, __CP_URI_IN_BODY, __SUBJ_ALPHA_NEGATE, __URI_IN_BODY, __URI_NOT_IMG, __MAIL_CHAIN, __FORWARDED_MSG, __BODY_NO_MAILTO, __NO_HTML_TAG_RAW, BODYTEXTP_SIZE_3000_LESS, BODY_SIZE_1600_1699, __MIME_TEXT_P1, [TRUNCATED], so=2010-03-03 19:42:08, dmn=2016-08-03-0138 X-detected-operating-system: by eggs.gnu.org: GNU/Linux 2.4.x-2.6.x [generic] [fuzzy] X-Received-From: 129.22.103.227 X-BeenThere: bug-bash@gnu.org X-Mailman-Version: 2.1.23 Precedence: list List-Id: Bug reports for the GNU Bourne Again SHell List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-Mailman-Original-Message-ID: <258ec5bc-56ef-54c9-fc9b-27dd968574c0@case.edu> X-Mailman-Original-References: Xref: csiph.com gnu.bash.bug:15862 On 2/3/20 3:26 PM, Manish Patel wrote: > Bash Version: 4.4 > Patch Level: 20 > Release Status: release > > Description: >         Print/echo is lost when generated from a function in > COMMAND_PROMPT and placed in background in subshell. > > I have embedded some git information in my command prompt. > However, due to large git data, it takes some time to calculate it all. > So I have placed > the git processing in the background function, which I call from > COMMAND_PROMPT. Readline assumes two things: it starts with the cursor in column 0, and it is the only thing writing to the screen during redisplay, so it always knows where the cursor is and can make redisplay decisions accordingly. Your writing to the screen from a background process violates one or both of these, so all bets are off. It may be the case that readline decides to redisplay by moving to column 0, redrawing the prompt, moving the cursor, and redrawing the changed portions of the line,in which case whatever your process writes at the beginning of the line gets overwritten. It may be the case that writing to the screen moves the cursor forward so readline doesn't move the cursor to the right place or wrap correctly. There are no guarantees that anything a background process writes to the screen will be preserved, or that writing to the screen and moving the physical cursor will not interfere with readline's redisplay. Chet -- ``The lyf so short, the craft so long to lerne.'' - Chaucer ``Ars longa, vita brevis'' - Hippocrates Chet Ramey, UTech, CWRU chet@case.edu http://tiswww.cwru.edu/~chet/