2013-12-09 7 views
1

저는 Ubuntu 12.04와 GNU Emacs 23.3.1을 사용하고 있습니다.북마크 + 목록 북마크 충돌 이맥스

방금 ​​북마크 + 라이브러리 (http://www.emacswiki.org/emacs/BookmarkPlus)를 사용해 보았습니다. 해당 사이트에서 파일을 다운로드했습니다. http://www.emacswiki.org/emacs/download/bookmark%2b.el

에서 bookmarks+.el 나는 나의 ~/emacs 디렉토리에 파일을 넣어 내 ~/.emacs 시작 파일에

(setq load-path 
     (append (list nil "~/emacs") 
       load-path)) 
(require 'bookmark+) 

을 넣어. 디버그에 내가

간단하려면 .. 내 ~/.emacs에 다른 모든 것을 삭제 한 다음 지금 이맥스를 시작 말할 수 :

다음
bash$ emacs ~/.emacs & 

내가 CX 일 오후를 사용하여 하나의 북마크를 추가하고, 다음 북마크 버퍼를 가지고 CX의 RL를 입력하고 나는 follwing을 스크린 샷 얻을 :

enter image description here

지금 이맥스 충돌 할 수있는 몇 가지 방법이 있습니다 :

  • 난 그냥 몇 초를 기다릴 수
  • 내가
  • 나는 책갈피를 선택한 다음에 반환 할 수 CX B를 사용하여 버퍼를 변경하려고 할 수
  • 그것은 프레임이 회색 충돌 아무것도 그놈 TE에 반해, 발생하지 않을 때 .emacs 버퍼하고 .. 다시 b를

CX를 눌러 rminal 나는 오류 메시지가

*** glibc detected *** emacs: realloc(): invalid next size: 0x000000000228e1a0 *** 
+0

24.3에서 재현 할 수 있습니까? –

+0

내 컴퓨터에 Emacs 버전 24.3을 설치할 수 없다. 수퍼 유저 권한이 없다. 아마도 다른 사람이 이것을 테스트 할 수 있을까? –

+0

'gcc '가 설치되어 있다면 소스에서 Emacs를 빌드 할 수 있습니다. 수퍼 유저가 필요하지 않습니다. –

답변

2

다른 이맥스 빌드 시도 후 같은 문제가 (너무 중요한 순서 및 항목은 반드시 관련이없는 - 즉, 이러한 것들 중 하나 이상을 시도)하는 경우 :

  1. load-path을 업데이트하여 sexp에서 nil를 제거합니다. ~/.emacs을 디렉토리가 아닌 경우 제거하십시오. load-path은 디렉토리 이름 목록이어야합니다. 그리고 북마크 + 파일이있는 디렉토리도 포함시켜야합니다. 일반적으로 (add-to-list 'load-path "/some/directory")을 사용하여 load-path에 디렉토리를 추가합니다.

  2. 아직 테스트하지 않은 경우 테스트를 위해 북마크 파일을 제거하십시오. IOW는 0에서 시작합니다. .emacs을 비우려고 시도했습니다. 북마크없이 시작하십시오.

  3. 북마크 +를로드하지 않고 (예 : C-x r l 다음에 C-x b) 동일한 작업을 수행하면 어떻게됩니까? 예 : 바닐라 이맥스 북마크 코드 사용?

  4. 모든 바이트 컴파일 된 북마크 + 파일을 제거하여 *.el 개의 파일을 사용하므로 *.elc이 아닙니다. 그런 다음 debug-on-errort으로 설정하십시오.(그러나 이맥스는 다음 충돌하는 경우 당신은 아마. 리스프 역 추적을받지 않습니다)

  5. (당신이 충돌에서 발생할 수있는 생각이나 어떤 다른 기능) M-x debug-on-entry switch-to-buffer 시도하고 d를 사용하여 디버거를 통해 단계 (또는 생략 걱정하지 않는 부분은 c을 사용). 가장 명확성 (세부 사항)을 위해, 당신이 전달하는 함수를 정의하는 Lisp 소스 파일을 debug-on-entry으로 적재하십시오. 예를 들어, switch-to-buffer이면 최근 Emacs 빌드에서 파일은 window.el이됩니다. C-h f switch-to-buffer (또는 어떤 기능이든)로드 할 파일을 확인하십시오. load-file 또는 load-library (.el 접미사가 명시된 파일)을 사용하여 require이 아닌 파일을로드하십시오. 따라서 *.el을로드하십시오.

  6. 모든 이맥스 충돌은 이맥스 버그 (Emacs가 충돌해서는 안 됨)를 나타냅니다. 충돌로 인해 현재 디렉토리에 emacs_backtrace.txt 파일이 생성 된 경우 M-x report-emacs-bug을 사용하고 해당 파일을 버그 보고서에 포함 시키십시오.

  7. 이 문제를 디버깅하면 크래시의 원인을 좁히는 데 도움이되며 M-x report-emacs-bug을 사용하여 크래시를 재현하도록 협상 된 레시피를보고하는 것이 좋습니다.

+0

설치 한 북마크 파일이 Gnu Emacs 버전 23.3.1과 호환되지 않는 것 같습니다. –

+0

북마크 파일에서 문제가되는 북마크를 좁힐 수 있습니까? 문제가있는 것을 찾을 때까지 그들 중 1/2, 3/4, 7/8 등을 주석 처리하십시오. 책갈피 파일이 손상되었을 수 있습니다. 아니면 다른 문제가있을 수 있습니다. 나에게 북마크 파일을 메일로 보낼 수 있습니다 (원하는 경우 좁히거나 위치의 이름 등을 변경할 수 있음). 나는 한번 살펴 보겠다. 아마도 부적절하게 일부 텍스트 속성을 유지하기 때문에 손상된 파일로 의심됩니다. (연락처 정보는'bookmark + .el' 파일 헤더를 참조하십시오.) – Drew

+0

죄송합니다.'~/.emacs.bmk' 파일이 아니라 http://www.emacswiki.org/emacs/에서 복사 한 파일입니다. BookmarkPlus # toc2. '~/.emacs.bmk' 파일을 지우고 하나의 북마크를 추가했는데 문제가 여전히 남아있었습니다 .. –