Emacs 자동완성 기능에서 이상한 현상

jongi의 이미지

우분투 10.10 사용자입니다. 이맥스는 기본 설치된 것 그대로 사용중이구요. (snopshot버전 아님)
버전은 GNU Emacs 23.1.1 입니다.

자동완성 기능을 제대로 써보려고 KLDP에 자동완성 기능을 설명해주신 primewizard님의 설정 파일을 그대로 설치했습니다.

잘 되는 듯 했는데, 실제로 사용해 보려고 하니 문제점이 생겼습니다.

첨부한 캡처파일을 보시면 아시겠지만,

ui->

위와 같이 입력한 상태에서는 자동완성 기능이 잘 동작하는데,

if (ui->

처럼 괄호가 하나 들어가면 자동완성 기능이 동작하지 않습니다.

cedet 버전 문제일까 싶어 원래 설치되어 있던 cedet-cvs 를 최신으로 받고 (설치할 때도 최신이었지만 며칠 차이가 있어서) 시도했지만 마찬가지라 cedet-1.0 버전을 설치해도 마찬가지입니다.

semantic-analyze-debug-asist를 실행해 보면, 정상작동하는 첫번째 경우에는

Cannot find symbol "" in datatype:
  struct _xml_userinfo {}
 
Semantic has found the datatype struct _xml_userinfo {}
which is derived from metatype typedef XML_USERINFO {}.
The Metatype stack is:
   typedef XML_USERINFO {}
   struct _xml_userinfo {}
 
 
Possible completions are:
  const char current_el
  const char current_id
  int depth
  int is_value
  char obuf
  class size_t obuf_pos
  class size_t obuf_sz
  int profit_detail_num
  class size_t profit_detail_offset
  class size_t profit_header_offset
  int profit_sum_num
  class size_t profit_sum_offset
 
 
Known members of _xml_userinfo:
  int depth
  int is_value
  const char current_el
  const char current_id
  int profit_sum_num
  int profit_detail_num
  class size_t obuf_sz
  class size_t obuf_pos
  char obuf
  class size_t profit_header_offset
  class size_t profit_sum_offset
  class size_t profit_detail_offset

라고 나오지만, 제대로 동작하지 않는 두번째 경우에는

Unable to find symbol ui.
 
The prefix lookup code threw the following error:
  (error "Cannot find definition for \"ui\"")
 
To debug this error you can do this:
  M-x toggle-debug-on-error RET   [ Do It ]
and then re-run the debug analyzer.
 
 
Local Scope Information:
 * Tag Class Constraint against SCOPE: nil
 * No known parents in current scope.
 * No known symbols currently in scope.
 >> Known symbols that are declared locally:
  void data
  char value
 
No known possible completions.
When Semantic cannot find a symbol, it could be because the include
path was setup incorrectly.
 
 
Include Path Summary:
 
The system include path is:
  /usr/include
  /usr/local/include/
  /usr/lib/gcc/i686-linux-gnu/4.4.5/include/
  /usr/lib/gcc/i686-linux-gnu/4.4.5/include-fixed/
  /usr/include/
 
 
Include Summary: /home/jongi/Workplace/tmp/expat_xml/wow.c
 
wow.c contains 6 includes.
   Unknown Includes:  0
   Unparsed Includes: 0
   Parsed Includes:   6
 
 No unknown includes.

라고 나옵니다.

무엇이 문제일까요?

댓글 달기

Filtered HTML

  • 텍스트에 BBCode 태그를 사용할 수 있습니다. URL은 자동으로 링크 됩니다.
  • 사용할 수 있는 HTML 태그: <p><div><span><br><a><em><strong><del><ins><b><i><u><s><pre><code><cite><blockquote><ul><ol><li><dl><dt><dd><table><tr><td><th><thead><tbody><h1><h2><h3><h4><h5><h6><img><embed><object><param><hr>
  • 다음 태그를 이용하여 소스 코드 구문 강조를 할 수 있습니다: <code>, <blockcode>, <apache>, <applescript>, <autoconf>, <awk>, <bash>, <c>, <cpp>, <css>, <diff>, <drupal5>, <drupal6>, <gdb>, <html>, <html5>, <java>, <javascript>, <ldif>, <lua>, <make>, <mysql>, <perl>, <perl6>, <php>, <pgsql>, <proftpd>, <python>, <reg>, <spec>, <ruby>. 지원하는 태그 형식: <foo>, [foo].
  • web 주소와/이메일 주소를 클릭할 수 있는 링크로 자동으로 바꿉니다.

BBCode

  • 텍스트에 BBCode 태그를 사용할 수 있습니다. URL은 자동으로 링크 됩니다.
  • 다음 태그를 이용하여 소스 코드 구문 강조를 할 수 있습니다: <code>, <blockcode>, <apache>, <applescript>, <autoconf>, <awk>, <bash>, <c>, <cpp>, <css>, <diff>, <drupal5>, <drupal6>, <gdb>, <html>, <html5>, <java>, <javascript>, <ldif>, <lua>, <make>, <mysql>, <perl>, <perl6>, <php>, <pgsql>, <proftpd>, <python>, <reg>, <spec>, <ruby>. 지원하는 태그 형식: <foo>, [foo].
  • 사용할 수 있는 HTML 태그: <p><div><span><br><a><em><strong><del><ins><b><i><u><s><pre><code><cite><blockquote><ul><ol><li><dl><dt><dd><table><tr><td><th><thead><tbody><h1><h2><h3><h4><h5><h6><img><embed><object><param>
  • web 주소와/이메일 주소를 클릭할 수 있는 링크로 자동으로 바꿉니다.

Textile

  • 다음 태그를 이용하여 소스 코드 구문 강조를 할 수 있습니다: <code>, <blockcode>, <apache>, <applescript>, <autoconf>, <awk>, <bash>, <c>, <cpp>, <css>, <diff>, <drupal5>, <drupal6>, <gdb>, <html>, <html5>, <java>, <javascript>, <ldif>, <lua>, <make>, <mysql>, <perl>, <perl6>, <php>, <pgsql>, <proftpd>, <python>, <reg>, <spec>, <ruby>. 지원하는 태그 형식: <foo>, [foo].
  • You can use Textile markup to format text.
  • 사용할 수 있는 HTML 태그: <p><div><span><br><a><em><strong><del><ins><b><i><u><s><pre><code><cite><blockquote><ul><ol><li><dl><dt><dd><table><tr><td><th><thead><tbody><h1><h2><h3><h4><h5><h6><img><embed><object><param><hr>

Markdown

  • 다음 태그를 이용하여 소스 코드 구문 강조를 할 수 있습니다: <code>, <blockcode>, <apache>, <applescript>, <autoconf>, <awk>, <bash>, <c>, <cpp>, <css>, <diff>, <drupal5>, <drupal6>, <gdb>, <html>, <html5>, <java>, <javascript>, <ldif>, <lua>, <make>, <mysql>, <perl>, <perl6>, <php>, <pgsql>, <proftpd>, <python>, <reg>, <spec>, <ruby>. 지원하는 태그 형식: <foo>, [foo].
  • Quick Tips:
    • Two or more spaces at a line's end = Line break
    • Double returns = Paragraph
    • *Single asterisks* or _single underscores_ = Emphasis
    • **Double** or __double__ = Strong
    • This is [a link](http://the.link.example.com "The optional title text")
    For complete details on the Markdown syntax, see the Markdown documentation and Markdown Extra documentation for tables, footnotes, and more.
  • web 주소와/이메일 주소를 클릭할 수 있는 링크로 자동으로 바꿉니다.
  • 사용할 수 있는 HTML 태그: <p><div><span><br><a><em><strong><del><ins><b><i><u><s><pre><code><cite><blockquote><ul><ol><li><dl><dt><dd><table><tr><td><th><thead><tbody><h1><h2><h3><h4><h5><h6><img><embed><object><param><hr>

Plain text

  • HTML 태그를 사용할 수 없습니다.
  • web 주소와/이메일 주소를 클릭할 수 있는 링크로 자동으로 바꿉니다.
  • 줄과 단락은 자동으로 분리됩니다.
댓글 첨부 파일
이 댓글에 이미지나 파일을 업로드 합니다.
파일 크기는 8 MB보다 작아야 합니다.
허용할 파일 형식: txt pdf doc xls gif jpg jpeg mp3 png rar zip.
CAPTCHA
이것은 자동으로 스팸을 올리는 것을 막기 위해서 제공됩니다.