void: org-save-outline-visibility

今天在mac上用org2blog发布博客的时候,遇到了这个问题:

Symbol’s function definition is void: org-save-outline-visibility

原来是emacs自动的org-mode为7.4版本,升级到7.5或者以后版本解决问题。

emacs代理设置

在Linux上,用环境变量的方式可以直接让emacs使用代理,如设置http_proxy

1
export http_proxy=xxx.xx.xx.xx:port

但是在mac上这样做就不行了。由于elisp中一般http都是使用的url package,所以可以通过url package的接口来设置代理:

1
2
(setq url-using-proxy t)
(setq url-proxy-services '(("http" . "proxyserver:port")))

getenv assignment makes pointer from integer without a cast

今天在使用getenv获取环境变量的时候遇到这个问题,代码类似于这样

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
#include <stdio.h> 

extern "C" {
   char* getenv(const char*);
}

int main(void) {
  char *value;
  value = getenv("HOME");
  printf("%s\n", value);
}

编译的时候会出现一个warning

1
2
test.c: In function `main': 
test.c:9: warning: assignment makes pointer from integer without a cast

运行的时候会出现segment fault

原来是缺少stdlib.h的问题(可是我已经申明了原型呀……)

加入stdlib.h解决问题:

1
#include <stdlib.h>

linux下开启coredump

当linux下的程序运行异常时,会在运行程序的目录下生成core dump文件。通过ulimit -c查看,结果为0则为关闭(默认值).

临时开启只要在shell中执行

1
ulimit -c unlimited

也可以在~/.profile文件中添加来默认开启core dump。