Source of Nothingness - change_log

change log

@@@ 1197864031.txt @@@
xyzzy : *do-completion の動作がおかしいという話 2
なるほど。
 (*do-completion "quit" :list nil '("quit-recursive-edit" "quit-and-back" "quit-char" "quit" "quit"))
 =>:not-unique
 =>("quit" "quit" "quit-char" "quit-and-back" "quit-recursive-edit")
 =>nil
こうなることを考えると do-completion-internal で対応するのがよさそう。

そして、めも。
If it is accessible as an internal symbol via use-package, it is first imported into package, then exported. (The symbol is then present in the package whether or not package continues to use the package through which the symbol was originally inherited.) 
CLHS: Function EXPORT: http://www.lisp.org/HyperSpec/Body/fun_export.html
2007-12-18 (Tue) 00:05:01
@@@ 1197864031.txt @@@
xyzzy : *do-completion の動作がおかしいという話 2
なるほど。
 (*do-completion "quit" :list nil '("quit-recursive-edit" "quit-and-back" "quit-char" "quit" "quit"))
 =>:not-unique
 =>("quit" "quit" "quit-char" "quit-and-back" "quit-recursive-edit")
 =>nil
こうなることを考えると do-completion-internal で対応するのがよさそう。
2007-12-18 (Tue) 00:04:15
@@@ 1197864031.txt @@@
xyzzy : *do-completion の動作がおかしいという話 2
なるほど。
 (*do-completion "quit" :list nil '("quit-recursive-edit" "quit-and-back" "quit-char" "quit" "quit"))
 =>:not-unique
 =>("quit" "quit" "quit-char" "quit-and-back" "quit-recursive-edit")
 =>nil
こうなることを考えると do-completion-internal で対応するのがよさそう。

それはともかく ~/.xyzzy に追加しておく。
 (unexport 'ed::quit "editor")
 (unexport 'ed::plain-error "editor")
 (unexport 'ed::message  "editor")
2007-12-17 (Mon) 23:52:08
@@@ 1196394719.txt @@@
xyzzy : gtags.l
たかだか3つの関数のためにemacs.lに依存するのはもったいないと思ったので、てきとーに実装してみました。
GPLなんですしemacs.lからもってくるのもありかと。
マイナーモードにする関数はed::toggle-modeを使いましょう。それでelisp::prefix-numeric-valueは不要になります。
- elisp::count-lines
- elisp::expand-file-name
- elisp::prefix-numeric-value

 (defun count-line(beg end)
   (if (eql beg end)
       0
     (1+ (- (save-excursion
              (goto-char end)
              (when (eql (preceding-char) #\LFD) (backward-char))
              (current-line-number))
            (save-excursion
              (goto-char beg)
              (current-line-number))))))
 
 (defun expand-file-name (file &optional (dir (default-directory)))
   (merge-pathnames file dir))

----
bulbです。
ありがとうございます。
前に途中までやろうとしていて止まっていたなぁ…

マージしておきます。

2007-12-01 (Sat) 15:57:49
@@@ 1196394719.txt @@@
xyzzy : gtags.l
たかだか3つの関数のためにemacs.lに依存するのはもったいないと思ったので、てきとーに実装してみました。
GPLなんですしemacs.lからもってくるのもありかと。
マイナーモードにする関数はed::toggle-modeを使いましょう。それでelisp::prefix-numeric-valueは不要になります。
- elisp::count-lines
- elisp::expand-file-name
- elisp::prefix-numeric-value

 (defun count-line(beg end)
   (if (eql beg end)
       0
     (1+ (- (save-excursion
              (goto-char end)
              (when (eql (preceding-char) #\LFD) (backward-char))
              (current-line-number))
            (save-excursion
              (goto-char beg)
              (current-line-number))))))
 
 (defun expand-file-name (file &optional (dir (default-directory)))
   (merge-pathnames file dir))
2007-11-30 (Fri) 16:06:51
@@@ 1155828305.txt @@@
xyzzy lisp : へなちょこ補完その3
絞込み
----
 (defun dmc-instance-name ()
   (save-excursion
     (let ((start (progn (skip-syntax-spec-backward "w_") (point))))
       (cond
        ((char= #\. (char-before start))
         (buffer-substring (progn (forward-char -1) (skip-syntax-spec-backward "w_") (point)) (1- start)))
        ((and (char= #\> (char-before start))
              (char= #\- (char-before (1- start))))
         (buffer-substring (progn (forward-char -2) (skip-syntax-spec-backward "w_") (point)) (- start 2)))
        (t
         nil)))))
 
 (defun dmc-find-all-candidates (name abbrev case-fold match-table start matches)
   (let ((regexp (compile-regexp (concat (regexp-quote name) "\\(\\.\\|->\\)")))
         (f (if *dabbrevs-case-fold* #'string-equal #'string=)))
     (save-excursion
       (goto-char (point-min))
       (while (scan-buffer regexp :case-fold case-fold
                           :tail t :left-bound :symbol :regexp t)
         (let ((from (point))
               (text (buffer-substring (point) (save-excursion (skip-syntax-spec-forward "w_") (point)))))
           (unless (or (zerop (length text))
                       (gethash text match-table)
                       (> (length abbrev) (length text))
                       (and abbrev (not (funcall f abbrev text :end2 (length abbrev)))))
             (setf (gethash text match-table) from)
             (push text matches))))
       matches)))
 
 (defun dmc-popup ()
   (interactive "*")
   (let ((end (point))
         (start (save-excursion (skip-syntax-spec-backward "w_") (point)))
         (name (dmc-instance-name)))
     (unless name
       (return-from dmc-popup nil))
     (let ((match-table (make-hash-table :test (if *dabbrevs-case-fold* #'equalp #'equal)))
           matches abbrev)
       (when (/= start end)
         (setq abbrev (buffer-substring start end))
         (setf (gethash abbrev match-table) start))
       (setq matches (dmc-find-all-candidates name abbrev *dabbrevs-case-fold* match-table start nil))
       (unless *dabbrev-popup-this-buffer-only*
         (let ((curbuf (selected-buffer))
               (case-fold *dabbrevs-case-fold*)
               (syntax-table (syntax-table)))
           (with-set-buffer
             (with-interval-message (300)
               (save-excursion
                 (dolist (buffer (buffer-list))
                   (unless (eq buffer curbuf)
                     (message "Searching (~A)..." (buffer-name buffer))
                     (set-buffer buffer)
                     (save-excursion
                       (let ((osyntax-table (syntax-table)))
                         (unwind-protect
                             (progn
                               (use-syntax-table syntax-table nil t)
                               (setq matches (dmc-find-all-candidates
                                              name abbrev case-fold match-table nil matches)))
                           (use-syntax-table osyntax-table nil t))))))))))
         (clear-message))
       (if matches
           (popup-completion-list-loop (sort matches #'string-lessp) start end)
         (plain-error "ないよん")))))
 
 (defun popup-list-loop-2 (list callback &optional point with-insert (base ""))
   (let ((add "") (matched list) matched1 selected input str)
     (loop
       (if with-insert (insert add))
       (popup-list matched (lambda (x) (setq selected x)) point) ; #\ESC
       (refresh-screen)
       (while (not (or selected (setq input (read-char-no-hang *keyboard*))))
         (do-events))
       (if with-insert (delete-region (- (point) (length add)) (point)))
       (cond (selected
              (funcall callback selected)
              (if (eq input #\SPC) (unread-char input))
              (return t))
 ;           ((eq input #\ESC) (return nil))
             ((eq input #\C-h) (unless (zerop (length add)) (setq add (substring add 0 -1))))
             ((graphic-char-p input) (setq add (format nil "~A~C" add input)))
             (t (unread-char input) (return nil)))
       (setq str (concat base add))
       (setq matched1 (remove-if (lambda (x)
                                   (or (< (length x) (length str))
                                       (string/= x str :end1 (length str))))
                                 list))
       (if (endp matched1) (if with-insert
                               (progn (funcall callback str) (return t))
                             (setq add (substring add 0 -1)))
         (setq matched matched1)))))
 
 (defun popup-completion-list-loop (list from &optional (to from))
   (let ((buffer (selected-buffer))
         (point (point)))
     (popup-list-loop-2 list #'(lambda (string)
                                 (when (and (eq buffer (selected-buffer))
                                            (= point (point)))
                                   (let ((l (- to from)))
                                     (when (and (>= (length string) l)
                                                (save-excursion
                                                  (goto-char from)
                                                  (looking-for (subseq string 0 l))))
                                       (incf from l)
                                       (setq string (subseq string l))))
                                   (delete-region from to)
                                   (insert string)
                                   (refresh-screen)))
                        from
                        t
                        (buffer-substring from to))
     ))
2007-11-22 (Thu) 13:10:29
@@@ 1143124229.txt @@@
xyzzy lisp : global-mark を popup
とりあえず基礎部分。
もう少し作りこみたいところ。
----
 (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)
2007-11-22 (Thu) 13:06:04
@@@ 1155828305.txt @@@
xyzzy lisp : へなちょこ補完その3
絞込み
----
 (defun dmc-instance-name ()
   (save-excursion
     (let ((start (progn (skip-syntax-spec-backward "w_") (point))))
       (cond
        ((char= #\. (char-before start))
         (buffer-substring (progn (forward-char -1) (skip-syntax-spec-backward "w_") (point)) (1- start)))
        ((and (char= #\> (char-before start))
              (char= #\- (char-before (1- start))))
         (buffer-substring (progn (forward-char -2) (skip-syntax-spec-backward "w_") (point)) (- start 2)))
        (t
         nil)))))
 
 (defun dmc-find-all-candidates (name abbrev case-fold match-table start matches)
   (let ((regexp (compile-regexp (concat (regexp-quote name) "\\(\\.\\|->\\)")))
         (f (if *dabbrevs-case-fold* #'string-equal #'string=)))
     (save-excursion
       (goto-char (point-min))
       (while (scan-buffer regexp :case-fold case-fold
                           :tail t :left-bound :symbol :regexp t)
         (let ((from (point))
               (text (buffer-substring (point) (save-excursion (skip-syntax-spec-forward "w_") (point)))))
           (unless (or (zerop (length text))
                       (gethash text match-table)
                       (> (length abbrev) (length text))
                       (and abbrev (not (funcall f abbrev text :end2 (length abbrev)))))
             (setf (gethash text match-table) from)
             (push text matches))))
       matches)))
 
 (defun dmc-popup ()
   (interactive "*")
   (let ((end (point))
         (start (save-excursion (skip-syntax-spec-backward "w_") (point)))
         (name (dmc-instance-name)))
     (unless name
       (return-from dmc-popup nil))
     (let ((match-table (make-hash-table :test (if *dabbrevs-case-fold* #'equalp #'equal)))
           matches abbrev)
       (when (/= start end)
         (setq abbrev (buffer-substring start end))
         (setf (gethash abbrev match-table) start))
       (setq matches (dmc-find-all-candidates name abbrev *dabbrevs-case-fold* match-table start nil))
       (unless *dabbrev-popup-this-buffer-only*
         (let ((curbuf (selected-buffer))
               (case-fold *dabbrevs-case-fold*)
               (syntax-table (syntax-table)))
           (with-set-buffer
             (with-interval-message (300)
               (save-excursion
                 (dolist (buffer (buffer-list))
                   (unless (eq buffer curbuf)
                     (message "Searching (~A)..." (buffer-name buffer))
                     (set-buffer buffer)
                     (save-excursion
                       (let ((osyntax-table (syntax-table)))
                         (unwind-protect
                             (progn
                               (use-syntax-table syntax-table nil t)
                               (setq matches (dmc-find-all-candidates
                                              name abbrev case-fold match-table nil matches)))
                           (use-syntax-table osyntax-table nil t))))))))))
         (clear-message))
       (if matches
           (popup-completion-list-loop (sort matches #'string-lessp) start end)
         (plain-error "ないよん")))))
 
 (defun popup-list-loop-2 (list callback &optional point with-insert (base ""))
   (let ((add "") (matched list) matched1 selected input str)
     (loop
       (if with-insert (insert add))
       (popup-list matched (lambda (x) (setq selected x)) point) ; #\ESC
       (refresh-screen)
       (while (not (or selected (setq input (read-char-no-hang *keyboard*))))
         (do-events))
       (if with-insert (delete-region (- (point) (length add)) (point)))
       (cond (selected
              (funcall callback selected)
              (if (eq input #\SPC) (unread-char input))
              (return t))
 ;           ((eq input #\ESC) (return nil))
             ((eq input #\C-h) (unless (zerop (length add)) (setq add (substring add 0 -1))))
             ((graphic-char-p input) (setq add (format nil "~A~C" add input)))
             (t (unread-char input) (return nil)))
       (setq str (concat base add))
       (setq matched1 (remove-if (lambda (x)
                                   (or (< (length x) (length str))
                                       (string/= x str :end1 (length str))))
                                 list))
       (if (endp matched1) (if with-insert
                               (progn (funcall callback str) (return t))
                             (setq add (substring add 0 -1)))
         (setq matched matched1)))))
 
 (defun popup-completion-list-loop (list from &optional (to from))
   (let ((buffer (selected-buffer))
         (point (point)))
     (popup-list-loop-2 list #'(lambda (string)
                                 (when (and (eq buffer (selected-buffer))
                                            (= point (point)))
                                   (let ((l (- to from)))
                                     (when (and (>= (length string) l)
                                                (save-excursion
                                                  (goto-char from)
                                                  (looking-for (subseq string 0 l))))
                                       (incf from l)
                                       (setq string (subseq string l))))
                                   (delete-region from to)
                                   (insert string)
                                   (refresh-screen)))
                        from
                        t
                        (buffer-substring from to))
     ))
2007-11-21 (Wed) 20:10:14
@@@ 1143124229.txt @@@
xyzzy lisp : global-mark を popup
とりあえず基礎部分。
もう少し作りこみたいところ。
----
 (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)
2007-11-21 (Wed) 20:01:10
@@@ 1194839330.txt @@@
xyzzy lisp: lyrical-mode
http://raido.sakura.ne.jp/southly/xyzzy/site-lisp/lyrical-mode.lzh

[[リリカル☆Lisp ver1.1公開:http://blog.bugyo.tk/lyrical/2007/11/lispver11.html]]参照。

やっつけ仕事ですみません (^^;
lisp-modeの流用なのでインデントがまずいなーって感じです。後で何とかしておきます。

やっていることは
・エディットコントロールを見つける。
・SET_TEXTでS式を貼り付ける。
・VK_RETURNを送る。
・5秒後(*lyrical-interval*)にWM_LBUTTONUPを送る。
というだけです。
フリーモードで使うことしか考えていなかったので、もしかすると4つ目が邪魔になる場合があるかもです。
2007-11-15 (Thu) 05:51:42
@@@ 1194839330.txt @@@
xyzzy lisp: lyrical-mode
http://raido.sakura.ne.jp/southly/xyzzy/site-lisp/lyrical-mode.lzh

[[リリカル☆Lisp ver1.1公開:http://blog.bugyo.tk/lyrical/2007/11/lispver11.html]]参照。

やっつけ仕事ですみません (^^;
lisp-modeの流用なのでインデントがまずいなーって感じなので、後で何とかしておきます。

やっていることは
・エディットコントロールを見つける。
・SET_TEXTでS式を貼り付ける。
・VK_RETURNを送る。
・5秒後(*lyrical-interval*)にWM_LBUTTONUPを送る。
というだけです。
フリーモードで使うことしか考えていなかったので、もしかすると4つ目が邪魔になる場合があるかもです。
2007-11-12 (Mon) 12:49:18
@@@ 1193687985.txt @@@
xyzzy topic : 第六回xyzzyオフ会
http://mixi.jp/view_event.pl?id=24523276&comm_id=30848
http://raido.sakura.ne.jp/southly/xyzzy/xyzzy-off6.png
第六回オフ会です。 

「お酒を飲みつつお話しましょう」といった趣旨で行います。 
集合場所はJR上野駅中央改札前辺り(目印として「入門xyzzy」を持って立ってます) 
集合時刻は18:00 
開催場所は「一の倉 上野店」です。 

参加表明してくださった方には募集期限である11/13にNANRIの連絡先をお送りします。 
参加表明・質問・その他はNANRIまで メール or mixi などでどうぞ。
2007-10-30 (Tue) 06:44:40
@@@ 1191902133.txt @@@
2007-10-09 : pdftool
http://homepage3.nifty.com/e-papy/pdftool/index.html
 (defvar *pdftool-dll-path* nil)
 (unless *pdftool-dll-path*
   (setq *pdftool-dll-path* (merge-pathnames "pdftool.dll" (si:system-root))))
 
 (c:define-dll-entry c:int *get-pdf-text ((c:char *) (c:char *))
   *pdftool-dll-path* "GetPDFText")
 
 (c:define-dll-entry c:int *write-pdf-txt ((c:char *) (c:char *))
   *pdftool-dll-path* "WritePDFText")
 
 (defun get-pdf-text(pdf txt)
   (if (path-equal pdf txt)
       (error "入出力のファイルが一致")
     (case (*get-pdf-text (si:make-string-chunk pdf)
                          (si:make-string-chunk txt))
       (-1 (error "失敗"))
       (-2 (error "PDFファイルが暗号化されてる"))
       (t t))))
 
 (defun write-pdf-txt(txt pdf)
   (if (path-equal txt pdf)
       (error "入出力のファイルが一致")
     (case (*write-pdf-txt (si:make-string-chunk txt)
                           (si:make-string-chunk pdf))
       (-1 (error "失敗"))
       (t t))))
2007-10-09 (Tue) 12:58:05
@@@ 1155828305.txt @@@
xyzzy lisp : へなちょこ補完その3
絞込み
----
 (defun dmc-instance-name ()
   (save-excursion
     (let ((start (progn (skip-syntax-spec-backward "w_") (point))))
       (cond
        ((char= #\. (char-before start))
         (buffer-substring (progn (forward-char -1) (skip-syntax-spec-backward "w_") (point)) (1- start)))
        ((and (char= #\> (char-before start))
              (char= #\- (char-before (1- start))))
         (buffer-substring (progn (forward-char -2) (skip-syntax-spec-backward "w_") (point)) (- start 2)))
        (t
         nil)))))
 
 (defun dmc-find-all-candidates (name abbrev case-fold match-table start matches)
   (let ((regexp (compile-regexp (concat (regexp-quote name) "\\(\\.\\|->\\)")))
         (f (if *dabbrevs-case-fold* #'string-equal #'string=)))
     (save-excursion
       (goto-char (point-min))
       (while (scan-buffer regexp :case-fold case-fold
                           :tail t :left-bound :symbol :regexp t)
         (let ((from (point))
               (text (buffer-substring (point) (save-excursion (skip-syntax-spec-forward "w_") (point)))))
           (unless (or (zerop (length text))
                       (gethash text match-table)
                       (> (length abbrev) (length text))
                       (and abbrev (not (funcall f abbrev text :end2 (length abbrev)))))
             (setf (gethash text match-table) from)
             (push text matches))))
       matches)))
 
 (defun dmc-popup ()
   (interactive "*")
   (let ((end (point))
         (start (save-excursion (skip-syntax-spec-backward "w_") (point)))
         (name (dmc-instance-name)))
     (unless name
       (return-from dmc-popup nil))
     (let ((match-table (make-hash-table :test (if *dabbrevs-case-fold* #'equalp #'equal)))
           matches abbrev)
       (when (/= start end)
         (setq abbrev (buffer-substring start end))
         (setf (gethash abbrev match-table) start))
       (setq matches (dmc-find-all-candidates name abbrev *dabbrevs-case-fold* match-table start nil))
       (unless *dabbrev-popup-this-buffer-only*
         (let ((curbuf (selected-buffer))
               (case-fold *dabbrevs-case-fold*)
               (syntax-table (syntax-table)))
           (with-set-buffer
             (with-interval-message (300)
               (save-excursion
                 (dolist (buffer (buffer-list))
                   (unless (eq buffer curbuf)
                     (message "Searching (~A)..." (buffer-name buffer))
                     (set-buffer buffer)
                     (save-excursion
                       (let ((osyntax-table (syntax-table)))
                         (unwind-protect
                             (progn
                               (use-syntax-table syntax-table nil t)
                               (setq matches (dmc-find-all-candidates
                                              name abbrev case-fold match-table nil matches)))
                           (use-syntax-table osyntax-table nil t))))))))))
         (clear-message))
       (if matches
           (popup-completion-list-loop (sort matches #'string-lessp) start end)
         (plain-error "ないよん")))))
 
 (defun popup-list-loop-2 (list callback &optional point with-insert (base ""))
   (let ((add "") (matched list) matched1 selected input str)
     (loop
       (if with-insert (insert add))
       (popup-list matched (lambda (x) (setq selected x)) point) ; #\ESC
       (refresh-screen)
       (while (not (or selected (setq input (read-char-no-hang *keyboard*))))
         (do-events))
       (if with-insert (delete-region (- (point) (length add)) (point)))
       (cond (selected
              (funcall callback selected)
              (if (eq input #\SPC) (unread-char input))
              (return t))
 ;           ((eq input #\ESC) (return nil))
             ((eq input #\C-h) (unless (zerop (length add)) (setq add (substring add 0 -1))))
             ((graphic-char-p input) (setq add (format nil "~A~C" add input)))
             (t (unread-char input) (return nil)))
       (setq str (concat base add))
       (setq matched1 (remove-if (lambda (x)
                                   (or (< (length x) (length str))
                                       (string/= x str :end1 (length str))))
                                 list))
       (if (endp matched1) (if with-insert
                               (progn (funcall callback str) (return t))
                             (setq add (substring add 0 -1)))
         (setq matched matched1)))))
 
 (defun popup-completion-list-loop (list from &optional (to from))
   (let ((buffer (selected-buffer))
         (point (point)))
     (popup-list-loop-2 list #'(lambda (string)
                                 (when (and (eq buffer (selected-buffer))
                                            (= point (point)))
                                   (let ((l (- to from)))
                                     (when (and (>= (length string) l)
                                                (save-excursion
                                                  (goto-char from)
                                                  (looking-for (subseq string 0 l))))
                                       (incf from l)
                                       (setq string (subseq string l))))
                                   (delete-region from to)
                                   (insert string)
                                   (refresh-screen)))
                        from
                        t
                        (buffer-substring from to))
     ))
2007-09-27 (Thu) 17:59:50
@@@ 1143124229.txt @@@
xyzzy lisp : global-mark を popup
とりあえず基礎部分。
もう少し作りこみたいところ。
----
 (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)
2007-09-27 (Thu) 17:53:11
page 5 - << : 0 : 1 : 2 : 3 : 4 : 5 : 6 : 7 : 8 : 9 : 10 : 11 : 12 : 13 : 14 : 15 : 16 : 17 : 18 : 19 : 20 : 21 : 22 : 23 : 24 : 25 : 26 : 27 : 28 : 29 : >>