From mboxrd@z Thu Jan 1 00:00:00 1970 Path: news.gmane.io!.POSTED.ciao.gmane.io!not-for-mail From: =?utf-8?Q?K=C3=A9vin_Le_Gouguec?= Newsgroups: gmane.emacs.devel Subject: Re: New feature in project.el: Remembering the previously used projects Date: Sat, 30 May 2020 00:55:16 +0200 Message-ID: <87h7vy9wrv.fsf@gmail.com> References: <6f0f6cc9-52f4-8383-9827-ead54e898472@yandex.ru> Mime-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: quoted-printable Injection-Info: ciao.gmane.io; posting-host="ciao.gmane.io:159.69.161.202"; logging-data="59837"; mail-complaints-to="usenet@ciao.gmane.io" User-Agent: Gnus/5.13 (Gnus v5.13) Emacs/28.0.50 (gnu/linux) Cc: Simen =?utf-8?Q?Heggest=C3=B8yl?= , emacs-devel To: Dmitry Gutov Original-X-From: emacs-devel-bounces+ged-emacs-devel=m.gmane-mx.org@gnu.org Sat May 30 00:55:57 2020 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 1jenuu-000FQ2-Ed for ged-emacs-devel@m.gmane-mx.org; Sat, 30 May 2020 00:55:56 +0200 Original-Received: from localhost ([::1]:48862 helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1jenut-0007BZ-C3 for ged-emacs-devel@m.gmane-mx.org; Fri, 29 May 2020 18:55:55 -0400 Original-Received: from eggs.gnu.org ([2001:470:142:3::10]:35818) by lists.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1jenuK-0006ef-Ux for emacs-devel@gnu.org; Fri, 29 May 2020 18:55:20 -0400 Original-Received: from mail-wm1-x332.google.com ([2a00:1450:4864:20::332]:35058) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_128_GCM_SHA256:128) (Exim 4.90_1) (envelope-from ) id 1jenuJ-000692-T5 for emacs-devel@gnu.org; Fri, 29 May 2020 18:55:20 -0400 Original-Received: by mail-wm1-x332.google.com with SMTP id n5so5772061wmd.0 for ; Fri, 29 May 2020 15:55:19 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20161025; h=from:to:cc:subject:references:date:in-reply-to:message-id :user-agent:mime-version:content-transfer-encoding; bh=soUIZzizUWyHvEUm6z7ugcbtBC6UjANKXygFhlk4A1I=; b=B3qqNV6d2MZpkvu50AhujY5FTogyyRYz/wPdBcFAd1TliPCt7jXTud6MLFKyGJ0a+z 2y8pZiuTu+U65eUQlpKdisusIOKfCznec0nFUnNp81xuVHrCWZwEePG7agG+pTcSVOKv KQmpfE3hvZrztE9eSIbMnHjrCERMxMLtMnEdzHEO+xVVCxnmsX1/LaAKBQQmXEWr5R5y 6zhoIn4AcLyTKyuqPwxwjlBJXIktJ552kHW5Xoiic30Kki7HAnVpwtYmDcnJq/5WtocF cWT7Qt8ftw2zrYbQlUZvkyw61rg+xItDdJT7m/oWTe9c6N/nsldjT/urhby39k03eopz QiWw== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:from:to:cc:subject:references:date:in-reply-to :message-id:user-agent:mime-version:content-transfer-encoding; bh=soUIZzizUWyHvEUm6z7ugcbtBC6UjANKXygFhlk4A1I=; b=KpRHt+SBpyT7qq3EJPNWWDOM47j/iCdEpIIIogjPZ3Krvmxa4Rwy5LZhbl9G6CCBYu lC9nGHst8MwS3Sd9P+D3L1hHOPhiOBk57+VcT/BNW49CcEnbGqZOIKMex9arbQTQ9Fxc jc2j7JNsjo+tNL3b0kJnT60239B/4Oj6WnngLml+VjdkqBCF0qcrdHkWC0+T/aluA2UN oTWeCCIC3/7xm7PbLWiR5tITHbO1kRXGd8W1YVpOPTL1KFwfIz/TedPXWMmncyHameQJ uQ6EaH6H4pfUlxUYVG0/qkWjfb/UQSTkVpVR9CW+ETtmjcoiKfMnEyi3utojfZOMvVXZ WrEQ== X-Gm-Message-State: AOAM5338x9A/fKuhBto8nlnLRdlmm6V/s4vE7lCTSUTKA4q7nGRuaZO+ nm0dpES5eGadVfA3OOs3o3U= X-Google-Smtp-Source: ABdhPJyRh6vSH3W4i9pH8l4CqN+O3gsfBLf6xAoav1LS8koLdIS10IGqWuRUAIgXRgUgvT5Rdk0QgQ== X-Received: by 2002:a1c:2e41:: with SMTP id u62mr11179542wmu.91.1590792918122; Fri, 29 May 2020 15:55:18 -0700 (PDT) Original-Received: from my-little-tumbleweed (200.143.13.109.rev.sfr.net. [109.13.143.200]) by smtp.gmail.com with ESMTPSA id y5sm11682950wrs.63.2020.05.29.15.55.16 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Fri, 29 May 2020 15:55:17 -0700 (PDT) In-Reply-To: <6f0f6cc9-52f4-8383-9827-ead54e898472@yandex.ru> (Dmitry Gutov's message of "Thu, 28 May 2020 23:06:32 +0300") Received-SPF: pass client-ip=2a00:1450:4864:20::332; envelope-from=kevin.legouguec@gmail.com; helo=mail-wm1-x332.google.com X-detected-operating-system: by eggs.gnu.org: No matching host in p0f cache. That's all we know. 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_PASS=-0.001, URIBL_BLOCKED=0.001 autolearn=_AUTOLEARN X-Spam_action: no action X-BeenThere: emacs-devel@gnu.org X-Mailman-Version: 2.1.23 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" Xref: news.gmane.io gmane.emacs.devel:251629 Archived-At: Dmitry Gutov writes: > Please let us know how you like the change, and if you see any new proble= ms. This is a nice addition! I have one gripe with it though: I've rigged frame-title-format to show the basename of the project root directory[1], which means I have a call to project-current on every redisplay. IIUC, when default-directory is inside a project, project-current now calls project--add-to-project-list-front, which in turn calls project--write-project-list. This slows down redisplay quite noticeably on my end[2]. I don't know what the best solution would be; does it sound acceptable to add an optional SKIP-LIST-UPDATE argument for project-current, or is it too much trouble for this peculiar use-case? At any rate, thanks for enhancing project.el. [1] https://gitlab.com/peniblec/dotfiles/-/blob/0812042b76691c704d902acd771= 0350648bd9344/.emacs#L377 [2] Just typing is enough for me to notice it; it's even more noticeable if you e.g. bind C-x o to this function: (defun my/other-window (count &optional all-frames) (interactive "p") (let ((repeat-map (make-sparse-keymap))) (define-key repeat-map [?o] #'other-window) (set-transient-map repeat-map t) (other-window count all-frames))) =E2=80=A6 then split a window, hit C-x o and keep "o" pressed. Stickin= g a counter in other-window suggests that there's no actual slowdown; visually though, before this feature, the focused window changed very rapidly, while with this feature the focus change is only visible every second or so.