Source of Nothingness - xyzzy lisp : global-mark を popup

* xyzzy lisp : global-markpopup

とりあえず基礎部分。
もう少し作りこみたいところ。

(in-package "editor")
(export '(popup-global-mark-list set-global-mark))

(defun popup-global-mark-list ()
  (interactive)
  (let* ((l (mapcar #'(lambda (x)
                       (list (car x) (format nil "<~A>: ~D: ~A" (buffer-name (second x)) (third x) (fourth x))))
                   (global-mark-make-list)))
         (sl (mapcar #'(lambda (x) (second x)) l)))
    (popup-list sl #'(lambda (x)
                       (setq *last-global-mark* (car (nth (position x sl :test #'string=) l)))
                       (global-mark-goto *last-global-mark*)
                       (refresh-screen))) ;
    t))

(defun set-global-mark ()
  (interactive)
  (global-mark-add)
  (message "Gmark set"))

(define-key ctl-x-map '(#\g #\j) 'popup-global-mark-list)
(define-key ctl-x-map '(#\g #\SPC) 'set-global-mark)

update : 2006-03-23 (Thu) 00:00:00