From mboxrd@z Thu Jan 1 00:00:00 1970 Path: news.gmane.io!.POSTED.ciao.gmane.io!not-for-mail From: =?utf-8?B?7KGw7ISx67mI?= Newsgroups: gmane.emacs.devel Subject: Re: "Why is emacs so square?" Date: Sun, 19 Apr 2020 21:07:37 +0900 Message-ID: References: <863691n4xl.wl-me@enzu.ru> <86blno9yle.wl-me@enzu.ru> <87d0845msg.fsf@yahoo.com> <87h7xgjasw.fsf@yahoo.com> <0B01B576-3DC7-4FAE-8010-C9B5CB6BA024@icloud.com> <87d084htcf.fsf@yahoo.com> <149F5B4D-F219-409C-A994-096C777259EC@icloud.com> <87v9lweynz.fsf@yahoo.com> <74B639DD-3775-4BE7-B0B2-300B5CE62E14@icloud.com> <87k12bewpq.fsf@yahoo.com> Mime-Version: 1.0 (Mac OS X Mail 13.4 \(3608.80.23.2.2\)) Content-Type: text/plain; charset=utf-8; delsp=yes; format=flowed Content-Transfer-Encoding: 8bit Injection-Info: ciao.gmane.io; posting-host="ciao.gmane.io:159.69.161.202"; logging-data="42441"; mail-complaints-to="usenet@ciao.gmane.io" Cc: ndame , Ahmed Khanzada , Stefan Kangas , Joseph Garvin , Richard Stallman , Emacs developers , Eli Zaretskii , Drew Adams To: Po Lu Original-X-From: emacs-devel-bounces+ged-emacs-devel=m.gmane-mx.org@gnu.org Sun Apr 19 14:08:21 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 1jQ8kG-000Auh-Tn for ged-emacs-devel@m.gmane-mx.org; Sun, 19 Apr 2020 14:08:20 +0200 Original-Received: from localhost ([::1]:41238 helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1jQ8kG-0000os-0a for ged-emacs-devel@m.gmane-mx.org; Sun, 19 Apr 2020 08:08:20 -0400 Original-Received: from eggs.gnu.org ([2001:470:142:3::10]:53914) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1jQ8jj-0000Nf-Ht for emacs-devel@gnu.org; Sun, 19 Apr 2020 08:07:47 -0400 Original-Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.90_1) (envelope-from ) id 1jQ8ji-0005Hz-No for emacs-devel@gnu.org; Sun, 19 Apr 2020 08:07:47 -0400 Original-Received: from pv50p00im-ztbu10011701.me.com ([17.58.6.53]:54273) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1jQ8ji-0005H4-9B for emacs-devel@gnu.org; Sun, 19 Apr 2020 08:07:46 -0400 DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=icloud.com; s=1a1hai; t=1587298064; bh=hKDV7HgRr6U/Vi9yY1Vd+RukgSadpR8IOEb89iKLc90=; h=Content-Type:Subject:From:Date:Message-Id:To; b=Md1drm18wefVM+FG3X9hc+i2E4+4o7sjsA70QjbOkiRBASBDtosWU4xMMU7ABgzFF W324TEhnDEAn1W0BLIs2z0Dd/Q+ooUbK3V93/Rww37GNLY3YhNaVsAjlFctWlt4SEM qHaqSWhHYtwy3wqZ9QLELauYa2f5ptF5lkWz2lMoyeklbLMQRlujFjVO65exuPzvrQ 7kT+Fv6RWIFRgsx2LGkFn07k9YWAeYOokHrK0qLMlOxuPLhlyVGq+3hr6gF4G2jdRB nre6QF70q+xbPrV6dz55hIdS/1/ag+RTiIPpvAhw0d2IV+kt4dk+mUS8vkI36f6kG7 YpbQRrhi06WRg== Original-Received: from [192.168.0.2] (unknown [1.230.108.64]) by pv50p00im-ztbu10011701.me.com (Postfix) with ESMTPSA id 029808A0194; Sun, 19 Apr 2020 12:07:41 +0000 (UTC) In-Reply-To: <87k12bewpq.fsf@yahoo.com> X-Mailer: Apple Mail (2.3608.80.23.2.2) X-Proofpoint-Virus-Version: vendor=fsecure engine=2.50.10434:6.0.138, 18.0.676 definitions=2020-04-19_02:2020-04-17, 2020-04-19 signatures=0 X-Proofpoint-Spam-Details: rule=notspam policy=default score=0 suspectscore=18 malwarescore=0 phishscore=0 bulkscore=0 spamscore=0 clxscore=1015 mlxscore=0 mlxlogscore=912 adultscore=0 classifier=spam adjust=0 reason=mlx scancount=1 engine=8.0.1-2002250000 definitions=main-2004190111 Received-SPF: pass client-ip=17.58.6.53; envelope-from=pcr910303@icloud.com; helo=pv50p00im-ztbu10011701.me.com X-detected-operating-system: by eggs.gnu.org: Linux 3.11 and newer X-Received-From: 17.58.6.53 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:247305 Archived-At: Po Lu 작성: > 조성빈 writes: > >> (FYI, I count buffer-local vars as a property of the runtime, text >> properties are definitely an Emacs API, and >> `record_unwind_protect_excursion` >> or other primitives, subrs like `self-insert-command` written in C are all >> Emacs APIs. The language are things like if-expressions, macros, >> symbols, etc…) > > Here's the problem: primitives like buffer-local variables, text > properties, and record_unwind_protect_excursion, and self-insert-command > all depend on Emacs concepts such as "buffers", "windows", "frames" and > on and on. All of these are implemented as language primitives (and in > many cases, 'properties of the runtime', et cetera). The Lisp > interpreter itself intermingles with "editor" code in a highly haphazard > and ad-hoc way, with many "APIs" being implemented as core language > constructs. > > My view is: if the language still makes sense when X construct is > removed, X construct is considered outside the language. If it doesn't, > X is part of the language. I personally think that various Emacs APIs regarding buffers, etc… is not part of the language, but that’s just my opinion. >> I spread Emacs to my friends. Unless ones who already know Common Lisp, >> almost everyone feels that Emacs Lisp is a big hoop. > > You're not spreading it right, then :) > The Eintr teaches Emacs Lisp to non-programmers very well. It also > teaches them how to extend the editor, in a straight-forward and > easy-to-understand way. No, people shouldn't need to learn a new language to use an editor. In the ideal world, normal people should be able to use package.el and custom.el to use Emacs without much fuss, and some people that is interested in can develop packages. It’s just that Emacs practically needs configuration to be usable - which means that one must learn Emacs lisp. Yes, Eintr teaches Emacs Lisp well, but that step should be optional. >> First class extensibility is probably one of the big reason to use >> Emacs, but >> that’s orthogonal to Emacs Lisp. And I can’t say that the onboarding >> experience >> is really about Emacs Lisp - users don’t try to add keybindings or custom >> functions on the first day of use. > > The reason Emacs extensiblity is so first-class is because functionality > for extending Emacs are implemented as primitives in the editor, and are > not "APIs" grafted on top of other languages, such as VS Code or > whatever.