我从http://emacsformacosx.com/下载了Carbon emacs 23.3.1(x86_64-apple-darwin,NS apple-appkit-1038.35).它默认使用Monaco,我想将其更改为使用Inconsolata-dz.所以我补充说:
(set-default-font "-apple-Inconsolata-dz-medium-normal-normal-*-10-*-*-*-m-0-iso10646-1")
Run Code Online (Sandbox Code Playgroud)
到我的〜/ .emacs文件.然而,在我重新启动后,它仍然是摩纳哥.它发现Option-T(或者Command-T)会打开一个字体对话框,如果我从中选择Inconsolata-dz,它就会很好用.但是,如果我重新开始,它将回到摩纳哥.所以我尝试从菜单中设置字体,然后转到自定义面并保存它,但它仍然不起作用.有趣的是,如果我做的Mx描述的字体从选项-T对话框更改字体后,它说-苹果- Inconsolata-DZ-中正常正- -10- -*-*- M-0- ISO10646-1.
所以看起来Emacs因为某些原因而忽略了这种字体.为什么会这样,我该怎么做才能让它使用这个字体?
更新:我尝试了Donkopotamus和Joost Diepenaat的推荐,虽然我最终将Times作为我的字体而不是摩纳哥,但它们也没有用.但是,如果我只使用Inconsolata(不是Inconsolata-dz),它们的效果很好.所以我想知道在他们的名字中有短划线的字体是否有问题?
Update2:为什么这个偏离主题?接近的消息说"问题[应该......]以某种方式与编程或软件开发有关"; 许多开发人员使用emacs,正确设置很重要.搜索"编程字体"的前两个条目合并为150; 所以字体配置似乎对程序员很重要.无论如何,如果它是偏离主题的,发布它的适当位置在哪里?
我正在编写一个简单的基于UDP的客户端/服务器应用程序,并在本地主机上同时对客户端/服务器进行测试,我希望发件人知道send()何时会被阻止。我正在使用Python,所以我想可以做到:
s = socket.socket(socket.AF_INET, socket.SOCK_DGRAM)
s.setblocking(0)
s.connect(('127.0.0.1', 12345))
data = "x"
for i in range(0, 9000): # More than about 9000 gives an error
data += x
while True:
try:
s.send(data)
except socket.error as e:
print "Would have blocked"
# Do something useful here
Run Code Online (Sandbox Code Playgroud)
我想测试我的错误处理代码是否有效,所以我想让send()成为阻塞对象。问题是,我不知道该怎么做。我试过有:
BUFFSIZE = 2000
input = socket.socket(socket.AF_INET, socket.SOCK_DGRAM)
input.setsockopt(socket.SOL_SOCKET, socket.SO_RCVBUF, BUFFSIZE)
input.bind(('127.0.0.1', 12345))
while True:
data = input.recv(BUFFSIZE)
time.sleep(100)
Run Code Online (Sandbox Code Playgroud)
在睡眠100秒和设置一个小的接收缓冲区之间,我希望缓冲区已满。但是,它永远不会。那么,如何获取接收缓冲区来填充发送块呢?
我正在使用Mac OS Lion和Macports版本的2.6。