comparison lisp/package-ui.el @ 404:2f8bb876ab1d r21-2-32

Import from CVS: tag r21-2-32
author cvs
date Mon, 13 Aug 2007 11:16:07 +0200
parents 74fd4e045ea6
children de805c49cfc1
comparison
equal deleted inserted replaced
403:9f011ab08d48 404:2f8bb876ab1d
138 ;; Configuration routines 138 ;; Configuration routines
139 139
140 (defun pui-directory-exists (dir) 140 (defun pui-directory-exists (dir)
141 "Check to see if DIR exists in `package-get-remote'." 141 "Check to see if DIR exists in `package-get-remote'."
142 (let (found) 142 (let (found)
143 (mapcar '(lambda (item) 143 (mapcar #'(lambda (item)
144 (if (and (null (car item)) 144 (if (and (null (car item))
145 (string-equal (file-name-as-directory (car (cdr item))) 145 (string-equal (file-name-as-directory (car (cdr item)))
146 (file-name-as-directory dir))) 146 (file-name-as-directory dir)))
147 (setq found t)) 147 (setq found t)))
148 ) package-get-remote) 148 package-get-remote)
149 found 149 found
150 )) 150 ))
151 151
152 (defun pui-package-dir-list (buffer) 152 (defun pui-package-dir-list (buffer)
153 "In BUFFER, format the list of package binary paths." 153 "In BUFFER, format the list of package binary paths."
356 (let ( (tmpbuf "*Packages-To-Remove*") do-delete) 356 (let ( (tmpbuf "*Packages-To-Remove*") do-delete)
357 (when pui-deleted-packages 357 (when pui-deleted-packages
358 (save-window-excursion 358 (save-window-excursion
359 (with-output-to-temp-buffer tmpbuf 359 (with-output-to-temp-buffer tmpbuf
360 (display-completion-list (sort 360 (display-completion-list (sort
361 (mapcar '(lambda (pkg) 361 (mapcar #'symbol-name pui-deleted-packages)
362 (symbol-name pkg) 362 #'string<)
363 )
364 pui-deleted-packages)
365 'string<)
366 :activate-callback nil 363 :activate-callback nil
367 :help-string "Packages selected for removal:\n" 364 :help-string "Packages selected for removal:\n"
368 :completion-string t 365 :completion-string t
369 )) 366 ))
370 (setq tmpbuf (get-buffer-create tmpbuf)) 367 (setq tmpbuf (get-buffer-create tmpbuf))
387 ;; the window configuration if errors occur (we don't want to 384 ;; the window configuration if errors occur (we don't want to
388 ;; display random buffers in addition to the error buffer, if 385 ;; display random buffers in addition to the error buffer, if
389 ;; errors occur, which would normally be caused by display-buffer). 386 ;; errors occur, which would normally be caused by display-buffer).
390 (save-window-excursion 387 (save-window-excursion
391 (with-output-to-temp-buffer tmpbuf 388 (with-output-to-temp-buffer tmpbuf
392 (display-completion-list (sort 389 (display-completion-list
393 (mapcar '(lambda (pkg) 390 (sort (mapcar #'symbol-name pui-selected-packages) #'string<)
394 (symbol-name pkg) 391 :activate-callback nil
395 ) 392 :help-string "Packages selected for installation:\n"
396 pui-selected-packages) 393 :completion-string t
397 'string<) 394 ))
398 :activate-callback nil
399 :help-string "Packages selected for installation:\n"
400 :completion-string t
401 ))
402 (setq tmpbuf (get-buffer-create tmpbuf)) 395 (setq tmpbuf (get-buffer-create tmpbuf))
403 (display-buffer tmpbuf) 396 (display-buffer tmpbuf)
404 (setq do-install (y-or-n-p "Install these packages? ")) 397 (setq do-install (y-or-n-p "Install these packages? "))
405 (kill-buffer tmpbuf) 398 (kill-buffer tmpbuf)
406 ) 399 )
616 (insert " Latest 609 (insert " Latest
617 Package name Vers. Description 610 Package name Vers. Description
618 ")) 611 "))
619 (insert sep-string) 612 (insert sep-string)
620 (setq start (point)) 613 (setq start (point))
621 (mapcar '(lambda (pkg) 614 (mapcar
622 (let (pkg-sym info version desc 615 #'(lambda (pkg)
623 b e extent current-vers disp) 616 (let (pkg-sym info version desc
624 (setq pkg-sym (car pkg) 617 b e extent current-vers disp)
625 info (package-get-info-version (cdr pkg) nil)) 618 (setq pkg-sym (car pkg)
626 (setq version (package-get-info-prop info 'version) 619 info (package-get-info-version (cdr pkg) nil))
627 desc (package-get-info-prop info 'description)) 620 (setq version (package-get-info-prop info 'version)
628 621 desc (package-get-info-prop info 'description))
629 (setq disp (pui-package-symbol-char pkg-sym 622
630 version)) 623 (setq disp (pui-package-symbol-char pkg-sym
631 (setq b (point)) 624 version))
632 (if pui-list-verbose 625 (setq b (point))
633 (progn 626 (if pui-list-verbose
634 (setq current-vers (package-get-key pkg-sym :version)) 627 (progn
635 (cond 628 (setq current-vers (package-get-key pkg-sym :version))
636 ( (not current-vers) 629 (cond
637 (setq current-vers "-----") ) 630 ( (not current-vers)
638 ( (stringp current-vers) 631 (setq current-vers "-----") )
639 (setq current-vers 632 ( (stringp current-vers)
640 (format "%.2f" 633 (setq current-vers
641 (string-to-number current-vers))) ) 634 (format "%.2f"
642 ( (numberp current-vers) 635 (string-to-number current-vers))) )
643 (setq current-vers (format "%.2f" current-vers)) ) 636 ( (numberp current-vers)
644 ) 637 (setq current-vers (format "%.2f" current-vers)) )
645 (insert 638 )
646 (format "%s %-15s %-5.2f %-5s %s\n" 639 (insert
647 (car disp) pkg-sym 640 (format "%s %-15s %-5.2f %-5s %s\n"
648 (if (stringp version) 641 (car disp) pkg-sym
649 (string-to-number version) 642 (if (stringp version)
650 version) 643 (string-to-number version)
651 current-vers desc)) 644 version)
652 ;; (insert 645 current-vers desc))
653 ;; (format "\t\t %-12s %s\n" 646 ;; (insert
654 ;; (package-get-info-prop info 'author-version) 647 ;; (format "\t\t %-12s %s\n"
655 ;; (package-get-info-prop info 'date) 648 ;; (package-get-info-prop info 'author-version)
656 ;; )) 649 ;; (package-get-info-prop info 'date)))
657 ) 650 )
658 (insert (format "%s %-15s %-5s %s\n" 651 (insert (format "%s %-15s %-5s %s\n"
659 (car disp) 652 (car disp)
660 pkg-sym version desc))) 653 pkg-sym version desc)))
661 (save-excursion 654 (save-excursion
662 (setq e (progn 655 (setq e (progn
663 (forward-line -1) 656 (forward-line -1)
664 (end-of-line) 657 (end-of-line)
665 (point))) 658 (point))))
666 ) 659 (setq extent (make-extent b e))
667 (setq extent (make-extent b e)) 660 (if (car (cdr disp))
668 (if (car (cdr disp)) 661 (set-extent-face extent (get-face (car (cdr disp))))
669 (set-extent-face extent (get-face (car (cdr disp)))) 662 (set-extent-face extent (get-face 'default)))
670 (set-extent-face extent (get-face 'default))) 663 (set-extent-property extent 'highlight t)
671 (set-extent-property extent 'highlight t) 664 (set-extent-property extent 'pui t)
672 (set-extent-property extent 'pui t) 665 (set-extent-property extent 'pui-package pkg-sym)
673 (set-extent-property extent 'pui-package pkg-sym) 666 (set-extent-property extent 'pui-info info)
674 (set-extent-property extent 'pui-info info) 667 (set-extent-property extent 'help-echo 'pui-help-echo)
675 (set-extent-property extent 'help-echo 'pui-help-echo) 668 (set-extent-property extent 'keymap pui-package-keymap)
676 (set-extent-property extent 'keymap pui-package-keymap) 669 ))
677 )) (sort (copy-sequence package-get-base) 670 (sort (copy-sequence package-get-base)
678 '(lambda (a b) 671 #'(lambda (a b)
679 (string< (symbol-name (car a)) 672 (string< (symbol-name (car a))
680 (symbol-name (car b))) 673 (symbol-name (car b))))))
681 )))
682 (insert sep-string) 674 (insert sep-string)
683 (insert (documentation 'list-packages-mode)) 675 (insert (documentation 'list-packages-mode))
684 (set-buffer-modified-p nil) 676 (set-buffer-modified-p nil)
685 (setq buffer-read-only t) 677 (setq buffer-read-only t)
686 (pop-to-buffer outbuf) 678 (pop-to-buffer outbuf)
691 (when (featurep 'menubar) 683 (when (featurep 'menubar)
692 (set-buffer-menubar current-menubar) 684 (set-buffer-menubar current-menubar)
693 (add-submenu '() pui-menu) 685 (add-submenu '() pui-menu)
694 (setq mode-popup-menu pui-menu)) 686 (setq mode-popup-menu pui-menu))
695 (clear-message) 687 (clear-message)
696 ; (message (substitute-command-keys "Press `\\[pui-help]' for help.")) 688 ;; (message (substitute-command-keys "Press `\\[pui-help]' for help."))
697 )) 689 ))
698 690
699 ;;;###autoload 691 ;;;###autoload
700 (defalias 'list-packages 'pui-list-packages) 692 (defalias 'list-packages 'pui-list-packages)
701 693