[表示 : 全て 最新50 1-99 2ch.scのread.cgiへ]
Update time : 12/13 04:08 / Filesize : 9 KB / Number-of Response : 32
[このスレッドの書き込みを削除する]
[+板 最近立ったスレ&熱いスレ一覧 : +板 最近立ったスレ/記者別一覧] [類似スレッド一覧]


↑キャッシュ検索、類似スレ動作を修正しました、ご迷惑をお掛けしました

Emacs Part 54



1 名前:名無しさん@お腹いっぱい。 mailto:sage [2022/12/02(金) 11:08:33.82 .net]
GNU Emacs - GNU Project - Free Software Foundation (FSF)
https://www.gnu.org/software/emacs/

EmacsWiki: サイトマップ
www.emacswiki.org/emacs/

前スレ
Emacs Part 51
https://mevius.2ch.net/test/read.cgi/unix/1514601894/
Emacs Part 50
https://mevius.2ch.net/test/read.cgi/unix/1482097785/
Emacs Part 52
https://mevius.5ch.net/test/read.cgi/unix/1585125902/
Emacs Part 53
https://mevius.5ch.net/test/read.cgi/unix/1621758062/

2 名前:名無しさん@お腹いっぱい。 mailto:sage [2022/12/02(金) 12:29:21.20 .net]
emacsは19.34が思い出深い

3 名前:名無しさん@お腹いっぱい。 mailto:sage [2022/12/03(土) 15:12:41.19 .net]
最近はemacsは極めて安定しているなぁ

4 名前:名無しさん@お腹いっぱい。 mailto:sage [2022/12/03(土) 15:26:41.73 .net]
バージョンはいくつ?を使っている人

5 名前:名無しさん@お腹いっぱい。 mailto:sage [2022/12/03(土) 15:28:24.92 .net]
eggが使えるかぎりどんどんバージョンアップしてもらってかまわない

6 名前:名無しさん@お腹いっぱい。 mailto:sage [2022/12/06(火) 07:09:13.67 .net]
28以降はルッキズムなのにダサいクソエディタ

7 名前:名無しさん@お腹いっぱい。 mailto:sage [2022/12/06(火) 07:19:15.17 .net]
ぐーぐる蔓延りフリーソフトが滅ぶ

8 名前:名無しさん@お腹いっぱい。 mailto:sage [2022/12/06(火) 15:58:27.60 .net]
IDEが便利で強力になっても
システム標準でviが必修でも
VSCodeが流行しても
Emacsは常に生き残ってきたじゃないか

9 名前:名無しさん@お腹いっぱい。 mailto:sage [2022/12/06(火) 17:30:18.18 .net]
脱ヲタ失敗エディタ

10 名前:名無しさん@お腹いっぱい。 [2022/12/07(水) 11:11:19.50 .net]
emacsを長らく使ってます(テキスト書き、プログラミングなどメイン使いのエディタ)。

何か新しいもの触ってみたくて spacemacs と doomemacsを知ったのですが、どっちがおすすめですか?
(どっちがメンテされてる、など)



11 名前:名無しさん@お腹いっぱい。 mailto:sage [2022/12/07(水) 19:41:18.96 .net]
バカみたいな質問はやめてください!

12 名前:名無しさん@お腹いっぱい。 mailto:sage [2022/12/08(木) 10:57:16.92 .net]
>>10
どちらもクレカの番号を抜けないのでおすすめできません。

13 名前:名無しさん@お腹いっぱい。 mailto:sage [2022/12/08(木) 12:25:45.31 .net]
Meet the Text Editor used by Linus Torvalds
https://terminalroot.com/meet-the-text-editor-used-by-linus-torvalds/

RubyのMatzさんがEmacsを愛用されてると聞いて嬉しくなりました。
https://jp.quora.com/Ruby%E3%81%AEMatz%E3%81%95%E3%82%93%E3%81%8CEmacs%E3%82%92%E6%84%9B%E7%94%A8%E3%81%95%E3%82%8C%E3%81%A6%E3%82%8B%E3%81%A8%E8%81%9E%E3%81%84%E3%81%A6%E5%AC%89%E3%81%97%E3%81%8F%E3%81%AA%E3%82%8A%E3%81%BE%E3%81%97

