有人知道如何在emacs中設置ELIM嗎?Emacs配置中的ELIM/garak
沒有關於添加帳戶等
當我運行
/添加賬戶
這裏來的消息
setq信息:符號的功能定義是 void:garak-read-protocol
謝謝
有人知道如何在emacs中設置ELIM嗎?Emacs配置中的ELIM/garak
沒有關於添加帳戶等
當我運行
/添加賬戶
這裏來的消息
setq信息:符號的功能定義是 void:garak-read-protocol
謝謝
這已在提交d3c2f467ebf606fbe6406b2aac783aa68aa91019中修復,但可能尚未將其發佈到發行版中。你可以嘗試從git repo中退出,或者在這個定義中使用monkeypatch:
(defun garak-read-protocol (proc)
(let ((available (mapcar 'car (elim-protocol-alist proc))))
(completing-read "protocol: " available nil t)))
女貞,梅德!
(Ununtu 9.04,GNU Emacs的23.2.1(i686的-PC-Linux的GNU的2010-06-21上jonesbook GTK +版本2.16.1))
雅ustanovil自我德:
1)u menia uge bil ustanovlen libpurple + pidgin(ver。2.5.5,some old)
2)從github的git clone elim源代碼到dir〜/ .emacs.d/elim中,並製作它。好。 「elim-client」在這裏
3)將.emacs中的鏈接添加到dir〜/ .emacs.d/elim/elisp,例如。
(添加到列表「負載路徑 「〜/ .emacs.d /琳/ elisp的」)
(負載庫 「可樂」)
4)可選。 (emacs必須用--dbus編譯)。安裝todochiku.el並把
(需要「todochiku)
然後,旮旯的Mx
命令
/添加賬戶
沒有這樣的消息作:「符號定義是無效:garak-read-protocol「
請參閱garak.el
(添加帳戶。可樂賬戶更新) ... (添加賬戶。旮旯-CMD-添加賬戶)
(defun garak-cmd-add-account (args)
(let (items user proto pass options elim errval)
(setq items (split-string args)
user (car items)
proto (cadr items)
items (cddr items))
(setq elim garak-elim-process)
(when (= (length proto) 0) (setq proto (garak-read-protocol elim)))
(when (= (length user) 0) (setq user (garak-read-username elim proto)))
(when (and (car items) (not (string-match "=" (car items))))
(setq pass (car items) items (cdr items)))
(when (= (length pass) 0) (setq pass (garak-read-password elim proto)))
;; options not supported yet:
;;(mapcar
;; (lambda (O) (setq options (nconc options (split-string "=" O)))) items)
;; (message "(elim-add-account PROC %S %S %S %S)" user proto pass nil)
(elim-add-account elim user proto pass options)
(format "/add-account %s" args)))
(defun garak-account-update (proc name id status args)
"This function handles updating the garak ui when the state of one of your
accounts changes. Typically this is as a result of elim-account-status-changed
elim-connection-state or elim-connection-progress, but any call can be handled as long as an \"account-uid\" entry is present in the ARGS alist."
(let (buffer auid where-widget point end icon-name
icon conn kids node tag proto iname alt atag aname)
(setq buffer (elim-fetch-process-data proc :blist-buffer)
auid (elim-avalue "account-uid" args)
status nil)
;; update any account conversation buffers with _our_ new status
(garak-update-account-conversations proc auid)
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
;; proceed to updating the blist ui buffer
(when (buffer-live-p buffer)
(with-current-buffer buffer
(setq where-widget (garak-ui-find-node auid :account))
;; set the conn or status data (whichever is appropriate)
(cond ((eq name 'elim-account-status-changed) (setq status args))
((eq name 'elim-connection-state ) (setq conn args))
((eq name 'elim-connection-progress ) (setq conn args)))
;; fetch any data we did not receive:
(when (not conn ) (setq conn (elim-account-connection proc auid)))
(when (not status) (setq status (elim-account-status proc auid)))
;; pick the most suitable status icon
(if (eq name 'elim-exit)
(setq icon-name ":offline")
(setq icon-name (garak-account-list-choose-icon conn status)))
;;(message "CHOSE ICON: %S" icon-name)
;; widget not found or removing an account => refresh the parent node.
;; otherwise => update node icon
(if (or (eq 'remove-account name) (not where-widget))
;; refreshing parent node:
(when (setq where-widget (garak-ui-find-node :accounts :garak-type)
point (car where-widget))
(setq node (widget-at point)
kids (garak-tree-widget-apply node :expander))
(garak-tree-widget-set node :args kids)
(when (garak-tree-widget-get node :open)
(widget-apply node :action)
(widget-apply node :action)))
;; updating node icon:
(setq point (car where-widget)
end (next-single-char-property-change point 'display)
tag (elim-avalue icon-name garak-icon-tags)
adata (elim-account-data proc auid)
proto (elim-avalue :proto adata)
aname (elim-avalue :name adata)
iname (format ":%s" proto)
atag (or (elim-avalue iname garak-icon-tags) " ?? ")
alt (format "[%-4s]%s%s" atag tag aname)
icon (tree-widget-find-image icon-name))
(let ((inhibit-read-only t) old)
(setq widget (widget-at point)
old (widget-get widget :tag))
(if (eq (cdr where-widget) 'menu-choice)
(widget-put widget :tag alt)
(widget-put widget :tag tag))
(if (and icon (tree-widget-use-image-p))
(put-text-property point end 'display icon) ;; widgets w images
(when tag
(setq end (+ (length old) point))
(save-excursion
(goto-char point)
(setq old (make-string (length old) ?.))
(when (search-forward-regexp old end t)
(if (eq (cdr where-widget) 'menu-choice)
(replace-match alt nil t)
(replace-match tag nil t))))))))))))
在這些功能中有很多電話(setq ...),我不知道 - 在哪裏搜索問題。
您應該提供有關錯誤的更多信息。例如,命令堆棧。