X



Emacs Part 51
■ このスレッドは過去ログ倉庫に格納されています
0279名無しさん@お腹いっぱい。
垢版 |
2018/07/21(土) 19:08:55.21
>>278
Windows 環境で動作するのではなく擬似 Linux 環境で動作するかどうかという質問なら確か Windows 環境でそのまま動作するんじゃなかったっけ?
0282名無しさん@お腹いっぱい。
垢版 |
2018/07/22(日) 01:51:01.05
mingw版がNTEmacsということになるのかな。
パフォーマンスの問題はあるけど、アプリ一般の動作としてはcygwinの方が良かったりするよね。
0285名無しさん@お腹いっぱい。
垢版 |
2018/07/26(木) 22:28:17.15
org-modeのTODOでclock-inを使用しないで,clock-outだけ使いたい場合はそのような機能はありますか?
終了日時の記録のみ欲しくて経過時間は不要という場合はどうしたいいのでしょうか?
0287名無しさん@お腹いっぱい。
垢版 |
2018/07/28(土) 00:52:40.73
>>285
TODO -> DONE で終了時刻付くよ
0288名無しさん@お腹いっぱい。
垢版 |
2018/07/28(土) 01:47:58.78
>>286
それでいいですね。しかしながら
>>287さんのおっしゃるとおりTODO -> DONEで記録が自動的に出来るならそれがベストですね。
で、試してみましたが、終了時刻が付与されませんね。なにか設定が必要なのでしょうか
0290名無しさん@お腹いっぱい。
垢版 |
2018/08/03(金) 18:21:42.69
知恵を貸してほしい。
next-logical-line で next-line のようにカーソルの位置を維持するには
どうしたらいいだろう?
next-logical-line は 空行に一度行くと、そのまま行頭を移動するようになる。
よろしくお願いします。
0291名無しさん@お腹いっぱい。
垢版 |
2018/08/03(金) 18:58:04.14
そりゃ空行は行頭しかないんだから,そこに移動したら行頭になる。

空行に移動したときにスペース連打して位置をキープさせたいってこと?
0295名無しさん@お腹いっぱい。
垢版 |
2018/08/06(月) 09:22:46.79ID:t8YAH+Gm
next-logical-line が桁位置を保持しないのはなんだかバグっぽい気がするけど、どうなんだろう

とりあえず lisp/simple.el の line-move-1 の6353行目
https://git.savannah.gnu.org/cgit/emacs.git/tree/lisp/simple.el?id=e1646e1e2864#n6353

