Emacs Part 54 (781レス)
1-

1: 2022/12/02(金)11:08 AAS
GNU Emacs - GNU Project - Free Software Foundation (FSF)
外部リンク:www.gnu.org

EmacsWiki: サイトマップ
外部リンク:www.emacswiki.org

前スレ
Emacs Part 51
2chスレ:unix
Emacs Part 50
2chスレ:unix
Emacs Part 52
省3
2: 2022/12/02(金)12:29 AAS
emacsは19.34が思い出深い
3: 2022/12/03(土)15:12 AAS
最近はemacsは極めて安定しているなぁ
4: 2022/12/03(土)15:26 AAS
バージョンはいくつ?を使っている人
5: 2022/12/03(土)15:28 AAS
eggが使えるかぎりどんどんバージョンアップしてもらってかまわない
6: 2022/12/06(火)07:09 AAS
28以降はルッキズムなのにダサいクソエディタ
7: 2022/12/06(火)07:19 AAS
ぐーぐる蔓延りフリーソフトが滅ぶ
8: 2022/12/06(火)15:58 AAS
IDEが便利で強力になっても
システム標準でviが必修でも
VSCodeが流行しても
Emacsは常に生き残ってきたじゃないか
9: 2022/12/06(火)17:30 AAS
脱ヲタ失敗エディタ
10
(1): 2022/12/07(水)11:11 AAS
emacsを長らく使ってます(テキスト書き、プログラミングなどメイン使いのエディタ)。

何か新しいもの触ってみたくて spacemacs と doomemacsを知ったのですが、どっちがおすすめですか?
(どっちがメンテされてる、など)
11: 2022/12/07(水)19:41 AAS
バカみたいな質問はやめてください!
12: 2022/12/08(木)10:57 AAS
>>10
どちらもクレカの番号を抜けないのでおすすめできません。
13: 2022/12/08(木)12:25 AAS
Meet the Text Editor used by Linus Torvalds
外部リンク:terminalroot.com

RubyのMatzさんがEmacsを愛用されてると聞いて嬉しくなりました。
外部リンク:jp.quora.com
14: 2022/12/08(木)12:45 AAS
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: 2022/12/08(木)12:56 AAS
Version: 20221105.236
Summary: Major mode for Markdown-formatted text
Requires: emacs-26.1

って出てるな。
16: 2022/12/08(木)13:14 AAS
25って、なぜ25使うの
17: 2022/12/08(木)14:25 AAS
いまだに Windows XP 使い続けてる老人と一緒でしょ
18
(7): 2022/12/10(土)23:11 AAS
次のように引数の必要な関数を関数名のシンボルの代わりに指定するときに、
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
(3): 2022/12/10(土)23:33 AAS
うーん多分それ先頭の#'全く場違いなんじゃね?
それシンボルの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
(1): 18 2022/12/11(日)00:30 AAS
まだよく理解できていないので一部だけ補足しますが、
#'(lammda ...は(lambda ...でも一緒なのかと思ったんですが。

外部リンク[html]:www.gnu.org

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

(add-hook 'text-mode-hook
(lambda ... ))
21: 2022/12/11(日)00:45 AAS
いまいち何が解決出来ないのか何が分からんのかが分からんな

ただhookにlambdaぶち込みたいならfbody 先頭に
(lambda () (interactive) (insert "hello hook fucker"))みたいにinteractive宣言が要るぞ
lambdaのargumentが必要な場合はこのinteractiveのargumentに別途それらにアサインする関数というか糞stringというかlist返すexpression書くんだけどこまけえ事は説明めんどい(´・ω・`)
22
(1): 2022/12/11(日)01:01 AAS
(quote symbol)は評価されないとsymbolにならないように、(function (lambda () ...) も評価されないと関数にならない。
>>20
評価される文脈なら一緒だけどリストの中にある場合はそうも行かない。
lambdaはそのままで関数として機能する(funcallできる)からややこしいのかな。
symbolは評価すると変数の値になってしまうけどlambdaは、まあ、closureになったりはするものの関数のままだしクォートの必要性を感じづらいというか。
23
(1): 18 2022/12/11(日)01:24 AAS
>>19
>>22
何となく引っかかっていたところがちょっとわかりかけました。
lambda式が評価せずそのまま飲み込んで関数として定義されていないことが、
関数名のシンボルを要求する文脈ではエラーになると。

ではつまり関数として定義してしまうしかないということですかね?
24
(1): 2022/12/11(日)01:51 AAS
バッククォートを使えルーク
25
(1): 2022/12/11(日)09:13 AAS
>>23
文脈と書いたのは>>18の#'(の部分が評価されない文脈だから。なぜなら'(で囲まれてる中だからね。
#'(lambda () ...)は(function (lambda () ...)の略記だから(ここが分かってない?) '(の中ではそのまま一つ目の要素がシンボルfunctionで二つ目の要素が(lambda~のリストになってしまう。そしてそれはfuncall出来ない。例:(funcall '(function (lambda () 123)))

解決策は'(を使わずリストを組み立てることで、>>19>>24が言うように(listやバッククォートでリストを組み立てること。シンボルだけで無く、(functionで囲まれていない)lambda(やそれを評価すると出来るclosure)も問題なく使える。
まあdefunして良いならそれでもOK。
26: 18 2022/12/11(日)13:45 AAS
>>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
(1): 2022/12/11(日)14:21 AAS
動いてはいない予感
28
(1): 18 2022/12/11(日)14:47 AAS
そうみたいですね。評価したら結果が変でした。
デフォルトでdabbrev-expandが呼ばれる仕様なんだった。
29: 18 2022/12/11(日)17:44 AAS
多分、こういうことだろうと思うんですが、

(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以下はちゃんと動きます。
省3
30: 18 2022/12/11(日)17:51 AAS
むしろその場合はこうするだけでいいんですね。

(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
> うーん多分それ先頭の#'全く場違いなんじゃね?

そもそも最初に指摘されていたこの点がまずかったと。
1-
あと 751 レスあります
スレ情報 赤レス抽出 画像レス抽出 歴の未読スレ AAサムネイル

ぬこの手 ぬこTOP 0.020s