Life is very short

2014-12-16

Improve replacement commands

| 18:13

Emacsデフォルトでは置換時すべて小文字で入力した場合, 大文字/小文字を

無視して検索して置換します. このとき元の文字列の大文字/小文字の

情報は保持されますが, emacs-anzuではその保持されているはずの

情報を無視して置換後の文字列をすべて小文字で表示していました.


今回この問題を修正し, 実際に置換される文字列を表示するようにしました.

詳しくは下記の gifを見てください.


Before

f:id:syohex:20141216175923g:image


After

f:id:syohex:20141216180011g:image


おわりに

問題があれば github issuesまでお願いします.

https://github.com/syohex/emacs-anzu/issues

2014-11-16

Perl 5.10以前では, リファレンス型はSVt_IVでなく SVt_RV

| 11:41

https://github.com/tokuhirom/Linux-Socket-Accept4/pull/6


ハマったのでメモ.


Perl 5.11以降では, SVt_RV(リファレンス型)は SVt_IV(整数型)のエイリアス(同値)

なのですが, それより前では異なる値です. リファレンス型の判定に SVt_IVしか

使っていなかったので, Perl 5.10.1ではその条件にマッチせず, 予期せぬ挙動と

なっていました. if文だと SvROKを使えばこんなことを気にせずいけるのですが,

今回は switch文だったので, ハマりました.


switch文の場合は同値の caseは書けないので, ifdefによる分岐も必要になります.


参考

http://perldoc.perl.org/perlapi.html#SV-Flags

新しい perldoc perlapiには下記の通り同値であることが示されています.

SVt_RV is an alias for SVt_IV, which exists for backward compatibility