タグ: Emacs

  • YaTeXからSumatraPDFを起動

    (setq dvi2-command "rundll32 shell32,ShellExec_RunDLL SumatraPDF -reuse-instance")

    で起動しなくなったためメモ。

    1. (パスを切っていなくても)起動していた理由は恐らくSumatraPDFが HKLM\Software\Microsoft\Windows\CurrentVersion\App Paths に登録されていたため
    2. rundll32は実行プロキシとして悪用されることもある。App Pathsにあるプログラムをパスなしで実行可能
    3. -reuse-instanceはSumatraPDFのオプション(公式ドキュメント)
    4. フルパスで指定し -reuse-instance をつければ十分である
    (setq dvi2-command "\"C:\\Program Files\\SumatraPDF\\SumatraPDF.exe\" -reuse-instance")
  • Emacs 24.5 で「作業ディレクトリ」を指定すると

    過去の記事でまとめた通り、Windows8でEmacsを起動するショートカットに「%USERPROFILE%」を設定すると、find-file (C-x C-f でファイルを開く)でUNIXで言うところのホームディレクトリからスタートできた。4/11にリリースされたEmacs24.5では以下のようになり正常に起動できないことを3台のWindows8.1で確認。

    • 作業ディレクトリをデフォルトの、「C:\Program Files\emacs\bin」などrunemacs.exe があるディレクトリにする
    • find-file のデフォルトディレクトリは別途設定(参考)

      [code](setq command-line-default-directory "~/")[/code]

    Emacs24.5 init Error
    2016.6.6追記

    initを綺麗にしたらWindows10で起動できないという事象は発生しないことを確認。

  • Emacs 24 の終了時 libgcc_s_dw2-1.dll でエラー

    特定のPCだけ Emacs 24 終了時にエラーになってしまう現象があり困っていた。イベントビューアによれば、

    libgcc_s_dw2-1.dll で障害が発生していると読める
    libgcc_s_dw2-1.dll で障害が発生していると読める

    (さらに…)

  • C/Migemo を Windows 8 にインストール (Emacs 24 に移行のため)

    休みを利用して Emacs 24 に移行してみるの巻。今は Windows バイナリを解凍するだけで良くなった。

    1. ダウンロードと解凍
    2. emacsの実行ファイルのディレクトリをPATHに追加
    3. runemacs.exe へのショートカットの作成
      • 次のようにプロパティを設定しておく。%USERPROFILE% を作業フォルダにする。
    4. ショートカットをスタートメニューに表示
      • C:\ProgramData\Microsoft\Windows\Start Menu\Programs または%USERPROFILE%\Microsoft\Windows\Start Menu\Programsにショートカットを移動またはコピー
    5. DDSKKのインストール
    6. C/Migemoのインストール:基本はここの手順が基本でコンパイルを省略すれば良い
      • 必要なファイルは C/Migemo Windows バイナリmigemo.el
      • cmigemo.exe と migemo.dll はパスの通ったディレクトリに移動
      • migemo 辞書をコピーするため C/Migemo Windows バイナリを解凍した(残りの)ファイルをフォルダごと ~/emacs.d/site-lisp/ に移動
      • migemo.el も load-path の通った ~/emacs.d/site-lisp/ に移動
      • DOS窓で動作確認をしておくとよい

        [code](setq migemo-command "cmigemo")
        (setq migemo-options ‘("-q" "–emacs" "-i" "\a"))
        (setq migemo-dictionary (expand-file-name "~/.emacs.d/site-lisp/cmigemo-default-win64/dict/utf-8/migemo-dict"))
        (setq migemo-user-dictionary nil)
        (setq migemo-regex-dictionary nil)
        (setq migemo-use-pattern-alist t)
        (setq migemo-use-frequent-pattern-alist t)
        (setq migemo-pattern-alist-length 1000)
        (setq migemo-coding-system ‘utf-8-unix)
        (load-library "migemo")
        (migemo-init)[/code]

  • Emacs 23 + migemo with Homebrew

    マスタカさんが Homebrew の Formula を書いておられたので使わせてもらいました。ありがとうございます。私の環境の場合には、インストール後 init.el に次の記述が必要でした。

    [code];; migemo
    (setq migemo-command "migemo")
    (setq migemo-options ‘("-t" "emacs"))
    (setq migemo-dictionary (expand-file-name "/usr/local/share/migemo/migemo-dict"))
    (setq migemo-user-dictionary nil)
    (setq migemo-regex-dictionary nil)
    (setenv "RUBYLIB" "/usr/loca/lib/ruby/")

    (require ‘migemo)[/code]