From mboxrd@z Thu Jan 1 00:00:00 1970 Path: news.gmane.io!.POSTED.blaine.gmane.org!not-for-mail From: Yoichi Nakayama Newsgroups: gmane.emacs.devel Subject: Can emacsclient send environment variables even if it doesn't create a frame? Date: Wed, 29 Mar 2023 22:45:09 +0900 Message-ID: Mime-Version: 1.0 Content-Type: text/plain; charset="UTF-8" Injection-Info: ciao.gmane.io; posting-host="blaine.gmane.org:116.202.254.214"; logging-data="21319"; mail-complaints-to="usenet@ciao.gmane.io" To: emacs-devel@gnu.org Original-X-From: emacs-devel-bounces+ged-emacs-devel=m.gmane-mx.org@gnu.org Wed Mar 29 16:35:43 2023 Return-path: Envelope-to: ged-emacs-devel@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 1phWtr-0005Oj-Iw for ged-emacs-devel@m.gmane-mx.org; Wed, 29 Mar 2023 16:35:43 +0200 Original-Received: from localhost ([::1] helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1phWtB-000279-6O; Wed, 29 Mar 2023 10:35:05 -0400 Original-Received: from eggs.gnu.org ([2001:470:142:3::10]) by lists.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1phW7B-0000sG-8A for emacs-devel@gnu.org; Wed, 29 Mar 2023 09:45:26 -0400 Original-Received: from mail-pj1-x1032.google.com ([2607:f8b0:4864:20::1032]) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_128_GCM_SHA256:128) (Exim 4.90_1) (envelope-from ) id 1phW79-0006mU-E1 for emacs-devel@gnu.org; Wed, 29 Mar 2023 09:45:24 -0400 Original-Received: by mail-pj1-x1032.google.com with SMTP id r7-20020a17090b050700b002404be7920aso14575365pjz.5 for ; Wed, 29 Mar 2023 06:45:22 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20210112; t=1680097520; h=to:subject:message-id:date:from:mime-version:from:to:cc:subject :date:message-id:reply-to; bh=AU+F9w0q87fo+tAUIsRpidd36Z1gYU6Z/4jxp+WnS5Q=; b=GUjLVckbFURrTwrqMZQCTjroOdbqRX36WJj4xoWaVCuzeDuC15Hy2sgt4QQCI1FB5O qR8buCJtqXfwRr2fdtgumQaYTum95idzjfC+wvR4Fpchb2P6WzTquz5WEuZXrodI4bpu 28dRK466QvXDr5XpMg3dK3RuC12+H+XWCVsqaVVxbJQAIAMy4NwTgakL1z3v3Ww4WZMy vLEP1b/+MLGE/ElbiPs7m8EqWWBH2+XxwJ5qZbIYeo1MLdyu1uDnmkz2NDi22NWy+kTF r6kZFOP9lGdW6lf4QgM44c/lNZ6Ym4WyTnovfrwS5U17pJwSSf+PzJ/gBURkHwV33Ssv J1Tw== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20210112; t=1680097520; h=to:subject:message-id:date:from:mime-version:x-gm-message-state :from:to:cc:subject:date:message-id:reply-to; bh=AU+F9w0q87fo+tAUIsRpidd36Z1gYU6Z/4jxp+WnS5Q=; b=VCKVszR+wYcQxspIinHMh+QBbIBDIgnhqbm4iSghrke8Yv0v+bvuVrzZwcaG7k+GB6 wPb9GSP2gGeT+lC1BfLYDWmZUVFP6h1Of0/7VtoRyxhiT5zMAED/XawkYyVclDSNvlfk Y4fcPw/QREBTvyL78wwjMyzaOcgGsy+rUGSLEx6XJFkSwiTj87haSBsJS/O/j/9sIzVa XQ7kqQr7+swFM3DgSw7JBiQzWgPXZXq1psIfI2c92hjI2pACGnMeEO3g7eqgqGDk75v/ dMNleZnmsKkrANPHAfOVP4M+jKHSQJ3dGPJhgjwS81dXRmQWb4xZvqRm51H7noycPO10 C60w== X-Gm-Message-State: AAQBX9fHkqJaon5mrbtJAjszmqr5Y/zFS1kS3H6yyPuzKpKO6gV4Yuu/ t/Ot7o/vnbAKN5zZLbqzleaWa8bdFTyDx7IZbSBfTxj+SYE= X-Google-Smtp-Source: AKy350Yxrrlhez53qF8KG5L7V6QazCDK3zTNnmC+YMYTOz5G06yWwExthD37IWsLYQQzAnej90SX1PfkJnwj83Orxsk= X-Received: by 2002:a17:90a:ec11:b0:237:9cbe:22ad with SMTP id l17-20020a17090aec1100b002379cbe22admr6055994pjy.5.1680097520263; Wed, 29 Mar 2023 06:45:20 -0700 (PDT) Received-SPF: pass client-ip=2607:f8b0:4864:20::1032; envelope-from=yoichi.nakayama@gmail.com; helo=mail-pj1-x1032.google.com X-Spam_score_int: -20 X-Spam_score: -2.1 X-Spam_bar: -- X-Spam_report: (-2.1 / 5.0 requ) BAYES_00=-1.9, DKIM_SIGNED=0.1, DKIM_VALID=-0.1, DKIM_VALID_AU=-0.1, DKIM_VALID_EF=-0.1, FREEMAIL_FROM=0.001, RCVD_IN_DNSWL_NONE=-0.0001, SPF_HELO_NONE=0.001, SPF_PASS=-0.001 autolearn=ham autolearn_force=no X-Spam_action: no action X-Mailman-Approved-At: Wed, 29 Mar 2023 10:34:54 -0400 X-BeenThere: emacs-devel@gnu.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: "Emacs development discussions." List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: emacs-devel-bounces+ged-emacs-devel=m.gmane-mx.org@gnu.org Original-Sender: emacs-devel-bounces+ged-emacs-devel=m.gmane-mx.org@gnu.org Xref: news.gmane.io gmane.emacs.devel:304818 Archived-At: Currently, emacsclient sends environment variables to the server process only if it is going to create a frame. So it is impossible to refer to environment variables when calling EDITOR=emacsclient from other programs. In contrast, if EDITOR="emacsclient -t" or EDITOR="emacsclient -c" (that is, emacsclient creates new frames), you can refer emacsclient's environment variables via server-buffer-clients. Is it possible to eliminate the following conditional branching by create_frame in lib-src/emacsclient.c? if (create_frame) { for (char *const *e = environ; *e; e++) { send_to_emacs (emacs_socket, "-env "); quote_argument (emacs_socket, *e); send_to_emacs (emacs_socket, " "); } } Use case: Refer GIT_INDEX_FILE to show correct diff even when emacsclient is invoked by `git commit -a` or `git commit filename` (where GIT_INDEX_FILE points to a temporary index file), along with the commit message edit buffer. https://github.com/magit/magit/pull/4888 -- Yoichi NAKAYAMA