Emacs Part 54
0001名無しさん@お腹いっぱい。2022/12/02(金) 11:08:33.82
GNU Emacs - GNU Project - Free Software Foundation (FSF)
https://www.gnu.org/software/emacs/

EmacsWiki: サイトマップ
http://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/
0008名無しさん@お腹いっぱい。2022/12/06(火) 15:58:27.60
IDEが便利で強力になっても
システム標準でviが必修でも
VSCodeが流行しても
Emacsは常に生き残ってきたじゃないか
0010名無しさん@お腹いっぱい。2022/12/07(水) 11:11:19.50
emacsを長らく使ってます(テキスト書き、プログラミングなどメイン使いのエディタ)。

何か新しいもの触ってみたくて spacemacs と doomemacsを知ったのですが、どっちがおすすめですか?
(どっちがメンテされてる、など)
0013名無しさん@お腹いっぱい。2022/12/08(木) 12:25:45.31
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
0014名無しさん@お腹いっぱい。2022/12/08(木) 12:45:47.08
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

と表示されてインストールできない。
何か互換性の問題ってあったっけ?
0018名無しさん@お腹いっぱい。2022/12/10(土) 23:11:44.74
次のように引数の必要な関数を関数名のシンボルの代わりに指定するときに、
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)))))

# この例では実際にはこの設定は不要なんですが、
# いじっているうちに疑問が出てきたので一例として。
0019名無しさん@お腹いっぱい。2022/12/10(土) 23:33:02.45
うーん多分それ先頭の#'全く場違いなんじゃね?
それシンボルの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))とかじゃね(´・ω・`)
0020182022/12/11(日) 00:30:06.60
まだよく理解できていないので一部だけ補足しますが、
#'(lammda ...は(lambda ...でも一緒なのかと思ったんですが。

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

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

(add-hook 'text-mode-hook
(lambda ... ))
0021名無しさん@お腹いっぱい。2022/12/11(日) 00:45:12.16
いまいち何が解決出来ないのか何が分からんのかが分からんな

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

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

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

(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))
0030182022/12/11(日) 17:51:47.16
むしろその場合はこうするだけでいいんですね。

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

そもそも最初に指摘されていたこの点がまずかったと。
0032名無しさん@お腹いっぱい。2022/12/16(金) 12:44:00.30
何かの拍子で特定のバッファ(やてふモード)を閉じれなくなりました
* Message *を確認すると以下のメッセージが出ます
bm-buffer-save: Wrong type argument: listp, \.\.\.
他のやてふモードのバッファは問題ありません
とりあえず当該バッファを閉じたいと思い
*scratch*で
(remove-hook 'after-save-hook 'bm-buffer-save)
したのですが何ともなりません
何か解決方法はないでしょうか?
0033名無しさん@お腹いっぱい。2022/12/16(金) 13:24:24.57
どこでどう評価するかでは
clのlambdaは評価するとレキシカルクロージャに化けるマクロだけど、(coerce '(lambda ...) 'function)でキャストすればcoerceはfunctionのように特殊形式でないからローカル関数を補足できないはず
el的にはどうだっけ?
そもそもクォートされたラムダ式を単にフォームとして受け取り、自分で勝手に解釈するだって全然アリ
0036名無しさん@お腹いっぱい。2022/12/16(金) 16:18:47.86
ただ今度は当該ファイルをfind-fileすると
初回に以下のエラーメッセージが出ます
bm-buffer-restore: Wrong type argument: number-or-marker-p, nil
連続で2回当該ファイルをfind-fileすると開くので問題はないのですが
これはbmのキャッシュが不整合を起こしているということでしょうかね?
0037名無しさん@お腹いっぱい。2022/12/17(土) 14:40:56.90
前スレでDebianのunstableでEmacsパッケージのnative compilationが有効化されたって話があったけど
その後色々問題があったものの解決されて有効化されたバージョンがTestingにやってきた模様
というわけでこのまま行けば来年出るであろうDebianの次の安定版ではEmacsパッケージは
デフォルトでnative compilationが有効化されたものになるわけだ
0038名無しさん@お腹いっぱい。2022/12/17(土) 16:08:32.48
キャッシュのsaveにprincを使っていて print-lengthより長いリストが...になっているかもしれない
(let ((aaa (list '(a) '(a) '(a))) (print-length 2)) (princ aaa)) ; => ((a) (a) ...)
0039名無しさん@お腹いっぱい。2022/12/19(月) 11:10:13.66
native compilationを有効にすると、
確かにごく偶に何も言わずに落ちることがあるから、
まったく問題がないわけでもないのかな。
まあ、最後に落ちたのも一月以上前だったりするけど。
0040名無しさん@お腹いっぱい。2022/12/26(月) 12:16:18.67
companyと*Completions*バッファについて教えてください。
(use-package company)としてcompanyを使うようにすると、補完がcompany経由で行われる?と聞いたのですが、
例えば、
M-x shell
ls ./[TAB]
とすると、*Completions*バッファ内にカレントディレクトリのファイルが表示されます。
これはcompanyモードが効いてないのでしょうか?それともcompanyが補完するのは、こういう類の補完ではそもそもないのでしょうか?
0041名無しさん@お腹いっぱい。2022/12/28(水) 01:12:16.78
バッファでcompany-modeが有効になってないかキーバインドが定義されてないとか。
M-x company-completeするとどうなりますか?
0042名無しさん@お腹いっぱい。2022/12/28(水) 02:41:43.21
>>41
返信ありがとうございます。
shellのバッファで「M-x company-complete」するとカーソル位置で補完候補が現れました。
同じバッファでM-x describe-modeをすると、一覧にCompanyとGlobal-Companyが出てきています。
これは、単にキーバインドが定義されてないってことでしょうか?
0045名無しさん@お腹いっぱい。2022/12/28(水) 12:29:55.85
>>42
use-packageを使ってませんが、
とりあえずglobal-company-modeは有効にされてるんだと思います。
M-x company-completeで手動では起動できるわけだから、
どのキーにバインドするかは設定が必要だろうし、
tabでデフォルトのshellの補完を奪っていいかどうかも自分次第かと。
0046402022/12/28(水) 18:33:26.03
返信ありがとうございます。

>>43
ls ./[ここでdescribe-key TAB]すると、(completion-at-point)にバウンドされてるようです。

>>44 >>45
describe-modeした際にglobal-companyが出てきてるので、global-company-modeは有効になっているように見えます。

>どのキーにバインドするかは設定が必要だろうし、
>tabでデフォルトのshellの補完を奪っていいかどうかも自分次第かと。
なるほど。tabに対してキーバインドは設定していませんでした。
このあたりの仕組みがよくわかってないもので、company-modeを有効にすると自動的に*Completions*バッファが
ツールチップで補完表示されるものかと思ってましたが、そういうものではなく、
自分で設定する必要があるんですね。
0047名無しさん@お腹いっぱい。2022/12/28(水) 19:59:39.91
>>46
普段company-idle-delayをnilに設定してキーで起動していたので勘違いしましたが、
デフォルトのままだと入力するそばから自動的に補完候補を表示しますね。
私はそれが煩わしいので手動で起動するようにしてたんですが、
何かの設定がうまくいってないんですかね?
0048402022/12/29(木) 06:59:04.84
>>47
頂いた情報を参考に色々調整した結果、
(setq company-idle-delay 0)
(setq company-minimum-prefix-length 0)
上記設定を追加してみると、shellバッファで文字を打つたびに補完候補が表示されるようになりました。

試しに、
(setq company-minimum-prefix-length 5)
とした場合、
(5文字未満) ls ./[TAB] # *Completions*バッファが表示される。
(5文字以上) ls ./../[TAB] # companyで補完候補が表示される。
という挙動になりました。

私がcompanyの機能を勘違いしている気がしてきました。
companyはemacs従来の「*Completions*バッファが表示される」動きをまるまる置き換えるものと思ってましたが、
そんなことはなく*Completions*バッファが表示されてしまう場面を完全に無くせるわけではないのでしょうか?
0049名無しさん@お腹いっぱい。2022/12/29(木) 11:52:47.76
companyは既存の設定だけでなく、
最終的には自分で補完に使用するbackendsまで作成すればほとんどどんな動作にもできるはずですが、
お話のようにデフォルトの補完completion-at-pointをcompanyで置き換えたいだけなら、
パッケージに同梱されたcompany-capfをcompany-backendsに設定すればよさそうですけどね。
0050402022/12/29(木) 14:40:30.55
company-backendsは以下のように設定されていました。

(company-bbdb company-semantic company-capf company-files
(company-dabbrev-code company-gtags company-etags company-keywords)
company-oddmuse company-dabbrev)

リストの中にリストが含まれてるのが怪しいのですが、一応company-capfは入っているようです。
一つ気になったのが、
(use-package company
:config
((global-set-key (kbd "TAB") 'company-complete))
と設定しても、shellバッファでdescribe-key [TAB]をすると、設定されているのは
(completion-at-point)
となっていました。これはキーバインドの設定の方が間違っている可能性がありますか?
0052402022/12/29(木) 21:40:29.93
質問ばかりですいません。
>>51
infoというのが、companyの公式ページの話であれば読んではいるもののなかなか理解できず苦労してます。
「emacsの情報」という意味であれば、すいません、emacsを使い始めたばかりなので拾いきれてないですね
0053名無しさん@お腹いっぱい。2022/12/30(金) 01:43:58.98
>>51 じゃないけど
M-x info
のことを言ってると思われ
セルフドキュメント方式、てのがググれない時代からあるEmacsの思想の一つなんだわ
で、そういった思想とか調べ方もinfoの中に書いてあった気がする

日本語の方が良いなら
Emacs 日本語マニュアル インストール
あたりでググれ
companyモード用のinfoがあるかは知らん
0055名無しさん@お腹いっぱい。2023/01/02(月) 17:32:57.08
最近font-lock-modeの仕様が変わった?
wanderlustのsummaryでfont lockが効かなくなった、
というか挙動が変なような。
0057552023/01/02(月) 22:05:21.28
すぐに思い浮かばなかったけどwhitespace.el関連の変更が原因でした。
細かい原因はまだ調べてないけど、
とりあえずwhitespace-global-modesから除外すればよさそう。
0059名無しさん@お腹いっぱい。2023/01/04(水) 11:12:11.34
多分、これが原因だから年末頃?

whitespace: Use `define-globalized-minor-mode' for global mode
* lisp/whitespace.el (global-whitespace-mode): Fix interoperability
between `whitespace-mode' and `global-whitespace-mode' by using
`define-globalized-minor-mode'. (Bug#60334)
* test/lisp/whitespace-tests.el (whitespace-tests--global): Add a
regression test.
0060名無しさん@お腹いっぱい。2023/01/05(木) 01:03:25.93
>>58
戻って留まれ。自分が新しいものについていく必要があるとかついていく能力があるとかいう心得違いをしないこと。世界は君を中心に回っていない(甚だ遺憾であろうとは察する
0061名無しさん@お腹いっぱい。2023/01/05(木) 07:30:31.14
戻って留まるにしても、そのための能力が必要なんよな
新しいOSで古いものについていく能力がないと、古いものさえビルドできない
0064名無しさん@お腹いっぱい。2023/01/11(水) 01:27:30.12
docker全然わからんらん(´・ω・`)
0065名無しさん@お腹いっぱい。2023/01/11(水) 04:15:28.09
>>63
凡人がdockerでやってることをEmacsで再現できてるなら画期的すぎるから、そのノウハウをシェアしたらめちゃくちゃPV取れると思うよ
Software Design辺りで連載の依頼も来るかもしれない
0067名無しさん@お腹いっぱい。2023/01/12(木) 14:40:58.96
USB起動のLinuxみたいなモン
一旦インスコとか設定をしたら別PCで
全く同じように動かせる

