From mboxrd@z Thu Jan 1 00:00:00 1970 Path: news.gmane.io!.POSTED.blaine.gmane.org!not-for-mail From: Emanuel Berg via Users list for the GNU Emacs text editor Newsgroups: gmane.emacs.help Subject: Re: let*: Wrong type argument: stringp, nil Date: Wed, 29 Sep 2021 06:35:33 +0200 Message-ID: <878rzgq9re.fsf@zoho.eu> References: <87lf3lrmos.fsf@gmx.net> <87ee9csyp0.fsf@gmx.net> <87a6k0sogz.fsf@gmx.net> Reply-To: Emanuel Berg Mime-Version: 1.0 Content-Type: text/plain Injection-Info: ciao.gmane.io; posting-host="blaine.gmane.org:116.202.254.214"; logging-data="2856"; mail-complaints-to="usenet@ciao.gmane.io" User-Agent: Gnus/5.13 (Gnus v5.13) Emacs/28.0.50 (gnu/linux) To: help-gnu-emacs@gnu.org Cancel-Lock: sha1:2cvnZd/08p8cBpGy6/WMevWT4K8= Original-X-From: help-gnu-emacs-bounces+geh-help-gnu-emacs=m.gmane-mx.org@gnu.org Wed Sep 29 06:36:22 2021 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 1mVRKP-0000Su-Rj for geh-help-gnu-emacs@m.gmane-mx.org; Wed, 29 Sep 2021 06:36:21 +0200 Original-Received: from localhost ([::1]:48664 helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1mVRKN-0002S9-Mm for geh-help-gnu-emacs@m.gmane-mx.org; Wed, 29 Sep 2021 00:36:19 -0400 Original-Received: from eggs.gnu.org ([2001:470:142:3::10]:44086) by lists.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1mVRJo-0002RB-QE for help-gnu-emacs@gnu.org; Wed, 29 Sep 2021 00:35:44 -0400 Original-Received: from ciao.gmane.io ([116.202.254.214]:41946) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1mVRJn-0001bL-6q for help-gnu-emacs@gnu.org; Wed, 29 Sep 2021 00:35:44 -0400 Original-Received: from list by ciao.gmane.io with local (Exim 4.92) (envelope-from ) id 1mVRJk-000A5Z-JO for help-gnu-emacs@gnu.org; Wed, 29 Sep 2021 06:35:40 +0200 X-Injected-Via-Gmane: http://gmane.org/ Mail-Followup-To: help-gnu-emacs@gnu.org Mail-Copies-To: never Received-SPF: pass client-ip=116.202.254.214; envelope-from=geh-help-gnu-emacs@m.gmane-mx.org; helo=ciao.gmane.io X-Spam_score_int: -16 X-Spam_score: -1.7 X-Spam_bar: - X-Spam_report: (-1.7 / 5.0 requ) BAYES_00=-1.9, HEADER_FROM_DIFFERENT_DOMAINS=0.249, SPF_HELO_NONE=0.001, SPF_PASS=-0.001 autolearn=no 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:133372 Archived-At: Hongyi Zhao wrote: > (defun try/pyvenv-workon () > (when (locate-dominating-file (buffer-file-name) ".python-version") > ;https://emacs.stackexchange.com/questions/9474/let-statement-throws-error-on-assigning-a-form-to-a-variable > (let ((file (concat (locate-dominating-file (buffer-file-name) > ".python-version") ".python-version"))) > (pyvenv-workon (with-temp-buffer > (insert-file-contents file) > (nth 0 (split-string (buffer-string)))))))) > > BTW, should I use `let' or `let*' here? `let*' always works, `let' works when there is no references to previous bindings in any binding... So if it works and you have let, you have done the right thing! In theory, because of the independence of the individual bindings with let, it can be used to compute in parallel - but I don't think that actually happens - an urban legend ... In your code you only have "file" so while both would work, let* is unnecessary ... -- underground experts united https://dataswamp.org/~incal