14 名前:名無しさん@お腹いっぱい。 mailto:sage [2022/12/08(木) 12:45:47.08 .net]
WSL の emacs(GNU Emacs 25.2.2 (x86_64-pc-linux-gnu) of 2017-09-23, modified by Debian)に
markdown-mode 入れようとしてるんだが、packagelist 上では

markdown-mode 20221105.236 incompat melpa Major mode for Markdown-formatted text

と表示されてインストールできない。
何か互換性の問題ってあったっけ?

15 名前:名無しさん@お腹いっぱい。 mailto:sage [2022/12/08(木) 12:56:36.47 .net]
Version: 20221105.236
Summary: Major mode for Markdown-formatted text
Requires: emacs-26.1

って出てるな。

16 名前:名無しさん@お腹いっぱい。 mailto:sage [2022/12/08(木) 13:14:51.98 .net]
25って、なぜ25使うの

17 名前:名無しさん@お腹いっぱい。 mailto:sage [2022/12/08(木) 14:25:10.58 .net]
いまだに Windows XP 使い続けてる老人と一緒でしょ

18 名前:名無しさん@お腹いっぱい。 mailto:sage [2022/12/10(土) 23:11:44.74 .net]
次のように引数の必要な関数を関数名のシンボルの代わりに指定するときに、
lambda式で書くとエラーになる場合はどうするのがいいんでしょうか?

Wrong type argument: symbolp, #'(lambda nil (dabbrev-expand nil))