建前上ではそうなってる
0071名無しさん@お腹いっぱい。2023/01/13(金) 11:29:30.76
>>60
新しいものが道具として洗練されているとは限らない

グーグルのための野暮な改悪は新しいとは言わない
0080名無しさん@お腹いっぱい。2023/01/14(土) 21:08:14.40
Native compileかあれはデフォオプション来るなら28で更新止めるな
本当にあれはイラン
おま環かもしれんがpackage list packageとかやるごとにフリーズするかlaptopファン大回転始めるわで全く話にならんかった(´・ω・`)
0083名無しさん@お腹いっぱい。2023/01/14(土) 22:40:23.69
>>80
ビルドするスレッド数を制限しろ
当然、native-comp-async-jobs-numberぐらいを試した上で、文句を言っているよな?
0084名無しさん@お腹いっぱい。2023/01/14(土) 22:51:38.84
わが家の貧弱な環境でもデフォルト値のままで一時的に重くなるくらいだから、
もっと根本的な問題があるんじゃない?
0085名無しさん@お腹いっぱい。2023/01/22(日) 00:48:35.57
mozc.elを入れたんだけど、(setq mozc-candidate-style 'overlay)としても変換候補がミニバッファに表示される。
おまかん?
0093名無しさん@お腹いっぱい。2023/01/23(月) 11:30:08.46
(let* ((l '((:p 'a) (:p 'b))))
(dolist (i l)
(print (symbolp (plist-get i :p)))))
:pに対応する'aと'bを順番取りたいんですが、出力がnilと表示されます。
l=プロパティリストのリスト
i=プロパティリスト
になると思ったので、plist-getで:pのペアになっているシンボルが変えると思ったのですが、
何が間違ってるんでしょうか?
0096名無しさん@お腹いっぱい。2023/01/24(火) 08:49:08.25
key重複alistならmap-remove?
prop重複plistならalistに変換するかmapcarで丁寧に処理する?
0098名無しさん@お腹いっぱい。2023/02/03(金) 09:57:54.63
質問があります。
regionを適切にインデントするには、M-x indent-region か C-M-\ を押しますが、整形したいregionを選択している状態でtabキーを押すと、同じような挙動をすることに気がつきました。
もしかして、regionを選択してtabキーを押すと、indent-region と同じ事が実行されるのでしょうか?
であれば、C-M-\ の代わりにtabキーを押すようにしようと思うのですが...

環境: Emacs 28.1 Mac(monterey)
0101名無しさん@お腹いっぱい。2023/02/06(月) 01:47:00.20
質問があります
org-modeでアーカイブ先を変更するにはどうすればよいでしょうか?
hoge_archive から org-directory/archives/hoge_YYYY に変更したいです
https://repl.info/archives/52/ を読んで
(setq org-archive-location (concat org-directory "/archives/“%s_archive_” (format-time-string “%Y” (current-time)"))
としてみましたがorg-archive--compute-location: Invalid archive location: "~/Dropbox/emacs/org/archives/“%s_archive_” (format-time-string “%Y” (current-time)"
とのエラーが出ます

GNU Emacs 27.1 org-mode 9.6です。よろしくお願いします
0102名無しさん@お腹いっぱい。2023/02/06(月) 16:26:50.21
EmacsでLSP使ってる方いらっしゃいますか?
LSPにおける「プロジェクト」という単位が何を指すのか分かりません。
Emacsはただのエディタですから、ファイル単位で編集を行いたいのですが、LSPを使うならば全てのファイルは何らかのプロジェクトに属しているべき、ということなのでしょうか?
0103名無しさん@お腹いっぱい。2023/02/06(月) 21:18:10.73
>>102
> LSPを使うならば全てのファイルは何らかのプロジェクトに属しているべき
基本的に Yes
language server によっては単ファイルでいけるやつもある気がする
01041012023/02/07(火) 01:13:18.74
(setq org-archive-location (concat org-directory "/archives/“%s_archive_” (format-time-string “%Y” (current-time)::"))
とすると今度は
org-archive--compute-location: Not enough arguments for format string
なんもわからん
0105名無しさん@お腹いっぱい。2023/02/07(火) 08:13:33.55
>>103
たった一つのファイルを編集するときってどうされてます?
いちいちプロジェクトを切るのもなあと思ってしまいます。
一般ファイル用のプロジェクトを作っておいて何でもかんでもそこに放り込むって感じですかね?
0106名無しさん@お腹いっぱい。2023/02/09(木) 09:17:58.23
>>101
Emacsもorg-modeもなく机上ですが…S式すら閉じてませんね。もしや
(setq org-archive-location (concat "org-directory/archives/%s_" (format-time-string "%Y" (current-time)) "::"))
とかするのでは?
01071012023/02/13(月) 13:10:33.15
上手くいきました
お手数おかけしました。ありがとうございます。
0110名無しさん@お腹いっぱい。2023/02/18(土) 10:14:52.17
ほっとのがいい
Emacs 28リリースあたりの時期から、本人のメンタルがヤバくなっただけかもしれんから
0116名無しさん@お腹いっぱい。2023/02/22(水) 15:28:57.36
まだ事実と異なることをたびたび返すので信用できないが
この技術の延長には文章作成をemacs-doctorに投げて
返答を校閲して完成って未来になる
0117名無しさん@お腹いっぱい。2023/02/22(水) 15:43:43.95
インターフェースがwebだとまだ利用に距離があったが
emacsから使えるとなると
俺は一気に仕事で利用するようになってしまいそう
0118名無しさん@お腹いっぱい。2023/02/22(水) 19:19:23.16
>>117
textlintがそうなっているから、
そんなに遠くない未来で、そうなると思う

ぶっちゃけ、ジャストシステムのJustRight Pro、アレがWindowsのあのGUIでしか使えないのがもったいなさすぎる
0121名無しさん@お腹いっぱい。2023/02/24(金) 14:07:08.04
xwidget-webkit-browse-url って常用してる人いる?
Debianの28.2をビルドしてみたけどなんかバギーだな
フォーカスが別のバッファにあるときは描画が消えたり
youtubeトップページは表示されるも動画が再生されず
w3mみたいにカーソルをキーボードで移動して
クリックできるのかと思いきやマウス前提なのかな?
0123名無しさん@お腹いっぱい。2023/02/26(日) 00:00:04.11
emacs は何でもできるが、バグをだましだましやっと使えるような状態で
開発がとまってたりとかいう場合も多いよな・・・
0124名無しさん@お腹いっぱい。2023/02/26(日) 09:02:11.13
それはemacsに限らずに、Kernel開発やプログラミング言語の開発なら、普通な状態だけど?
いまのスマートフォンゲームなんかだったら、もっと酷くて、バグをかかえたままリリースしとるんやん
0128名無しさん@お腹いっぱい。2023/03/06(月) 14:18:07.65
android版emacsってあるの?
gnu公式ページにないんだけど、f-droidには置いてるんだよな
https://www.gnu.org/software/emacs/

このfdroidのemacsって本当にgnu.orgが公式で作ってるもんなの?
それとも誰かが勝手にgnu.orgの名前使って作ってるだけ?
Emacs (The extensible self-documenting text editor)
https://f-droid.org/packages/org.gnu.emacs/

どうなんでしょう?
教えてください
0130名無しさん@お腹いっぱい。2023/03/06(月) 19:39:27.53
ものすごい前にAndroid版Emacsを配布してたことが有ったが、今f-droidで配布してるのは最近のAndroidブランチのやつっぽい
けど、権限に連絡先の読み取りとかあるし、入れるのは遠慮したいw
0133名無しさん@お腹いっぱい。2023/03/09(木) 04:22:18.33
Emacs 30.0.50にしたら起動時にset-frame-fontの設定が適用されない?
起動後にevalしたら普通に有効になる。
0134名無しさん@お腹いっぱい。2023/03/09(木) 09:06:16.32
自分で unstable 使ってるんだからこんなところに書くんじゃなくてメーリングリストに投げろ
0135名無しさん@お腹いっぱい。2023/03/11(土) 01:20:20.79
androidで使ってるけど、ストアにcli環境は無数にあれど、ビルドするのはかなり面倒
gcc/clangや仮想環境入れるとギガで済まないし躊躇われる

一応システムライブラリも/systemに入ってて引けるんだけど、引き方が分からんからarmサポートしてて独自の(ミニマルな)libcとリンカ、アーカイバ、アセンブラ一式持ってるtccから初めるのがオススメ
0137名無しさん@お腹いっぱい。2023/03/11(土) 12:29:28.05
>>136
おー、今試してる
半分だけ仮想環境みたいな感じか
200MBと結構容量食うが、パッケージマネージャは簡便
スクリーンキーボードをカスタムしなくとも、UIにctrl/meta付きなのもいい

しかしリポジトリにコンパイラがgcc/clangしかない?、小さいコード書いて試すにも結局ギガ食いそうな予感
0139名無しさん@お腹いっぱい。2023/03/14(火) 21:58:29.65
スマホで開発しようとする物好きとみるか
勉強熱心な技術者の鑑とみるか
どちらと見るかは貴方次第!!
(´・ω・`)9m
0140名無しさん@お腹いっぱい。2023/03/15(水) 00:46:49.60
今のスマホは馬鹿に出来ないよ
俺のメインPCの半分ぐらいの性能だ
メインPCが大したことないかもだけど、一昔前のPCよりは確実に性能がいい
Windows7時代のPCぐらいかね
0141名無しさん@お腹いっぱい。2023/03/17(金) 17:03:44.76
orgモードで、
#+A: hogehoge
とかプロパティを定義したときに、
文章のなかから、Aを参照して「hogehoge」を表示する、みたいな機能ないですか?
0142名無しさん@お腹いっぱい。2023/03/17(金) 22:19:32.57
org modeってやたら聞く名前だけどMarkdown書くときに使うメジャーモードなんあれ?(´・ω・`)
0144名無しさん@お腹いっぱい。2023/03/18(土) 10:39:31.84
>>143
ああマクロでもいいのか
#+MACRO: prop-a (eval (org-entry-get nil "A" t))
{{{prop-a}}}
それにしても#+PROPERTY:はファイルを開き直さないと反映されないっぽい(?)
0145名無しさん@お腹いっぱい。2023/03/19(日) 13:36:13.33
>>144
あざます。
プロパティっていうのは、org文書内であれこれするものではないんですかねー
0147名無しさん@お腹いっぱい。2023/03/27(月) 19:18:47.27
EmacsのWindowsバイナリをGNU公式で配布してるのね
0148名無しさん@お腹いっぱい。2023/03/27(月) 21:36:07.09
最近のグーグルさんより無能やなこのスレ
0150名無しさん@お腹いっぱい。2023/03/28(火) 18:47:23.51
>>149
最近のグーグルさんみたいなレスやなw
0154名無しさん@お腹いっぱい。2023/03/29(水) 21:46:45.63
Racter の当時は技術的限界が大きぃて実用ソフトというより、あくまでも娯楽用に
わざと偏屈物で皮肉屋で衒学趣味なキャラクターを作ってたから
答えがトンチンカンでも面白みがあった
ChatGPTはもうある程度実用性が実現できてしまって、そういう小手先の細工をしなくてもよくなった分
逆に昔の人口無脳みたいな面白みはあんまりないよな・・・
0156名無しさん@お腹いっぱい。2023/04/05(水) 00:35:21.50
chatgptなんざ所詮まだまだelizaに毛が生えた程度のもんやで
クリエイティブな知能には程遠いわw
無理して分かったふりせんでええねんキミらw
0163名無しさん@お腹いっぱい。2023/04/22(土) 14:23:34.33
org-modeで質問です
フレーム内に単一のウィンドがある状況で
org-open-at-point するとフレームが上下に分割されます
これを左右に分割するようにしたいのですが
パラメータ一つで変わったりしませんかね?
0164名無しさん@お腹いっぱい。2023/04/22(土) 15:30:32.75
左右に並べたいのは org-open-at-point で開いたときだけ?
もし常に左右に並べていいならこんな感じだけど

(setq split-width-threshold 80)

フレームの幅がこの値以上のとき、分割されたウィンドウは左右に並びます(既定値は 160)
0165名無しさん@お腹いっぱい。2023/04/22(土) 15:32:22.60
特定のコマンドから開くときだけ左右に並べる、みたいな設定はどうするのが正道だろうね
特定のバッファを開くときの設定は display-buffer-alist だと思うけど
display-buffer まわりは複雑過ぎて分からない

コマンドじゃなくてメジャーモード毎に split-width-threshold を設定する手もあるかな

;; org-mode のバッファからウィンドウを開くときはフレーム幅が多少狭くて
;; もなるべく左右に分割する。
(add-hook 'org-mode-hook (lambda () (setq-local split-width-threshold 80)))
01661632023/04/22(土) 16:55:53.62
>>164,165
ありがとうございます
>>164で十分です
0167名無しさん@お腹いっぱい。2023/05/01(月) 21:56:18.82
macOS venturaで
https://emacs-jp.github.io/tips/emacs-in-2020
を参考に設定しているんだけど
flycheckがclangルールでチェックしてるっぽい
(c/c++-clangと出てくる)
homebrewでgccをインストールして、
/usr/local/bin/にg++とgccのソフトリンクをはって
g++ --version
をすると、gcc g++が出てくる。

どうすれば、GNU g++ルールでflycheckしてくれるの?
bits/stdc++.hが問題なく使いたいよ(T T)
01691672023/05/05(金) 10:13:22.18
いろいろ調べたけど、
includeパスにbits/stdc++.hを作ってという方法をやっているのね。
いろいろ不具合起こしそうなので、
テンプレートに#includeゴリゴリ書いてきます

ありがと
0170名無しさん@お腹いっぱい。2023/05/15(月) 00:44:38.90
ネットワーク越しにemacsを使っています
kill-regionする範囲を選択中に(矩形で範囲を表示)
カーソルの移動速度が遅くなってしまうのですが
何か改善はできないでしょうかね?
(範囲選択中ではないときのカーソル移動は十分速いです)
遅くなるのはカーソルが移動するごとに選択範囲の矩形が変わり
その度に重めの通信をしているような気がするので
これを回避するような設定が出来れば嬉しいです

書いてて思ったのですがホスト側で--daemonで動かしたemacsに
リモート側で起動したemacsclientで接続できれば解決するような気がします
0173名無しさん@お腹いっぱい。2023/05/15(月) 09:33:29.10
>>171
要望ドンピシャです

>>172
有難うございます
trampが使える場面では使ってきました
しかしリモートからホスト側でCompilationモードで開発したりしたいので
ホスト側のemacsを起動したいと思っています

TCP emacs serverがもう少しでできそうなので頑張ってみます
通信は出来ているようだけどフレームが現れない...
0174名無しさん@お腹いっぱい。2023/05/15(月) 09:56:01.50
>>173
>TCP emacs serverがもう少しでできそうなので頑張ってみます
>通信は出来ているようだけどフレームが現れない...
ファイアウォールが邪魔してるようでした
こんな機能まであるとは... emacsは凄いなぁ
01751702023/05/15(月) 13:01:03.55
リモートで起動したTCP emacs serverに
ローカル側からemacsclientで繋ぐ方法は出来たのですが
>170(選択中だとカーソルが激遅)は改善されませんでした orz
>>171だと選択範囲が広いときにどこを選択中なのか見失うのが難点ですが
私にとってはベターな解決法のようです
ありがとうございました
0176名無しさん@お腹いっぱい。2023/05/15(月) 13:13:19.86
>>170
TERMの設定が悪くて
選択範囲部が常に再描画
あるいは重い処理になってるんじゃないか?

env TERM=xterm-256color emacs
for i in {0..255} ; do
printf "\x1b[48;5;%sm%3d\e[0m " "$i" "$i"
if (( i == 15 )) || (( i > 15 )) && (( (i-15) % 6 == 0 )); then
printf "\n";
fi
done
なんかはどうよ

terminal側のfontのon demand bit展開ということは有りうるのかな?
01771702023/05/15(月) 13:28:53.62
>>176
難しくて話についていけてません
emacsはX11のウィンドウで表示したいのですが(つまり-nwをつけない)
TERMは関係あるのでしょうか? それとも-nwを用いよという提案ですか?
0179名無しさん@お腹いっぱい。2023/05/27(土) 01:40:04.90
エクセル文書のリンクをorg-open-at-pointで開いたときに
DocViewが起動するのですが
/usr/bin/localcが起動するようにするにはどうすれば良いでしょうか?
リンクは以下のように張ってあります
[[file:hoge.xlsx]]
0180名無しさん@お腹いっぱい。2023/05/27(土) 05:26:47.70
>>179
カスタマイズ変数 org-file-apps に拡張子とコマンドの対を追加します

(eval-after-load "org"
`(add-to-list 'org-file-apps '("xlsx" . "/usr/bin/localc %s")))
0184名無しさん@お腹いっぱい。2023/05/28(日) 15:18:55.54
Windows10で、emacs25.3をmsys2でビルドしようとすると、以下のエラーが出ます。

