lua 5.1 中的函数常量表大小限制
矩形选择

写了两个 elisp 函数

Garfileo posted @ 2010年6月28日 22:17 in 业余程序猿的足迹 with tags emacs elisp , 3312 阅读

第一个:

(defun c-header (project module)
  "Insert some macro to prevent the header file included multiply"
  (interactive "sWhat's the project name? \nsWhat's the module name? ")
  (let ((p (upcase project)) (m (upcase module)))
    (insert (format "#ifndef %s_%s_HEADER\n" p m))
    (insert (format "#define %s_%s_HEADER\n\n\n\n" p m))
    (insert (format "#endif /* %s_%s_HEADER */\n" p m))
  )
  (let ((l (- (line-number-at-pos) 3)))
    (goto-line l)))

用于自动生成类似这样的 C 语言头文件代码:

#ifndef PM_POINTS_HEADER
#define PM_POINTS_HEADER



#endif /* PM_POINTS_HEADER */

第二个:

(defun gobject-macro (project object)
  "Insert some macroes about gobject"
  (interactive "sWhat's the project name? \nsWhat's the object name? ")
  (let ((P (upcase project)) 
	(O (upcase object))
	(p (downcase project))
	(o (downcase object))
	(pp (capitalize project))
	(oo (capitalize object)))
    (insert (format "#define %s_TYPE_%s (%s_%s_get_type ())\n" P O p o))
    (insert (format "#define %s_%s(object) (G_TYPE_CHECK_INSTANCE_CAST((object), %s_TYPE_%s, %s%s))\n" P O P O pp oo))
    (insert (format "#define %s_%s_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST((klass), %s_TYPE_%s, %sClass))\n" P O P O pp oo))
    (insert (format "#define %s_IS_%s(object) (G_TYPE_CHECK_INSTANCE_TYPE((object), %s_TYPE_%s))\n" P O P O))
    (insert (format "#define %s_IS_%s_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE((klass), %s_TYPE_%s))\n" P O P O))
    (insert (format "#define %s_%s_GET_CLASS(object) (G_TYPE_INSTANCE_GET_CLASS((object), %s_TYPE_%s, %s%sClass))\n" P O P O pp oo))))

用于生成类似这样的 GObject 类型宏:

#define PM_TYPE_POINTS (pm_points_get_type ())
#define PM_POINTS(object) (G_TYPE_CHECK_INSTANCE_CAST((object), PM_TYPE_POINTS, PmPoints))
#define PM_POINTS_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST((klass), PM_TYPE_POINTS, PmClass))
#define PM_IS_POINTS(object) (G_TYPE_CHECK_INSTANCE_TYPE((object), PM_TYPE_POINTS))
#define PM_IS_POINTS_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE((klass), PM_TYPE_POINTS))
#define PM_POINTS_GET_CLASS(object) (G_TYPE_INSTANCE_GET_CLASS((object), PM_TYPE_POINTS, PmPointsClass))

转载时,希望不要链接文中图片,另外请保留本文原始出处:http://garfileo.is-programmer.com

Avatar_small
迷途小XO 说:
2010年6月30日 16:42

如果用yasnippet的话可以用它的方式,和这个效果差不多的

aestik 说:
2010年7月06日 19:05

您好,我配置完MoinMoin,访问本地连接时出现这个提示
This is the root URL of moin's static files. You need to go to the script URL to use the wiki.
我发现如果我直接打开Index.html也是这个提示

Avatar_small
LiYanrui 说:
2010年7月06日 21:54

@aestik:

很久没有配置 moinmoin 了,对您的问题不熟悉,很抱歉。

建议认真阅读 moinmoin 官方提供的安装文档去配置。


登录 *


loading captcha image...
(输入验证码)
or Ctrl+Enter