Emacs23 php-mode sorunu

1 Cevap php

Ubuntu Emacs23 php-modu kullanırken bu hatayı ve benzeri hataları elde tutmak:

Debugger entered--Lisp error: (void-function php-template-if-hook)
  php-template-if-hook()
  abbrev-insert(if #("if" 0 2 (fontified t face font-lock-keyword-face)) 414 416)
  #[(G73404 funs global) "[Byte Code]"
  apply(#[(G73404 funs global "[Byte Code]"
  (lambda (&rest --cl-rest--) (apply #[... "[Byte Code]"
  expand-abbrev()
  self-insert-command(1)
  c-electric-paren(nil)
  call-interactively(c-electric-paren nil nil)

I if( yazın ve ben array( ya da biter bir şey yazdığınızda aşağıdaki hata array(, örneğin zaman is_array(,

Debugger entered--Lisp error: (void-function php-template-if-hook)
  php-template-if-hook()
  abbrev-insert(if #("if" 0 2 (fontified t face font-lock-keyword-face)) 414 416)
  #[(G73404 funs global) "[Byte code]"
  apply(#[(G73404 funs global "[Byte Code]"
  (lambda (&rest --cl-rest--) (apply #[... "[Byte Code]"
  expand-abbrev()
  self-insert-command(1)
  c-electric-paren(nil)
  call-interactively(c-electric-paren nil nil)

This error is raised even when I use the emacs starter kit. Anyone fixed a similar problem?

The php-mode.el I use is from the emacs starter kit which bundles a version of nxhtml. I tried using php-mode-1.5.0 still no success. I even tried using the latest version of nxhtml(2.2), but still the same error persisted. I had to copy and paste all the function definitions missing from mewde for it to work with relative sanity. I have to say that it does add some value though. :)

Komik bir şey, bu sorunlar benim için, ben tek bir sorun olmadan openSUSE 11.0 ve 11.1 üzerinde emacs'ın üzerinde aynı şeyler kullanan bir Ubuntu Karmic tek sorun gibi görünüyor.

Teşekkürler.

1 Cevap

Sorun şey tanımsız işlevini çağırmak için çalışıyor olmasıdır 'php-template-if-hook.

Eğer php-mode.el Eğer kullandığınız bulunan nerede bir bağlantı sağlanan eğer several var gibi görünüyor çünkü yararlı olurdu.

Sembolü 'php-template-if-hook php-mode.el on sourceforge, so you either have a different version, or there's something else in your .emacs that's causing the problem. It looks as though something is triggering an abbrev insertion that leads to 'php-template-if-hook bir parçası değildir. Yığın taşması üzerine Note: it looks like insanlar SourceForge'dan php-modu kullanıyorsanız, bu yüzden bunu bir hareket tavsiye ederim.

Hızlı google arama bulur bu php-mode.el , which defined 'php-template-if-hook olmak için:

(defun php-template-if ()
  "Insert an if statement."
  (interactive)
  (let ((start (point)))
    (insert "if ")
    (insert "(") ; +
    (when (php-template-field "condition" nil t start (point))
      (insert ") {") ; +
      (newline-and-indent)
      (setq start (point-marker))
      (insert "\n}")
      (php-indent-line-2)
      (goto-char start))))

Ancak, intertubes rasgele kod yapıştırarak / keserek sorunu çözme iyi bir uzun vadeli bir çözüm değildir.