ORG-MODE内部的SQL-MODE字体锁定不是字体锁定

jus*_*don 5 emacs dot-emacs org-mode sql-mode emacs24

与问题相关:org-mode:本机化fontify代码块

我有截至2012年11月1日的最新组织模式和emacs版本(组织存储在org-20121105中).

我也有emacs-24附带的sql-mode.

我已经得到了一个好成绩:

;; fontify code in code blocks
(setq org-src-fontify-natively t)
Run Code Online (Sandbox Code Playgroud)

然而,在我的组织文件中,这并不能说明问题.Java,bash等都可以工作.

#+BEGIN_SRC SQL
   SELECT foo FROM bar
#+END_SRC 
Run Code Online (Sandbox Code Playgroud)

当我打开文件foobar.sql时,模式指示符说SQL [ANSI](我也尝试作为源类型),并且字体锁定工作.

提前感谢任何提示.

Tao*_*eng 8

首先,SRC块模式的名称区分大小写.它应该是sql代替SQL.

#+BEGIN_SRC sql
   SELECT foo FROM bar
#+END_SRC
Run Code Online (Sandbox Code Playgroud)

其次,sql-mode接缝的初始字体锁定不是为了突出显示SQL关键字,(至少对我而言,无论你打开还是关闭它都没有区别).因此,您需要指定要突出显示的SQL类型.如果您使用MySQL,例如:

(add-hook 'sql-mode-hook
          (lambda ()
            (sql-highlight-mysql-keywords)))
Run Code Online (Sandbox Code Playgroud)

然后重启Emacs.它现在应该工作.