diff options
| author | Po Lu | 2023-12-24 15:21:24 +0800 |
|---|---|---|
| committer | Po Lu | 2023-12-24 15:23:38 +0800 |
| commit | b7fc3ab787d8dd926e1912e51e99f0efcf57cb02 (patch) | |
| tree | c514ada934aac8bf3f654b51749b37d4bc7429f4 | |
| parent | 5c3ff1494b69bf45b99125f2423174222badfa43 (diff) | |
| download | emacs-b7fc3ab787d8dd926e1912e51e99f0efcf57cb02.tar.gz emacs-b7fc3ab787d8dd926e1912e51e99f0efcf57cb02.zip | |
Introduce a toolbar for Log Edit mode
* etc/NEWS: Announce new change.
* etc/images/README: List the sources of the new image files.
* etc/images/commit.xpm:
* etc/images/commit.pbm:
* etc/images/gen-changelog.xpm:
* etc/images/gen-changelog.pbm:
* etc/images/ins-changelog.xpm:
* etc/images/ins-changelog.pbm:
* etc/images/load-changelog.xpm:
* etc/images/load-changelog.pbm:
* etc/images/view-diff.xpm: New files.
* lisp/vc/log-edit.el (log-edit-menu): Insert a menu item for
"Generate ChangeLog".
(log-edit-tool-bar-map): New keymap.
(log-edit-mode): Install this keymap as the tool bar map.
| -rw-r--r-- | etc/NEWS | 5 | ||||
| -rw-r--r-- | etc/images/README | 11 | ||||
| -rw-r--r-- | etc/images/commit.pbm | bin | 0 -> 81 bytes | |||
| -rw-r--r-- | etc/images/commit.xpm | 101 | ||||
| -rw-r--r-- | etc/images/gen-changelog.pbm | bin | 0 -> 81 bytes | |||
| -rw-r--r-- | etc/images/gen-changelog.xpm | 152 | ||||
| -rw-r--r-- | etc/images/ins-changelog.pbm | 3 | ||||
| -rw-r--r-- | etc/images/ins-changelog.xpm | 67 | ||||
| -rw-r--r-- | etc/images/load-changelog.pbm | bin | 0 -> 81 bytes | |||
| -rw-r--r-- | etc/images/load-changelog.xpm | 82 | ||||
| -rw-r--r-- | etc/images/view-diff.pbm | bin | 0 -> 81 bytes | |||
| -rw-r--r-- | etc/images/view-diff.xpm | 93 | ||||
| -rw-r--r-- | lisp/vc/log-edit.el | 65 |
13 files changed, 575 insertions, 4 deletions
| @@ -469,6 +469,11 @@ you can add this to your init script: | |||
| 469 | ** VC | 469 | ** VC |
| 470 | 470 | ||
| 471 | --- | 471 | --- |
| 472 | *** Log-Edit buffers now display a tool bar. | ||
| 473 | This tool bar contains items for committing log entries and editing or | ||
| 474 | generating log entries, among other editing operations. | ||
| 475 | |||
| 476 | --- | ||
| 472 | *** New user option 'vc-git-shortlog-switches'. | 477 | *** New user option 'vc-git-shortlog-switches'. |
| 473 | This is a string or a list of strings that specifies the Git log | 478 | This is a string or a list of strings that specifies the Git log |
| 474 | switches for shortlogs, such as the one produced by 'C-x v L'. | 479 | switches for shortlogs, such as the one produced by 'C-x v L'. |
diff --git a/etc/images/README b/etc/images/README index 5886f641536..71115540344 100644 --- a/etc/images/README +++ b/etc/images/README | |||
| @@ -67,21 +67,25 @@ Emacs images and their source in the GNOME icons stock/ directory: | |||
| 67 | attach.xpm document/stock_attach | 67 | attach.xpm document/stock_attach |
| 68 | bookmark_add.xpm actions/bookmark_add | 68 | bookmark_add.xpm actions/bookmark_add |
| 69 | cancel.xpm slightly modified generic/stock_stop | 69 | cancel.xpm slightly modified generic/stock_stop |
| 70 | connect.xpm net/stock_connect | 70 | commit.xpm code/stock_run |
| 71 | connect-to-url.xpm net/stock_connect-to-url | 71 | connect-to-url.xpm net/stock_connect-to-url |
| 72 | connect.xpm net/stock_connect | ||
| 72 | contact.xpm net/stock_contact | 73 | contact.xpm net/stock_contact |
| 73 | data-save.xpm data/stock_data-save | 74 | data-save.xpm data/stock_data-save |
| 74 | delete.xpm generic/stock_delete | 75 | delete.xpm generic/stock_delete |
| 75 | describe.xpm generic/stock_properties | 76 | describe.xpm generic/stock_properties |
| 76 | disconnect.xpm net/stock_disconnect | 77 | disconnect.xpm net/stock_disconnect |
| 77 | exit.xpm generic/stock_exit | 78 | exit.xpm generic/stock_exit |
| 79 | gen-changelog.xpm text/stock_autoformat | ||
| 80 | ins-changelog.xpm form/stock_show-form-dialog | ||
| 81 | load-changelog.xpm text/stock_insert_endnote | ||
| 78 | lock-broken.xpm data/stock_lock-broken | 82 | lock-broken.xpm data/stock_lock-broken |
| 79 | lock-ok.xpm data/stock_lock-ok | 83 | lock-ok.xpm data/stock_lock-ok |
| 80 | lock.xpm data/stock_lock | 84 | lock.xpm data/stock_lock |
| 81 | redo.xpm generic/stock_redo | ||
| 82 | search-replace.xpm slightly modified generic/stock_search-and-replace | ||
| 83 | next-page.xpm navigation/stock_next-page | 85 | next-page.xpm navigation/stock_next-page |
| 86 | redo.xpm generic/stock_redo | ||
| 84 | refresh.xpm generic/stock_refresh | 87 | refresh.xpm generic/stock_refresh |
| 88 | search-replace.xpm slightly modified generic/stock_search-and-replace | ||
| 85 | separator.xpm ? | 89 | separator.xpm ? |
| 86 | show.xpm slightly modified document/stock_new | 90 | show.xpm slightly modified document/stock_new |
| 87 | sort-ascending.xpm slightly modified data/stock_sort-ascending | 91 | sort-ascending.xpm slightly modified data/stock_sort-ascending |
| @@ -89,6 +93,7 @@ Emacs images and their source in the GNOME icons stock/ directory: | |||
| 89 | sort-criteria.xpm data/stock_sort-criteria | 93 | sort-criteria.xpm data/stock_sort-criteria |
| 90 | sort-descending.xpm slightly modified data/stock_sort-descending | 94 | sort-descending.xpm slightly modified data/stock_sort-descending |
| 91 | sort-row-ascending.xpm data/stock_sort-row-ascending | 95 | sort-row-ascending.xpm data/stock_sort-row-ascending |
| 96 | view-diff.xpm text/stock_list_enum-restart | ||
| 92 | zoom-in.xpm navigation/stock_zoom-in | 97 | zoom-in.xpm navigation/stock_zoom-in |
| 93 | zoom-out.xpm navigation/stock_zoom-out | 98 | zoom-out.xpm navigation/stock_zoom-out |
| 94 | 99 | ||
diff --git a/etc/images/commit.pbm b/etc/images/commit.pbm new file mode 100644 index 00000000000..11fe690ac1b --- /dev/null +++ b/etc/images/commit.pbm | |||
| Binary files differ | |||
diff --git a/etc/images/commit.xpm b/etc/images/commit.xpm new file mode 100644 index 00000000000..1730f155811 --- /dev/null +++ b/etc/images/commit.xpm | |||
| @@ -0,0 +1,101 @@ | |||
| 1 | /* XPM */ | ||
| 2 | static char *commit[] = { | ||
| 3 | /* columns rows colors chars-per-pixel */ | ||
| 4 | "24 24 71 1 ", | ||
| 5 | " c None", | ||
| 6 | ". c black", | ||
| 7 | "X c gray13", | ||
| 8 | "o c gray14", | ||
| 9 | "O c #252525", | ||
| 10 | "+ c gray25", | ||
| 11 | "@ c gray33", | ||
| 12 | "# c #555555", | ||
| 13 | "$ c #565656", | ||
| 14 | "% c #5A5A5A", | ||
| 15 | "& c #5D5D5D", | ||
| 16 | "* c gray40", | ||
| 17 | "= c #6C6C6C", | ||
| 18 | "- c #DF421E", | ||
| 19 | "; c #46A046", | ||
| 20 | ": c #625B81", | ||
| 21 | "> c #887FA3", | ||
| 22 | ", c #848484", | ||
| 23 | "< c gray53", | ||
| 24 | "1 c #888888", | ||
| 25 | "2 c #8E8E8E", | ||
| 26 | "3 c #979797", | ||
| 27 | "4 c #9A9A9A", | ||
| 28 | "5 c #A0A0A0", | ||
| 29 | "6 c gray65", | ||
| 30 | "7 c #A9A9A9", | ||
| 31 | "8 c #AEAEAE", | ||
| 32 | "9 c gray75", | ||
| 33 | "0 c #BBB6CA", | ||
| 34 | "q c #C2C2C1", | ||
| 35 | "w c gray76", | ||
| 36 | "e c #C3C3C2", | ||
| 37 | "r c #C3C3C3", | ||
| 38 | "t c gray77", | ||
| 39 | "y c #C7C7C6", | ||
| 40 | "u c #C8C8C8", | ||
| 41 | "i c gray79", | ||
| 42 | "p c #C5C1D2", | ||
| 43 | "a c #CAC6D6", | ||
| 44 | "s c gray84", | ||
| 45 | "d c #D8D8D8", | ||
| 46 | "f c gray88", | ||
| 47 | "g c #E1E1E1", | ||
| 48 | "h c #E6E6E6", | ||
| 49 | "j c #EDEDEB", | ||
| 50 | "k c #EEEEED", | ||
| 51 | "l c #EFEFEF", | ||
| 52 | "z c #ECEAF0", | ||
| 53 | "x c #ECEBF0", | ||
| 54 | "c c #F0EFF3", | ||
| 55 | "v c gray94", | ||
| 56 | "b c #F1F1F0", | ||
| 57 | "n c #F2F2F1", | ||
| 58 | "m c #F4F4F3", | ||
| 59 | "M c #F4F3F6", | ||
| 60 | "N c #F5F5F4", | ||
| 61 | "B c gray96", | ||
| 62 | "V c #F6F6F5", | ||
| 63 | "C c #F6F6F6", | ||
| 64 | "Z c gray97", | ||
| 65 | "A c #F8F8F7", | ||
| 66 | "S c #F7F6F8", | ||
| 67 | "D c #F8F8F8", | ||
| 68 | "F c #F9F9F9", | ||
| 69 | "G c gray98", | ||
| 70 | "H c #FCFCFB", | ||
| 71 | "J c gray99", | ||
| 72 | "K c #FDFDFC", | ||
| 73 | "L c #FDFDFD", | ||
| 74 | "P c #FEFEFE", | ||
| 75 | "I c white", | ||
| 76 | /* pixels */ | ||
| 77 | " ...... ", | ||
| 78 | " .xx00. ", | ||
| 79 | " ..xp>>..", | ||
| 80 | " .Spa>>>.", | ||
| 81 | "+++++++++## .Mp>>. ", | ||
| 82 | "IIIIIIIIIGs<o .c>. ", | ||
| 83 | "IIIIIIIIIGhv5. .. ", | ||
| 84 | "IIIIIIIIIGdIB3o ", | ||
| 85 | "IIIIIIIIIBiIIg1X ", | ||
| 86 | ";:IIIIIIIB9gsiw2 ", | ||
| 87 | "IIIIIIIIHB7*&#%<. ", | ||
| 88 | ":::G::::GBvsy64=. ", | ||
| 89 | "GGGGGGGGGGGGGGG8. ", | ||
| 90 | "--::G:::GGGGGGGw. ", | ||
| 91 | "GGGGGGGGGGGGGGGy. ", | ||
| 92 | "::A::AAAAAAAAAAy. ", | ||
| 93 | "BBBBBBBBBBBBBBBy. ", | ||
| 94 | "BBBBBBBBBBBBBBBw. ", | ||
| 95 | ":mmmmmmmmmmmmmmw. ", | ||
| 96 | "vvvvvvvvvvvvvvvw. ", | ||
| 97 | "---v:v:::v:::vvw. ", | ||
| 98 | "lllllllllllllllw. ", | ||
| 99 | "::::l--:lllllllw. ", | ||
| 100 | "jjjjjjjjjjjjjjjw. " | ||
| 101 | }; | ||
diff --git a/etc/images/gen-changelog.pbm b/etc/images/gen-changelog.pbm new file mode 100644 index 00000000000..40bea125b06 --- /dev/null +++ b/etc/images/gen-changelog.pbm | |||
| Binary files differ | |||
diff --git a/etc/images/gen-changelog.xpm b/etc/images/gen-changelog.xpm new file mode 100644 index 00000000000..65ea7c16f04 --- /dev/null +++ b/etc/images/gen-changelog.xpm | |||
| @@ -0,0 +1,152 @@ | |||
| 1 | /* XPM */ | ||
| 2 | static char *gen_changelog[] = { | ||
| 3 | /* columns rows colors chars-per-pixel */ | ||
| 4 | "24 24 122 2 ", | ||
| 5 | " c None", | ||
| 6 | ". c black", | ||
| 7 | "X c gray10", | ||
| 8 | "o c #353535", | ||
| 9 | "O c #442D0E", | ||
| 10 | "+ c #5E4417", | ||
| 11 | "@ c #7D5A22", | ||
| 12 | "# c #645435", | ||
| 13 | "$ c #464646", | ||
| 14 | "% c #505050", | ||
| 15 | "& c gray32", | ||
| 16 | "* c #535353", | ||
| 17 | "= c gray33", | ||
| 18 | "- c #585858", | ||
| 19 | "; c gray35", | ||
| 20 | ": c #675E46", | ||
| 21 | "> c gray39", | ||
| 22 | ", c #6E6E6C", | ||
| 23 | "< c gray43", | ||
| 24 | "1 c gray44", | ||
| 25 | "2 c #787775", | ||
| 26 | "3 c #797979", | ||
| 27 | "4 c #7B7B7B", | ||
| 28 | "5 c #88601F", | ||
| 29 | "6 c #A27E36", | ||
| 30 | "7 c #9A8558", | ||
| 31 | "8 c #9F8B5F", | ||
| 32 | "9 c #A09069", | ||
| 33 | "0 c #BAA069", | ||
| 34 | "q c #C7AF7A", | ||
| 35 | "w c #CCB176", | ||
| 36 | "e c #868583", | ||
| 37 | "r c #868686", | ||
| 38 | "t c gray53", | ||
| 39 | "y c #8B8A86", | ||
| 40 | "u c #888888", | ||
| 41 | "i c #898989", | ||
| 42 | "p c #8B8B88", | ||
| 43 | "a c gray54", | ||
| 44 | "s c #8B8B8B", | ||
| 45 | "d c #8C8C89", | ||
| 46 | "f c gray55", | ||
| 47 | "g c #8D8D8D", | ||
| 48 | "h c #8E8E8E", | ||
| 49 | "j c gray56", | ||
| 50 | "k c #909090", | ||
| 51 | "l c gray57", | ||
| 52 | "z c #929292", | ||
| 53 | "x c #939393", | ||
| 54 | "c c #969592", | ||
| 55 | "v c gray58", | ||
| 56 | "b c #959595", | ||
| 57 | "n c #979797", | ||
| 58 | "m c #9B9996", | ||
| 59 | "M c #9C9B97", | ||
| 60 | "N c #B8B39B", | ||
| 61 | "B c #A4A4A4", | ||
| 62 | "V c gray65", | ||
| 63 | "C c #A8A7A3", | ||
| 64 | "Z c #AAAAAA", | ||
| 65 | "A c #B0AFAC", | ||
| 66 | "S c gray70", | ||
| 67 | "D c #B4B4B4", | ||
| 68 | "F c #B6B6B6", | ||
| 69 | "G c #C0BFBD", | ||
| 70 | "H c #D6C08E", | ||
| 71 | "J c #D9C28B", | ||
| 72 | "K c #DEC58D", | ||
| 73 | "L c #D8C291", | ||
| 74 | "P c #DFCA96", | ||
| 75 | "I c #E1CC99", | ||
| 76 | "U c #C2C1BD", | ||
| 77 | "Y c #F3E5BE", | ||
| 78 | "T c #C5C5C5", | ||
| 79 | "R c #C6C6C6", | ||
| 80 | "E c gray79", | ||
| 81 | "W c #CACACA", | ||
| 82 | "Q c gray80", | ||
| 83 | "! c #CECECE", | ||
| 84 | "~ c #D2D0D0", | ||
| 85 | "^ c #DBDAD8", | ||
| 86 | "/ c gray86", | ||
| 87 | "( c gainsboro", | ||
| 88 | ") c #DDDDDD", | ||
| 89 | "_ c #F4E7C2", | ||
| 90 | "` c #EBE8D3", | ||
| 91 | "' c gray88", | ||
| 92 | "] c #E1E1E1", | ||
| 93 | "[ c #E2E2E2", | ||
| 94 | "{ c gray89", | ||
| 95 | "} c #E4E4E4", | ||
| 96 | "| c gray90", | ||
| 97 | " . c #E6E6E6", | ||
| 98 | ".. c #E7E7E7", | ||
| 99 | "X. c #EAE8E3", | ||
| 100 | "o. c gray91", | ||
| 101 | "O. c #E9E9E9", | ||
| 102 | "+. c #EAEAEA", | ||
| 103 | "@. c gray92", | ||
| 104 | "#. c #EFEDE9", | ||
| 105 | "$. c #ECECEC", | ||
| 106 | "%. c gray93", | ||
| 107 | "&. c #EEEEEE", | ||
| 108 | "*. c #EFEFEF", | ||
| 109 | "=. c #FEFCE8", | ||
| 110 | "-. c #FEFEED", | ||
| 111 | ";. c gray94", | ||
| 112 | ":. c #F1F1F1", | ||
| 113 | ">. c gray95", | ||
| 114 | ",. c #F3F3F3", | ||
| 115 | "<. c #F4F4F4", | ||
| 116 | "1. c gray96", | ||
| 117 | "2. c #F6F6F6", | ||
| 118 | "3. c gray97", | ||
| 119 | "4. c #F8F8F8", | ||
| 120 | "5. c #F9F9F9", | ||
| 121 | "6. c gray98", | ||
| 122 | "7. c #FBFBFB", | ||
| 123 | "8. c gray99", | ||
| 124 | "9. c #FDFDFD", | ||
| 125 | "0. c #FEFEFE", | ||
| 126 | "q. c white", | ||
| 127 | /* pixels */ | ||
| 128 | " . . . . . . . . . . . . . . . . . . . . ", | ||
| 129 | ". [ >.>.>.>.>.>.>.<.<.<.<.<.<.<.<.<.<.<.) . ", | ||
| 130 | ". >.[ [ [ [ [ } } } } o.o.o.o.o.$.$.$.$.$.. ", | ||
| 131 | ". >.[ r r r r i i ; . & i o.o.$.$.$.$.>.>.. ", | ||
| 132 | ". >.[ [ [ } } } [ . N . [ $.$.$.$.$.>.>.>.. ", | ||
| 133 | ". >.[ r i i i i < . ` . = g g g g >.>.>.>.. ", | ||
| 134 | ". >.} } } } } 3 . . -.. . 3 o.>.>.>.>.>.<.. ", | ||
| 135 | ". >.} i i ; . . : _ =.6 # . . D >.>.>.<.<.. ", | ||
| 136 | ". <.} } o.. 7 q J P Y w I K 8 . T <.<.<.<.. ", | ||
| 137 | ". <.} i i & . . O @ 0 5 + . . n <.<.<.<.<.. ", | ||
| 138 | ". <.o.o.o.o.[ k . . H . X $ . <.<.<.<.<.4.. ", | ||
| 139 | ". <.o.i g g g g > . L . ; d C . <.<.4.4.4.. ", | ||
| 140 | ". <.o.$.$.$.$.$.o.. 9 o . 2 G U . 4.4.4.4.. ", | ||
| 141 | ". <.o.g g g g g g & . 1 T . i ~ C . 4.4.9.. ", | ||
| 142 | ". <.$.$.$.$.>.>.>.>.T ) T T . M ^ A . 9.9.. ", | ||
| 143 | ". <.$.g g g g k >.<.<.<.) ) S . C #.c . 9.. ", | ||
| 144 | ". 4.>.>.>.>.>.<.<.<.<.4.4.[ E D . M X.e . . ", | ||
| 145 | ". 4.>.k k k k k k k k n n n [ Q B . m X.< . ", | ||
| 146 | ". >.>.<.<.<.<.<.<.4.4.4.4.9.9.} Q B . c X.2 . ", | ||
| 147 | ". E $.4.<.<.<.4.4.4.4.4.9.9.9.9.} Q Z . y X.2 . ", | ||
| 148 | " . . . . . . . . . . . . . . . . . . . . y X.. ", | ||
| 149 | " . . ", | ||
| 150 | " ", | ||
| 151 | " " | ||
| 152 | }; | ||
diff --git a/etc/images/ins-changelog.pbm b/etc/images/ins-changelog.pbm new file mode 100644 index 00000000000..fb97cf7d5d8 --- /dev/null +++ b/etc/images/ins-changelog.pbm | |||
| @@ -0,0 +1,3 @@ | |||
| 1 | P4 | ||
| 2 | 24 24 | ||
| 3 | ÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿàÿàÿàÿçÿàÿçóÿàÿçóÿàÿçóÿàÿçóÿàÿàÿÿÿÿÿÿ \ No newline at end of file | ||
diff --git a/etc/images/ins-changelog.xpm b/etc/images/ins-changelog.xpm new file mode 100644 index 00000000000..24deee3c344 --- /dev/null +++ b/etc/images/ins-changelog.xpm | |||
| @@ -0,0 +1,67 @@ | |||
| 1 | /* XPM */ | ||
| 2 | static char *ins_changelog[] = { | ||
| 3 | /* columns rows colors chars-per-pixel */ | ||
| 4 | "24 24 37 1 ", | ||
| 5 | " c None", | ||
| 6 | ". c black", | ||
| 7 | "X c #161616", | ||
| 8 | "o c gray25", | ||
| 9 | "O c #4B4B49", | ||
| 10 | "+ c #5D5D5D", | ||
| 11 | "@ c #494066", | ||
| 12 | "# c #767676", | ||
| 13 | "$ c gray52", | ||
| 14 | "% c #A0A0A0", | ||
| 15 | "& c gray66", | ||
| 16 | "* c gray68", | ||
| 17 | "= c #BBBBBB", | ||
| 18 | "- c #BCBCBC", | ||
| 19 | "; c gray74", | ||
| 20 | ": c #C1C1C1", | ||
| 21 | "> c gray76", | ||
| 22 | ", c #C3C3C3", | ||
| 23 | "< c gray88", | ||
| 24 | "1 c #E2E2E2", | ||
| 25 | "2 c gray89", | ||
| 26 | "3 c #E4E4E4", | ||
| 27 | "4 c gray90", | ||
| 28 | "5 c #E6E6E6", | ||
| 29 | "6 c #E7E7E7", | ||
| 30 | "7 c gray91", | ||
| 31 | "8 c #EAEAEA", | ||
| 32 | "9 c gray92", | ||
| 33 | "0 c #ECECEC", | ||
| 34 | "q c gray93", | ||
| 35 | "w c #EEEEEE", | ||
| 36 | "e c #EFEFEF", | ||
| 37 | "r c gray94", | ||
| 38 | "t c #F1F1F1", | ||
| 39 | "y c #FBFBFB", | ||
| 40 | "u c #FDFDFD", | ||
| 41 | "i c #FEFEFE", | ||
| 42 | /* pixels */ | ||
| 43 | " ", | ||
| 44 | " ", | ||
| 45 | " @ @@ @@ @@ @@ ", | ||
| 46 | " @ ", | ||
| 47 | " @ ", | ||
| 48 | " @ @ ", | ||
| 49 | " @ ", | ||
| 50 | " ......... ", | ||
| 51 | " @ .iiiiiii2>. ", | ||
| 52 | " @ .itttttt>y&. ", | ||
| 53 | " .itttttt*#+o. ", | ||
| 54 | " @ .it@@@@t2$OX. ", | ||
| 55 | " @ .iteeeeeeee=. ", | ||
| 56 | " .ie@@@@@@@e=. ", | ||
| 57 | " @ .ieeeeeeee9=. ", | ||
| 58 | " @ .ie@@@@@@@9=. ", | ||
| 59 | " .i999999499=. ", | ||
| 60 | " @@ @@ @@.i9@@@@@@@4=. ", | ||
| 61 | " .i944444444=. ", | ||
| 62 | " .i4@@@@@@@4=. ", | ||
| 63 | " .i444444222=. ", | ||
| 64 | " .>-----====%. ", | ||
| 65 | " ........... ", | ||
| 66 | " " | ||
| 67 | }; | ||
diff --git a/etc/images/load-changelog.pbm b/etc/images/load-changelog.pbm new file mode 100644 index 00000000000..43f1a1b221f --- /dev/null +++ b/etc/images/load-changelog.pbm | |||
| Binary files differ | |||
diff --git a/etc/images/load-changelog.xpm b/etc/images/load-changelog.xpm new file mode 100644 index 00000000000..6d317b6afa2 --- /dev/null +++ b/etc/images/load-changelog.xpm | |||
| @@ -0,0 +1,82 @@ | |||
| 1 | /* XPM */ | ||
| 2 | static char *load_changelog[] = { | ||
| 3 | /* columns rows colors chars-per-pixel */ | ||
| 4 | "24 24 52 1 ", | ||
| 5 | " c None", | ||
| 6 | ". c black", | ||
| 7 | "X c #434343", | ||
| 8 | "o c gray33", | ||
| 9 | "O c #DF421E", | ||
| 10 | "+ c #8B8B8B", | ||
| 11 | "@ c gray55", | ||
| 12 | "# c #8D8D8D", | ||
| 13 | "$ c #8E8E8E", | ||
| 14 | "% c gray56", | ||
| 15 | "& c #909090", | ||
| 16 | "* c gray57", | ||
| 17 | "= c #929292", | ||
| 18 | "- c #939393", | ||
| 19 | "; c gray58", | ||
| 20 | ": c #959595", | ||
| 21 | "> c gray66", | ||
| 22 | ", c #B7B7B7", | ||
| 23 | "< c gray74", | ||
| 24 | "1 c #C0C0C0", | ||
| 25 | "2 c gray79", | ||
| 26 | "3 c #CACACA", | ||
| 27 | "4 c gray84", | ||
| 28 | "5 c gray85", | ||
| 29 | "6 c #DADADA", | ||
| 30 | "7 c #DDDDDD", | ||
| 31 | "8 c #DFDFDF", | ||
| 32 | "9 c gray90", | ||
| 33 | "0 c gray91", | ||
| 34 | "q c #E9E9E9", | ||
| 35 | "w c #EAEAEA", | ||
| 36 | "e c gray92", | ||
| 37 | "r c #ECECEC", | ||
| 38 | "t c gray93", | ||
| 39 | "y c #EEEEEE", | ||
| 40 | "u c #EFEFEF", | ||
| 41 | "i c gray94", | ||
| 42 | "p c #F1F1F1", | ||
| 43 | "a c gray95", | ||
| 44 | "s c #F3F3F3", | ||
| 45 | "d c #F4F4F4", | ||
| 46 | "f c gray96", | ||
| 47 | "g c #F6F6F6", | ||
| 48 | "h c gray97", | ||
| 49 | "j c #F8F8F8", | ||
| 50 | "k c #F9F9F9", | ||
| 51 | "l c gray98", | ||
| 52 | "z c #FBFBFB", | ||
| 53 | "x c gray99", | ||
| 54 | "c c #FDFDFD", | ||
| 55 | "v c #FEFEFE", | ||
| 56 | "b c white", | ||
| 57 | /* pixels */ | ||
| 58 | " .. .. .. .. ", | ||
| 59 | " .d3..51..7>..d,.. ", | ||
| 60 | " .d00tttttiiiiddd4. ", | ||
| 61 | " .d0+$$$$$$&&&$jjt. ", | ||
| 62 | " .d00ttiiiidddjjX5. ", | ||
| 63 | " .d0$$$&9OOOOcjj........", | ||
| 64 | " .dttiiidddddjjjo7. .", | ||
| 65 | " .dttiiiddddddjjc5. .", | ||
| 66 | " .jiidddddjjjcccc7. .", | ||
| 67 | " .ji&&&&&&;;;;;cc7. .", | ||
| 68 | " .jiiiddddjjjjccc7. .", | ||
| 69 | " .ji&&&&&;;;;cccc7. .", | ||
| 70 | " .iiidddjjjjccccct. .", | ||
| 71 | " .3tjdjjjjjccccct<. .", | ||
| 72 | " ................ .", | ||
| 73 | " .", | ||
| 74 | " .", | ||
| 75 | " . .", | ||
| 76 | " .. .", | ||
| 77 | " OOOOOOOOOOOOO ......", | ||
| 78 | " OOOOOOOOOOOOO .. ", | ||
| 79 | " . ", | ||
| 80 | " ", | ||
| 81 | " " | ||
| 82 | }; | ||
diff --git a/etc/images/view-diff.pbm b/etc/images/view-diff.pbm new file mode 100644 index 00000000000..35aabdabb1e --- /dev/null +++ b/etc/images/view-diff.pbm | |||
| Binary files differ | |||
diff --git a/etc/images/view-diff.xpm b/etc/images/view-diff.xpm new file mode 100644 index 00000000000..3ebd0b3002b --- /dev/null +++ b/etc/images/view-diff.xpm | |||
| @@ -0,0 +1,93 @@ | |||
| 1 | /* XPM */ | ||
| 2 | static char *view_diff[] = { | ||
| 3 | /* columns rows colors chars-per-pixel */ | ||
| 4 | "24 24 63 1 ", | ||
| 5 | " c None", | ||
| 6 | ". c black", | ||
| 7 | "X c gray43", | ||
| 8 | "o c #6F6F6F", | ||
| 9 | "O c gray44", | ||
| 10 | "+ c #717171", | ||
| 11 | "@ c #727272", | ||
| 12 | "# c gray45", | ||
| 13 | "$ c #747474", | ||
| 14 | "% c gray46", | ||
| 15 | "& c #767676", | ||
| 16 | "* c #777777", | ||
| 17 | "= c gray47", | ||
| 18 | "- c #DF421E", | ||
| 19 | "; c #E3846E", | ||
| 20 | ": c #838383", | ||
| 21 | "> c gray74", | ||
| 22 | ", c #E19989", | ||
| 23 | "< c #E29A8A", | ||
| 24 | "1 c #E39B8B", | ||
| 25 | "2 c #E59C8B", | ||
| 26 | "3 c #E49C8C", | ||
| 27 | "4 c #E4AB9E", | ||
| 28 | "5 c #E8AEA1", | ||
| 29 | "6 c #C5C5C5", | ||
| 30 | "7 c gray79", | ||
| 31 | "8 c gray81", | ||
| 32 | "9 c #DADADA", | ||
| 33 | "0 c gray86", | ||
| 34 | "q c #DDDDDD", | ||
| 35 | "w c #EAD4CE", | ||
| 36 | "e c gray88", | ||
| 37 | "r c #E1E1E1", | ||
| 38 | "t c #E2E2E2", | ||
| 39 | "y c gray89", | ||
| 40 | "u c #E4E4E4", | ||
| 41 | "i c gray90", | ||
| 42 | "p c #E6E6E6", | ||
| 43 | "a c #E7E7E7", | ||
| 44 | "s c gray91", | ||
| 45 | "d c #E9E9E9", | ||
| 46 | "f c #EAEAEA", | ||
| 47 | "g c gray92", | ||
| 48 | "h c #ECECEC", | ||
| 49 | "j c gray93", | ||
| 50 | "k c #EEEEEE", | ||
| 51 | "l c #EFEFEF", | ||
| 52 | "z c gray94", | ||
| 53 | "x c #F1F1F1", | ||
| 54 | "c c gray95", | ||
| 55 | "v c #F3F3F3", | ||
| 56 | "b c #F4F4F4", | ||
| 57 | "n c gray96", | ||
| 58 | "m c #F6F6F6", | ||
| 59 | "M c gray97", | ||
| 60 | "N c #F8F8F8", | ||
| 61 | "B c #F9F9F9", | ||
| 62 | "V c gray98", | ||
| 63 | "C c #FBFBFB", | ||
| 64 | "Z c gray99", | ||
| 65 | "A c #FDFDFD", | ||
| 66 | "S c #FEFEFE", | ||
| 67 | "D c white", | ||
| 68 | /* pixels */ | ||
| 69 | " .................... ", | ||
| 70 | ".tcccccccbbbbbbbbbbbq. ", | ||
| 71 | ".ctttttiiiidddddhhhhh. ", | ||
| 72 | ".ctttti8Xidddddhhhhcc. ", | ||
| 73 | ".cttti8XXdd+++++++ccc. ", | ||
| 74 | ".ctiiiiiXddhhhhhhcccc. ", | ||
| 75 | ".c,---id+dd++++++$ccb. ", | ||
| 76 | ".ci,--dd+dhhhhchcccbb. ", | ||
| 77 | ".bi-,-dddhh+++$cbcbbb. ", | ||
| 78 | ".b-4d3dhhhhhccccbbbbb. ", | ||
| 79 | ".b-ddhhhhhhccccbbbNNN. ", | ||
| 80 | ".b-ddhhhhccccbbbbNNNN. ", | ||
| 81 | ".b;-whh6$0cccbbbbNNNN. ", | ||
| 82 | ".bd2-5h+c$b:$$$$$=NNZ. ", | ||
| 83 | ".bhhhhccq$bbbbbNNNNZZ. ", | ||
| 84 | ".bhhhcc0$qb$$$$==NZZZ. ", | ||
| 85 | ".Nccccc$$$bNNNNNZZZZZ. ", | ||
| 86 | ".NcccbbbbbNNNZZZZZZZZ. ", | ||
| 87 | ".ccbbbbbbNNNZZZZZZZZh. ", | ||
| 88 | ".7hNbbbNNNNNZZZZZZZh>. ", | ||
| 89 | " .................... ", | ||
| 90 | " ", | ||
| 91 | " ", | ||
| 92 | " " | ||
| 93 | }; | ||
diff --git a/lisp/vc/log-edit.el b/lisp/vc/log-edit.el index 39e0799ba73..c2665c802f6 100644 --- a/lisp/vc/log-edit.el +++ b/lisp/vc/log-edit.el | |||
| @@ -76,6 +76,8 @@ | |||
| 76 | "--" | 76 | "--" |
| 77 | ["Insert ChangeLog" log-edit-insert-changelog | 77 | ["Insert ChangeLog" log-edit-insert-changelog |
| 78 | :help "Insert a log message by looking at the ChangeLog"] | 78 | :help "Insert a log message by looking at the ChangeLog"] |
| 79 | ["Generate ChangeLog" log-edit-generate-changelog-from-diff | ||
| 80 | :help "Generate a log message from the diff and insert it into this buffer"] | ||
| 79 | ["Add to ChangeLog" log-edit-add-to-changelog | 81 | ["Add to ChangeLog" log-edit-add-to-changelog |
| 80 | :help "Insert this log message into the appropriate ChangeLog file"] | 82 | :help "Insert this log message into the appropriate ChangeLog file"] |
| 81 | "--" | 83 | "--" |
| @@ -93,6 +95,65 @@ | |||
| 93 | ["Search comment backward" log-edit-comment-search-backward | 95 | ["Search comment backward" log-edit-comment-search-backward |
| 94 | :help "Search backwards through comment history for substring match of str"])) | 96 | :help "Search backwards through comment history for substring match of str"])) |
| 95 | 97 | ||
| 98 | (defvar log-edit-tool-bar-map | ||
| 99 | (let ((map (make-sparse-keymap))) | ||
| 100 | (tool-bar-local-item-from-menu 'find-file "new" map | ||
| 101 | nil :label "New File" | ||
| 102 | :vert-only t) | ||
| 103 | (tool-bar-local-item-from-menu 'menu-find-file-existing "open" map | ||
| 104 | nil :label "Open" :vert-only t) | ||
| 105 | (tool-bar-local-item-from-menu 'dired "diropen" map nil :vert-only t) | ||
| 106 | (tool-bar-local-item-from-menu 'kill-this-buffer "close" map nil | ||
| 107 | :vert-only t) | ||
| 108 | (define-key-after map [separator-1] menu-bar-separator) | ||
| 109 | (tool-bar-local-item-from-menu 'log-edit-done "commit" | ||
| 110 | map log-edit-mode-map :vert-only t | ||
| 111 | :help | ||
| 112 | "Complete the actual action") | ||
| 113 | (define-key-after map [separator-2] menu-bar-separator) | ||
| 114 | (tool-bar-local-item-from-menu 'log-edit-insert-changelog | ||
| 115 | "ins-changelog" | ||
| 116 | map log-edit-mode-map :vert-only t | ||
| 117 | :help | ||
| 118 | "Complete the actual action") | ||
| 119 | (tool-bar-local-item-from-menu 'log-edit-insert-changelog | ||
| 120 | "load-changelog" | ||
| 121 | map log-edit-mode-map :vert-only t | ||
| 122 | :help | ||
| 123 | "Insert log message from ChangeLog file") | ||
| 124 | (tool-bar-local-item-from-menu 'log-edit-generate-changelog-from-diff | ||
| 125 | "gen-changelog" | ||
| 126 | map log-edit-mode-map :vert-only t | ||
| 127 | :help | ||
| 128 | "Generate a log message from diff") | ||
| 129 | (tool-bar-local-item-from-menu 'log-edit-add-to-changelog | ||
| 130 | "ins-changelog" | ||
| 131 | map log-edit-mode-map :vert-only t | ||
| 132 | :help | ||
| 133 | "Insert this log message into the ChangeLog") | ||
| 134 | (define-key-after map [separator-3] menu-bar-separator) | ||
| 135 | (tool-bar-local-item-from-menu 'log-edit-show-diff | ||
| 136 | "view-diff" | ||
| 137 | map log-edit-mode-map :vert-only t | ||
| 138 | :help | ||
| 139 | "View the diff for the files to be committed") | ||
| 140 | (tool-bar-local-item-from-menu 'log-edit-show-files | ||
| 141 | "info" | ||
| 142 | map log-edit-mode-map :vert-only t | ||
| 143 | :help | ||
| 144 | "View the list of files to be committed") | ||
| 145 | (define-key-after map [separator-4] menu-bar-separator) | ||
| 146 | (tool-bar-local-item-from-menu 'undo "undo" map nil) | ||
| 147 | (define-key-after map [separator-5] menu-bar-separator) | ||
| 148 | (tool-bar-local-item-from-menu (lookup-key menu-bar-edit-menu [cut]) | ||
| 149 | "cut" map nil) | ||
| 150 | (tool-bar-local-item-from-menu (lookup-key menu-bar-edit-menu [copy]) | ||
| 151 | "copy" map nil) | ||
| 152 | (tool-bar-local-item-from-menu (lookup-key menu-bar-edit-menu [paste]) | ||
| 153 | "paste" map nil) | ||
| 154 | map) | ||
| 155 | "Like the default `tool-bar-map', but with additions for Log-Edit mode.") | ||
| 156 | |||
| 96 | (defcustom log-edit-confirm 'changed | 157 | (defcustom log-edit-confirm 'changed |
| 97 | "If non-nil, `log-edit-done' will request confirmation. | 158 | "If non-nil, `log-edit-done' will request confirmation. |
| 98 | If `changed', only request confirmation if the list of files has | 159 | If `changed', only request confirmation if the list of files has |
| @@ -511,7 +572,9 @@ the \\[vc-prefix-map] prefix for VC commands, for example). | |||
| 511 | (setq-local fill-paragraph-function #'log-edit-fill-entry) | 572 | (setq-local fill-paragraph-function #'log-edit-fill-entry) |
| 512 | (make-local-variable 'log-edit-comment-ring-index) | 573 | (make-local-variable 'log-edit-comment-ring-index) |
| 513 | (add-hook 'kill-buffer-hook 'log-edit-remember-comment nil t) | 574 | (add-hook 'kill-buffer-hook 'log-edit-remember-comment nil t) |
| 514 | (hack-dir-local-variables-non-file-buffer)) | 575 | (hack-dir-local-variables-non-file-buffer) |
| 576 | ;; Replace the tool bar map with `log-edit-tool-bar-map'. | ||
| 577 | (setq-local tool-bar-map log-edit-tool-bar-map)) | ||
| 515 | 578 | ||
| 516 | (defun log-edit--insert-filled-defuns (func-names) | 579 | (defun log-edit--insert-filled-defuns (func-names) |
| 517 | "Insert FUNC-NAMES, following ChangeLog formatting." | 580 | "Insert FUNC-NAMES, following ChangeLog formatting." |