From mboxrd@z Thu Jan 1 00:00:00 1970 Path: news.gmane.org!.POSTED!not-for-mail From: Jefferson Carpenter Newsgroups: gmane.emacs.devel Subject: Make company-backends buffer-local? Date: Sun, 4 Mar 2018 01:47:04 -0600 Message-ID: <83369150-de09-f305-18af-cdc9420eea4e@gmail.com> NNTP-Posting-Host: blaine.gmane.org Mime-Version: 1.0 Content-Type: text/plain; charset=utf-8; format=flowed Content-Transfer-Encoding: 7bit X-Trace: blaine.gmane.org 1520149573 30217 195.159.176.226 (4 Mar 2018 07:46:13 GMT) X-Complaints-To: usenet@blaine.gmane.org NNTP-Posting-Date: Sun, 4 Mar 2018 07:46:13 +0000 (UTC) User-Agent: Mozilla/5.0 (Windows NT 6.2; WOW64; rv:52.0) Gecko/20100101 Thunderbird/52.6.0 To: emacs-devel@gnu.org Original-X-From: emacs-devel-bounces+ged-emacs-devel=m.gmane.org@gnu.org Sun Mar 04 08:46:09 2018 Return-path: Envelope-to: ged-emacs-devel@m.gmane.org Original-Received: from lists.gnu.org ([208.118.235.17]) by blaine.gmane.org with esmtp (Exim 4.84_2) (envelope-from ) id 1esOLO-0006cZ-Ns for ged-emacs-devel@m.gmane.org; Sun, 04 Mar 2018 08:46:07 +0100 Original-Received: from localhost ([::1]:43836 helo=lists.gnu.org) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1esONO-0001VO-Hf for ged-emacs-devel@m.gmane.org; Sun, 04 Mar 2018 02:48:10 -0500 Original-Received: from eggs.gnu.org ([2001:4830:134:3::10]:39487) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1esOMc-0001VF-VU for emacs-devel@gnu.org; Sun, 04 Mar 2018 02:47:23 -0500 Original-Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1esOMc-0008Q6-7Y for emacs-devel@gnu.org; Sun, 04 Mar 2018 02:47:23 -0500 Original-Received: from mail-it0-x22c.google.com ([2607:f8b0:4001:c0b::22c]:35791) by eggs.gnu.org with esmtps (TLS1.0:RSA_AES_128_CBC_SHA1:16) (Exim 4.71) (envelope-from ) id 1esOMc-0008Py-1G for emacs-devel@gnu.org; Sun, 04 Mar 2018 02:47:22 -0500 Original-Received: by mail-it0-x22c.google.com with SMTP id v194so6512634itb.0 for ; Sat, 03 Mar 2018 23:47:21 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20161025; h=to:from:subject:message-id:date:user-agent:mime-version :content-language:content-transfer-encoding; bh=w4t053XTxG3GbmR42NXZ8R7OHkiBEZmzp2MVhOd+1Dw=; b=MykINApG+XuDsnCp6J09T8fi0Bn03trUzjqFSrooHfYxoYgAX1zsOFBvUmJABCmIt6 qO/lhY2r/pDNo69Cwh8Tdu3Bae/ckEo4Tp5HWztopxkbjf2cQT40ijD/dHIAKSJBsOY5 sc8RLuM8CfhmBADl+TtYaUbbO28Zfdsgayx15cAQpqhnfm0RJMwNHSskBuwbvMIUWyeM yPSXQEwM2DrKY7E/SXt7FyH3Qc63ghj0EZfZr+2LGKTcVbEh0F/2m9o2v9Bbszlf1/Pq SGgw89xjoYEKlBk04Swe/NXDfzsFGtZygiMtmvMIeuDuGT+a7zg69Yg016jRcJ4LY3Re zV5g== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:to:from:subject:message-id:date:user-agent :mime-version:content-language:content-transfer-encoding; bh=w4t053XTxG3GbmR42NXZ8R7OHkiBEZmzp2MVhOd+1Dw=; b=ie3sGFB0FaBMqx2A/t5bzmzTNeumrho1ea1GeXMdYmda///n4jwsfTZUDNwSFb+Y9D DXsTBJKGDiUnj7+dafeR+5lttCup2ZmxiRzyrBQ/ABfXT0g/ohf4Q0x6tUqtdTOV8PIy DffyQK8cXv2tjKcvco3AEGhrMiaLCwg4xloKsE27TldFPAimdBzGK2toWsfgJnifg6N5 bfnbZZjLKrO9HFnk4crIuBku97dWNl7Q8sT4kMs/4+I7m2oOHaou2Kwh0eo7fnU2mzcJ qGpU2TzbcFVk9v+BXb2PYw8eJKilZq9IjfqAPZ86KPPBNuCUKF1rv7XNEVvlep2AMU3P dMYA== X-Gm-Message-State: AElRT7FqCW3sGpw9Kd+xP/Z5N9XWuYzwD/v1wivNLgKLrs8exSZRX1ts VQy33jhIA970TjOzhpQFHpicgk70 X-Google-Smtp-Source: AG47ELter72BGkCwoz4ZB3E7Nzslwmo6o7fE+9HP4lFVYfo3m7Q1DQjZKdJomIAykUQsCTh85MqQHg== X-Received: by 10.36.82.4 with SMTP id d4mr9894726itb.134.1520149640552; Sat, 03 Mar 2018 23:47:20 -0800 (PST) Original-Received: from ?IPv6:2601:441:8680:4631:20b3:fc15:12c5:30d8? ([2601:441:8680:4631:20b3:fc15:12c5:30d8]) by smtp.gmail.com with ESMTPSA id f83sm6511273ioj.20.2018.03.03.23.47.19 for (version=TLS1_2 cipher=ECDHE-RSA-AES128-GCM-SHA256 bits=128/128); Sat, 03 Mar 2018 23:47:19 -0800 (PST) Content-Language: en-US X-detected-operating-system: by eggs.gnu.org: Genre and OS details not recognized. X-Received-From: 2607:f8b0:4001:c0b::22c X-BeenThere: emacs-devel@gnu.org X-Mailman-Version: 2.1.21 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.org@gnu.org Original-Sender: "Emacs-devel" Xref: news.gmane.org gmane.emacs.devel:223255 Archived-At: First post to this list -- sorry if this is either not a good suggestion at all, not right format, or too irrelevant. The company-backends variable is currently a global variable. The backend that serves completions is the first one that returns a prefix for the location at point. Are there any barriers to making company-backends a buffer-local variable? I don't see any drawbacks - it would take a pretty small amount of extra memory to create a copy for each buffer. The advantages include: 1: You can specify backends mode by mode. I at least feel this makes far more sense philosophically. 2: Would fix a possible issue where a backend at the beginning of the list is actually for a different file type - maybe for a similar language, say Java vs C++ - however still happens to return a prefix, and subsequently doesn't return any of the right completions. 3 (extremely minor): Might speed up completions for backends that were at the end of the list, since each mode can be programmed with a specific list of backends. TY, Jefferson Carpenter