【发布时间】:2016-05-02 07:05:26
【问题描述】:
我有一个缓冲区,其中包含一些 lldb 输出,其中包含许多地址范围,例如[0x00007fff60489000-0x00007fff604c0000)。
给定一个地址(也是十六进制),我将如何搜索包含该地址的范围?我认为这将需要一些自定义 elisp 代码。
【问题讨论】:
标签: emacs text-search
我有一个缓冲区,其中包含一些 lldb 输出,其中包含许多地址范围,例如[0x00007fff60489000-0x00007fff604c0000)。
给定一个地址(也是十六进制),我将如何搜索包含该地址的范围?我认为这将需要一些自定义 elisp 代码。
【问题讨论】:
标签: emacs text-search
您可以为此使用calc。十六进制的语法略有不同,我不会展示如何转换它们,但你的功能的核心可以写成如下。
(require 'calc)
(defun is-between (n low high)
(and (equal "1" (calc-eval (concat n " - " low " > 0")))
(equal "1" (calc-eval (concat high " - " n " > 0")))))
(is-between "16#f0" "16#f" "16#ff")
【讨论】:
isearch-filter-predicate。