(setq smart-tab-completion-functions-alist
'((emacs-lisp-mode . lisp-complete-symbol)
(lisp-interaction-mode . lisp-complete-symbol)
(text-mode . #'(lambda () (dabbrev-expand nil)))))

# この例では実際にはこの設定は不要なんですが、
# いじっているうちに疑問が出てきたので一例として。

19 名前:名無しさん@お腹いっぱい。 [2022/12/10(土) 23:33:02.45 .net]
うーん多分それ先頭の#'全く場違いなんじゃね?
それシンボルのfunctionPartにアクセスするfunctionというかaliasというかsyntax sugarというべきかのものだしquoteされてたらそもそもなんも意味をなさん
quote内部のpartial evalみたいのは先頭をbackquoteにして`(sym1 sym2 ,evaled)みたいに先頭にcommaを付記する
defmacroとかのときによく使う手法だな。まぁ、俺はlispyじゃないと思うからあんま好きじゃないけど

単純に(list (cons 'someone 'something) (cons 'anyone (lambda (x) (some-over x))))みたいに書くか
`((someone . something) (anyone . ,(lambda (x) (some-over x))とかじゃね(´・ω・`)

20 名前:18 mailto:sage [2022/12/11(日) 00:30:06.60 .net]
まだよく理解できていないので一部だけ補足しますが、
#'(lammda ...は(lambda ...でも一緒なのかと思ったんですが。

https://www.gnu.org/software/emacs/manual/html_node/elisp/Anonymous-Functions.html

で、そもそもこんな風に書いたのは次のような書法を参考にしたんですが、
どうもここではまずいようです。

(add-hook 'text-mode-hook
(lambda ... ))



21 名前:名無しさん@お腹いっぱい。 [2022/12/11(日) 00:45:12.16 .net]
いまいち何が解決出来ないのか何が分からんのかが分からんな

ただhookにlambdaぶち込みたいならfbody 先頭に
(lambda () (interactive) (insert "hello hook fucker"))みたいにinteractive宣言が要るぞ
lambdaのargumentが必要な場合はこのinteractiveのargumentに別途それらにアサインする関数というか糞stringというかlist返すexpression書くんだけどこまけえ事は説明めんどい(´・ω・`)

22 名前:名無しさん@お腹いっぱい。 mailto:sage [2022/12/11(日) 01:01:15.31 .net]
(quote symbol)は評価されないとsymbolにならないように、(function (lambda () ...) も評価されないと関数にならない。
>>20
評価される文脈なら一緒だけどリストの中にある場合はそうも行かない。
lambdaはそのままで関数として機能する(funcallできる)からややこしいのかな。
symbolは評価すると変数の値になってしまうけどlambdaは、まあ、closureになったりはするものの関数のままだしクォートの必要性を感じづらいというか。

23 名前:18 mailto:sage [2022/12/11(日) 01:24:43.39 .net]
>>19
>>22
何となく引っかかっていたところがちょっとわかりかけました。
lambda式が評価せずそのまま飲み込んで関数として定義されていないことが、
関数名のシンボルを要求する文脈ではエラーになると。

ではつまり関数として定義してしまうしかないということですかね?

24 名前:名無しさん@お腹いっぱい。 mailto:sage [2022/12/11(日) 01:51:45.28 .net]
バッククォートを使えルーク

25 名前:名無しさん@お腹いっぱい。 mailto:sage [2022/12/11(日) 09:13:24.81 .net]
>>23
文脈と書いたのは>>18の#'(の部分が評価されない文脈だから。なぜなら'(で囲まれてる中だからね。
#'(lambda () ...)は(function (lambda () ...)の略記だから(ここが分かってない?) '(の中ではそのまま一つ目の要素がシンボルfunctionで二つ目の要素が(lambda~のリストになってしまう。そしてそれはfuncall出来ない。例:(funcall '(function (lambda () 123)))

解決策は'(を使わずリストを組み立てることで、>>19>>24が言うように(listやバッククォートでリストを組み立てること。シンボルだけで無く、(functionで囲まれていない)lambda(やそれを評価すると出来るclosure)も問題なく使える。
まあdefunして良いならそれでもOK。

26 名前:18 mailto:sage [2022/12/11(日) 13:45:15.25 .net]
>>25
中途半端にあれこれ聞いてお手間を取らせました。
まだろくにわかってないんですが、
疑問は疑問としてとりあえずこうすると動きます。
consだといいの?何だか不思議だなあ。

(setq smart-tab-completion-functions-alist
'((emacs-lisp-mode . lisp-complete-symbol)
(lisp-interaction-mode . lisp-complete-symbol)
(cons 'text-mode (lambda () (dabbrev-expand nil)))))

27 名前:名無しさん@お腹いっぱい。 mailto:sage [2022/12/11(日) 14:21:41.62 .net]
動いてはいない予感

28 名前:18 mailto:sage [2022/12/11(日) 14:47:07.12 .net]
そうみたいですね。評価したら結果が変でした。
デフォルトでdabbrev-expandが呼ばれる仕様なんだった。

29 名前:18 mailto:sage [2022/12/11(日) 17:44:27.06 .net]
多分、こういうことだろうと思うんですが、

(setq smart-tab-completion-functions-alist
`((emacs-lisp-mode . lisp-complete-symbol)
(lisp-interaction-mode . lisp-complete-symbol)
(text-mode . ,(lambda () (dabbrev-expand nil)))
))

今回の場合は条件がfboundpでチェックされるので同じエラーになりますが、

cond: Wrong type argument: symbolp, (lambda nil (dabbrev-expand nil))

これがなければfuncall以下はちゃんと動きます。

(cond
((fboundp smart-tab-mode-specific-completion-function)
(funcall smart-tab-mode-specific-completion-function))

30 名前:18 mailto:sage [2022/12/11(日) 17:51:47.16 .net]
むしろその場合はこうするだけでいいんですね。

(setq smart-tab-completion-functions-alist
'((emacs-lisp-mode . lisp-complete-symbol)
(lisp-interaction-mode . lisp-complete-symbol)
(text-mode . (lambda () (dabbrev-expand nil)))))

>>19
> うーん多分それ先頭の#'全く場違いなんじゃね?

そもそも最初に指摘されていたこの点がまずかったと。



31 名前:名無しさん@お腹いっぱい。 mailto:sage [2022/12/11(日) 20:36:14.56 .net]
評価されたら (lambda 〜) も #'(lambda 〜) も完全に等価だよね






[ 新着レスの取得/表示 (agate) ] / [ 携帯版 ]

次100 最新50 [ このスレをブックマーク! 携帯に送る ] 2chのread.cgiへ
[+板 最近立ったスレ&熱いスレ一覧 : +板 最近立ったスレ/記者別一覧](*・∀・)<9KB

read.cgi ver5.27 [feat.BBS2 +1.6] / e.0.2 (02/09/03) / eucaly.net products.
担当:undef