/[emacs]/emacs/lisp/buff-menu.el
ViewVC logotype

Diff of /emacs/lisp/buff-menu.el

Parent Directory Parent Directory | Revision Log Revision Log | View Patch Patch

revision 1.62.2.3 by miles, Thu Sep 9 09:36:31 2004 UTC revision 1.62.2.4 by miles, Fri Oct 22 10:13:29 2004 UTC
# Line 197  Letters do not insert themselves; instea Line 197  Letters do not insert themselves; instea
197    
198  (defun Buffer-menu-revert-function (ignore1 ignore2)  (defun Buffer-menu-revert-function (ignore1 ignore2)
199    ;; We can not use save-excursion here.  The buffer gets erased.    ;; We can not use save-excursion here.  The buffer gets erased.
200    (let ((old-point (point)))    (let ((ocol (current-column))
201            (oline (progn (move-to-column 4)
202                          (get-text-property (point) 'buffer)))
203            (prop (point-min)))
204      (list-buffers-noselect Buffer-menu-files-only)      (list-buffers-noselect Buffer-menu-files-only)
205      (goto-char old-point)))      (while (setq prop (next-single-property-change prop 'buffer))
206          (when (eq (get-text-property prop 'buffer) oline)
207            (goto-char prop)
208            (move-to-column ocol)))))
209    
210  (defun Buffer-menu-toggle-files-only (arg)  (defun Buffer-menu-toggle-files-only (arg)
211    "Toggle whether the current buffer-menu displays only file buffers.    "Toggle whether the current buffer-menu displays only file buffers.
# Line 354  and then move up one line.  Prefix arg m Line 360  and then move up one line.  Prefix arg m
360           (delete-char 1)           (delete-char 1)
361           (insert (if arg ?* ? ))))))           (insert (if arg ?* ? ))))))
362    
363    (defun Buffer-menu-beginning ()
364      (goto-char (point-min))
365      (unless Buffer-menu-use-header-line
366        (forward-line)))
367    
368  (defun Buffer-menu-execute ()  (defun Buffer-menu-execute ()
369    "Save and/or delete buffers marked with \\<Buffer-menu-mode-map>\\[Buffer-menu-save] or \\<Buffer-menu-mode-map>\\[Buffer-menu-delete] commands."    "Save and/or delete buffers marked with \\<Buffer-menu-mode-map>\\[Buffer-menu-save] or \\<Buffer-menu-mode-map>\\[Buffer-menu-delete] commands."
370    (interactive)    (interactive)
371    (save-excursion    (save-excursion
372      (goto-char (point-min))      (Buffer-menu-beginning)
     (unless Buffer-menu-use-header-line  
       (forward-line 1))  
373      (while (re-search-forward "^..S" nil t)      (while (re-search-forward "^..S" nil t)
374        (let ((modp nil))        (let ((modp nil))
375          (save-excursion          (save-excursion
# Line 371  and then move up one line.  Prefix arg m Line 380  and then move up one line.  Prefix arg m
380            (delete-char -1)            (delete-char -1)
381            (insert (if modp ?* ? ))))))            (insert (if modp ?* ? ))))))
382    (save-excursion    (save-excursion
383      (goto-char (point-min))      (Buffer-menu-beginning)
     (unless Buffer-menu-use-header-line  
       (forward-line 1))  
384      (let ((buff-menu-buffer (current-buffer))      (let ((buff-menu-buffer (current-buffer))
385            (buffer-read-only nil))            (buffer-read-only nil))
386        (while (re-search-forward "^D" nil t)        (while (re-search-forward "^D" nil t)
# Line 399  in the selected frame." Line 406  in the selected frame."
406          (menu (current-buffer))          (menu (current-buffer))
407          (others ())          (others ())
408          tem)          tem)
409      (goto-char (point-min))      (Buffer-menu-beginning)
     (unless Buffer-menu-use-header-line  
       (forward-line 1))  
410      (while (re-search-forward "^>" nil t)      (while (re-search-forward "^>" nil t)
411        (setq tem (Buffer-menu-buffer t))        (setq tem (Buffer-menu-buffer t))
412        (let ((buffer-read-only nil))        (let ((buffer-read-only nil))
# Line 581  For more information, see the function ` Line 586  For more information, see the function `
586      (if (< column 2) (setq column 2))      (if (< column 2) (setq column 2))
587      (if (> column 5) (setq column 5)))      (if (> column 5) (setq column 5)))
588    (setq Buffer-menu-sort-column column)    (setq Buffer-menu-sort-column column)
589    (Buffer-menu-revert))    (let (buffer-read-only l buf m1 m2)
590        (save-excursion
591          (Buffer-menu-beginning)
592          (while (not (eobp))
593            (when (buffer-live-p (setq buf (get-text-property (+ (point) 4) 'buffer)))
594              (setq m1 (char-after)
595                    m1 (if (memq m1 '(?> ?D)) m1)
596                    m2 (char-after (+ (point) 2))
597                    m2 (if (eq m2 ?S) m2))
598              (if (or m1 m2)
599                  (push (list buf m1 m2) l)))
600            (forward-line)))
601        (Buffer-menu-revert)
602        (setq buffer-read-only)
603        (save-excursion
604          (Buffer-menu-beginning)
605          (while (not (eobp))
606            (when (setq buf (assq (get-text-property (+ (point) 4) 'buffer) l))
607              (setq m1 (cadr buf)
608                    m2 (cadr (cdr buf)))
609              (when m1
610                (delete-char 1)
611                (insert m1)
612                (backward-char 1))
613              (when m2
614                (forward-char 2)
615                (delete-char 1)
616                (insert m2)))
617            (forward-line)))))
618    
619  (defun Buffer-menu-make-sort-button (name column)  (defun Buffer-menu-make-sort-button (name column)
620    (if (equal column Buffer-menu-sort-column) (setq column nil))    (if (equal column Buffer-menu-sort-column) (setq column nil))
# Line 592  For more information, see the function ` Line 625  For more information, see the function `
625                'mouse-face 'highlight                'mouse-face 'highlight
626                'keymap (let ((map (make-sparse-keymap)))                'keymap (let ((map (make-sparse-keymap)))
627                          (define-key map [header-line mouse-2]                          (define-key map [header-line mouse-2]
628                            `(lambda () (interactive)                            `(lambda (e)
629                                 (interactive "e")
630                                 (if e (set-buffer (window-buffer (posn-window (event-end e)))))
631                               (Buffer-menu-sort ,column)))                               (Buffer-menu-sort ,column)))
632                          map)))                          map)))
633    

Legend:
Removed from v.1.62.2.3  
changed lines
  Added in v.1.62.2.4

savannah-hackers-public@gnu.org
ViewVC Help
Powered by ViewVC 1.1.26