make[2]: Leaving directory '/c/Users/taku/src/emacs-25.3/admin/unidata'
CCLD temacs.exe
/usr/bin/mkdir -p ../etc
make -C ../lisp update-subdirs
make[2]: Entering directory '/c/Users/taku/src/emacs-25.3/lisp'
make[2]: Leaving directory '/c/Users/taku/src/emacs-25.3/lisp'
./temacs --batch --load loadup bootstrap
Cannot dump Emacs on Windows 9X; exiting.
make[1]: *** [Makefile:737: bootstrap-emacs.exe] Error 127
make[1]: Leaving directory '/c/Users/taku/src/emacs-25.3/src'
make: *** [Makefile:398: src] Error 2

環境は、Windows10で、msys2-x86_64-20230526を使用してビルドしようとしています。下記のリンク通りの手順でやっています。

https://github.com/chuntaro/NTEmacs64

何卒宜しくお願い致します。
0192184ではないですが2023/06/03(土) 02:16:10.20
Windows でemacs 28.2を公式ミラーのインストーラーで入れました。

orgファイルを開こうと右クリックからプログラムとしてemacsの実行ファイルを選ぶと
日本語がパスの途中に入っていると日本語部分が??????になってしまい、??????の文字列を含んだパスを指定したことになってしまいます。
存在しないディレクトリを開こうとしてファイル開きません。
その他、msys2のmingw32や ucrt でも試しましたが開けませんでした。
またターミナルから、引数にファイルパスを入れると、日本語パスあると開けませんでした。上記どのバイナリも同じ結果でした。

