commit 51f2df46f6a1ab8bcb7697da2f0274e9550213d4 (HEAD, refs/remotes/origin/master) Author: Eli Zaretskii Date: Sat Oct 24 11:23:10 2015 +0300 ; * src/xdisp.c: Improve commentary for 'update_mode_lines'. diff --git a/src/xdisp.c b/src/xdisp.c index 02388da..247aa28 100644 --- a/src/xdisp.c +++ b/src/xdisp.c @@ -473,6 +473,10 @@ int windows_or_buffers_changed; For any other value, redisplay all mode lines (the number used is then only used to track down the cause for this full-redisplay). + Since the frame title uses the same %-constructs as the mode line + (except %c and %l), if this variable is non-zero, we also consider + redisplaying the title of each frame, see x_consider_frame_title. + The `redisplay' bits are the same as those used for windows_or_buffers_changed, and setting windows_or_buffers_changed also causes recomputation of the mode lines of all those windows. IOW this commit bc0b340d5532bc13988b8cc637690764f1d6c6f0 Author: Eli Zaretskii Date: Sat Oct 24 10:03:07 2015 +0300 A better fix for bug#21739 * src/buffer.c (set_update_modelines_for_buf): New function. (Fkill_buffer): Use it to set the global variable update_mode_lines if the killed buffer was displayed in some window. Don't set windows_or_buffers_changed. This is a better fix for bug#21739 than the previous fix, since it will cause only redisplay of mode lines, not of entire windows, but will still catch attention of x_consider_frame_title in xdisp.c, which redraws the frame title. diff --git a/src/buffer.c b/src/buffer.c index aff80bc..8476876 100644 --- a/src/buffer.c +++ b/src/buffer.c @@ -1611,6 +1611,19 @@ compact_buffer (struct buffer *buffer) } } +/* Set the global update_mode_lines variable non-zero if the buffer + was displayed in some window. This is needed to catch the + attention of redisplay to changes that might require redisplay of + the frame title (which uses the same variables as mode lines) when + the buffer object cannot be used for recording that fact, e.g. if + the buffer is killed. */ +static void +set_update_modelines_for_buf (bool disp) +{ + if (disp) + update_mode_lines = 42; +} + DEFUN ("kill-buffer", Fkill_buffer, Skill_buffer, 0, 1, "bKill buffer: ", doc: /* Kill the buffer specified by BUFFER-OR-NAME. The argument may be a buffer or the name of an existing buffer. @@ -1633,6 +1646,7 @@ cleaning up all windows currently displaying the buffer to be killed. */) struct buffer *b; Lisp_Object tem; struct Lisp_Marker *m; + bool buffer_was_displayed = false; if (NILP (buffer_or_name)) buffer = Fcurrent_buffer (); @@ -1647,6 +1661,8 @@ cleaning up all windows currently displaying the buffer to be killed. */) if (!BUFFER_LIVE_P (b)) return Qnil; + buffer_was_displayed = buffer_window_count (b); + /* Run hooks with the buffer to be killed the current buffer. */ { ptrdiff_t count = SPECPDL_INDEX (); @@ -1673,7 +1689,10 @@ cleaning up all windows currently displaying the buffer to be killed. */) /* If the hooks have killed the buffer, exit now. */ if (!BUFFER_LIVE_P (b)) - return unbind_to (count, Qt); + { + set_update_modelines_for_buf (buffer_was_displayed); + return unbind_to (count, Qt); + } /* Then run the hooks. */ run_hook (Qkill_buffer_hook); @@ -1682,7 +1701,10 @@ cleaning up all windows currently displaying the buffer to be killed. */) /* If the hooks have killed the buffer, exit now. */ if (!BUFFER_LIVE_P (b)) - return Qt; + { + set_update_modelines_for_buf (buffer_was_displayed); + return Qt; + } /* We have no more questions to ask. Verify that it is valid to kill the buffer. This must be done after the questions @@ -1710,7 +1732,10 @@ cleaning up all windows currently displaying the buffer to be killed. */) /* Exit if we now have killed the base buffer (Bug#11665). */ if (!BUFFER_LIVE_P (b)) - return Qt; + { + set_update_modelines_for_buf (buffer_was_displayed); + return Qt; + } } /* Run replace_buffer_in_windows before making another buffer current @@ -1721,7 +1746,10 @@ cleaning up all windows currently displaying the buffer to be killed. */) /* Exit if replacing the buffer in windows has killed our buffer. */ if (!BUFFER_LIVE_P (b)) - return Qt; + { + set_update_modelines_for_buf (buffer_was_displayed); + return Qt; + } /* Make this buffer not be current. Exit if it is the sole visible buffer. */ @@ -1747,15 +1775,13 @@ cleaning up all windows currently displaying the buffer to be killed. */) kill_buffer_processes (buffer); - /* Killing a buffer might have global effects which require - redisplaying frames. For example, if the buffer's name appears - in the frame title. */ - windows_or_buffers_changed = 11; - /* Killing buffer processes may run sentinels which may have killed our buffer. */ if (!BUFFER_LIVE_P (b)) - return Qt; + { + set_update_modelines_for_buf (buffer_was_displayed); + return Qt; + } /* These may run Lisp code and into infinite loops (if someone insisted on circular lists) so allow quitting here. */ @@ -1787,7 +1813,10 @@ cleaning up all windows currently displaying the buffer to be killed. */) /* Deleting an auto-save file could have killed our buffer. */ if (!BUFFER_LIVE_P (b)) - return Qt; + { + set_update_modelines_for_buf (buffer_was_displayed); + return Qt; + } if (b->base_buffer) { @@ -1886,6 +1915,7 @@ cleaning up all windows currently displaying the buffer to be killed. */) if (!NILP (Vrun_hooks)) call1 (Vrun_hooks, Qbuffer_list_update_hook); + set_update_modelines_for_buf (buffer_was_displayed); return Qt; } commit 972493658b13265a8d2dd59aa55cad59f05e5d77 Author: Tassilo Horn Date: Sat Oct 24 07:38:10 2015 +0200 Add support for tar.bz2 and tar.xz archives * lisp/dired-aux.el (dired-compress-files-alist): Add support for tar.bz2 and tar.xz archives. diff --git a/lisp/dired-aux.el b/lisp/dired-aux.el index 46d40d2..9f11514 100644 --- a/lisp/dired-aux.el +++ b/lisp/dired-aux.el @@ -921,6 +921,8 @@ ARGS are command switches passed to PROGRAM.") (defvar dired-compress-files-alist '(("\\.tar\\.gz\\'" . "tar -c %i | gzip -c9 > %o") + ("\\.tar\\.bz2\\'" . "tar -c %i | bzip2 -c9 > %o") + ("\\.tar\\.xz\\'" . "tar -c %i | xz -c9 > %o") ("\\.zip\\'" . "zip %o -r --filesync %i")) "Control the compression shell command for `dired-do-compress-to'. commit 66f0622a3db2fdaa862177199cff7c135c4e5142 Author: Xue Fuqiao Date: Sat Oct 24 10:42:00 2015 +0800 ; NEWS tweak diff --git a/etc/NEWS b/etc/NEWS index 58ab6be..381e7c8 100644 --- a/etc/NEWS +++ b/etc/NEWS @@ -279,14 +279,6 @@ header. ** `tabulated-list-print' takes a second optional argument, update, which specifies an alternative printing method which is faster when few or no entries have changed. -** The command `dired-do-compress' bound to `Z' now can compress -directories and decompress zip files. -** New command `dired-do-compress-to' bound to `c' can be used to compress -many marked files into a single named archive. The compression -command is determined from the new `dired-compress-files-alist' -variable. - -+++ * Editing Changes in Emacs 25.1 @@ -571,22 +563,6 @@ appending FUN to `minibuffer-setup-hook'. ** cl-lib *** New functions cl-fresh-line, cl-digit-char-p and cl-parse-integer. -** seq -*** New seq library: -The seq library adds sequence manipulation functions and macros that -complement basic functions provided by subr.el. All functions are -prefixed with `seq-' and work on lists, strings and vectors. - -** map -*** New map library: -The map library provides map-manipulation functions that work on alists, -hash-table and arrays. All functions are prefixed with "map-". - -** thunk -*** New thunk library: -Thunk provides functions and macros to control the evaluation of -forms. - ** Calendar and diary +++ @@ -872,6 +848,18 @@ notifications, if Emacs is compiled with file notification support. whether a file notification descriptor still corresponds to an activate watch. +** Dired + ++++ +*** The command `dired-do-compress' bound to `Z' now can compress +directories and decompress zip files. + ++++ +*** New command `dired-do-compress-to' bound to `c' can be used to +compress many marked files into a single named archive. The +compression command is determined from the new +`dired-compress-files-alist' variable. + ** Obsolete packages --- @@ -900,6 +888,18 @@ types the text. Breaking line after a single-character words is forbidden by Czech and Polish typography (and may be discouraged in other languages), so `auto-tildify-mode' makes it easier to create a typographically-correct documents. + +** The `seq' library adds sequence manipulation functions and macros +that complement basic functions provided by subr.el. All functions +are prefixed with `seq-' and work on lists, strings and vectors. + +** The `map' library provides map-manipulation functions that work on +alists, hash-table and arrays. All functions are prefixed with +`map-'. + +** The `thunk' library provides functions and macros to control the +evaluation of forms. + * Incompatible Lisp Changes in Emacs 25.1 commit 7836e422e46721290c076969b87e277aa264ceca Author: Eli Zaretskii Date: Fri Oct 23 23:06:57 2015 +0300 Fix infloop in redisplay introduced by a recent change * src/xdisp.c (redisplay_internal): Avoid inflooping when redisplaying the selected window sets the selected frame's redisplay flag. (Bug#21745) diff --git a/src/xdisp.c b/src/xdisp.c index bfd3a82..02388da 100644 --- a/src/xdisp.c +++ b/src/xdisp.c @@ -13925,7 +13925,11 @@ redisplay_internal (void) above caused some change (e.g., a change in faces) that requires considering the entire frame again. */ if (sf->fonts_changed || sf->redisplay) - goto retry; + { + if (sf->redisplay) + windows_or_buffers_changed = 50; + goto retry; + } /* Prevent freeing of realized faces, since desired matrices are pending that reference the faces we computed and cached. */ commit 8b47daab5ce7da394a057f40aa2738b6c204c2f5 Author: Nicolas Petton Date: Fri Oct 23 18:06:54 2015 +0200 * lisp/emacs-lisp/thunk.el: Better documentation. diff --git a/lisp/emacs-lisp/thunk.el b/lisp/emacs-lisp/thunk.el index ab366d2..d07b257 100644 --- a/lisp/emacs-lisp/thunk.el +++ b/lisp/emacs-lisp/thunk.el @@ -26,10 +26,21 @@ ;;; Commentary: ;; -;; Thunk provides functions and macros to control the evaluation of -;; forms. Use `thunk-delay' to delay the evaluation of a form, and -;; `thunk-force' to evaluate it. Evaluation is cached, and only -;; happens once. +;; Thunk provides functions and macros to delay the evaluation of +;; forms. +;; +;; Use `thunk-delay' to delay the evaluation of a form, and +;; `thunk-force' to evaluate it. The result of the evaluation is +;; cached, and only happens once. +;; +;; Here is an example of a form which evaluation is delayed: +;; +;; (setq delayed (thunk-delay (message "this message is delayed"))) +;; +;; `delayed' is not evaluated until `thunk-force' is called, like the +;; following: +;; +;; (thunk-force delayed) ;; Tests are located at test/automated/thunk-tests.el commit 8408f4e38cb4108f8dde971bbc5d5220c66e0f67 Author: Nicolas Petton Date: Fri Oct 23 16:22:22 2015 +0200 Replace the old icon for Windows and Mac OSX * nt/icons/emacs.ico: * nextstep/Cocoa/Emacs.base/Contents/Resources/Emacs.icns: Use the new icons. diff --git a/nextstep/Cocoa/Emacs.base/Contents/Resources/Emacs.icns b/nextstep/Cocoa/Emacs.base/Contents/Resources/Emacs.icns index 14785d5..9130015 100644 Binary files a/nextstep/Cocoa/Emacs.base/Contents/Resources/Emacs.icns and b/nextstep/Cocoa/Emacs.base/Contents/Resources/Emacs.icns differ diff --git a/nt/icons/emacs.ico b/nt/icons/emacs.ico index 7c93625..ba3b8b0 100644 Binary files a/nt/icons/emacs.ico and b/nt/icons/emacs.ico differ commit 4d3a595d8d3e6a111399e9f1c7dd3c3c30184e61 Author: Stephen Leake Date: Fri Oct 23 08:52:01 2015 -0500 `load-path' should contain only directory names * lisp/emacs-lisp/package.el (package-autoload-ensure-default-file): `load-path' should contain only directory names diff --git a/lisp/emacs-lisp/package.el b/lisp/emacs-lisp/package.el index 2dbcdf6..2962da5 100644 --- a/lisp/emacs-lisp/package.el +++ b/lisp/emacs-lisp/package.el @@ -889,7 +889,8 @@ untar into a directory named DIR; otherwise, signal an error." " --- automatically extracted autoloads\n" ";;\n" ";;; Code:\n" - "(add-to-list 'load-path (or (file-name-directory #$) (car load-path)))\n" + ;; `load-path' should contain only directory names + "(add-to-list 'load-path (directory-file-name (or (file-name-directory #$) (car load-path))))\n" " \n;; Local Variables:\n" ";; version-control: never\n" ";; no-byte-compile: t\n" commit 0f443a12368d02e256c7e94c3de574c6ceaed86e Author: Nicolas Petton Date: Fri Oct 23 13:20:45 2015 +0200 New library thunk.el thunk.el is extracted from stream.el in ELPA, with additional tests. * lisp/emacs-lisp/thunk.el: New file. * test/automated/thunk-tests.el: New file. * etc/NEWS: Add information about thunk.el diff --git a/etc/NEWS b/etc/NEWS index 6588aad..58ab6be 100644 --- a/etc/NEWS +++ b/etc/NEWS @@ -582,6 +582,11 @@ prefixed with `seq-' and work on lists, strings and vectors. The map library provides map-manipulation functions that work on alists, hash-table and arrays. All functions are prefixed with "map-". +** thunk +*** New thunk library: +Thunk provides functions and macros to control the evaluation of +forms. + ** Calendar and diary +++ diff --git a/lisp/emacs-lisp/thunk.el b/lisp/emacs-lisp/thunk.el new file mode 100644 index 0000000..ab366d2 --- /dev/null +++ b/lisp/emacs-lisp/thunk.el @@ -0,0 +1,63 @@ +;;; thunk.el --- Lazy form evaluation -*- lexical-binding: t -*- + +;; Copyright (C) 2015 Free Software Foundation, Inc. + +;; Author: Nicolas Petton +;; Keywords: sequences +;; Version: 1.0 +;; Package: thunk + +;; Maintainer: emacs-devel@gnu.org + +;; This file is part of GNU Emacs. + +;; GNU Emacs is free software: you can redistribute it and/or modify +;; it under the terms of the GNU General Public License as published by +;; the Free Software Foundation, either version 3 of the License, or +;; (at your option) any later version. + +;; GNU Emacs is distributed in the hope that it will be useful, +;; but WITHOUT ANY WARRANTY; without even the implied warranty of +;; MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +;; GNU General Public License for more details. + +;; You should have received a copy of the GNU General Public License +;; along with GNU Emacs. If not, see . + +;;; Commentary: +;; +;; Thunk provides functions and macros to control the evaluation of +;; forms. Use `thunk-delay' to delay the evaluation of a form, and +;; `thunk-force' to evaluate it. Evaluation is cached, and only +;; happens once. + +;; Tests are located at test/automated/thunk-tests.el + +;;; Code: + +(defmacro thunk-delay (&rest body) + "Delay the evaluation of BODY." + (declare (debug t)) + (let ((forced (make-symbol "forced")) + (val (make-symbol "val"))) + `(let (,forced ,val) + (lambda (&optional check) + (if check + ,forced + (unless ,forced + (setf ,val (progn ,@body)) + (setf ,forced t))) + ,val)))) + +(defun thunk-force (delayed) + "Force the evaluation of DELAYED. +The result is cached and will be returned on subsequent calls +with the same DELAYED argument." + (funcall delayed)) + +(defun thunk-evaluated-p (delayed) + "Return non-nil if DELAYED has been evaluated." + (funcall delayed t)) + +(provide 'thunk) +;;; thunk.el ends here diff --git a/test/automated/thunk-tests.el b/test/automated/thunk-tests.el new file mode 100644 index 0000000..7abbd29 --- /dev/null +++ b/test/automated/thunk-tests.el @@ -0,0 +1,55 @@ +;;; thunk-tests.el --- Tests for thunk.el -*- lexical-binding: t -*- + +;; Copyright (C) 2015 Free Software Foundation, Inc. + +;; Author: Nicolas Petton +;; Maintainer: emacs-devel@gnu.org + +;; This file is part of GNU Emacs. + +;; GNU Emacs is free software: you can redistribute it and/or modify +;; it under the terms of the GNU General Public License as published by +;; the Free Software Foundation, either version 3 of the License, or +;; (at your option) any later version. + +;; GNU Emacs is distributed in the hope that it will be useful, +;; but WITHOUT ANY WARRANTY; without even the implied warranty of +;; MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +;; GNU General Public License for more details. + +;; You should have received a copy of the GNU General Public License +;; along with GNU Emacs. If not, see . + +;;; Commentary: + +;; Tests for thunk.el + +;;; Code: + +(require 'ert) +(require 'thunk) + +(ert-deftest thunk-should-be-lazy () + (let (x) + (thunk-delay (setq x t)) + (should (null x)))) + +(ert-deftest thunk-can-be-evaluated () + (let* (x + (thunk (thunk-delay (setq x t)))) + (should-not (thunk-evaluated-p thunk)) + (should (null x)) + (thunk-force thunk) + (should (thunk-evaluated-p thunk)) + (should x))) + +(ert-deftest thunk-evaluation-is-cached () + (let* ((x 0) + (thunk (thunk-delay (setq x (1+ x))))) + (thunk-force thunk) + (should (= x 1)) + (thunk-force thunk) + (should (= x 1)))) + +(provide 'thunk-tests) +;;; thunk-tests.el ends here commit 71d6acff1cabbf983c8191d02f084faf3f56d788 Author: Michael Albinus Date: Fri Oct 23 13:14:09 2015 +0200 Fix Bug#21669 * lisp/filenotify.el (file-notify-rm-watch): Improve check for calling low-level functions. * test/automated/file-notify-tests.el (file-notify--test-timeout): Decrase to 6 seconds for remote directories. (file-notify-test02-events): Expect different number of `attribute-changed' events for the local and remote cases. Apply short delays between the operations, in order to receive all events in the remote case. Combine `attribute-change' tests. (Bug#21669) diff --git a/lisp/filenotify.el b/lisp/filenotify.el index a07f99a..b9f59de 100644 --- a/lisp/filenotify.el +++ b/lisp/filenotify.el @@ -333,7 +333,9 @@ DESCRIPTOR should be an object returned by `file-notify-add-watch'." (when (stringp dir) ;; Call low-level function. - (when (null (cdr registered)) + (when (or (not file) + (and (= (length (cdr registered)) 1) + (assoc file (cdr registered)))) (condition-case nil (if handler ;; A file name handler could exist even if there is no local diff --git a/test/automated/file-notify-tests.el b/test/automated/file-notify-tests.el index 1763648..8441d6d 100644 --- a/test/automated/file-notify-tests.el +++ b/test/automated/file-notify-tests.el @@ -63,7 +63,7 @@ (defvar file-notify--test-events nil) (defun file-notify--test-timeout () "Timeout to wait for arriving events, in seconds." - (if (file-remote-p temporary-file-directory) 10 3)) + (if (file-remote-p temporary-file-directory) 6 3)) (defun file-notify--test-cleanup () "Cleanup after a test." @@ -325,38 +325,41 @@ Don't wait longer than TIMEOUT seconds for the events to be delivered." file-notify--test-tmpfile '(attribute-change) 'file-notify--test-event-handler)) (file-notify--test-with-events - (file-notify--test-timeout) '(attribute-changed) - (write-region - "any text" nil file-notify--test-tmpfile nil 'no-message) - (set-file-modes file-notify--test-tmpfile 000) - (delete-file file-notify--test-tmpfile)) - (file-notify-rm-watch file-notify--test-desc) - - ;; With gfilenotify, there are timing issues with attribute - ;; changes in a short time period. So we apply 2 tests. - (setq file-notify--test-desc - (file-notify-add-watch - file-notify--test-tmpfile - '(attribute-change) 'file-notify--test-event-handler)) - (file-notify--test-with-events - (file-notify--test-timeout) '(attribute-changed) + (file-notify--test-timeout) + (if (file-remote-p temporary-file-directory) + ;; In the remote case, `write-region' raises also an + ;; `attribute-changed' event. + '(attribute-changed attribute-changed attribute-changed) + '(attribute-changed attribute-changed)) + ;; We must use short delays between the operations. + ;; Otherwise, not all events arrive us in the remote case. (write-region "any text" nil file-notify--test-tmpfile nil 'no-message) + (sleep-for 0.1) (set-file-modes file-notify--test-tmpfile 000) + (sleep-for 0.1) + (set-file-times file-notify--test-tmpfile '(0 0)) + (sleep-for 0.1) (delete-file file-notify--test-tmpfile)) (file-notify-rm-watch file-notify--test-desc)) ;; Check the global sequence again just to make sure that ;; `file-notify--test-events' has been set correctly. - (should (equal (mapcar #'cadr file-notify--test-events) - (if (eq file-notify--library 'w32notify) - '(created changed deleted - created changed changed deleted - created changed renamed) - '(created changed deleted - created changed deleted - created changed renamed - attribute-changed attribute-changed)))) + (should (equal + (mapcar #'cadr file-notify--test-events) + (if (eq file-notify--library 'w32notify) + '(created changed deleted + created changed changed deleted + created changed renamed) + (if (file-remote-p temporary-file-directory) + '(created changed deleted + created changed deleted + created changed renamed + attribute-changed attribute-changed attribute-changed) + '(created changed deleted + created changed deleted + created changed renamed + attribute-changed attribute-changed))))) (should file-notify--test-results) (dolist (result file-notify--test-results) ;;(message "%s" (ert-test-result-messages result)) commit 0f7334147d23ad2792523f59a968fb44c820fa35 Author: Eli Zaretskii Date: Fri Oct 23 12:23:23 2015 +0300 Decode the HTML source when displaying it in EWW * lisp/net/eww.el (eww-view-source): Decode the HTML source according to its headers. diff --git a/lisp/net/eww.el b/lisp/net/eww.el index bda4e0c..6a31549 100644 --- a/lisp/net/eww.el +++ b/lisp/net/eww.el @@ -564,6 +564,15 @@ Currently this means either text/html or application/xhtml+xml." (delete-region (point-min) (point-max)) (insert (or source "no source")) (goto-char (point-min)) + ;; Decode the source and set the buffer's encoding according + ;; to what the HTML source specifies in its 'charset' header, + ;; if any. + (let ((cs (find-auto-coding "" (point-max)))) + (when (consp cs) + (setq cs (car cs)) + (when (coding-system-p cs) + (decode-coding-region (point-min) (point-max) cs) + (setq buffer-file-coding-system last-coding-system-used)))) (when (fboundp 'html-mode) (html-mode)))) (view-buffer buf))) commit b3d065d2efecfe88d1c07c344c8b5d4501d0a6bb Author: Nicolas Petton Date: Thu Oct 22 16:24:34 2015 +0200 New default icon * etc/images/icons/hicolor/128x128/apps/emacs23.png: * etc/images/icons/hicolor/16x16/apps/emacs23.png: * etc/images/icons/hicolor/24x24/apps/emacs23.png: * etc/images/icons/hicolor/32x32/apps/emacs23.png: * etc/images/icons/hicolor/48x48/apps/emacs23.png: * etc/images/icons/hicolor/scalable/apps/emacs23.svg: * etc/images/icons/hicolor/scalable/mimetypes/emacs-document23.svg: Move the old logo files to emacs23.*. * etc/images/icons/hicolor/128x128/apps/emacs.png: * etc/images/icons/hicolor/16x16/apps/emacs.png: * etc/images/icons/hicolor/24x24/apps/emacs.png: * etc/images/icons/hicolor/32x32/apps/emacs.png: * etc/images/icons/hicolor/48x48/apps/emacs.png: * etc/images/icons/hicolor/scalable/apps/emacs.svg: * etc/images/icons/hicolor/scalable/mimetypes/emacs-document.svg: New files. * etc/images/icons/README: Update the copyright information. diff --git a/etc/NEWS b/etc/NEWS index 8672f99..6588aad 100644 --- a/etc/NEWS +++ b/etc/NEWS @@ -81,6 +81,10 @@ be installed setgid. The option now defaults to the 'games' group. It has no particular connection to Emacs and has not changed in years, so if you want to use it, you can always take a copy from an older Emacs. +** Emacs 25 comes with a new set of icons. +Various resolutions are available as etc/images/icons/hicolor/*/apps/emacs.png. +The old Emacs logo icons are available as `emacs23.png' in the same location. + * Startup Changes in Emacs 25.1 diff --git a/etc/images/icons/README b/etc/images/icons/README index 70979dd..2010bf2 100644 --- a/etc/images/icons/README +++ b/etc/images/icons/README @@ -3,6 +3,15 @@ COPYRIGHT AND LICENSE INFORMATION FOR IMAGE FILES Files: hicolor/16x16/apps/emacs.png hicolor/24x24/apps/emacs.png hicolor/32x32/apps/emacs.png hicolor/48x48/apps/emacs.png hicolor/128x128/apps/emacs.png hicolor/scalable/apps/emacs.svg + hicolor/scalable/mimetypes/emacs-document.svg + +Author: Nicolas Petton +Copyright (C) 2015 Free Software Foundation, Inc. +License: GNU General Public License version 3 or later (see COPYING) + +Files: hicolor/16x16/apps/emacs23.png hicolor/24x24/apps/emacs23.png + hicolor/32x32/apps/emacs23.png hicolor/48x48/apps/emacs23.png + hicolor/128x128/apps/emacs23.png hicolor/scalable/apps/emacs23.svg Author: Kentaro Ohkouchi Copyright (C) 2007-2015 Free Software Foundation, Inc. diff --git a/etc/images/icons/hicolor/128x128/apps/emacs.png b/etc/images/icons/hicolor/128x128/apps/emacs.png index 5e2ff74..8e84a75 100644 Binary files a/etc/images/icons/hicolor/128x128/apps/emacs.png and b/etc/images/icons/hicolor/128x128/apps/emacs.png differ diff --git a/etc/images/icons/hicolor/128x128/apps/emacs23.png b/etc/images/icons/hicolor/128x128/apps/emacs23.png new file mode 100644 index 0000000..5e2ff74 Binary files /dev/null and b/etc/images/icons/hicolor/128x128/apps/emacs23.png differ diff --git a/etc/images/icons/hicolor/16x16/apps/emacs.png b/etc/images/icons/hicolor/16x16/apps/emacs.png index 48280fe..9b5bfcd 100644 Binary files a/etc/images/icons/hicolor/16x16/apps/emacs.png and b/etc/images/icons/hicolor/16x16/apps/emacs.png differ diff --git a/etc/images/icons/hicolor/16x16/apps/emacs23.png b/etc/images/icons/hicolor/16x16/apps/emacs23.png new file mode 100644 index 0000000..48280fe Binary files /dev/null and b/etc/images/icons/hicolor/16x16/apps/emacs23.png differ diff --git a/etc/images/icons/hicolor/24x24/apps/emacs.png b/etc/images/icons/hicolor/24x24/apps/emacs.png index d17c6b1..cd92ab5 100644 Binary files a/etc/images/icons/hicolor/24x24/apps/emacs.png and b/etc/images/icons/hicolor/24x24/apps/emacs.png differ diff --git a/etc/images/icons/hicolor/24x24/apps/emacs23.png b/etc/images/icons/hicolor/24x24/apps/emacs23.png new file mode 100644 index 0000000..d17c6b1 Binary files /dev/null and b/etc/images/icons/hicolor/24x24/apps/emacs23.png differ diff --git a/etc/images/icons/hicolor/32x32/apps/emacs.png b/etc/images/icons/hicolor/32x32/apps/emacs.png index 53ba5c6..432dd41 100644 Binary files a/etc/images/icons/hicolor/32x32/apps/emacs.png and b/etc/images/icons/hicolor/32x32/apps/emacs.png differ diff --git a/etc/images/icons/hicolor/32x32/apps/emacs23.png b/etc/images/icons/hicolor/32x32/apps/emacs23.png new file mode 100644 index 0000000..53ba5c6 Binary files /dev/null and b/etc/images/icons/hicolor/32x32/apps/emacs23.png differ diff --git a/etc/images/icons/hicolor/48x48/apps/emacs.png b/etc/images/icons/hicolor/48x48/apps/emacs.png index f2917e3..34ee4bc 100644 Binary files a/etc/images/icons/hicolor/48x48/apps/emacs.png and b/etc/images/icons/hicolor/48x48/apps/emacs.png differ diff --git a/etc/images/icons/hicolor/48x48/apps/emacs23.png b/etc/images/icons/hicolor/48x48/apps/emacs23.png new file mode 100644 index 0000000..f2917e3 Binary files /dev/null and b/etc/images/icons/hicolor/48x48/apps/emacs23.png differ diff --git a/etc/images/icons/hicolor/scalable/apps/emacs.svg b/etc/images/icons/hicolor/scalable/apps/emacs.svg index 7af85ce..2ef4b57 100644 --- a/etc/images/icons/hicolor/scalable/apps/emacs.svg +++ b/etc/images/icons/hicolor/scalable/apps/emacs.svg @@ -1,15 +1,20 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - +-->