Mercurial > hg > xemacs-beta
comparison lisp/package-ui.el @ 1742:7f92ee59c996
[xemacs-hg @ 2003-10-13 18:53:23 by viteno]
Core part to gain better package information by Steve Youngs in
<microsoft-free.87n0c87hr2.fsf@eicq.dnsalias.org>.
author | viteno |
---|---|
date | Mon, 13 Oct 2003 18:53:24 +0000 |
parents | d90ba01b5346 |
children | e4307a6b9ebb |
comparison
equal
deleted
inserted
replaced
1741:b3a46c249e7b | 1742:7f92ee59c996 |
---|---|
102 (suppress-keymap m) | 102 (suppress-keymap m) |
103 (set-keymap-name m 'pui-display-keymap) | 103 (set-keymap-name m 'pui-display-keymap) |
104 (define-key m "q" 'pui-quit) | 104 (define-key m "q" 'pui-quit) |
105 (define-key m "g" 'pui-list-packages) | 105 (define-key m "g" 'pui-list-packages) |
106 (define-key m "i" 'pui-display-info) | 106 (define-key m "i" 'pui-display-info) |
107 (define-key m "m" 'pui-display-maintainer) | |
107 (define-key m "?" 'describe-mode) | 108 (define-key m "?" 'describe-mode) |
108 (define-key m "v" 'pui-toggle-verbosity-redisplay) | 109 (define-key m "v" 'pui-toggle-verbosity-redisplay) |
109 (define-key m "d" 'pui-toggle-package-delete-key) | 110 (define-key m "d" 'pui-toggle-package-delete-key) |
110 (define-key m "D" 'pui-toggle-package-delete-key) | 111 (define-key m "D" 'pui-toggle-package-delete-key) |
111 (define-key m [return] 'pui-toggle-package-key) | 112 (define-key m [return] 'pui-toggle-package-key) |
460 | 461 |
461 (defun pui-help-echo (extent &optional force-update) | 462 (defun pui-help-echo (extent &optional force-update) |
462 "Display additional package info in the modeline. | 463 "Display additional package info in the modeline. |
463 EXTENT determines the package to display (the package information is | 464 EXTENT determines the package to display (the package information is |
464 attached to the extent as properties)." | 465 attached to the extent as properties)." |
465 (let (pkg-sym info inst-ver auth-ver date maintainer balloon req) | 466 (let (pkg-sym info inst-ver inst-auth-ver auth-ver date maintainer balloon req) |
466 (if (or force-update (not (current-message)) | 467 (if (or force-update (not (current-message)) |
467 (string-match ".*: .*: " (current-message))) | 468 (string-match ".*: .*: " (current-message))) |
468 (progn | 469 (progn |
469 (setq pkg-sym (extent-property extent 'pui-package) | 470 (setq pkg-sym (extent-property extent 'pui-package) |
470 info (extent-property extent 'pui-info) | 471 info (extent-property extent 'pui-info) |
471 inst-ver (package-get-key pkg-sym :version) | 472 inst-ver (package-get-key pkg-sym :version) |
473 inst-auth-ver (package-get-key pkg-sym :author-version) | |
472 auth-ver (package-get-info-prop info 'author-version) | 474 auth-ver (package-get-info-prop info 'author-version) |
473 date (package-get-info-prop info 'date) | 475 date (package-get-info-prop info 'date) |
474 maintainer (package-get-info-prop info 'maintainer) | 476 maintainer (package-get-info-prop info 'maintainer) |
475 req (package-get-info-prop info 'requires)) | 477 req (package-get-info-prop info 'requires)) |
476 (if (not inst-ver) | 478 (if (not inst-ver) |
478 (if (featurep 'balloon-help) | 480 (if (featurep 'balloon-help) |
479 (progn | 481 (progn |
480 (setq balloon (format " | 482 (setq balloon (format " |
481 Package Information: [For package: \"%s\"] | 483 Package Information: [For package: \"%s\"] |
482 ================ | 484 ================ |
483 Installed Version : %.2f | 485 Installed Upstream Ver: %s Available Upstream Ver: %s |
484 Author Version : %s | |
485 Maintainer : %s | 486 Maintainer : %s |
486 Released : %s | 487 Released : %s |
487 Required Packages : %s\n\n" | 488 Required Packages : %s\n\n" |
488 pkg-sym inst-ver auth-ver maintainer | 489 pkg-sym inst-auth-ver auth-ver maintainer |
489 date req)) | 490 date req)) |
490 (set-extent-property extent 'balloon-help balloon))) | 491 (set-extent-property extent 'balloon-help balloon))) |
491 (if pui-list-verbose | 492 (format |
492 (format | 493 "Installed upstream ver: %s Available upstream ver: %s" |
493 "Inst V: %.2f Auth V: %s Maint: %s" | 494 inst-auth-ver auth-ver))))) |
494 inst-ver auth-ver maintainer) | |
495 (format "%.2f : %s : %s" | |
496 inst-ver auth-ver maintainer)))))) | |
497 | 495 |
498 (defun pui-display-info (&optional no-error event) | 496 (defun pui-display-info (&optional no-error event) |
499 "Display additional package info in the modeline. | 497 "Display additional package info in the modeline. |
500 Designed to be called interactively (from a keypress)." | 498 Designed to be called interactively (from a keypress)." |
501 (interactive) | 499 (interactive) |
502 (let (extent) | 500 (let (extent) |
503 (save-excursion | 501 (save-excursion |
504 (beginning-of-line) | 502 (beginning-of-line) |
505 (if (setq extent (extent-at (point) (current-buffer) 'pui)) | 503 (if (setq extent (extent-at (point) (current-buffer) 'pui)) |
506 (message (pui-help-echo extent t)) | 504 (message (pui-help-echo extent t)) |
505 (if no-error | |
506 (clear-message nil) | |
507 (error 'invalid-operation | |
508 "No package under cursor!")))))) | |
509 | |
510 (defun pui-display-maintainer (&optional no-error event) | |
511 "Display a package's maintainer in the minibuffer." | |
512 (interactive) | |
513 (let (extent pkg-sym info maintainer) | |
514 (save-excursion | |
515 (beginning-of-line) | |
516 (if (setq extent (extent-at (point) (current-buffer) 'pui)) | |
517 (progn | |
518 (setq pkg-sym (extent-property extent 'pui-package) | |
519 info (extent-property extent 'pui-info) | |
520 maintainer (package-get-info-prop info 'maintainer)) | |
521 (message (format "Maintainer: %s" maintainer))) | |
507 (if no-error | 522 (if no-error |
508 (clear-message nil) | 523 (clear-message nil) |
509 (error 'invalid-operation | 524 (error 'invalid-operation |
510 "No package under cursor!")))))) | 525 "No package under cursor!")))))) |
511 | 526 |
548 | 563 |
549 `\\[pui-toggle-package-key]' to select/unselect the current package for installation. | 564 `\\[pui-toggle-package-key]' to select/unselect the current package for installation. |
550 `\\[pui-toggle-package-delete-key]' to select/unselect the current package for removal. | 565 `\\[pui-toggle-package-delete-key]' to select/unselect the current package for removal. |
551 `\\[pui-add-required-packages]' to add any packages required by those selected. | 566 `\\[pui-add-required-packages]' to add any packages required by those selected. |
552 `\\[pui-install-selected-packages]' to install/delete selected packages. | 567 `\\[pui-install-selected-packages]' to install/delete selected packages. |
553 `\\[pui-display-info]' to display additional information about the package in the modeline. | 568 `\\[pui-display-info]' to display additional information about the package in the minibuffer. |
569 `\\[pui-display-maintainer]' to display the package's maintainer in the minibuffer | |
554 `\\[pui-list-packages]' to refresh the package list. | 570 `\\[pui-list-packages]' to refresh the package list. |
555 `\\[pui-toggle-verbosity-redisplay]' to toggle between a verbose and non-verbose display. | 571 `\\[pui-toggle-verbosity-redisplay]' to toggle between a verbose and non-verbose display. |
556 `\\[pui-quit]' to kill this buffer. | 572 `\\[pui-quit]' to kill this buffer. |
557 " | 573 " |
558 (error 'invalid-operation | 574 (error 'invalid-operation |