大家有没有觉得Elisp无法承载一个现代化的Emacs?

我已经设置过SOCKS5代理了,我的设置不对吗?我删过好几次缓存,都没能成功下载,而且它下载没成功,不应该先提示下载网络错误吗?为什么直接说File not found?这说明程序设计有问题,根本没有考虑过网络错误。一旦出现网络错误,它无法自动恢复。另外这并不只是因为墙,Github issues里有很多这样的问题,开发人员回复都说是melpa不稳定挂了,可见开发人员根本不懂怎么设计一个robust程序。 最后一句话「emacs是用来折腾的,而不是用来享受的」,感觉有点自欺欺人,明明BUG一堆。

看这字体,你是在 Windows 用的吧?

不用就完事了。。。。

emacs对用户的意见还是挺重视的,因为他们在推广emacs,推广自由精神,我们好像还不太理解。

elisp功能已经够强了,还一直在加入新功能,对一个编辑器来说功能完全够用。至于网络被墙,开发者他们没有这样的环境,这个是中国特色,只能反馈给他们或者自己调试。

至于需要编译新版本,可能是因为老版本有bug或功能缺失。 有bug及时反馈,emacs对严重bug的反应挺及时的。

不知道为什么收到很多像「不用就完事了/Emacs是给高手用的/Emacs就是用来折腾的」之类的回复,我提出这个问题是想让大家讨论思考一下这些BUG的根源在哪。我VIM和Emacs都用了很长时间,我不知道Emacs有什么高级的,各位都会编程,写几行编辑器的配置代码有什么高级的?当一个开发框架需要折腾时、写一堆模板配置代码而不知道CoC时、抛一些莫名其妙的BUG时,你们还会继续吹捧这个框架吗?

那个人的case是他用的是git master的Emacs, 毕竟是bleeding edge的版本 某天不小心引入了个bug很正常 第二天可能就hotfix了 所以编译会有用 但如果你使用的是Emacs 26.0.90/91 或者Emacs 25的话 问题就不在Emacs了

关于包管理器 straight.el正在开发中 前景看好

1 个赞

emacs的核心是编辑器,包管理相对不太重要,而且一个完善的包管理器并不简单,在开发人员有限的情况下,你会怎么做?

谢谢这个提示,我感觉看到了曙光……然而……还是没用,我甚至都不知道怎么检查gnutls是不是正确安装了。而且好像不止我一个人这样,这位也不知道自己到底是怎么安装成功的:

That didn’t work this time. How do I setup GnuTLS for Emacs 25.1? Am I misremembering what I did for 24.5? Maybe the binaries from the GNU Emacs website are compiled without GnuTLS and for 24.5 I actually got binaries from somewhere else…

https://emacs.stackexchange.com/questions/27202/how-do-i-install-gnutls-for-emacs-25-1-on-windows

另外我加了这个配置也需要gnutls吗?

(setq dotspacemacs-elpa-https nil)
(setq configuration-layer--elpa-archives
        '(("melpa-cn" . "http://elpa.zilongshanren.com/melpa/")
          ("org-cn"   . "http://elpa.zilongshanren.com/org/")
          ("gnu-cn"   . "http://elpa.zilongshanren.com/gnu/")))

没人搞成过可能不但有技术上的问题,还有社区本身文化的问题,据我观察,Ruby社区就比较擅长合作,Java总是一潭死水被动挨打然后进步,前端喜欢分裂,Lisp阵营Clojure本身也半死不活,Racket偏学术化。Java不适合作为插件语言,Ruby较为适合。

但我感觉最大的阻碍可能是:Emacs用户不觉得这是个大问题。(从这下面的回复就可以看出来

然而从我个人体验看DrRacket在Windows上像丝袜般顺滑,从没遇到过安装错误

毕竟不是commercial software。。大家都有正经工作要做 对文本编辑器的要求大多数人是work就够 emacs用户要求多点 也就是“在我的需求范围内 work就够” 所以自然对edge case的handle就会有所缺陷

关键是elisp有这几十年的积淀 未必是一下就换的过来的 成本太高

看看其他编辑器vscode也好(neo)vim也好 语言够现代了吧 怎么就没人实现一个org mode呢??难道还要让用户自己用python调parser去处理?

当然 Feature Queue · GitHub 这个project要是能存在10年 我觉得是可以发展到不逊于Emacs org-mode的程度的 但是。。(atom上的org mode已经被abandon了,sublime上只有个plaintask,vim里那个也只算个假org mode, neovim里有人提这个issue,得到的回复是看看怎么能让emacs在neovim里跑起来- -)

1 个赞

能编绎过嗎?

我用 NetBSD,沒得 precompile 包用。

刚试了 minimal 还是不过。

1.2 Lisp History

Emacs History

History of the Scheme programming language

沒有问題吧?


In 1984, Stallman began writing a new Emacs implementation, GnuEmacs

…an influential series of MIT AI Memos known as the Lambda Papers (1975–1980), the growth in popularity of the language, and the era of standardization (1990 onwards).

Scheme 的流行和标准化是 90 年代后了。(1998, R^5RS) 在此之前似乎因爲 lexcial binding 难做而缺少可用的实現。

应该是 Scheme 更早一点吧,TecoEmacs 没用 S-exp 语法作配置。

1 个赞

Window 和 *nix 的 Emacs 有點不一样,要加装 dll。如果你是官网直接下的,100% 沒 gnutls。

不用,但导致这问題的可能性很多。怕是得靠试。

没用。看来是Emacs本身的问题,重新安装了Emacs,没有装Spacemacs时,package-refresh-contents就报错,装了deps libgnutils dll也没用。搞不懂为毛deps要单独下载,关键是文档也不告诉你这点(而且以前不是都好好的么?)

最容易的解决方案大概是抛弃windows跳上unix的船

1 个赞

这没什么,我们用 emacs 的人,深知道 emacs 的优势和劣势, 我们只对未来可能成为 emacser 的同学推荐 emacs,另外我们也没觉得 emacs 有什么高级的,我们只是觉得用它比较顺手而已, 你觉得难用,完全可以不用,你觉得哪块不和你的需求,你完全可以自己更改,你没有对自己遇到的问题做 debug 做总结后,去emacs-devel咨询,就在这里这样那样的抱怨,有什么用? 即使是一个简单的记事本,也有许许多多人喜欢它,emacs-china 的作用就是为了热爱 emacs 中文用户提供一个交流的地方,而不是为了听这些没有意义的抱怨的。

1 个赞

这樣方向比较明確了。

先执行 (gnutls-available-p),確认是能用 gnutls 了。

然后似乎和 gnupg 也有关系,(setq package-check-signature nil) 关了验证再试下。

PS。 melpa 经常挂,用 emacs-china mirror。


另外毕竟不是我自己 debug,我还是要确认你現在的问題是还是和开始一樣,以及尽可能详细的信息,比如录屏,配置。

这问題不可能复杂到哪去,如果都不管用,我不得不怀疑你在细节上有误。