hns - 日記自動生成システム - Version 2.19.9

先月 2007年12月 来月
1
2 3 4 5 6 7 8
9 10 11 12 13 14 15
16 17 18 19 20 21 22
23 24 25 26 27 28 29
30 31
Namazu for hns による簡易全文検索
詳しくは 詳細指定/ヘルプを参照して下さい
検索式:

2007年12月08日() 旧暦 [n年日記] [更新:"2007/12/08 14:25:58"]

#1 [Emacs] 最近の query-replace を使って見た

後藤大地さんが、ZDnet で 以前に紹介していた 、Emacs 22.1 の正規表現置換を試す時が来た。 次のような行があって、この最後の 0 をそれぞれ +1 したい。
#if DEBUG_PHDR & 1 << 0
そこで M-C-% した後に
#if DEBUG_PHDR & 1 << \([0-9]+\)
#if DEBUG_PHDR & 1 << \,(+ 1 \1)
と入力したが、次のようになってしまう。
Debugger entered--Lisp error: (wrong-type-argument number-or-marker-p
#("0" 0 1 (c-in-sws t fontified t)))
+(1 #("0" 0 1 (c-in-sws t fontified t)))
(replace-quote (+ 1 (match-string 1)))
(concat "#if DEBUG_PHDR & 1 << " (replace-quote (+ 1 ...)))
eval((concat "#if DEBUG_PHDR & 1 << " (replace-quote (+ 1 ...))))
例えば最後の \1 を 3 等と書いておけば、当然置換しようとするので \1 の部分の問題 だということは明らかなのだけれど。
(c-in-sws t fontified t) 
というのが何かのおまじないらしいが、M-x describe-function しても出て来ないので、 僕の 22.1.50.2 が良くないのかな
emacs-22.1 (pkgsrc 版) で試したら
+(1 #("0" 0 1 (fontified nil)))
と言われて、少し文字は変ったが、出来ないことに変りがない。 M-x foundamental-mode と入力した後だと、元と同じ
(c-in-sws t fontified t) 
が出て来る。(emacs -q でも同じ)



最近の日記
2024年03月10日
停電 (瞬電)
2024年03月03日
the second try on bare-metal
useradd
2024年02月29日
opendkim and senmail
2024年01月24日
chat/iam 0.0.8
2024年01月21日
uselocale vs setlocale (textproc/R-readxl)
以上、1 日分です。
タイトル一覧
カテゴリ分類
Powered by hns-2.19.9, HyperNikkiSystem Project

Count.cgi (since 2000/02/05)