なお、どのバイナリでも先にemacs起動しておいて、diredや、Ctrl-x Ctrl-f は問題なく日本語パスが扱えます。
また、先にemacs起動しておいて、ドラッグアンドドロップすると日本語パス問題なく開けます。

orgファイルを日本語パスの中でもダブルクリックとか、右クリックから手軽に開きたいのですが、なにかアドバイスありませんでしょうか。
Windowsでも使っている方で、うまくダブルクリックなどで日本語パス開けている方いらっしゃいますでしょうか。

(なお、当方のWindows11は言語設定が英語になっていることも一因かもしれないですが。)
0193名無しさん@お腹いっぱい。2023/06/03(土) 06:00:39.96
>>192
「言語設定が英語」というのが分からないけど、障害切り分けの手順を踏んだ方がいいのでは?
まず、期待どおりうごくかどうかを確かめるため、できるだけ素の状態を作る。
テスト用のWindowsユーザを作り、$HOME/.emacsは最小にする。

当方はWindows 10、日本語Windowsの64bit版だが、runemacs.exeをEmacsの実行ファイルとして
".org"拡張子と対応づけることで、日本語によるサブディレクトリに格納した、日本語の org ファイルを
ダブルクリックで開けてる。なのでGNU公式から配布されている Emacs-28.2 のバイナリは問題ないと思う。
それ以上のことは (自分はorg-modeを使わないので) 試してないので言い切れないけど。
0194名無しさん@お腹いっぱい。2023/06/03(土) 08:02:21.58
質問いいでしょうか

