From mboxrd@z Thu Jan 1 00:00:00 1970 Path: news.gmane.org!not-for-mail From: Stefan Monnier Newsgroups: gmane.emacs.devel Subject: Re: Condider adding buffer-mode Date: Tue, 29 Oct 2013 12:36:44 -0400 Message-ID: References: <859D68184C604AE8AC385A3C5255FDAA@gmail.com> NNTP-Posting-Host: plane.gmane.org Mime-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: quoted-printable X-Trace: ger.gmane.org 1383064643 19008 80.91.229.3 (29 Oct 2013 16:37:23 GMT) X-Complaints-To: usenet@ger.gmane.org NNTP-Posting-Date: Tue, 29 Oct 2013 16:37:23 +0000 (UTC) Cc: emacs-devel To: Bozhidar Batsov Original-X-From: emacs-devel-bounces+ged-emacs-devel=m.gmane.org@gnu.org Tue Oct 29 17:37:27 2013 Return-path: Envelope-to: ged-emacs-devel@m.gmane.org Original-Received: from lists.gnu.org ([208.118.235.17]) by plane.gmane.org with esmtp (Exim 4.69) (envelope-from ) id 1VbCIH-0002jt-K6 for ged-emacs-devel@m.gmane.org; Tue, 29 Oct 2013 17:37:25 +0100 Original-Received: from localhost ([::1]:48295 helo=lists.gnu.org) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1VbCIH-0004jF-4v for ged-emacs-devel@m.gmane.org; Tue, 29 Oct 2013 12:37:25 -0400 Original-Received: from eggs.gnu.org ([2001:4830:134:3::10]:54457) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1VbCHl-00040O-C9 for emacs-devel@gnu.org; Tue, 29 Oct 2013 12:37:00 -0400 Original-Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1VbCHe-0003Yr-1A for emacs-devel@gnu.org; Tue, 29 Oct 2013 12:36:53 -0400 Original-Received: from ironport2-out.teksavvy.com ([206.248.154.182]:58670) by eggs.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1VbCHd-0003Yj-Ti for emacs-devel@gnu.org; Tue, 29 Oct 2013 12:36:45 -0400 X-IronPort-Anti-Spam-Filtered: true X-IronPort-Anti-Spam-Result: Av8EABK/CFFsoXfp/2dsb2JhbABEhke4Rxdzgh4BAQQBIzMjBQsLGgIYDgICFBgNJIgeBq5fgkCQDoEjjlSBEwOkeoFegxM X-IPAS-Result: Av8EABK/CFFsoXfp/2dsb2JhbABEhke4Rxdzgh4BAQQBIzMjBQsLGgIYDgICFBgNJIgeBq5fgkCQDoEjjlSBEwOkeoFegxM X-IronPort-AV: E=Sophos;i="4.84,565,1355115600"; d="scan'208";a="36601140" Original-Received: from 108-161-119-233.dsl.teksavvy.com (HELO pastel.home) ([108.161.119.233]) by ironport2-out.teksavvy.com with ESMTP/TLS/ADH-AES256-SHA; 29 Oct 2013 12:36:44 -0400 Original-Received: by pastel.home (Postfix, from userid 20848) id 568436009F; Tue, 29 Oct 2013 12:36:44 -0400 (EDT) In-Reply-To: (Bozhidar Batsov's message of "Tue, 29 Oct 2013 17:53:17 +0200") User-Agent: Gnus/5.13 (Gnus v5.13) Emacs/24.3.50 (gnu/linux) X-detected-operating-system: by eggs.gnu.org: Genre and OS details not recognized. X-Received-From: 206.248.154.182 X-BeenThere: emacs-devel@gnu.org X-Mailman-Version: 2.1.14 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-bounces+ged-emacs-devel=m.gmane.org@gnu.org Xref: news.gmane.org gmane.emacs.devel:164641 Archived-At: >> > I=E2=80=99ve seen the following code used hundreds of times: >> > (buffer-local-value 'major-mode buffer) >> > or >> > (with-current-buffer buffer =E2=80=98major-mode) >> Where? > One example would be packages like SLIME and CIDER which feature commands > that operate in a different manner when invoked in a REPL or a lisp buffe= r. > Obviously one could have written different commands for the different > modes, but that doesn't change the fact that people write code like this. This sounds like they check `major-mode', but in the current buffer, so they wouldn't need something like `buffer-mode'. > Another example would be selecting all buffers that have some major mode - > maybe you want to enable something in all active elisp buffers, etc. Can you point out actual code? I'm not saying it doesn't exist, I'm just failing to understand why `buffer-mode' would be useful for those cases. E.g. using buffer-mode, I guess I'd write a loop like: (dolist (buf (cl-remove-if-not (lambda (x) (eq 'foo-mode (buffer-mode x)= )) (buffer-list))) (with-current-buffer buf I don't see how having something like `buffer-mode' would be a bad > thing for Emacs hackers. I'm not saying it's bad, but I'd like to see compelling use cases first. BTW, when I said: > I don't think we just want to provide `buffer-mode'. I really meant "just buffer-mode", as opposed to "something like buffer-mode". Stefan