From mboxrd@z Thu Jan 1 00:00:00 1970 Path: news.gmane.io!.POSTED.blaine.gmane.org!not-for-mail From: Jean Louis Newsgroups: gmane.emacs.help Subject: Re: Adding String to Beginning of Lines Date: Tue, 10 Nov 2020 22:12:33 +0300 Message-ID: References: <20201110111024.GA15992@tuxteam.de> <87zh3pctr1.fsf@web.de> <87o8k5csqj.fsf@web.de> <87tutxb7yz.fsf@web.de> Mime-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 7bit Injection-Info: ciao.gmane.io; posting-host="blaine.gmane.org:116.202.254.214"; logging-data="4656"; mail-complaints-to="usenet@ciao.gmane.io" User-Agent: Mutt/2.0 (3d08634) (2020-11-07) Cc: help-gnu-emacs@gnu.org To: Michael Heerdegen Original-X-From: help-gnu-emacs-bounces+geh-help-gnu-emacs=m.gmane-mx.org@gnu.org Tue Nov 10 20:21:25 2020 Return-path: Envelope-to: geh-help-gnu-emacs@m.gmane-mx.org Original-Received: from lists.gnu.org ([209.51.188.17]) by ciao.gmane.io with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.92) (envelope-from ) id 1kcZCn-000164-4J for geh-help-gnu-emacs@m.gmane-mx.org; Tue, 10 Nov 2020 20:21:25 +0100 Original-Received: from localhost ([::1]:41234 helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1kcZCl-0000rG-PO for geh-help-gnu-emacs@m.gmane-mx.org; Tue, 10 Nov 2020 14:21:23 -0500 Original-Received: from eggs.gnu.org ([2001:470:142:3::10]:49344) by lists.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1kcZBh-0000r3-Cx for help-gnu-emacs@gnu.org; Tue, 10 Nov 2020 14:20:17 -0500 Original-Received: from static.rcdrun.com ([95.85.24.50]:39371) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1kcZBf-000769-DH for help-gnu-emacs@gnu.org; Tue, 10 Nov 2020 14:20:16 -0500 Original-Received: from localhost ([::ffff:197.157.34.177]) (AUTH: PLAIN admin, TLS: TLS1.2,256bits,ECDHE_RSA_AES_256_GCM_SHA384) by static.rcdrun.com with ESMTPSA id 00000000002C0005.000000005FAAE7EC.00000541; Tue, 10 Nov 2020 19:20:12 +0000 Content-Disposition: inline In-Reply-To: <87tutxb7yz.fsf@web.de> Received-SPF: pass client-ip=95.85.24.50; envelope-from=bugs@gnu.support; helo=static.rcdrun.com X-detected-operating-system: by eggs.gnu.org: First seen = 2020/11/10 14:03:25 X-ACL-Warn: Detected OS = Linux 3.11 and newer [fuzzy] X-Spam_score_int: -18 X-Spam_score: -1.9 X-Spam_bar: - X-Spam_report: (-1.9 / 5.0 requ) BAYES_00=-1.9, SPF_HELO_PASS=-0.001, SPF_PASS=-0.001 autolearn=ham autolearn_force=no X-Spam_action: no action X-BeenThere: help-gnu-emacs@gnu.org X-Mailman-Version: 2.1.23 Precedence: list List-Id: Users list for the GNU Emacs text editor List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: help-gnu-emacs-bounces+geh-help-gnu-emacs=m.gmane-mx.org@gnu.org Original-Sender: "help-gnu-emacs" Xref: news.gmane.io gmane.emacs.help:125205 Archived-At: * Michael Heerdegen [2020-11-10 17:30]: > Jean Louis writes: > > > (let ((regex (or regex default)))) > ^^^^^ > > That might possible need to be > > (string-empty-p regex) > > depending on how the contents of the variable had been read. Thank you. User can choose to have "" regex as also plain function allows is. (string-match "" "something") If it is "" it is not nil, it would be chosen. If it is nil it would not be chosen. Is that right? Do you think it is necessary more than just `or'? Afterthoughts: I do not link that string-empty-p function (string-empty-p nil) => nil It is not logical to me. I was even surprised to find it just yesterday because I had my own function. Of course that NIL is not a string, but it is also not a string to give NIL if it is empty (I know this sentence may be confusing) as that means that NIL is not empty string. If string is NIL I expect that string-empty-p on that string tells me TRUE. (defun rcd-string-empty-p (s) "Returns T if string is empty or NIL" (let ((s (if (null s) "" s))) (if (stringp s) (if (zerop (length s)) t nil)))) (rcd-string-empty-p nil) => T That is my expectation in many programs where I am handling the string which can be also NIL. I was always loading files and then first time I installed it as package that uses subr-x (I think function comes from there) so my personal function string-empty-p collided with subr-x function and suddenly my program did not behave well. Yesterday I have renamed my function.