by shigemk2

当面は技術的なことしか書かない

Emacs

search-forward

search-forward search-forward string &optional limit noerror repeat バッファとかで、M-: (search-forward "検索したい文字列") などとして探してみる なかったら search-forward エラーが返却される。

defadvice

defadvice アドバイス(advice)機能により、関数の既存の定義に追加

defvar setq defcustom

defvar setq defcustom defvar 初期化 + バイトコンパイラ黙らせ setq 代入 ぶっちゃけ慣れないうちはsetqでいいと思う (defvar foo 1) ; 変数fooを1に初期化する (setq bar 10) ; 変数barに10を代入する defcustom ユーザーカスタマイズ変数宣言

url-http-create-request Multibyte text in HTTP request

25.3.2 で死ぬやつ。url-retrieveで日本語データが入ったJSONをPOSTすると死ぬ。 url-http-create-request: Multibyte text in HTTP request (defun url-http-post (url args) "Send ARGS to URL as a POST request." (let ( (response-string nil) (url-req…

Multibyte text in HTTP request

url-http-create-request Multibyte text in HTTP request Emacs25からurl-http-create-requestするとき、マルチバイト文字列データをリクエストしようとするとエラーになる ** The URL package now insists on sending only unibyte strings to server This…

defcustom

decustom defcustom Macro: Declare SYMBOL as a customizable variable. SYMBOL is the variable name; it should not be quoted. STANDARD is an expression specifying the variable’s standard value. It should not be quoted. It is evaluated once by…

hatena-blog-mode edit test

;; This buffer is for text that is not saved, and for Lisp evaluation. ;; To create a file, visit it with and enter text in its buffer.

Emacs Coding-Systems

Emacs Coding-Systems suffixは、いろいろあるっぽい ...-unix ...-dos ...-mac https://www.gnu.org/software/emacs/manual/html_node/emacs/Coding-Systems.html

Emacs let*

Emacs let* letとlet*はちがうよって話。 (setq x 1) ;;; letは同時にバインドされるので外側のxを参照する (let ((x (+ x 3)) (y (+ x 2))) ; この時点でのxは1 (+ x y)) ; => 7 ;;; let*は直前のローカル変数代入の影響を受ける (let* ((x (+ x 3)) (y (+ …

memo: GET website including non-ASCII in request.el

概要 request.elで、日本語とかのASCIIじゃない文字列が混ざったページに対してGETすると、curlの結果が文字化けする。 (require 'request) (request "http://rubikitch.com/" :parser 'buffer-string :complete (function* (lambda (&key data &allow-other…

set-process-coding-system

set-process-coding-system サブプロセスに対して送るencodeの指定 (set-process-coding-system PROCESS &optional DECODING ENCODING) Set coding systems of PROCESS to DECODING and ENCODING. DECODING will be used to decode subprocess output and EN…

request.el parser

request.el parser https://tkf.github.io/emacs-request/manual.html request.elのparserについて。 レスポンスボディをどうやってパースするかを決める。 json-readを使う場合は、JSONのデータ構造を決めることができる。この例の場合だと、json-readした…

read-string

read-string read-string prompt &optional initial ミニバッファから文字列を読んで、それを返す

y-or-n-p

y-or-n-p ユーザーに問い合わせ、エコー領域で入力を待ち、yを打てばtを、nを打てばnilを返す。spcをy delをnとみなす。 それ以外の応答だとyかnを入力しろと怒られる。

evaluate variable in alist

evaluate variable in alist alistの中で変数を展開したい!でもこうなっちゃう! (setq data "テストです") "テストです" (setq list '(("a" . data))) (("a" . data)) -- (("a" . "テストです")) にしたい バッククオートとカンマの合わせ技でなんとかする…

manual request.el post

manual request.el post マルチバイト文字列データのJSON POST (request-deftest request-post-multibytes () (request-testing-with-response-slots (request-testing-sync "report/some-path" :type "POST" :data '(("鍵" . "値")) :parser (lambda () (le…

with-temp-file

with-temp-file 一時的なバッファをカレントバッファとして フォームbodyを評価する。 そして最後にバッファの内容をファイルfileに書き出す サンプル (setq bufpar "test") (with-temp-file "test.ast" (insert (format "%s" bufpar)))

memo string-to-multibyte

memo string-to-multibyte このあたりにunicodeを文字列に変換する処理はなかった string-to-multibyte string-to-unibyte https://www.gnu.org/software/emacs/manual/html_node/elisp/Converting-Representations.html

memo prin1 princ print

memo prin1 princ print print関数が複数ある ;; (prin1 文字列) -- error (prin1 "文字列") "文字列""文字列" (prin1 '"文字列") "文字列""文字列" (princ "文字列") 文字列"文字列" (princ '"文字列") 文字列"文字列" (print '文字列) 文字列 文字列

keymap

keymap キーを再定義するためにキーマップを変更。 http://flex.phys.tohoku.ac.jp/texi/eljman/eljman_130.html keymapp: オブジェクトがkeymapかどうか make-sparse-keymap: 新たに空の疎なキーマップを作成しそれを返す Alist of keymaps to use for minor…

split-spring

split-spring 文字列をリストに分割する。デフォルトの区切り文字は空白。 (setq list (split-string "a b c")) ("a" "b" "c") (setq list (split-string "a b c" " ")) ("a" "b" "c") (setq list (split-string "a,b,c" ",")) ("a" "b" "c") https://www.em…

memo Emacs set-buffer-multibyte

memo Emacs set-buffer-multibyte set-buffer-multibyteでnilにすると、以下のプログラムではバッファの文字列がそのまま表示されない ({R{R といった文字列になった) (set-buffer-multibyte t) などにするとバッファはマルチバイトになる (defun hoge() (sw…

memo emacs insert

memo emacs insert (insert "hoge") かんじでバッファに文字列/文字を入れる inesrtする文字列がマルチバイトだとユニコードに変換される カレントバッファがユニコードだったらマルチバイト文字列はユニコードに変換される insert is a built-in function i…

memo: emacs lisp request

memo: emacs lisp request url-retrieveとcurlのバックエンドに対応したネットワークアクセスを行うライブラリ curlが入っていたら使う 使わなかったらEmacsビルトインのurl-retrieveにフォールバック 紹介 オリジナル MELPA

emacs-helm 2.8.7

emacs-helm 2.8.7 新しいコマンドの追加とか。 New command to toggle helm buffer full-frame. Allow yanking marked and choosing separator from main action, the third action "append" have been removed. Possibility to create new kmacro from mark…

ファイナルベント Emacs 2017

去年のEmacsハック + アルファ Emacsの本体でsh-modeでzshがデフォルトで有効にする修正を12/20日にコミットして、去年の暮れにマージされました。 暮れの暮れギリギリで今年のアドベントに入れていいのかわからなかったのですが、一応記載しておきます。 sh…

emacs-helm 2.8.6

emacs-helm 2.8.6 helm-window-show-buffers-function helm-window-prefer-horizontal-split helm-eshell-prompts

cask pr 392

cask pr 392 忘れそうになるから。。。 何ヶ月も前に出したプルリクが時を越えてコメント返って来るの、マジでわけわからないからプルリク出したときにちゃんと備忘しとかないといけない

fcitx.el

fcitx.el ibusに切り替えた。

typo.el

結局なんのemacs lispかよくわからなかった… inserted LEFT SINGLE QUOTATION MARK とか出てくるし、typoをいい感じでチェックしてくれるアレじゃなかったんだ。