新しいキーバインドに、ESCキー押下とまったくおなじ挙動を登録したいです。
init.el にどう書けば良いでしょうか?

オリジナルのキーバインド割り当ては今回はじめての初心者です。
MacBookの環境です。
よろしくおねがいします
01951922023/06/03(土) 09:08:08.26
>>193
ありがとうございます。日本語含んでいても問題なく動いているという返事を読んで、Emacsの問題でないという前提で設定みなおしてみました。

その結果、Windowsの設定の、Region > Administrative > Language for non-Unicode programs というところの Change system locale を EnglishからJapanese に変えると、うまく行きました!ありがとうございました。

昔のEmacsと違って、Windows対応もかなり進んでいますね。昔の頭で、そもそもEmacsがWindows対応できていないのかなと思って、init.el あたりをあれこれいじっていました。
0196名無しさん@お腹いっぱい。2023/06/17(土) 14:50:14.69
うちのemacsを27.1 -> 28.2に更新したのですが
diredでカレントディレクトリを開くのが極端に遅くなりました
リモートのディレクトリを多数マウントしているのですが
どうもそれらにいちいちアクセスしているのが原因ではないかと推測しています
そう考える理由は次の通りです
emacsの更新により何も指していないシンボリックリンクがあった場合に
リンク名が赤の矩形で示されるようになりました
ということはいちいちファイルやディレクトリに
アクセスしているに違いないと考えたからです
この機能を切る方法をご存知でしたらお教え下さい
0197名無しさん@お腹いっぱい。2023/06/17(土) 21:30:32.65
記憶が曖昧だけどパスとかの補完機能とか効いてるとそういうことが起きる事例があった気がする。
01981962023/06/18(日) 01:18:50.28
>>197
あーなるほど
誰かご存じないですかね?
0199名無しさん@お腹いっぱい。2023/06/18(日) 02:14:26.30
;; Diredによるシンボリックリンクの色付けを無効にする。
(eval-after-load "dired"
`(progn
(require 'cl-seq)
(setq dired-font-lock-keywords
(cl-remove-if (lambda (x) (eql (car x) dired-re-sym))
dired-font-lock-keywords))))
02001962023/06/18(日) 12:37:56.36
>>199
有難うございます
シンボリックリンクの色付けはなくなりました
遅いのはたぶん変わってないように感じます
リモートのディレクトリを全てumountしてもやはり遅いので
原因はリモートにアクセスしているからではないようです
うーん... なんだろう?
02021962023/06/18(日) 15:19:59.14
>>201
それです!
問題のディレクトリは$HOMEなのですが
日本語ファイル名としては
「tty ではありません」なるサイズ0の何かの残骸が1つあって
それを消したら劇的に速くなりました!
よく分からないのですがフォント周りのメカニズムが変わった?
実はDebian bookworkへ更新したのですが原因はemacsではないのかも?
0204名無しさん@お腹いっぱい。2023/07/09(日) 07:52:39.71
>>196
28以降は、道具としての使い易さを棄ててガワを小奇麗にしようとした

脱ヲタ失敗エディタだから。

27.2を使うべき。 
0205名無しさん@お腹いっぱい。2023/07/11(火) 23:27:16.88
戦ブラで揉めて色々制限が解除されたみたいなので
Emacs+ewwより書き込みテスト

eww.elより抜粋
(defgroup eww nil
"Emacs Web Wowser"
:version "25.1"
0206名無しさん@お腹いっぱい。2023/07/11(火) 23:27:21.23
戦ブラで揉めて色々制限が解除されたみたいなので
Emacs+ewwより書き込みテスト

eww.elより抜粋
(defgroup eww nil
"Emacs Web Wowser"
:version "25.1"
0207名無しさん@お腹いっぱい。2023/07/11(火) 23:28:55.99
ewwより書き込めたけど
二重投稿されるのはデフォか?
レスを投稿する


ニューススポーツなんでも実況