(if (not (memq last-command '(next-line previous-line)))

ここを


(if (not (memq last-command '(next-line previous-line next-logical-line previous-logical-line)))

に変えてみるとそれっぽくはなる
0296名無しさん@お腹いっぱい。
垢版 |
2018/08/06(月) 09:38:07.64ID:t8YAH+Gm
こんなのも見つけた
こっちはより一層バグっぽい感じ

abcdef
abcdef

1行目の、たとえば c の上にカーソルを置いて M-x next-logical-line すると
2行目の c に移動する
そこで C-p で1行目の c に戻り、もう一度 M-x next-logical-line すると
今度は2行目の先頭に移動する

Emacs 24では再現しない
また M-x … ではなく、global-set-key でキーに割り当てた next-logical-line でも再現しない
この現象は (setq line-move-visual nil) した状態なら、M-x next-line でも再現する
0297名無しさん@お腹いっぱい。
垢版 |
2018/08/06(月) 12:21:34.96
multiple-cursorsがnext-logical-lineを使っていてカーソルがずれるのをなんとか
しようとしている。以前は以下の設定でうまく動いていたような気がするんだが、
現在使っているemacs26.1ではカーソルがずれる時がある。やはりバージョンが
関係しているんですかね。
https://www49.atwiki.jp/ntemacs/pages/40.html
0299名無しさん@お腹いっぱい。
垢版 |
2018/08/07(火) 10:37:28.83
emacsを久しぶりに立ち上げたらinit.elにエラーがある。
と出て、emacs --debug-initで立ち上げろと出たのでそうしたら
いろいろ表示されたのですが、これからどうやってdebugしたらいいのか
アドバイスください
0300名無しさん@お腹いっぱい。
垢版 |
2018/08/07(火) 12:08:25.97
>>298
何でだろう…
ああわかった、多分 M-x next-logical-line の入力方法が違うからだ

私は二回目の M-x プロンプトでの入力に、上矢印キー(履歴)を使っていました
履歴を使わずコマンド名を直接タイプしたり
あるいは M-p (previous-history-element) で履歴を呼び出して使った場合は、再現しません
上矢印キー (previous-line-or-history-element) で履歴を使うと再現します
0301名無しさん@お腹いっぱい。
垢版 |
2018/08/07(火) 12:23:37.73
>>300
つまり previous-line-or-history-element に何かあるのかな
と思ったけど previous-line-or-history-element が絡んでいなくても
変な位置に移動する別の手順を発見(Emacs 26.1)

emacs -Q で起動
*scratch* バッファが表示される。バッファ内容は:
;; This buffer is for text that is not saved, and for Lisp evaluation.
;; To create a file, visit it with C-x C-f and enter text in its buffer.

M-x column-number-mode RET (※これは位置の説明を明確にする為で症状再現とは関係ない)
M-< (バッファ先頭へ移動)
M-f (最初の単語 "This" 直後の空白の上へ移動。行,桁表示は 1,7)
M-x n-l-l RET (二行目の b の上に移動)
C-p (一行目の b の上に移動)
M-x C-p (ミニバッファに "Beginning of buffer" と表示される)
M-p (ミニバッファの表示が M-x next-logical-line となる)
RET (二行目の最初の単語 "To" 末尾、"o" の上に移動する。行,桁表示は 2,4。
ここで期待した結果は 2,7、"create" の "r" の上)
0302名無しさん@お腹いっぱい。
垢版 |
2018/08/07(火) 12:30:11.30
>>299
いろいろ表示されたのを見て頑張ってくださいとしかw

ウチラはあんたの Emacs のバッファを見ることできないんだよ
0303名無しさん@お腹いっぱい。
垢版 |
2018/08/07(火) 13:52:07.67
>>302
ホントそれ。
バックトレース見ればどの関数でエラー起きたかの
特定くらいは初心者でも自力でできそうな気がするので、
とりあえずそこをコメントアウトしとけば?
0305名無しさん@お腹いっぱい。
垢版 |
2018/08/07(火) 18:35:24.46
>>299
久しぶりに emacs を立ち上げるくらい使っていないのならどうせ init.el だって大したことないと思うから ~/.emacs.d 以下全部削除すればいいんじゃない?
0306名無しさん@お腹いっぱい。
垢版 |
2018/08/08(水) 10:26:46.84
>>301
開始位置に関係なく移動先はミニバッファの入力欄先頭位置と同じ桁になってる。
ミニバッファの入力が元のバッファの入力と同列に扱われてるね。

バグというべきかは悩む挙動…
0307名無しさん@お腹いっぱい。
垢版 |
2018/08/08(水) 15:51:01.43
>>290
結局、interactiveに前後の論理行に移動するときに桁位置を保持したいだけなら、
next-lineでline-move-visualをnilにするだけ?
ただ、next-logical-lineの挙動は必ずしも一致しないけど、
この関数を使う機会があるのかな?
0309名無しさん@お腹いっぱい。
垢版 |
2018/08/08(水) 18:24:05.31
とりあえず、logical-line問題はこれで解決できるかなぁ。
(defun ad-next-logical-line (orig-fun &rest args)
(if (eq last-command 'next-logical-line)
(let ((last-command 'next-line))
(apply orig-fun args))
(apply orig-fun args)))

(advice-add 'next-logical-line :around #'ad-next-logical-line)

(defun ad-previous-logical-line (orig-fun &rest args)
(if (eq last-command 'previous-logical-line)
(let ((last-command 'previous-line))
(apply orig-fun args))
(apply orig-fun args)))

(advice-add 'previous-logical-line :around #'ad-previous-logical-line)

でも、multiple-cursors問題はさらに別なところにあることが分かった。
temporary-goal-columnが保管される仕組みがあるみたい。
mc/cursor-specific-vars変数に定義されている。
0311名無しさん@お腹いっぱい。
垢版 |
2018/08/08(水) 18:56:27.56
結局、multiple-cursorsは以下で直った。wikiの設定に1行目を追加しただけで
した。ただ、どのような影響があるのかは分かりません..。

(delq 'temporary-goal-column mc/cursor-specific-vars)

(defun mc/last-command-check ()
(memq last-command '(mc/mark-next-like-this
mc/unmark-next-like-this
mc/skip-to-next-like-this)))

;; 縦移動時にカーソル位置が維持されないのを対策する
(advice-add 'mc/mark-next-like-this
:around (lambda (orig-fun &rest args)
(if (mc/last-command-check)
(let ((last-command 'next-line))
(apply orig-fun args))
(apply orig-fun args))))
0312名無しさん@お腹いっぱい。
垢版 |
2018/08/08(水) 19:13:35.01
wikiに反映しました。cua-modeのように動きます。mc/cursor-specific-varsの影響は
確認できていませんが、良ければお使いください。
https://www49.atwiki.jp/ntemacs/pages/40.html
0313名無しさん@お腹いっぱい。
垢版 |
2018/08/16(木) 05:01:04.61
electric parentheses って皆やってる?
やった方が良いって思う自分と邪魔だから要らないって思う自分がせめぎ合ってるんだが
0316名無しさん@お腹いっぱい。
垢版 |
2018/08/17(金) 00:00:49.94
逆に使わない意味がわからない。
ddskk で設定してる
0317299
垢版 |
2018/08/19(日) 23:45:52.58
emacs --debug-initでemacsを立ち上げると次のようになりました。
エラーが出るのでデバッグモードで立ち上げました。
(show-paren-match-face nil
のところなのですが、最初は'#500のように書いていたのをnilにしました。
それでも下のエラーがでるのですが、どのようにすればいいか
できれば教えていただけないでしょうか?

Debugger entered--Lisp error: (error "Invalid face" show-paren-match-face)
internal-set-lisp-face-attribute(show-paren-match-face :background unspecified 0)
set-face-attribute(show-paren-match-face nil :background unspecified)
set-face-background(show-paren-match-face nil)
eval-buffer(#<buffer *load*> nil "/ホームディレクトリ/.emacs.d/init.el" nil t) ; Reading at buffer position 6390
load-with-code-conversion("/ホームディレクトリ/.emacs.d/init.el" "/ホームディレクトリ/.emacs.d/init.el" t t)
load("/ホームディレクトリ/.emacs.d/init" t t)
#f(compiled-function () #<bytecode 0x4009eced>)()
command-line()
normal-top-level()
0320299
垢版 |
2018/08/21(火) 22:06:31.24
>>319
質問していいですか?と尋ねたときに
イイトモー
といってもらえたら載せてたよ。謙譲したんだ
0321名無しさん@お腹いっぱい。
垢版 |
2018/08/21(火) 22:17:26.75
>>320
ホント馬鹿だな…エラーの「内容」がわからないとそのエラーを解決することが不可能なことすら理解できないとは…

それとお前のどこがへりくだってんだよw
へりくだることは、エラーの解決を目標にする人間が他人に協力してもらうための情報提示を惜しむことじゃねえよ(´・ω・`)
0322名無しさん@お腹いっぱい。
垢版 |
2018/08/21(火) 22:33:47.54
口頭なら「質問していいですか」と聞く意味もあるけど、
不特定多数が見る掲示板ではroundtrip一回分無駄に時間を費やすだけで無意味。
出せる情報は始めから全部出して、いきなり質問すべき。
質問の書き方は以下を参照。
ttp://www.hyuki.com/writing/techask.html
0323名無しさん@お腹いっぱい。
垢版 |
2018/08/22(水) 08:39:45.05
>>322
こういうのを読ませても理解できないバカなんだから
スルーが一番

回答してくれる人達は
質問の仕方も理解してるんだよな…
質問内容を整理している間に自己解決してそうだけども
0325名無しさん@お腹いっぱい。
垢版 |
2018/08/23(木) 01:06:16.91
>>324
横レスですまんが君には秀丸がお似合いだな
当たり前の内容が理解できないんだからわかりやすいシステムを使えばよろしい
0326299
垢版 |
2018/08/23(木) 01:21:19.82
>>321
>>322
ありがとう。今度からはそうします。
0329名無しさん@お腹いっぱい。
垢版 |
2018/08/23(木) 10:56:21.80
【中庸はNG、右か左】 世界教師マ@トレーヤ「新時代を切開くため70億人を2つのグループに分ける」
http://rosie.5ch.net/test/read.cgi/liveplus/1534987219/l50

PCとスマホのモニターを覗いている傍観者のみなさん、腹を決めてください。
0330名無しさん@お腹いっぱい。
垢版 |
2018/08/23(木) 19:01:05.85
emacs で動作する peco コマンドを考えてみた。(epeco)
https://github.com/smzht/wsl-utils/blob/master/epeco
これはこれで便利なんだけど、入力データをすべて取り込んでからしか動作しない。
本家の peco はデータ入力途中でも絞り込みを開始できる。
この動きを epeco で実現できればさらに便利になるんだけど、なにか良いアドバイスが
あれば教えてほしい。
epeco 中では helm を使っているだけど、なんとなく入力するデータを作成するコマンドを
helm 側でコントロールできていないと、実現できないような気がしている。でも、epeco に
入っているデータはパイプで流れてくるものだからそれは実現できない。
shell-mode のように comint と絡めればできると思うけど、シェルスクリプトで動作
できるようにコマンドで完結させたい。
0332名無しさん@お腹いっぱい。
垢版 |
2018/08/23(木) 20:46:18.72
helm-recentf はキーワードを半角空白で区切って入力するとどんどん絞り込んでくれるけどそんな感じにしたいってことなのかな?
0333名無しさん@お腹いっぱい。
垢版 |
2018/08/23(木) 20:53:08.33
それは今のバージョンでも実現できている。やりたいのは、epeco にパイプでつなげる
コマンドが終了する前に helm が起動して絞り込みをできるようにしたい。
helm-build-async-source 辺りを使えばできそうなきもするんだけど、helm の知識が
足りなくてうまく行っていない。なんとなく、パイプで流れてくるストリームを非同期
で処理するのはできないのかなぁと思ったりしている。
0334299
垢版 |
2018/08/23(木) 23:13:10.67
Oさん
0339名無しさん@お腹いっぱい。
垢版 |
2018/08/25(土) 10:50:14.19
非同期バージョンの原型できた。
https://gist.github.com/smzht/0e4886b8857fe028d24388b8c70462e3
以下でテストできる。
while :; do date; sleep 1; done | epeco-test-2
さらに直したいところ。
・migemoが不安定(現在は使わないようにしている)
・epecoが終了しても入力元のコマンドが終了していなとコマンド全体が終わらない
 (割り込みで終える必要がある)
もう少し。
0342名無しさん@お腹いっぱい。
垢版 |
2018/08/26(日) 11:35:12.33
Macでbrew cask install emacs-macを使用しています
OSは、最新版で、APFSです

dired及びwdiredで濁点や半濁点が入ったファイルを使うことができないのですが、
皆さんはどうでしょうか?

設定ファイルは、次の通り指定しています。

(require 'ucs-normalize)
(prefer-coding-system 'utf-8)
(setq file-name-coding-system 'utf-8-hfs)
(setq locale-coding-system 'utf-8-hfs)
0343名無しさん@お腹いっぱい。
垢版 |
2018/08/26(日) 12:10:02.09
>>342
Linux版のEmacs-25.3ではwdired-modeで問題なし
Ext4で環境は全然違うから参考にならないかもしれないけど
関係ありそうな設定は以下

(require 'wdired)
(set-default-coding-systems 'utf-8)
(set-keyboard-coding-system 'utf-8)
(set-terminal-coding-system 'utf-8)
(set-buffer-file-coding-system 'utf-8)
(prefer-coding-system 'utf-8)
(define-key dired-mode-map "r" 'wdired-change-to-wdired-mode)
(setq dired-recursive-copies 'always)
(setq dired-recursive-deletes 'always)

下の4行は関係なさそうだけど
0346名無しさん@お腹いっぱい。
垢版 |
2018/08/30(木) 22:30:33.75
spacemacs って yasnippet は auto-completion layer でオンにできるが、肝心のスニペットってどこにあるの?

.emacs.d/layers/+completion/auto-completion/local/snippets
には emacs-lisp-mode しかないが、デフォルトではこんだけしかスニペットないの?
0348名無しさん@お腹いっぱい。
垢版 |
2018/09/01(土) 21:08:45.29
画像インライン表示とかバッファ単位での文字サイズ変更とか、GUIでしかできないこともあるけどみんなGUI使ってる?
こういう機能偶に使いたいしelscreenとeshellとか使えば大体代替できるからscreen/tmux CUIから移行しようと思ったけど
複数プロジェクト同時にいじりたい時にctagsとかgtagsのタグテーブル切り替えだけ面倒で
あんまりやりたくないけど複数ウィンドウ開くしかないかなーと思ってる
0349名無しさん@お腹いっぱい。
垢版 |
2018/09/01(土) 21:32:42.45
>>348
普通に使ってる。その人の用途による部分もあるかもね。
Emacsからシェルのコマンド叩いたりもするけど、ターミナルは別に立ち上げてる。
0350名無しさん@お腹いっぱい。
垢版 |
2018/09/02(日) 06:11:37.84
>>346
dotspacemacs-addtional-packages に yasnippet と yasnippet-snippets を追加したら latex-mode や emace-lisp-mode で yas-describe-tables したら色々表示されたで・ω・
0351名無しさん@お腹いっぱい。
垢版 |
2018/09/03(月) 18:32:34.35
Debian GNU/Linuxで自分でコンパイルしたemacs-26.{1,2} を使っていますが、
GoogleのNoto fontを入れると、句読点の高さが行の真ん中まであがり、おかしいなとおもったら
どうも中国語のフォントが表示されているみたいなのです。

Google Noto フォントを外すと問題なくなるのですが、そこそこきれいなフォントなので
残念です。2台のPCで同様な症状がおこりました。
Noto フォントを使っていて問題ない方の /etc の下と ~/.config/fontconfig/fonts.conf
のカスタマイズをどうしているか教えていただけませんか?

ちなみに手元のPCで調べてみたら次のようなことになってました。
Noto font ある場合:(face-font 'default nil ?。)の戻す値。
これでみるとnoto font のときには iso のなんちゃらをみている。
"-GOOG-Noto Serif CJK TC-normal-normal-normal-*-24-*-*-*-*-0-iso10646-1"

Noto フォントをシステムから外すと、 ricty フォントを入れてる場合だが、次のフォントを見る。
"-PfEd-Ricty Diminished Discord-normal-normal-normal-*-24-*-*-*-*-0-iso10646-1"
さらにricty フォント入れる前には、
"-IPA -IPAPMincho-normal-normal-normal-*-24-*-*-*-*-0-iso10646-1"
を見ていたようです。

なんか言語とフォント関係のおまじないを入れないといけないのだと思いますが、それが
何かが分かりませんでした。
0352名無しさん@お腹いっぱい。
垢版 |
2018/09/03(月) 22:55:44.00
>>350
yasnippet は completion layer で入ってるから、yasnippet-snippet だけ入れたら色々できるようになった
やっぱりデフォルトでは入ってなかったっぽいな

>>347の事情かもしれない
tab じゃなくて C-バックスラッシュでスニペットが展開されることもいかにもどうでも良さそうな割当だ
0353名無しさん@お腹いっぱい。
垢版 |
2018/09/04(火) 03:11:48.49
>>351
> "-GOOG-Noto Serif CJK TC-normal-normal-normal-*-24-*-*-*-*-0-iso10646-1"

ちょっと試してみましたが、上のようにNoto ... CJK _TC_が選択されているとそうなるようです。
フォント設定で正しくNoto ... CJK _JP_を選択していれば良さそうですが。
"-adobe-Noto Sans CJK JP-normal-normal-normal-*-16-*-*-*-*-0-iso10646-1"
0354351
垢版 |
2018/09/04(火) 09:54:54.50
>> 353
> ちょっと試してみましたが、上のようにNoto ... CJK _TC_が選択されているとそうなるようです。
> フォント設定で正しくNoto ... CJK _JP_を選択していれば良さそうですが。
> "-adobe-Noto Sans CJK JP-normal-normal-normal-*-16-*-*-*-*-0-iso10646-1"

なるほど貴重なヒントありがとうございます。フォントいれるときに選択優先度が
なんかおかしくなっているのか、あるいはフォント入れた後でなにか再度言語設定とか
しないといけないのか。Debian GNU/Linux のtesting repository を種々の事情で使っているので
フォントパッケージの設定のバグかもしれません。

もう少し自分で調べてみます。
0355名無しさん@お腹いっぱい。
垢版 |
2018/09/04(火) 10:54:25.06
>>354
Emacs側でフォントの設定を何もしていないということでしょうか?
emacs -Qで起動して*scratch*バッファで次の式を評価(行末でCtrl+j)するだけで
正しく設定されませんか?

(set-frame-font "Noto Sans CJK JP-12")
0356351
垢版 |
2018/09/04(火) 11:21:18.15
句読点の位置がおかしくなる問題が解決しました。
背景:手元の状況を説明すると、ずいぶん昔にNoto フォントを入れたときには問題なかったような気がするのです。
そのときには~/.emacsの変更も特にしてなかったような気がするのですが、自信がありません。
そのあと、Debian GNU/Linux そのもののバージョンアップ、Emacs  のバージョンアップを
するうちにここ1年半くらいのどこかで句読点がずれたような気がするのですが、
正確な時期とトリガーになったきっかけを覚えてないのです。

今回おかしくなったのを直そうとどこぞのブログで見かけた次の行を~/.emacs にいれたのですが、これは
駄目でした。最後にfc-list の抜粋みせますが、よく見ると手元のDebian GNU/Linux では名前がマッチしてない。
apt-get install fonts-notoでnoto フォントいれてます。だから有効ではなかったと。

;;; Noto font が句点を中国文字の場所で表示するのを防ぐ。
;;;
;;; これだけでは駄目。結局フォントを削除する必要あり。
;;; => なぜかというと: だって名前マッチしてないんだもん。
;;;(set-fontset-font "fontset-default" 'japanese-jisx0208 '("Noto Sans CJK JP Medium" . "iso10646-1"))
;;;
(試したときにはコメントではなく手、有効なelisp の文でした。)
で、今は次のようにしてNoto Serif CJK JP にマッチしています。
;;; works. Serif を使う。細い字体。
(set-fontset-font "fontset-default" 'japanese-jisx0208 '("Noto Serif CJK JP" . "iso10646-1"))
;;; works. Sans を使う Regular入れても入れなくても太い?
;;; (set-fontset-font "fontset-default" 'japanese-jisx0208 '("Noto Sans CJK JP Regular" . "iso10646-1"))

これでとりあえず句読点の位置は日本語の想定する場所になりました。
(face-font 'default nil ?。) は
"-GOOG-Noto Serif CJK JP-normal-normal-normal-*-24-*-*-*-*-0-iso10646-1"
を返しています。

長いので、fc-listの一部リストは次の投稿にします。
0357351
垢版 |
2018/09/04(火) 11:34:25.71
Debian GNU/Linuxで apt-get install fonts-noto でNoto fontを入れたあと. CJK関係のNoto フォントは以下の通り。

fc-list | grep -i "noto " | grep -i cjk

出力は長いのでこちらに投稿しました:
https://pastebin.com/yV19HCBA

御覧のようにMediumというような名前のものはないので、正しくマッチする名前を
設定することでとりあえずJPフォントが選ばれるようになりました。

例: (set-fontset-font "fontset-default" 'japanese-jisx0208 '("Noto Serif CJK JP" . "iso10646-1"))


なんで昔一時期何も設定しなくても、一見うまく表示されていた(ような気がしたのです)のは不思議。
.../NotoSansCJK-Regular.ttc: Noto Sans CJK SC,Noto Sans CJK SC Regular:style=Regular
.../NotoSansCJK-Regular.ttc: Noto Sans CJK TC,Noto Sans CJK TC Regular:style=Regular
.../NotoSansCJK-Regular.ttc: Noto Sans Mono CJK TC,Noto Sans Mono CJK TC Regular:style=Regular
.../NotoSansCJK-Regular.ttc: Noto Sans Mono CJK SC,Noto Sans Mono CJK SC Regular:style=Regular
.../NotoSansCJK-Bold.ttc: Noto Sans CJK KR,Noto Sans CJK KR Bold:style=Bold,Regular
0358351
垢版 |
2018/09/04(火) 11:36:53.30
>> 357
> なんで昔一時期何も設定しなくても、一見うまく表示されていた(ような気がしたのです)のは不思議。
> .../NotoSansCJK-Regular.ttc: Noto Sans CJK SC,Noto Sans CJK SC Regular:style=Regular
> ... 略
最後の行はコピー&ペーストのミスでした。 _| ̄|○ ガクッ
0359351
垢版 |
2018/09/04(火) 15:34:17.44
>> 355
> emacs -Qで起動して*scratch*バッファで次の式を評価(行末でCtrl+j)するだけで
正しく設定されませんか?
>
> (set-frame-font "Noto Sans CJK JP-12")

なんと、これでもうまくいくことを確認しました。(サイズが想定していたものと少し違うのですが。)
ですが、これではっきりしたことがあります。
emacs -Q はinit file (site-specificなものも含め)、とXのリソースの処理をしないのですが、
これで起動した直後にすでに句読点の位置は正しくなっていました。
そのときに (face-font 'default nil ?。) は次をもどしました。(先日と違うPCなんで非常に恐縮なんですが、
今別の場所で使っているDebian GNU/Linuxです。)。
"-PfEd-HanaMinA-normal-normal-normal-*-15-*-*-*-d-0-iso10646-1"
そのあとで、次を実行すると、いきなり全体のフレームが縦に伸びて長くなります。多分フォントサイズと
選ばれたフォントの行間スペーシングが大きいのではないかとおもいました。
(set-frame-font "Noto Sans CJK JP-12")
この状態で(face-font 'default nil ?。)  をすると、
"-GOOG-Noto Sans CJK JP-normal-normal-normal-*-16-*-*-*-*-0-iso10646-1"
となりました。
-Qが X リソースを処理しないというところが味噌のような気がします。
私は、Emacsが起動するときに24ピクセルサイズのフォントを使うようにフォントセットを
X リソースを作って、それを起動の際に
exec $HOME/repos/emacs-26.1/src/emacs --font fontset-24 $*
という形で指定したたのです。、今 ちなみに emacs -q でinit file 処理しないけども、X resourcesを処理するモードで起動してみた結果を次に投稿します。
0360351
垢版 |
2018/09/04(火) 15:56:15.42
(ちなみにemacs -Q --font fontset-24 はXresource を処理してないので
--font の処理でエラーになります。emacs -Q だとだいじょうぶでした。)

今 emacs -q --font fontset-24 で起動してみます(init file は処理しない
が、X resourcesは処理する。fontset-24 はリソースで定義している。)

まず私の.Xdefaults .Xresources をXの環境にマージしてない状態での挙動を報告
します。これをマージしている普段の状況でどうなるかは更に次に投稿します。

ちゃんとスプラッシュスクリーンで24ドットのフォントが選ばれているようです。
ここで日本語ファイル(unicode)を訪れると句読点の位置は正しいのです(!)。
(face-font 'default nil ?。) をすると
"-jis-fixed-medium-r-normal--24-230-75-75-c-240-jisx0208.1983-0" が得られます。
その状況で (set-frame-font "Noto Sans CJK JP-12")を実行すると、フォントサイズが変わり(幅が狭くなる、高さは意外にもあまり変わらない。)
そして(face-font 'default nil ?。) は次のフォントを返してます。
"-GOOG-Noto Sans CJK JP-normal-normal-normal-*-16-*-*-*-*-0-iso10646-1"

これから判断するに、私のXresourceの設定(.Xdefaults, .Xresource に入っている 
+ ~/.emacsで起動中に行っている・ないしは行っていなかったこと)が大昔
のNOTOフォントの時にはうまく動作し(そもそもそのときにはNoto フォント
ファイルをgoogleから落として自分で設定したかも)、それ以来
(a) apt-get install fonts-noto でフォント入れるようにした。
(b) Debian GNU/Linuxのバージョンアップをおこなった。
(c) emacs-25.x,-26.yに切り替えたときに それまでの設定(あるいは未設定)でたまたまうま
くいってたものが壊れたということなのでしょうかね。

だんだん問題点の所在があきらかになりつつあり、かなりすっきりしてきまし
た。いろいろ参考になります。ありがとうございました。

上記は私の.Xdefaults .Xresources をXの環境にマージしてません。私のリソー
スをマージしている普段の状況でどうなるかは更に次に投稿します。
0361351
垢版 |
2018/09/04(火) 16:16:03.96
うーむ。間違えました。しまった上のはすでに自分で定義したXリソースがX環境にマージされていた状態での動作かな。
念のためにブートしなおして、Xを起動した状態でやってみると、
emacs -i --font fontset-24 はfontset-24 が定義されてないので、エラー。
emacs -i で起動すると、小さい14?(12?)のフォントで起動。
ここで日本語UNICODEファイルの句読点の位置はただしい。
(face-font 'default nil ?。) は ”-PfEd-HanaMinA-normal-normal-normal-*-15-*-*-*-d-0-iso10646-1
”を戻す。
ここで(set-frame-font "Noto Sans CJK JP-12") を実行すると、ウィンドウが縦長になり、
句読点の位置は正しく、(face-font 'default nil ?。)は予想通り
"-GOOG-Noto Sans CJK JP-normal-normal-normal-*-16-*-*-*-*-0-iso10646-1"
を戻す。
念のために、このままXを再起動して、私の.Xdefault, .Xresourcesをマージしてみます。
0362351
垢版 |
2018/09/04(火) 16:21:38.17
混乱してきたので、再度今夜落ち着いて挑戦してみます。
0364名無しさん@お腹いっぱい。
垢版 |
2018/09/05(水) 08:52:32.86
参考なるかしらんけど張っとく

(setq-default font-family-default "Noto Sans Mono CJK JP")
(setq-default font-height 110)
(setq-default font-weight 'bold)
(setq-default line-spacing 0)
(set-face-attribute 'default nil
:font font-family-default
:height font-height
:weight font-weight)


あと、下記でいじる
M-x list-faces-display
0365名無しさん@お腹いっぱい。
垢版 |
2018/09/10(月) 18:47:41.27
コントロールコード含んだファイルを開くと、コントロールコードは^@とか表示されるけど
こういうファイルをバッファで表示されてるままテキストに変換するにはどうすればいい?
例えば文字コードが0だけ含まれているファイルは^@と表示されるけど、これを文字コード94(^)64(@)なテキストファイルにする感じ
そういうのがあったような気がするけど忘れた
0366名無しさん@お腹いっぱい。
垢版 |
2018/09/11(火) 01:59:31.63
自己解決したから書いておく
(text-char-description 0)とかすると"^@"と返ってくるからこれを使えば行ける
しかしEmacsに不可能は無いな
普通の人間が考えてるような事は既に用意されている
他のエディタじゃこうはいかんだろう、知らんけど
0372名無しさん@お腹いっぱい。
垢版 |
2018/09/12(水) 14:38:59.82
ddskkがいいぞ
ime捨てれてた。
日本語入力したあとbuffer切り替えとか楽になった。
C-x b の「b」が全角で誤爆してたのが、なくなって快適。
0373名無しさん@お腹いっぱい。
垢版 |
2018/09/16(日) 15:30:13.36
少し古い環境Debian(Jessie)でビルドしてるんですが、
emacs26.1/27.0.50とも--fg-daemonで起動するとsegmentation faultで落ちます。
古くからあるバグのようですが他の環境では動いてるんでしょうか?

Warning: due to a long standing Gtk+ bug
http://bugzilla.gnome.org/show_bug.cgi?id=85715
Emacs might crash when run in daemon mode and the X11 connection is unexpectedly lost.
Using an Emacs configured with --with-x-toolkit=lucid does not have this problem.
Fatal error 11: Segmentation fault
0374名無しさん@お腹いっぱい。
垢版 |
2018/09/17(月) 16:31:23.08
>>373
動いてる

このバグってGentooのビルドシステムが寄越してくるメッセージのやつか
それによると "This is no problem if you just use one display" だって

WARN: configure
Your version of GTK+ will have problems with closing open
displays. This is no problem if you just use one display, but
if you use more than one and close one of them Emacs may crash.
See <https://bugzilla.gnome.org/show_bug.cgi?id=85715>;.
If you intend to use more than one display, then it is strongly
recommended that you compile Emacs with the Athena/Lucid or the
Motif toolkit instead.
0375名無しさん@お腹いっぱい。
垢版 |
2018/09/17(月) 16:38:10.72
リモート接続した場合にも問題が起きるみたい
起動直後いきなりsegvるわけじゃないみたいだけど

https://peace.5ch.net/test/read.cgi/unix/1429172451/80-112n
> サーバ側でemacs --daemonでemacsを起動しておいて
> remoteからsshで接続後emacsclient -cして作業し
> emacsclientを終了後sshをexitすると
> jessieにしてから抜け出せなくなりました
0376373
垢版 |
2018/09/17(月) 21:06:48.98
ありがとうございます。マルチディスプレイでもなく、必ず即死で、
私の環境依存のようなので調べてみたところ、フォント設定のところで落ちていました。
具体的にはフォントセットにフォントを追加するところらしく、
initに次のような簡単な設定だけを記述しても落ちます。
(フォントの種類は関係ないと思います)

(set-face-attribute 'default nil :family "Ricty Diminished" :height 120)
(set-fontset-font nil 'unicode (font-spec :family "Migu 1M") nil 'append)
0378373
垢版 |
2018/09/18(火) 01:42:07.74
https://www.reddit.com/r/emacs/comments/6lxf9b/question_emacsclient_and_connection_hooks/

ここに書かれているように、daemonで起動するときは
こんな風にafter-make-frame-functionsに引っかけておけばいいんですかね。

(if (display-graphic-p)
(set up your font font-size)
(add-hook 'after-make-frame-functions
(lambda (frame)
(when (display-graphic-p frame)
(with-selected-frame frame
(set up your font font-size))))))

とりあえず動いているようです。助かりました。
■ このスレッドは過去ログ倉庫に格納されています

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