小编Tre*_*son的帖子

在Tcl中的errorInfo中堆栈跟踪信息

如果在交互模式下使用Tcl,我在其中输入以下内容:

set list {1 2 3 4 5}
set sum 0
foreach el $list {
    set sum [expr $sum + $element]
}
Run Code Online (Sandbox Code Playgroud)

它会显示一条非常简洁的信息:

can't read "element": no such variable
Run Code Online (Sandbox Code Playgroud)

但是当我用的时候

puts $errorInfo
Run Code Online (Sandbox Code Playgroud)

它将显示:

can't read "element": no such variable
      while executing
"expr $sum + $element"
      ("foreach" body line 2)
      invoked from within
"foreach el $list {
      set sum [expr $sum + $element]
 }"
Run Code Online (Sandbox Code Playgroud)

这就是我真正想要的.

问题是:在非交互模式下,当我想捕获此错误然后放入errorInfo以获得堆栈跟踪时,它只会显示简洁信息.如何获得如上所述的详细堆栈跟踪?非常感谢!

编辑添加更多细节

说我有以下代码:

proc test1 {} {
    set list {1 2 3 4 5}
    set sum …
Run Code Online (Sandbox Code Playgroud)

tcl stack-trace

4
推荐指数
1
解决办法
6604
查看次数

如何从emacs中提交对bzr分支的更改?

我在emacs中进行大部分开发,并使用bzr进行版本控制.我推断这c-x v =相当于bzr diff,但我不清楚如何从emacs中提交,或者各种bzr命令如何映射到emacs键绑定.任何人都可以建议最好的方法或指向我的教程吗?

emacs bazaar

4
推荐指数
1
解决办法
232
查看次数

在SQL中存储任意(可能标记)文本的规范方法是什么?

wiki/stackoverflow /等是什么 在存储文本方面做什么?文字是否在换行符处被打破?它被分成固定长度的块吗?你如何最好地存储任意长的文本块?

sql text

3
推荐指数
1
解决办法
740
查看次数

从Emacs缓冲区中提取URL?

如何编写Emacs Lisp函数来查找HTML文件中的所有href并提取所有链接?

输入:

<html>
 <a href="http://www.stackoverflow.com" _target="_blank">StackOverFlow</a>
 <h1>Emacs Lisp</h1>
 <a href="http://news.ycombinator.com" _target="_blank">Hacker News</a>
</html>

输出:

http://www.stackoverflow.com|StackOverFlow
http://news.ycombinator.com|Hacker News

我在搜索过程中看到了多次提到的重新搜索转发功能.根据我到目前为止所读到的内容,我认为这是我需要做的.

(defun extra-urls (file)
 ...
 (setq buffer (...
 (while
        (re-search-forward "http://" nil t)
        (when (match-string 0)
...
))

elisp

3
推荐指数
1
解决办法
1042
查看次数

Emacs:仅在迷你缓冲区中禁用行截断

我在Emacs 23中使用ido模式进行文件和缓冲区切换.

如果目录中有多行文件,则以下选项允许调整迷你缓冲区的大小:

(setq resize-mini-windows t) ; grow and shrink as necessary
(setq max-mini-window-height 3) ; grow up to max of 3 lines
Run Code Online (Sandbox Code Playgroud)

但是,这仅在默认情况下未启用行截断时才起作用(全局):

(setq-default truncate-lines t) ; Truncate, do not wrap lines
Run Code Online (Sandbox Code Playgroud)

我喜欢我的主编辑窗口的这个选项,但这也覆盖了上面的功能,以显示迷你缓冲区中的多行.迷你缓冲区中的线被截断,也没有被包裹.

有没有办法为主编辑窗口启用行截断,只在迷你缓冲区中禁用它?

emacs minibuffer

3
推荐指数
1
解决办法
730
查看次数

特定于文件类型的Emacs快捷方式

有没有办法为不同的文件类型获得不同的快捷方式?
我用它F12来编译.它运行make -f.我想F12跑步

Mx org-export-as-html

当我在Org模式.
我该如何编辑.emacs文件?目前只是:

(global-set-key [f12]'编译)

谢谢,
哈曼

emacs

3
推荐指数
1
解决办法
607
查看次数

使用Windows键在Windows上的Emacs中向下翻页和向上翻页

我正在尝试学习Emacs并试图为我找到最好的键盘布局.有一件事让我烦恼.我在.emacs中添加了以下行

(global-set-key "\C-y" 'scroll-up)
(global-set-key "\M-y" 'scroll-down)
Run Code Online (Sandbox Code Playgroud)

当我按住Control并按y几次时,它会在每次按下时向下翻页y.

但是,当我按住Windows键(映射为Meta)并按y几次时,它只会在第一次按下时向上翻页,y然后所有后续按下y我都会在缓冲区中插入'y'字符.

页面可以像页面向下一样吗?我想按住Meta并继续按下y以滚动多个页面.

我在LENNART-69DE564上使用了2008-05-12的GNU Emacs 23.0.60.1(i386-mingw-nt5.1.2600)(打补丁).它是带有EmacsW32补丁的Emacs.这个Emacs有问题吗?Meta键问题?

我尝试了原始的GNU Emacs(没有修补),它可以正常工作Alt.但我的问题不是我想要在不释放任何键的情况下滚动.我释放按键y并按下它多次,但不想释放Meta按键.这里描述了同样的问题:

http://groups.google.com/group/gnu.emacs.help/browse_thread/thread/f30f4b75a8b75b10

问题不在于我改变了键映射.看起来它是EmacsW32版本中的一个错误.以下是该问题的另一种描述: 未发布的Meta/Win修饰符

windows emacs editor

2
推荐指数
1
解决办法
2559
查看次数

Linux上的C++开发Code :: Blocks,EMACS或GVIM

我不是在寻找关于C++开发的IDE建议.我已经找到了很多讨论,并尝试了EMACS,GVIM和Code :: Blocks.我比其他两个更喜欢Code :: Blocks.但看起来大多数开发人员社区都在使用EMACS或GVIM等工具.是否有一个原因?为什么Code :: Blocks使用较少?

我发现EMACS和GVIM对用户不太友好.你必须付出更多的努力来使它工作,但Code :: Blocks在这里占据优势.它易于启动和编译.或者我会错过什么?

谢谢

c++ ide vim emacs

2
推荐指数
3
解决办法
8195
查看次数

如何使Emacs的other-window命令忽略终端窗口?

Emacs做一个窗口管理员做得很好.我一直在拆分我的Emacs框架,如下所示:

+---------------------------+
|             |             |
|             |             |
|             |      B      |
|      A      |             |
|             |             |
|             |             |
|             |-------------|
|             |      C      |
+---------------------------+
Run Code Online (Sandbox Code Playgroud)

C通常是一个具有某种长时间运行过程的终端,如Web服务器或守护进程.偶尔我会移动那里重新启动守护进程,但大多数时候我只想在A和之间交换B.我该怎样才能方便?

emacs

2
推荐指数
1
解决办法
620
查看次数

什么时候|不等于|?

背景.我正在使用网表,一般来说,人们通过使用指定不同的层次结构/.但是,实际使用a /作为实例名称的一部分并不违法.

例如,X1/X2/X3/X4可能引用X4另一个名为的实例内的实例X1/X2/X3.或者它可能引用名为X3/X4在名为的实例X2内命名的实例内的实例X1.得到它了?

实际上没有"常规"字符不能用作实例名称的一部分,因此您使用不可打印的字符,或者......可能是标准0..127 ASCII字符之外的字符.

我以为我会尝试(十进制)166,因为对我来说它显示为管道:¦.

所以...我有一些C++代码使用¦层次分隔符构造路径名,所以上面的路径看起来像X1¦X2/X3¦X4.

现在GUI是用Tcl/Tk编写的,为了将其正确地翻译成人类可读的术语,我需要做类似以下的事情:

set path [getPathFromC++] ;# returns X1¦X2/X3¦X4
set humanreadable [join [split $path ¦] /]
Run Code Online (Sandbox Code Playgroud)

基本上,替换¦/(我也可以用做到这一点[string map]).

现在,问题是,¦我从C++获得的字符串与¦我在Tcl中创建的字符串不匹配.即失败:

set path [getPathFromC++] ;# returns X1¦X2/X3¦X4
string match $path [format X1%cX2/X3%cX4 166 166]
Run Code Online (Sandbox Code Playgroud)

在视觉上,两个字符串看起来相同,但字符串匹配失败.我甚至尝试使用扫描来查看我是否混淆了位值.但

set path [getPathFromC++] ;# …
Run Code Online (Sandbox Code Playgroud)

c c++ ascii tcl

1
推荐指数
1
解决办法
695
查看次数

如何在编辑python代码时加载我的.el文件

我收集了一个文件中的emacs自定义列表my-python-setup.el.我怎样才能确保emacs首先加载python-mode然后只在我编辑python文件时加载这个库?

我试过试试

(load-library "my-python-setup")
Run Code Online (Sandbox Code Playgroud)

在我的.emacs文件中,但是会为所有类型的文件加载这些自定义项.

这些自定义位于python-mode之上,auto-mode-alist当前值为("\\.py\\'" . python-mode).

python emacs

1
推荐指数
1
解决办法
205
查看次数

如何在emacs中进行适当的缩进?

我只想选择一些文本,然后按Tab键缩小选定文本的选定整个区域,缩进4个空格.

emacs

0
推荐指数
1
解决办法
1137
查看次数

如何访问列表中的元素?

我有这个清单:

("x" "y" "z")
Run Code Online (Sandbox Code Playgroud)

如何从列表中提取元素?(在这种情况下,我对列表中的第一个元素感兴趣,但我正在寻找一个通用的解决方案.)

elisp

0
推荐指数
1
解决办法
299
查看次数

标签 统计

emacs ×8

c++ ×2

elisp ×2

tcl ×2

ascii ×1

bazaar ×1

c ×1

editor ×1

ide ×1

minibuffer ×1

python ×1

sql ×1

stack-trace ×1

text ×1

vim ×1

windows ×1