Sync from SUSE:SLFO:Main emacs revision bcade0da79f723b49fe4cc166001a470

This commit is contained in:
Adrian Schröter 2024-07-22 17:00:19 +02:00
parent 6ac180b144
commit 91bfbbf979
31 changed files with 846 additions and 10006 deletions

View File

@ -1,107 +0,0 @@
From e339926272a598bd9ee7e02989c1662b89e64cf0 Mon Sep 17 00:00:00 2001
From: lu4nx <lx@shellcodes.org>
Date: Tue, 6 Dec 2022 15:42:40 +0800
Subject: [PATCH] Fix etags local command injection vulnerability
* lib-src/etags.c: (escape_shell_arg_string): New function.
(process_file_name): Use it to quote file names passed to the
shell. (Bug#59817)
(cherry picked from commit 01a4035c869b91c153af9a9132c87adb7669ea1c)
---
lib-src/etags.c | 63 +++++++++++++++++++++++++++++++++++++++++++++----
1 file changed, 58 insertions(+), 5 deletions(-)
diff --git lib-src/etags.c lib-src/etags.c
index c9c32691016..a6bd7f66e29 100644
--- lib-src/etags.c
+++ lib-src/etags.c
@@ -408,6 +408,7 @@ static void invalidate_nodes (fdesc *, node **);
static void put_entries (node *);
static void clean_matched_file_tag (char const * const, char const * const);
+static char *escape_shell_arg_string (char *);
static void do_move_file (const char *, const char *);
static char *concat (const char *, const char *, const char *);
static char *skip_spaces (char *);
@@ -1704,13 +1705,16 @@ process_file_name (char *file, language *lang)
else
{
#if MSDOS || defined (DOS_NT)
- char *cmd1 = concat (compr->command, " \"", real_name);
- char *cmd = concat (cmd1, "\" > ", tmp_name);
+ int buf_len = strlen (compr->command) + strlen (" \"\" > \"\"") + strlen (real_name) + strlen (tmp_name) + 1;
+ char *cmd = xmalloc (buf_len);
+ snprintf (cmd, buf_len, "%s \"%s\" > \"%s\"", compr->command, real_name, tmp_name);
#else
- char *cmd1 = concat (compr->command, " '", real_name);
- char *cmd = concat (cmd1, "' > ", tmp_name);
+ char *new_real_name = escape_shell_arg_string (real_name);
+ char *new_tmp_name = escape_shell_arg_string (tmp_name);
+ int buf_len = strlen (compr->command) + strlen (" > ") + strlen (new_real_name) + strlen (new_tmp_name) + 1;
+ char *cmd = xmalloc (buf_len);
+ snprintf (cmd, buf_len, "%s %s > %s", compr->command, new_real_name, new_tmp_name);
#endif
- free (cmd1);
inf = (system (cmd) == -1
? NULL
: fopen (tmp_name, "r" FOPEN_BINARY));
@@ -7689,6 +7693,55 @@ etags_mktmp (void)
return templt;
}
+/*
+ * Adds single quotes around a string, if found single quotes, escaped it.
+ * Return a newly-allocated string.
+ *
+ * For example:
+ * escape_shell_arg_string("test.txt") => 'test.txt'
+ * escape_shell_arg_string("'test.txt") => ''\''test.txt'
+ */
+static char *
+escape_shell_arg_string (char *str)
+{
+ char *p = str;
+ int need_space = 2; /* ' at begin and end */
+
+ while (*p != '\0')
+ {
+ if (*p == '\'')
+ need_space += 4; /* ' to '\'', length is 4 */
+ else
+ need_space++;
+
+ p++;
+ }
+
+ char *new_str = xnew (need_space + 1, char);
+ new_str[0] = '\'';
+ new_str[need_space-1] = '\'';
+
+ int i = 1; /* skip first byte */
+ p = str;
+ while (*p != '\0')
+ {
+ new_str[i] = *p;
+ if (*p == '\'')
+ {
+ new_str[i+1] = '\\';
+ new_str[i+2] = '\'';
+ new_str[i+3] = '\'';
+ i += 3;
+ }
+
+ i++;
+ p++;
+ }
+
+ new_str[need_space] = '\0';
+ return new_str;
+}
+
static void
do_move_file(const char *src_file, const char *dst_file)
{
--
2.35.3

View File

@ -1,51 +0,0 @@
From 3c1693d08b0a71d40a77e7b40c0ebc42dca2d2cc Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?Ulrich=20M=C3=BCller?= <ulm@gentoo.org>
Date: Tue, 7 Mar 2023 18:25:37 +0100
Subject: Fix Elisp code injection vulnerability in emacsclient-mail.desktop
A crafted mailto URI could contain unescaped double-quote
characters, allowing injection of Elisp code. Therefore, any
'\' and '"' characters are replaced by '\\' and '\"', using Bash
pattern substitution (which is not available in the POSIX shell).
We want to pass literal 'u=${1//\\/\\\\}; u=${u//\"/\\\"};' in the
bash -c command, but in the desktop entry '"', '$', and '\' must
be escaped as '\\"', '\\$', and '\\\\', respectively (backslashes
are expanded twice, see the Desktop Entry Specification).
Reported by Gabriel Corona <gabriel.corona@free.fr>.
* etc/emacsclient-mail.desktop (Exec): Escape backslash and
double-quote characters.
---
etc/emacsclient-mail.desktop | 7 +++++--
1 file changed, 5 insertions(+), 2 deletions(-)
diff --git a/etc/emacsclient-mail.desktop b/etc/emacsclient-mail.desktop
index 91df122..49c6f99 100644
--- a/etc/emacsclient-mail.desktop
+++ b/etc/emacsclient-mail.desktop
@@ -1,7 +1,10 @@
[Desktop Entry]
Categories=Network;Email;
Comment=GNU Emacs is an extensible, customizable text editor - and more
-Exec=sh -c "exec emacsclient --alternate-editor= --display=\\"\\$DISPLAY\\" --eval \\"(message-mailto \\\\\\"\\$1\\\\\\")\\"" sh %u
+# We want to pass the following commands to the shell wrapper:
+# u=${1//\\/\\\\}; u=${u//\"/\\\"}; exec emacsclient --alternate-editor= --display="$DISPLAY" --eval "(message-mailto \"$u\")"
+# Special chars '"', '$', and '\' must be escaped as '\\"', '\\$', and '\\\\'.
+Exec=bash -c "u=\\${1//\\\\\\\\/\\\\\\\\\\\\\\\\}; u=\\${u//\\\\\\"/\\\\\\\\\\\\\\"}; exec emacsclient --alternate-editor= --display=\\"\\$DISPLAY\\" --eval \\"(message-mailto \\\\\\"\\$u\\\\\\")\\"" bash %u
Icon=emacs
Name=Emacs (Mail, Client)
MimeType=x-scheme-handler/mailto;
@@ -13,7 +16,7 @@ Actions=new-window;new-instance;
[Desktop Action new-window]
Name=New Window
-Exec=sh -c "exec emacsclient --alternate-editor= --create-frame --eval \\"(message-mailto \\\\\\"\\$1\\\\\\")\\"" sh %u
+Exec=bash -c "u=\\${1//\\\\\\\\/\\\\\\\\\\\\\\\\}; u=\\${u//\\\\\\"/\\\\\\\\\\\\\\"}; exec emacsclient --alternate-editor= --create-frame --eval \\"(message-mailto \\\\\\"\\$u\\\\\\")\\"" bash %u
[Desktop Action new-instance]
Name=New Instance
--
cgit v1.1

View File

@ -1,30 +0,0 @@
From 22fb5ff5126dc8bb01edaa0252829d853afb284f Mon Sep 17 00:00:00 2001
From: Xi Lu <lx@shellcodes.org>
Date: Fri, 23 Dec 2022 12:52:48 +0800
Subject: [PATCH] Fix ruby-mode.el local command injection vulnerability
(bug#60268)
* lisp/progmodes/ruby-mode.el
(ruby-find-library-file): Fix local command injection vulnerability.
(cherry picked from commit 9a3b08061feea14d6f37685ca1ab8801758bfd1c)
---
lisp/progmodes/ruby-mode.el | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git lisp/progmodes/ruby-mode.el lisp/progmodes/ruby-mode.el
index 72631a6557f..9b05b04a52c 100644
--- lisp/progmodes/ruby-mode.el
+++ lisp/progmodes/ruby-mode.el
@@ -1819,7 +1819,7 @@ or `gem' statement around point."
(setq feature-name (read-string "Feature name: " init))))
(let ((out
(substring
- (shell-command-to-string (concat "gem which " feature-name))
+ (shell-command-to-string (concat "gem which " (shell-quote-argument feature-name)))
0 -1)))
(if (string-match-p "\\`ERROR" out)
(user-error "%s" out)
--
2.35.3

View File

@ -1,29 +0,0 @@
From 807d2d5b3a7cd1d0e3f7dd24de22770f54f5ae16 Mon Sep 17 00:00:00 2001
From: Xi Lu <lx@shellcodes.org>
Date: Sat, 24 Dec 2022 16:28:54 +0800
Subject: [PATCH] Fix htmlfontify.el command injection vulnerability.
* lisp/htmlfontify.el (hfy-text-p): Fix command injection
vulnerability. (Bug#60295)
(cherry picked from commit 1b4dc4691c1f87fc970fbe568b43869a15ad0d4c)
---
lisp/htmlfontify.el | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git lisp/htmlfontify.el lisp/htmlfontify.el
index 115f67c9560..f8d1e205369 100644
--- lisp/htmlfontify.el
+++ lisp/htmlfontify.el
@@ -1882,7 +1882,7 @@ Hardly bombproof, but good enough in the context in which it is being used."
(defun hfy-text-p (srcdir file)
"Is SRCDIR/FILE text? Use `hfy-istext-command' to determine this."
- (let* ((cmd (format hfy-istext-command (expand-file-name file srcdir)))
+ (let* ((cmd (format hfy-istext-command (shell-quote-argument (expand-file-name file srcdir))))
(rsp (shell-command-to-string cmd)))
(string-match "text" rsp)))
--
2.35.3

View File

@ -1,65 +0,0 @@
From d32091199ae5de590a83f1542a01d75fba000467 Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?Ulrich=20M=C3=BCller?= <ulm@gentoo.org>
Date: Mon, 19 Dec 2022 16:51:20 +0100
Subject: Fix quoted argument in emacsclient-mail.desktop Exec key
Apparently the emacsclient-mail.desktop file doesn't conform to the
Desktop Entry Specification at
https://specifications.freedesktop.org/desktop-entry-spec/desktop-entry-spec-latest.html#exec-variables
which says about the Exec key:
| Field codes must not be used inside a quoted argument, the result of
| field code expansion inside a quoted argument is undefined.
However, the %u field code is used inside a quoted argument of the
Exec key in both the [Desktop Entry] and [Desktop Action new-window]
sections.
* etc/emacsclient-mail.desktop (Exec): The Desktop Entry
Specification does not allow field codes like %u inside a quoted
argument. Work around it by passing %u as first parameter ($1)
to the shell wrapper.
* etc/emacsclient.desktop (Exec): Use `sh` rather than `placeholder`
as the command name of the shell wrapper. (Bug#60204)
---
etc/emacsclient-mail.desktop | 4 ++--
etc/emacsclient.desktop | 2 +-
2 files changed, 3 insertions(+), 3 deletions(-)
diff --git a/etc/emacsclient-mail.desktop b/etc/emacsclient-mail.desktop
index b575a41..91df122 100644
--- a/etc/emacsclient-mail.desktop
+++ b/etc/emacsclient-mail.desktop
@@ -1,7 +1,7 @@
[Desktop Entry]
Categories=Network;Email;
Comment=GNU Emacs is an extensible, customizable text editor - and more
-Exec=sh -c "exec emacsclient --alternate-editor= --display=\\"\\$DISPLAY\\" --eval \\\\(message-mailto\\\\ \\\\\\"%u\\\\\\"\\\\)"
+Exec=sh -c "exec emacsclient --alternate-editor= --display=\\"\\$DISPLAY\\" --eval \\"(message-mailto \\\\\\"\\$1\\\\\\")\\"" sh %u
Icon=emacs
Name=Emacs (Mail, Client)
MimeType=x-scheme-handler/mailto;
@@ -13,7 +13,7 @@ Actions=new-window;new-instance;
[Desktop Action new-window]
Name=New Window
-Exec=emacsclient --alternate-editor= --create-frame --eval "(message-mailto \\"%u\\")"
+Exec=sh -c "exec emacsclient --alternate-editor= --create-frame --eval \\"(message-mailto \\\\\\"\\$1\\\\\\")\\"" sh %u
[Desktop Action new-instance]
Name=New Instance
diff --git a/etc/emacsclient.desktop b/etc/emacsclient.desktop
index 1ecdecf..a9f840c7 100644
--- a/etc/emacsclient.desktop
+++ b/etc/emacsclient.desktop
@@ -3,7 +3,7 @@ Name=Emacs (Client)
GenericName=Text Editor
Comment=Edit text
MimeType=text/english;text/plain;text/x-makefile;text/x-c++hdr;text/x-c++src;text/x-chdr;text/x-csrc;text/x-java;text/x-moc;text/x-pascal;text/x-tcl;text/x-tex;application/x-shellscript;text/x-c;text/x-c++;
-Exec=sh -c "if [ -n \\"\\$*\\" ]; then exec emacsclient --alternate-editor= --display=\\"\\$DISPLAY\\" \\"\\$@\\"; else exec emacsclient --alternate-editor= --create-frame; fi" placeholder %F
+Exec=sh -c "if [ -n \\"\\$*\\" ]; then exec emacsclient --alternate-editor= --display=\\"\\$DISPLAY\\" \\"\\$@\\"; else exec emacsclient --alternate-editor= --create-frame; fi" sh %F
Icon=emacs
Type=Application
Terminal=false
--
cgit v1.1

File diff suppressed because it is too large Load Diff

View File

@ -26,6 +26,11 @@
(if (and (file-exists-p "~/.inhibit-splash-screen")
(boundp 'inhibit-splash-screen))
(setq-default inhibit-splash-screen t))
;; MELPA
(require 'package)
(add-to-list 'package-archives
'("melpa" . "https://melpa.org/packages/"))
;;(package-initialize)
;;
;; Debuging only
;; -------------
@ -153,7 +158,7 @@
;; (A few changes on ispell)
(setq ispell-highlight-face 'underline);)
;;
;; Geomtry and layout
;; Geometry and layout
;;
; (setq initial-frame-alist
; '((vertical-scroll-bars . right) (height . 34) (width . 80)))
@ -534,5 +539,10 @@
;;
;; Translate DEL to `C-h'.
; (keyboard-translate ?\C-? ?\C-h)
;;
;; Use minibuffer for aking GPG passphrase
;;(setq epa-pinentry-mode 'loopback)
;;(pinentry-start)
;;
;;;;;;;;;;
;; the end

View File

@ -16,7 +16,7 @@
--- lisp/textmodes/ispell.el
+++ lisp/textmodes/ispell.el 2016-09-19 09:01:56.930605125 +0000
@@ -1502,10 +1502,18 @@ Protects against bogus binding of `enabl
@@ -1533,10 +1533,18 @@ Protects against bogus binding of `enabl
nil ;; in pipe mode. Disable extended-char-mode
(nth 6 (or (assoc ispell-current-dictionary ispell-local-dictionary-alist)
(assoc ispell-current-dictionary ispell-dictionary-alist)))))

View File

@ -4,7 +4,7 @@
--- lisp/startup.el
+++ lisp/startup.el 2016-09-19 09:15:26.871345783 +0000
@@ -2481,6 +2481,9 @@ nil default-directory" name)
@@ -2629,6 +2629,9 @@ nil default-directory" name)
((equal argi "-no-splash")
(setq inhibit-startup-screen t))

View File

@ -1,9 +1,9 @@
---
src/xrdb.c | 16 ++++++++++++++++
1 file changed, 16 insertions(+)
src/xrdb.c | 17 ++++++++++++++++-
1 file changed, 16 insertions(+), 1 deletion(-)
--- src/xrdb.c
+++ src/xrdb.c 2016-09-19 09:10:35.504833294 +0000
+++ src/xrdb.c 2023-08-01 06:52:49.143452069 +0000
@@ -39,6 +39,9 @@ along with GNU Emacs. If not, see <http
#include <X11/X.h>
#include <X11/Xutil.h>
@ -14,10 +14,11 @@
#ifdef HAVE_PWD_H
#include <pwd.h>
#endif
@@ -470,6 +473,15 @@ x_load_resources (Display *display, cons
@@ -423,7 +426,15 @@ x_load_resources (Display *display, cons
sprintf (line, "Emacs*horizontalScrollBar.background: grey75");
XrmPutLineResource (&rdb, line);
#endif /* not USE_MOTIF */
-
+#ifdef USE_X_TOOLKIT
+ if ((db = XtScreenDatabase(DefaultScreenOfDisplay (display))))
+ {
@ -27,10 +28,10 @@
+ else
+ {
+#endif /* not USE_X_TOOLKIT */
user_database = get_user_db (display);
@@ -511,6 +523,10 @@ x_load_resources (Display *display, cons
/* Figure out what the "customization string" is, so we can use it
@@ -464,6 +475,10 @@ x_load_resources (Display *display, cons
XrmMergeDatabases (db, &rdb);
}

View File

@ -5,7 +5,7 @@
--- configure.ac
+++ configure.ac 2018-05-29 12:18:31.133648098 +0000
@@ -2380,6 +2380,7 @@ fi
@@ -2569,6 +2569,7 @@ fi
use_mmap_for_buffers=no
case "$opsys" in
mingw32) use_mmap_for_buffers=yes ;;
@ -15,7 +15,7 @@
AC_FUNC_MMAP
--- configure
+++ configure 2018-05-29 12:20:07.583908486 +0000
@@ -11754,6 +11754,7 @@ fi
@@ -13612,6 +13612,7 @@ fi
use_mmap_for_buffers=no
case "$opsys" in
mingw32) use_mmap_for_buffers=yes ;;

View File

@ -1,10 +1,10 @@
---
src/xmenu.c | 4 ++--
src/xmenu.c | 4 ++--
1 file changed, 2 insertions(+), 2 deletions(-)
--- src/xmenu.c
+++ src/xmenu.c 2016-09-19 09:01:56.930605125 +0000
@@ -2003,8 +2003,8 @@ Lisp_Object
+++ src/xmenu.c 2023-08-01 06:50:00.914537084 +0000
@@ -2424,8 +2424,8 @@ Lisp_Object
xw_popup_dialog (struct frame *f, Lisp_Object header, Lisp_Object contents)
{
Lisp_Object title;
@ -12,6 +12,6 @@
- Lisp_Object selection;
+ const char *error_name = NULL;
+ Lisp_Object selection = Qnil;
ptrdiff_t specpdl_count = SPECPDL_INDEX ();
specpdl_ref specpdl_count = SPECPDL_INDEX ();
check_window_system (f);

View File

@ -4,9 +4,9 @@
2 files changed, 4 insertions(+), 4 deletions(-)
--- lisp/ldefs-boot.el
+++ lisp/ldefs-boot.el 2018-05-29 12:23:32.824206557 +0000
@@ -26785,9 +26785,9 @@ With prefix argument ARG, restart the Pr
;;;### (autoloads nil "ps-bdf" "ps-bdf.el" (0 0 0 0))
+++ lisp/ldefs-boot.el 2023-08-01 06:47:17.809528438 +0000
@@ -25512,9 +25512,9 @@ With prefix argument ARG, restart the Pr
;;; Generated autoloads from ps-bdf.el
-(defvar bdf-directory-list (if (memq system-type '(ms-dos windows-nt)) (list (expand-file-name "fonts/bdf" installation-directory)) '("/usr/local/share/emacs/fonts/bdf")) "\
@ -14,11 +14,11 @@
List of directories to search for `BDF' font files.
-The default value is (\"/usr/local/share/emacs/fonts/bdf\").")
+The default value is (\"/usr/share/fonts/bdf\").")
(custom-autoload 'bdf-directory-list "ps-bdf" t)
(register-definition-prefixes "ps-bdf" '("bdf-"))
--- lisp/ps-bdf.el
+++ lisp/ps-bdf.el 2018-05-29 12:21:53.126004842 +0000
+++ lisp/ps-bdf.el 2023-08-01 06:44:43.084366385 +0000
@@ -42,9 +42,9 @@
(defcustom bdf-directory-list
(if (memq system-type '(ms-dos windows-nt))

View File

@ -1,12 +1,12 @@
Work around openSUSE bug #1016172
--
lisp/dynamic-setting.el | 29 +++++++++++++++--------------
---
lisp/dynamic-setting.el | 12 ++++++++----
src/xsettings.c | 7 ++++++-
2 files changed, 21 insertions(+), 15 deletions(-)
2 files changed, 14 insertions(+), 5 deletions(-)
--- lisp/dynamic-setting.el
+++ lisp/dynamic-setting.el 2016-12-20 16:51:49.533433283 +0000
+++ lisp/dynamic-setting.el 2024-04-11 06:03:25.603986456 +0000
@@ -33,6 +33,7 @@
;;; Customizable variables
@ -15,17 +15,16 @@ Work around openSUSE bug #1016172
(defvar font-use-system-font)
@@ -42,28 +43,28 @@ If DISPLAY-OR-FRAME is a frame, the disp
@@ -42,15 +43,18 @@ If DISPLAY-OR-FRAME is a frame, the disp
If SET-FONT is non-nil, change the font for frames. Otherwise re-apply
the current form for the frame (i.e. hinting or somesuch changed)."
- (let ((new-font (and (fboundp 'font-get-system-font)
- (font-get-system-font)))
+ (let ((system-font (and (fboundp 'font-get-system-font)
(font-get-system-font)))
- (frame-list (frames-on-display-list display-or-frame)))
- (when (and new-font (display-graphic-p display-or-frame))
+ (let ((system-font (and (fboundp 'font-get-system-font)
+ (font-get-system-font)))
+ (frame-list (frames-on-display-list display-or-frame))
+ (frame-list (frames-on-display-list display-or-frame))
+ (user-font (face-attribute 'default :font)))
+ (when (and system-font (display-graphic-p display-or-frame))
(clear-font-cache)
@ -34,41 +33,22 @@ Work around openSUSE bug #1016172
;; the `default' face had been "set for this session":
- (set-frame-font new-font nil frame-list)
+ (if (not user-font)
+ (set-frame-font system-font nil frame-list)
+ (set-frame-font system-font nil frame-list)
+ (set-frame-font user-font nil frame-list))
;; Just redraw the existing fonts on all frames:
(dolist (f frame-list)
- (let ((frame-font
- (or (font-get (face-attribute 'default :font f 'default)
- :user-spec)
- (frame-parameter f 'font-parameter))))
+ ;; (apply 'font-spec (font-face-attributes (font-get-system-font)))
+ (let* ((frame-font
+ (or (face-attribute 'default :font f 'default)
+ (frame-parameter f 'font-parameter)))
+ (font-attr (font-face-attributes frame-font)))
(when frame-font
(set-frame-parameter f 'font-parameter frame-font)
- (set-face-attribute 'default f
- :width 'normal
- :weight 'normal
- :slant 'normal
- :font frame-font))))))))
+ (apply #'set-face-attribute 'default f font-attr))))))))
(defun dynamic-setting-handle-config-changed-event (event)
"Handle config-changed-event on the display in EVENT.
;; Just reconsider the existing fonts on all frames on each
;; display, by clearing the font and face caches. This will
;; cause all fonts to be recreated.
--- src/xsettings.c
+++ src/xsettings.c 2016-12-21 07:25:17.605036477 +0000
@@ -49,6 +49,7 @@ along with GNU Emacs. If not, see <http
#ifdef USE_CAIRO
#include <fontconfig/fontconfig.h>
#else /* HAVE_XFT */
+++ src/xsettings.c 2024-04-11 06:04:36.790667318 +0000
@@ -21,6 +21,7 @@ along with GNU Emacs. If not, see <http
#include <float.h>
#include <limits.h>
+#include <math.h>
#include <X11/Xft/Xft.h>
#endif
#endif
@@ -625,7 +626,11 @@ apply_xft_settings (struct x_display_inf
#include <fcntl.h>
#include <byteswap.h>
@@ -839,7 +840,11 @@ apply_xft_settings (Display_Info *dpyinf
#endif
FcPatternGetInteger (pat, FC_LCD_FILTER, 0, &oldsettings.lcdfilter);
FcPatternGetInteger (pat, FC_RGBA, 0, &oldsettings.rgba);

View File

@ -1,13 +1,13 @@
Index: emacs-25.2/configure.ac
===================================================================
---
emacs-26.1/configure.ac | 2 +-
emacs-26.1/src/image.c | 12 ++++++++++++
emacs-29.1/configure.ac | 2 +-
emacs-29.1/src/image.c | 12 ++++++++++++
2 files changed, 13 insertions(+), 1 deletion(-)
--- emacs-27.1/configure.ac
+++ emacs-27.1/configure.ac 2020-08-11 09:59:04.349950601 +0000
@@ -2603,7 +2603,7 @@ if test "${HAVE_X11}" = "yes" || test "$
--- emacs-29.1/configure.ac
+++ emacs-29.1/configure.ac 2023-08-01 07:15:12.274827913 +0000
@@ -2883,7 +2883,7 @@ if test "${HAVE_X11}" = "yes" || test "$
else
## 6.3.5 is the earliest version known to work; see Bug#17339.
## 6.8.2 makes Emacs crash; see Bug#13867.
@ -16,9 +16,9 @@ Index: emacs-25.2/configure.ac
fi
if test $HAVE_IMAGEMAGICK = yes; then
--- emacs-27.1/src/image.c
+++ emacs-27.1/src/image.c 2020-08-11 09:49:35.500181432 +0000
@@ -9005,7 +9005,11 @@ imagemagick_compute_animated_image (Magi
--- emacs-29.1/src/image.c
+++ emacs-29.1/src/image.c 2023-08-01 07:20:54.484555078 +0000
@@ -10207,7 +10207,11 @@ imagemagick_compute_animated_image (Magi
PixelWand **source, **dest;
size_t source_width, source_height;
ssize_t source_left, source_top;
@ -30,7 +30,7 @@ Index: emacs-25.2/configure.ac
DisposeType dispose;
ptrdiff_t lines = 0;
@@ -9070,7 +9074,11 @@ imagemagick_compute_animated_image (Magi
@@ -10272,7 +10276,11 @@ imagemagick_compute_animated_image (Magi
if (dispose == BackgroundDispose || PixelGetAlpha (source[x]))
{
PixelGetMagickColor (source[x], &pixel);
@ -42,7 +42,7 @@ Index: emacs-25.2/configure.ac
}
}
PixelSyncIterator (dest_iterator);
@@ -9115,7 +9123,11 @@ imagemagick_load_image (struct frame *f,
@@ -10317,7 +10325,11 @@ imagemagick_load_image (struct frame *f,
MagickWand *image_wand;
PixelIterator *iterator;
PixelWand **pixels, *bg_wand = NULL;
@ -52,5 +52,5 @@ Index: emacs-25.2/configure.ac
MagickPixelPacket pixel;
+#endif
Lisp_Object image;
#ifndef DONT_CREATE_TRANSFORMED_IMAGEMAGICK_IMAGE
Lisp_Object value;
Lisp_Object crop;

View File

@ -4,7 +4,7 @@
--- lwlib/xlwmenu.c
+++ lwlib/xlwmenu.c 2018-06-15 05:50:45.749287186 +0000
@@ -1894,21 +1894,18 @@ XlwMenuInitialize (Widget request, Widge
@@ -2118,21 +2118,18 @@ XlwMenuInitialize (Widget request, Widge
gray_width, gray_height,
(unsigned long)1, (unsigned long)0, 1);

View File

@ -5,13 +5,17 @@ Subject: Allow GNU Emacs server to open X Display
even if the Xauthority file is not the default expected by XCloseDisplay()
---
etc/emacs.service | 1 +
lisp/server.el | 40 ++++++++++++++++++++++++++++++++++++++--
2 files changed, 39 insertions(+), 2 deletions(-)
etc/emacs.service | 2 ++
lisp/server.el | 45 +++++++++++++++++++++++++++++++++++++++++++--
2 files changed, 45 insertions(+), 2 deletions(-)
--- etc/emacs.service
+++ etc/emacs.service 2021-10-08 09:41:15.350644801 +0000
@@ -8,6 +8,7 @@ Documentation=info:emacs man:emacs(1) ht
+++ etc/emacs.service 2024-04-11 06:46:29.320172754 +0000
@@ -5,9 +5,11 @@
[Unit]
Description=Emacs text editor
Documentation=info:emacs man:emacs(1) https://gnu.org/software/emacs/
+After=graphical-session.target
[Service]
Type=notify
@ -20,8 +24,8 @@ even if the Xauthority file is not the default expected by XCloseDisplay()
# Emacs will exit with status 15 after having received SIGTERM, which
--- lisp/server.el
+++ lisp/server.el 2021-10-08 09:40:13.683712534 +0000
@@ -287,6 +287,11 @@ If nil, no instructions are displayed."
+++ lisp/server.el 2024-04-11 06:17:17.692578500 +0000
@@ -289,6 +289,11 @@ If nil, no instructions are displayed."
"The directory in which to place the server socket.
If local sockets are not supported, this is nil.")
@ -30,24 +34,36 @@ even if the Xauthority file is not the default expected by XCloseDisplay()
+ "The Xauthority file to hold the Xauthority cookies.
+If no Xauthority is used, this is nil.")
+
(define-error 'server-running-external "External server running")
(defun server-clients-with (property value)
"Return a list of clients with PROPERTY set to VALUE."
(let (result)
@@ -643,7 +648,8 @@ the `server-process' variable."
(t (yes-or-no-p
"The current server still has clients; delete them? "))))
(let* ((server-dir (if server-use-tcp server-auth-dir server-socket-dir))
- (server-file (expand-file-name server-name server-dir)))
+ (server-file (expand-file-name server-name server-dir))
+ (xauth-file (concat server-dir "/xauth")))
(when server-process
;; kill it dead!
(ignore-errors (delete-process server-process)))
@@ -727,6 +733,14 @@ server or call `\\[server-force-delete]'
:plist '(:authenticated t)))))
@@ -619,6 +624,11 @@ If the key is not valid, signal an error
(let ((server-dir (if server-use-tcp server-auth-dir server-socket-dir)))
(expand-file-name server-name server-dir)))
+(defsubst server--xauth ()
+ "Return the xauth file name to hold the X Authority."
+ (let ((server-dir (if server-use-tcp server-auth-dir server-socket-dir)))
+ (expand-file-name "xauth" server-dir)))
+
(defun server-stop (&optional noframe)
"If this Emacs process has a server communication subprocess, stop it.
If this actually stopped the server, return non-nil. If the
@@ -720,7 +730,8 @@ the `server-process' variable."
(setq leave-dead t)))
;; Now any previous server is properly stopped.
(unless leave-dead
- (let ((server-file (server--file-name)))
+ (let ((server-file (server--file-name))
+ (xauth-file (server--xauth)))
;; Make sure there is a safe directory in which to place the socket.
(server-ensure-safe-dir (file-name-directory server-file))
(with-file-modes ?\700
@@ -762,6 +773,14 @@ the `server-process' variable."
(unless server-process (error "Could not start server process"))
(server-log "Started server")
(process-put server-process :server-file server-file)
+ ;; File to hold Xauthority cookies
+ ;; File to hold X Authority cookies
+ (unless (file-exists-p xauth-file)
+ (make-empty-file xauth-file))
+ (when (file-exists-p xauth-file)
@ -55,10 +71,10 @@ even if the Xauthority file is not the default expected by XCloseDisplay()
+ (dolist (proc (process-list))
+ (process-put proc 'env (cons var (process-get proc 'env)))))
+ (setq server-xauth-file xauth-file))
(setq server-mode t)
(push 'server-mode global-minor-modes)
(when server-use-tcp
(let ((auth-key (server-get-auth-key)))
(process-put server-process :auth-key auth-key)
@@ -855,7 +869,7 @@ This handles splitting the command if it
@@ -898,7 +917,7 @@ This handles splitting the command if it
(let ((frame
(server-with-environment
(process-get proc 'env)
@ -67,7 +83,7 @@ even if the Xauthority file is not the default expected by XCloseDisplay()
;; For tgetent(3); list according to ncurses(3).
"BAUDRATE" "COLUMNS" "ESCDELAY" "HOME" "LINES"
"NCURSES_ASSUMED_COLORS" "NCURSES_NO_PADDING"
@@ -1123,6 +1137,8 @@ The following commands are accepted by t
@@ -1171,6 +1190,8 @@ The following commands are accepted by t
nowait ; t if emacsclient does not want to wait for us.
frame ; Frame opened for the client (if any).
display ; Open frame on this display.
@ -76,7 +92,7 @@ even if the Xauthority file is not the default expected by XCloseDisplay()
parent-id ; Window ID for XEmbed
dontkill ; t if client should not be killed.
commands
@@ -1263,6 +1279,16 @@ The following commands are accepted by t
@@ -1314,6 +1335,16 @@ The following commands are accepted by t
;; -env NAME=VALUE: An environment variable.
("-env"
(let ((var (pop args-left)))
@ -93,7 +109,7 @@ even if the Xauthority file is not the default expected by XCloseDisplay()
;; XXX Variables should be encoded as in getenv/setenv.
(process-put proc 'env
(cons var (process-get proc 'env)))))
@@ -1278,6 +1304,16 @@ The following commands are accepted by t
@@ -1329,6 +1360,16 @@ The following commands are accepted by t
;; Unknown command.
(arg (error "Unknown command: %s" arg))))

View File

@ -1,5 +1,5 @@
---
etc/refcards/Makefile | 4 ++--
etc/refcards/Makefile | 6 +++---
etc/refcards/cs-dired-ref.tex | 3 ++-
etc/refcards/cs-survival.tex | 3 ++-
etc/refcards/fr-survival.tex | 2 +-
@ -8,10 +8,10 @@
etc/refcards/sk-dired-ref.tex | 3 ++-
etc/refcards/sk-survival.tex | 3 ++-
etc/refcards/survival.tex | 2 +-
9 files changed, 14 insertions(+), 9 deletions(-)
9 files changed, 15 insertions(+), 10 deletions(-)
--- etc/refcards/Makefile
+++ etc/refcards/Makefile 2021-03-25 15:07:14.519265674 +0000
+++ etc/refcards/Makefile 2024-02-02 07:47:53.132617523 +0000
@@ -231,12 +231,12 @@ pl-refcard.pdf: $(pl_refcard_deps)
! pdfmex --version > /dev/null 2> /dev/null; then \
echo "No mex format found."; false; \
@ -29,7 +29,7 @@
pl-refcard.ps: pl-refcard.dvi
dvips -t a4 -o $@ pl-refcard.dvi
--- etc/refcards/cs-dired-ref.tex
+++ etc/refcards/cs-dired-ref.tex 2021-03-25 15:07:14.519265674 +0000
+++ etc/refcards/cs-dired-ref.tex 2024-02-02 07:47:53.132617523 +0000
@@ -108,7 +108,8 @@ see the Emacs distribution, or {\tt http
\font\eightbf=csbx8
\font\eightit=csti8
@ -41,7 +41,7 @@
\textfont0=\eightrm
\textfont1=\eightmi
--- etc/refcards/cs-survival.tex
+++ etc/refcards/cs-survival.tex 2021-03-25 15:07:14.519265674 +0000
+++ etc/refcards/cs-survival.tex 2024-02-02 07:47:53.132617523 +0000
@@ -84,7 +84,8 @@
\font\eightbf=csbx8
\font\eightit=csti8
@ -53,23 +53,23 @@
\font\eightss=cmss8
\textfont0=\eightrm
--- etc/refcards/fr-survival.tex
+++ etc/refcards/fr-survival.tex 2021-03-25 15:08:33.797766981 +0000
+++ etc/refcards/fr-survival.tex 2024-02-02 07:48:34.823838922 +0000
@@ -1,4 +1,4 @@
-%&tex
+%
% Title: GNU Emacs Survival Card
% Copyright (C) 2000--2022 Free Software Foundation, Inc.
% Copyright (C) 2000--2024 Free Software Foundation, Inc.
--- etc/refcards/pl-refcard.tex
+++ etc/refcards/pl-refcard.tex 2021-03-25 15:08:53.917386707 +0000
+++ etc/refcards/pl-refcard.tex 2024-02-02 07:48:49.943556553 +0000
@@ -1,4 +1,4 @@
-%&mex
+%
% Reference Card for GNU Emacs
% Copyright (C) 1999, 2001--2022 Free Software Foundation, Inc.
% Copyright (C) 1999, 2001--2024 Free Software Foundation, Inc.
--- etc/refcards/ru-refcard.tex
+++ etc/refcards/ru-refcard.tex 2021-03-25 15:07:14.519265674 +0000
+++ etc/refcards/ru-refcard.tex 2024-02-02 07:47:53.132617523 +0000
@@ -25,6 +25,7 @@
\documentclass[10pt]{article}
\usepackage{multicol,tabularx}
@ -79,7 +79,7 @@
\usepackage[utf8]{inputenc}
\usepackage[english,russian]{babel}
--- etc/refcards/sk-dired-ref.tex
+++ etc/refcards/sk-dired-ref.tex 2021-03-25 15:07:14.519265674 +0000
+++ etc/refcards/sk-dired-ref.tex 2024-02-02 07:47:53.132617523 +0000
@@ -109,7 +109,8 @@ see the Emacs distribution, or {\tt http
\font\eightbf=csbx8
\font\eightit=csti8
@ -91,7 +91,7 @@
\textfont0=\eightrm
\textfont1=\eightmi
--- etc/refcards/sk-survival.tex
+++ etc/refcards/sk-survival.tex 2021-03-25 15:07:14.519265674 +0000
+++ etc/refcards/sk-survival.tex 2024-02-02 07:47:53.132617523 +0000
@@ -86,7 +86,8 @@
\font\eightbf=csbx8
\font\eightit=csti8
@ -103,10 +103,10 @@
\font\eightss=cmss8
\textfont0=\eightrm
--- etc/refcards/survival.tex
+++ etc/refcards/survival.tex 2021-03-25 15:07:57.346455997 +0000
+++ etc/refcards/survival.tex 2024-02-02 07:49:06.719243261 +0000
@@ -1,4 +1,4 @@
-%&tex
+%
% Title: GNU Emacs Survival Card
% Copyright (C) 2000--2022 Free Software Foundation, Inc.
% Copyright (C) 2000--2024 Free Software Foundation, Inc.

BIN
emacs-28.2-pdf.tar.xz (Stored with Git LFS)

Binary file not shown.

BIN
emacs-28.2.tar.xz (Stored with Git LFS)

Binary file not shown.

View File

@ -1,11 +0,0 @@
-----BEGIN PGP SIGNATURE-----
iQFLBAABCgA1FiEEuwLkB66eqofJ5yodLU4f6VlXE10FAmMe8kQXHHN0ZWZhbmth
bmdhc0BnbWFpbC5jb20ACgkQLU4f6VlXE11V5Qf+PJusxzv/5obVQfXChnuJ0gv6
0PeBQtN3BFINjUpxaGqNBEKVeXCsqyvFa/Z6TIMmYPfPoKp6CrocnaXX2i3s1QPa
zZ5yYgz76Fs2wBdkv6S/yRmtFwJbOP54XGVhhvVzb1cvYEeIbQHtSvBkIEAi3S/O
45ro4sA5oEuWA+RGzMsHguxcCTzn0+YAM4Ch4HoZo+LWiGgCvhi/W8HUSCrA48/5
F2S9gpd7cS94UJs20CdV1rgs1eqgLdqIQgzHdxft+JrGfO2FdHdrnnLTg/NSJGn+
FEIqaSv29movaO61mVUYcCDmp9oyxRLw9/cWNI6eDADU7mq28CLkEEwbMB8Aaw==
=OaWq
-----END PGP SIGNATURE-----

View File

@ -1,49 +1,51 @@
---
Makefile.in | 7 +-
configure | 6 --
configure.ac | 6 --
doc/man/etags.1 | 20 ++++----
lib-src/Makefile.in | 6 +-
lib-src/Makefile.in | 4 -
lib-src/pop.c | 1
lib/Makefile.in | 2
lisp/cmuscheme.el | 3 -
lisp/international/mule-cmds.el | 1
lisp/net/ange-ftp.el | 8 +--
lisp/site-load.el | 45 ++++++++++++++++++
lisp/speedbar.el | 1
lisp/textmodes/ispell.el | 82 ++++++++++++++++++++++++++++++++-
lisp/textmodes/ispell.el | 88 +++++++++++++++++++++++++++++++++---
site-lisp/term/func-keys.el | 33 +++++++++++++
site-lisp/term/gnome.el | 97 ++++++++++++++++++++++++++++++++++++++++
site-lisp/term/kvt.el | 97 ++++++++++++++++++++++++++++++++++++++++
site-lisp/term/linux.el | 79 ++++++++++++++++++++++++++++++++
site-lisp/term/locale.el | 13 +++++
18 files changed, 475 insertions(+), 32 deletions(-)
16 files changed, 472 insertions(+), 31 deletions(-)
--- Makefile.in
+++ Makefile.in 2020-08-11 10:21:15.194072175 +0000
@@ -519,11 +519,11 @@ install-arch-dep: src install-arch-indep
+++ Makefile.in 2023-08-01 08:29:04.813378495 +0000
@@ -614,7 +614,7 @@ install-arch-dep: src install-arch-indep
umask 022; ${MKDIR_P} "$(DESTDIR)${bindir}"
$(MAKE) -C lib-src install
ifeq (${ns_self_contained},no)
- ${INSTALL_PROGRAM} $(INSTALL_STRIP) src/emacs${EXEEXT} "$(DESTDIR)${bindir}/$(EMACSFULL)"
+ ${INSTALL_PROGRAM} $(INSTALL_STRIP) src/emacs${EXEEXT} "$(DESTDIR)${bindir}/$(EMACS)"
ifeq (${DUMPING},pdumper)
${INSTALL_DATA} src/emacs.pdmp "$(DESTDIR)${libexecdir}/emacs/${version}/${configuration}"/emacs.pdmp
ifeq (${HAVE_BE_APP},yes)
${INSTALL_PROGRAM} $(INSTALL_STRIP) src/Emacs "$(DESTDIR)${prefix}/apps/Emacs"
endif
@@ -624,7 +624,7 @@ ifeq (${HAVE_BE_APP},yes)
endif
${INSTALL_DATA} src/emacs.pdmp "$(DESTDIR)${libexecdir}/emacs/${version}/${configuration}"/emacs-${EMACS_PDMP}
endif
- -chmod 755 "$(DESTDIR)${bindir}/$(EMACSFULL)"
+ -chmod 755 "$(DESTDIR)${bindir}/$(EMACS)"
ifndef NO_BIN_LINK
rm -f "$(DESTDIR)${bindir}/$(EMACS)"
cd "$(DESTDIR)${bindir}" && $(LN_S_FILEONLY) "$(EMACSFULL)" "$(EMACS)"
@@ -712,6 +712,7 @@ install-man:
@@ -811,6 +811,7 @@ install-man:
umask 022; ${MKDIR_P} "$(DESTDIR)${man1dir}"
thisdir=`/bin/pwd`; \
thisdir=`pwd -P`; \
cd ${mansrcdir}; \
+ cp ctags.1 gnuctags.1; \
for page in *.1; do \
test "$$page" = ChangeLog.1 && continue; \
dest=`echo "$${page}" | sed -e 's/\.1$$//' -e '$(TRANSFORM)'`.1; \
@@ -843,7 +844,7 @@ uninstall: uninstall-$(NTDIR) uninstall-
@@ -947,7 +948,7 @@ uninstall: uninstall-$(NTDIR) uninstall-
for page in *.1; do \
rm -f "$(DESTDIR)${man1dir}"/`echo "$${page}" | sed -e 's/\.1$$//' -e '$(TRANSFORM)'`.1$$ext; done; \
fi)
@ -52,24 +54,9 @@
(if cd "$(DESTDIR)${icondir}"; then \
rm -f hicolor/*x*/apps/"${EMACS_NAME}.png" \
"hicolor/scalable/apps/${EMACS_NAME}.svg" \
|--- configure
|+++ configure 2020-08-11 10:17:21.102266456 +0000
|@@ -10750,10 +10750,8 @@ fi
| LD_SWITCH_X_SITE_RPATH=
| if test "${x_libraries}" != NONE; then
| if test -n "${x_libraries}"; then
|- LD_SWITCH_X_SITE=-L`$as_echo "$x_libraries" | sed -e 's/:/ -L/g'`
|- LD_SWITCH_X_SITE_RPATH=-Wl,-rpath,`
|- $as_echo "$x_libraries" | sed -e 's/:/ -Wl,-rpath,/g'
|- `
|+ LD_SWITCH_X_SITE="-L ${x_libraries%%:*}"
|+ LD_SWITCH_X_SITE_RPATH="-Wl,-rpath-link,${x_libraries%%:*}"
| fi
| x_default_search_path=""
| x_search_path=${x_libraries}
--- configure.ac
+++ configure.ac 2020-08-11 10:17:21.102266456 +0000
@@ -1832,10 +1832,8 @@ fi
+++ configure.ac 2023-08-01 08:20:12.115169895 +0000
@@ -1958,10 +1958,8 @@ fi
LD_SWITCH_X_SITE_RPATH=
if test "${x_libraries}" != NONE; then
if test -n "${x_libraries}"; then
@ -83,7 +70,7 @@
x_default_search_path=""
x_search_path=${x_libraries}
--- doc/man/etags.1
+++ doc/man/etags.1 2020-08-11 10:17:21.102266456 +0000
+++ doc/man/etags.1 2023-08-01 08:20:12.115169895 +0000
@@ -7,7 +7,7 @@
..
@ -167,8 +154,8 @@
.B \-h, \-H, \-\-help
Print usage information. Followed by one or more \-\-language=LANG
--- lib-src/Makefile.in
+++ lib-src/Makefile.in 2020-08-11 10:31:37.642931244 +0000
@@ -134,7 +136,7 @@ MKDIR_P = @MKDIR_P@
+++ lib-src/Makefile.in 2023-08-01 08:20:12.115169895 +0000
@@ -144,7 +144,7 @@ HAIKU_CFLAGS=@HAIKU_CFLAGS@
CLIENTW = @CLIENTW@
# Things that a user might actually run, which should be installed in bindir.
@ -177,7 +164,7 @@
ebrowse${EXEEXT}
# Things that Emacs runs internally, or during the build process,
@@ -382,7 +382,7 @@ etags${EXEEXT}: ${etags_deps}
@@ -403,7 +403,7 @@ etags${EXEEXT}: ${etags_deps}
## etags.o files on top of each other.
## FIXME?
## Can't we use a wrapper that calls 'etags --ctags'?
@ -187,7 +174,7 @@
ebrowse${EXEEXT}: ${srcdir}/ebrowse.c ${srcdir}/../lib/min-max.h $(NTLIB) \
--- lib-src/pop.c
+++ lib-src/pop.c 2020-08-11 10:17:21.102266456 +0000
+++ lib-src/pop.c 2023-08-01 08:20:12.115169895 +0000
@@ -26,6 +26,7 @@ along with GNU Emacs. If not, see <http
#ifdef MAIL_USE_POP
@ -197,8 +184,8 @@
#include "ntlib.h"
#undef _WIN32_WINNT
--- lisp/cmuscheme.el
+++ lisp/cmuscheme.el 2020-08-11 10:17:21.106266385 +0000
@@ -231,7 +231,8 @@ is run).
+++ lisp/cmuscheme.el 2023-08-01 08:20:12.115169895 +0000
@@ -232,7 +232,8 @@ is run).
(read-string "Run Scheme: " scheme-program-name)
scheme-program-name)))
(if (not (comint-check-proc "*scheme*"))
@ -209,7 +196,7 @@
(scheme-start-file (car cmdlist)) (cdr cmdlist)))
(inferior-scheme-mode)))
--- lisp/international/mule-cmds.el
+++ lisp/international/mule-cmds.el 2020-08-11 10:17:21.106266385 +0000
+++ lisp/international/mule-cmds.el 2023-08-01 08:20:12.115169895 +0000
@@ -39,6 +39,7 @@
(defvar mule-keymap
@ -219,7 +206,7 @@
(define-key map "r" 'revert-buffer-with-coding-system)
(define-key map "F" 'set-file-name-coding-system)
--- lisp/net/ange-ftp.el
+++ lisp/net/ange-ftp.el 2020-08-11 10:17:21.106266385 +0000
+++ lisp/net/ange-ftp.el 2023-08-01 08:20:12.119169821 +0000
@@ -5076,7 +5076,7 @@ NEWNAME should be the name to give the n
; "If a host matches this regexp then it is assumed to be running VOS.")
;
@ -257,7 +244,7 @@
(defun ange-ftp-add-cms-host (host)
--- lisp/site-load.el
+++ lisp/site-load.el 2020-08-11 10:17:21.106266385 +0000
+++ lisp/site-load.el 2023-08-01 08:20:12.119169821 +0000
@@ -0,0 +1,45 @@
+;;;;
+;;; emacs-27.1/lisp/site-load.el
@ -305,8 +292,8 @@
+
+;;; site-load.el ends here
--- lisp/speedbar.el
+++ lisp/speedbar.el 2020-08-11 10:17:21.106266385 +0000
@@ -732,6 +732,7 @@ If you want to change this while speedba
+++ lisp/speedbar.el 2023-08-01 08:20:12.119169821 +0000
@@ -727,6 +727,7 @@ If you want to change this while speedba
;; Navigation.
(define-key map "n" 'speedbar-next)
@ -315,7 +302,7 @@
(define-key map "\M-n" 'speedbar-restricted-next)
(define-key map "\M-p" 'speedbar-restricted-prev)
--- lisp/textmodes/ispell.el
+++ lisp/textmodes/ispell.el 2020-08-11 10:30:39.847965024 +0000
+++ lisp/textmodes/ispell.el 2023-08-01 08:20:12.119169821 +0000
@@ -191,13 +191,15 @@ Must be greater than 1."
:type 'integer)
@ -339,7 +326,7 @@
"Program invoked by \\[ispell-word] and \\[ispell-region] commands."
:type 'string
:set (lambda (symbol value)
@@ -1396,6 +1398,78 @@ The variable `ispell-library-directory'
@@ -1427,6 +1429,78 @@ The variable `ispell-library-directory'
;; Define commands in menu in opposite order you want them to appear.
(let ((map (make-sparse-keymap "Spell")))
@ -377,7 +364,7 @@
+ (ispell-find-aspell-dictionaries)
+ (let ((dicts (reverse (cons (cons "default" nil)
+ (append ispell-local-dictionary-alist ispell-dictionary-alist))))
+ name load-dict)
+ name)
+ (dolist (dict dicts)
+ (setq name (car dict))
+ (cond ((not (stringp name))
@ -399,7 +386,7 @@
+ (ispell-find-hunspell-dictionaries)
+ (let ((dicts (reverse (cons (cons "default" nil)
+ (append ispell-local-dictionary-alist ispell-hunspell-dictionary-alist))))
+ name load-dict)
+ name)
+ (dolist (dict dicts)
+ (setq name (car dict))
+ (cond ((not (stringp name))
@ -419,7 +406,7 @@
`(menu-item ,(purecopy "Change Dictionary...") ispell-change-dictionary
:help ,(purecopy "Supply explicit dictionary file name")))
--- site-lisp/term/func-keys.el
+++ site-lisp/term/func-keys.el 2020-08-11 10:17:21.106266385 +0000
+++ site-lisp/term/func-keys.el 2023-08-01 08:20:12.119169821 +0000
@@ -0,0 +1,33 @@
+;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
+;;; term/func-keys.el for site-lisp path
@ -455,7 +442,7 @@
+;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
+;; Ende von func-keys.el
--- site-lisp/term/gnome.el
+++ site-lisp/term/gnome.el 2020-08-11 10:17:21.106266385 +0000
+++ site-lisp/term/gnome.el 2023-08-01 08:20:12.119169821 +0000
@@ -0,0 +1,97 @@
+;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
+;;; term/gnomw.el for site-lisp path
@ -555,7 +542,7 @@
+;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
+;; Ende von gnomw.el
--- site-lisp/term/kvt.el
+++ site-lisp/term/kvt.el 2020-08-11 10:17:21.106266385 +0000
+++ site-lisp/term/kvt.el 2023-08-01 08:20:12.119169821 +0000
@@ -0,0 +1,97 @@
+;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
+;;; term/kvt.el for site-lisp path
@ -655,7 +642,7 @@
+;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
+;; Ende von kvt.el
--- site-lisp/term/linux.el
+++ site-lisp/term/linux.el 2020-08-11 10:17:21.106266385 +0000
+++ site-lisp/term/linux.el 2023-08-01 08:20:12.119169821 +0000
@@ -0,0 +1,79 @@
+;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
+;;; term/linux.el for site-lisp path
@ -737,7 +724,7 @@
+;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
+;; Ende von linux.el
--- site-lisp/term/locale.el
+++ site-lisp/term/locale.el 2020-08-11 10:17:21.106266385 +0000
+++ site-lisp/term/locale.el 2023-08-01 08:20:12.119169821 +0000
@@ -0,0 +1,13 @@
+;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
+;;; term/locale.el for site-lisp path

BIN
emacs-29.4-pdf.tar.xz (Stored with Git LFS) Normal file

Binary file not shown.

BIN
emacs-29.4.tar.xz (Stored with Git LFS) Normal file

Binary file not shown.

11
emacs-29.4.tar.xz.sig Normal file
View File

@ -0,0 +1,11 @@
-----BEGIN PGP SIGNATURE-----
iQFLBAABCgA1FiEEuwLkB66eqofJ5yodLU4f6VlXE10FAmZ26AAXHHN0ZWZhbmth
bmdhc0BnbWFpbC5jb20ACgkQLU4f6VlXE12pAwf8C+BIyBYVe3q7ErFAL7O1zK/k
fuL/Nh1g9pKY6JDiNx4INLi4DoFaoj4HzLj356N/m/8xZl0+J1TYOp5gR3TNiYSo
hf8Dxt9V3zEminMzXeQnrH0IMESkktpXmlhCcb5GtapO86KzYrFeZXU95fk8C3+H
7MVDo3QznLnQTUb+OythZ5d5ClN1XVNKrkcu/hdHR51lPYP4NW/zbWdCYvKsSNTD
pkr+484KAT/R2FzoyhUtbiGkJacG0AxHA7uwPqjCFcoaet/6GjkJ9UJTJo7A1VwF
9qBwS2UCLofsZpoutly+43Id+OJBmA6PbGyQayvDCPuxfX9Ok/TjWWLSY0z5wA==
=E1hc
-----END PGP SIGNATURE-----

View File

@ -1,3 +1,194 @@
-------------------------------------------------------------------
Tue Jul 2 07:52:23 UTC 2024 - Dr. Werner Fink <werner@suse.de>
- The release 29.4 does fix boo#1226957 -- CVE-2024-39331
-------------------------------------------------------------------
Mon Jun 24 09:34:03 UTC 2024 - Dr. Werner Fink <werner@suse.de>
- Update to GNU Emacs version 29.4
* Emacs 29.4 is an emergency bugfix release intended to fix the
security vulnerability described below.
** Arbitrary shell commands are no longer run when turning oncw
Org mode. This is for security reasons, to avoid running
malicious commands.
-------------------------------------------------------------------
Thu Apr 11 06:13:45 UTC 2024 - Dr. Werner Fink <werner@suse.de>
- Modify patch emacs-25.1-custom-fonts.patch
* include math.h for all kinds of fonts handling (boo#1222637)
- Modify patch emacs-27.1-Xauthority4server.patch
* Add After=graphical-session.target in emacs.service (boo#1222172)
-------------------------------------------------------------------
Tue Apr 2 08:54:52 UTC 2024 - Dr. Werner Fink <werner@suse.de>
- Fix the temporary parking path by using %{version} (hint from Andre Barros)
-------------------------------------------------------------------
Mon Mar 25 09:22:31 UTC 2024 - Dr. Werner Fink <werner@suse.de>
- Update to GNU Emacs version 29.3
which is an emergency bugfix release intended to fix several
security vulnerabilities described below.
* Arbitrary Lisp code is no longer evaluated as part of turning on Org mode.
This is for security reasons, to avoid evaluating malicious Lisp code.
* New buffer-local variable 'untrusted-content'.
When this is non-nil, Lisp programs should treat buffer contents with
extra caution.
* Gnus now treats inline MIME contents as untrusted.
To get back previous insecure behavior, 'untrusted-content' should be
reset to nil in the buffer.
* LaTeX preview is now by default disabled for email attachments.
To get back previous insecure behavior, set the variable
'org--latex-preview-when-risky' to a non-nil value.
* Org mode now considers contents of remote files to be untrusted.
Remote files are recognized by calling 'file-remote-p'.
- Port patch emacs-24.4-ps-bdf.patch
-------------------------------------------------------------------
Fri Feb 2 08:26:58 UTC 2024 - Dr. Werner Fink <werner@suse.de>
- Update to GNU Emacs version 29.2
* Startup Changes in Emacs 29.2
On GNU/Linux, Emacs is now the default application for 'org-protocol'.
Org mode provides a way to quickly capture bookmarks, notes, and links
using 'emacsclient':
emacsclient "org-protocol://store-link?url=URL&title=TITLE"
* This is a bug-fix release with no new features.
* Changes in Specialized Modes and Packages in Emacs 29.2
- Tramp
New user option 'tramp-show-ad-hoc-proxies'.
When non-nil, ad-hoc definitions are kept in remote file names instead
of showing the shortcuts.
* Incompatible Lisp Changes in Emacs 29.2
'with-sqlite-transaction' rolls back changes if its BODY fails.
If the BODY of the macro signals an error, or committing the results
of the transaction fails, the changes will now be rolled back.
- Port patches mainly by correcting hunk offsets
* emacs-24.1-ps-mule.patch
* emacs-24.4-ps-bdf.patch
* emacs-25.2-ImageMagick7.patch
* emacs-27.1-Xauthority4server.patch
* emacs-27.1-pdftex.patch
* emacs-29.1.dif
* pdump.patch
-------------------------------------------------------------------
Fri Dec 29 22:42:28 UTC 2023 - Giacomo Comes <gcomes.obs@gmail.com>
- fix typo in %{ext_info} macro usage
-------------------------------------------------------------------
Wed Nov 15 10:34:24 UTC 2023 - Dirk Müller <dmueller@suse.com>
- only use valgrind on 64 bit architectures
-------------------------------------------------------------------
Thu Oct 12 07:01:56 UTC 2023 - Dr. Werner Fink <werner@suse.de>
- Only recommend at-spi2-core
-------------------------------------------------------------------
Wed Oct 11 13:16:41 UTC 2023 - Björn Bidar <bjorn.bidar@thaodan.de>
- Don't install gsettings schemas twice
-------------------------------------------------------------------
Tue Oct 10 11:36:25 UTC 2023 - Dr. Werner Fink <werner@suse.de>
- For the at-spi bus the package at-spi2-core is required
- Move eln prune code from ~/.gnu-emacs to site-start
-------------------------------------------------------------------
Mon Oct 9 08:41:27 UTC 2023 - Dr. Werner Fink <werner@suse.de>
- Avoid warnings about eln files as well as prune older eln files
-------------------------------------------------------------------
Fri Oct 6 22:37:59 UTC 2023 - Björn Bidar <bjorn.bidar@thaodan.de>
- Add packaging macros for Emacs packages
- Add site-lisp directory for dynamic modules
-------------------------------------------------------------------
Thu Sep 28 11:53:14 UTC 2023 - Dr. Werner Fink <werner@suse.de>
- For GNUS: Use message-user-fqdn instead of gnus-local-organization
-------------------------------------------------------------------
Tue Sep 26 12:37:30 UTC 2023 - Dr. Werner Fink <werner@suse.de>
- Now with changed pdump.patch patch from bjorn.bidar@thaodan.de
- Build also wayland gtk based binary
- Support wayland binary by checking for XDG_SESSION_TYPE
- Provide eln native shared binaries for all emacs program binaries
-------------------------------------------------------------------
Tue Sep 26 00:11:46 UTC 2023 - Björn Bidar <bjorn.bidar@thaodan.de>
- Pass libdir to configure so native Emacs lisp files are installed
correctly on 64bit systems
-------------------------------------------------------------------
Fri Aug 11 10:33:54 UTC 2023 - Dr. Werner Fink <werner@suse.de>
- Require bwrap at build time as some tools requires it if checks
are enabled
-------------------------------------------------------------------
Thu Aug 10 07:17:09 UTC 2023 - Dr. Werner Fink <werner@suse.de>
- Modify patch emacs-29.1.dif
* Avoid in ispell.el unused lexical variable `load-dict'
-------------------------------------------------------------------
Mon Aug 7 07:37:16 UTC 2023 - Dr. Werner Fink <werner@suse.de>
- Extend patch pdump.patch
* Make various emacs flavours find their pdmp files even if first
argument is simply named "emacs" (slack message, boo#1214008)
-------------------------------------------------------------------
Wed Aug 2 07:30:25 UTC 2023 - Dr. Werner Fink <werner@suse.de>
- Update to GNU Emacs version 29.1
* Official tree-sitter support
* EGlot, the Language Server Client
* Use-package a declarative configuration tool finally in
* Better long line support
* Native SQLite Support
* Changing the init directory
You can now instruct Emacs to read its initialization from
another directory from the command line.
- Use natively compiled lisp files only for GTK variant as every
binary has its own hash keys for the eln location as well as for
the eln native compiled lisp files
- Port rmailgen.el and .gnu-emacs to 29.1
- Remove the old patches now upstream
* 01a4035c.patch
* 3c1693d0.patch
* CVE-2022-48338.patch
* CVE-2022-48339.patch
* d3209119.patch
* d48bb487.patch
- Port and rename patch emacs-28.1.dif which is now emacs-29.1.dif
- Port the patches
* emacs-24.1-ps-mule.patch
* emacs-24.3-iconic.patch
* emacs-24.3-x11r7.patch
* emacs-24.4-glibc.patch
* emacs-24.4-nonvoid.patch
* emacs-24.4-ps-bdf.patch
* emacs-25.1-custom-fonts.patch
* emacs-25.2-ImageMagick7.patch
* emacs-26.1-xft4x11.patch
* emacs-27.1-Xauthority4server.patch
* emacs-27.1-pdftex.patch
* pdump.patch
- Re-enable ImageMagick usage
-------------------------------------------------------------------
Thu Mar 16 15:18:33 UTC 2023 - Dirk Müller <dmueller@suse.com>
@ -13,7 +204,7 @@ Thu Mar 9 09:04:28 UTC 2023 - Dr. Werner Fink <werner@suse.de>
- Add patch d3209119.patch
boo#1209089,CVE-2023-27985: Fix shell command injection in emacsclient-mail.desktop
- Add patch 3c1693d0.patch
- Add patch 3c1693d0.patch
boo#1209090,CVE-2023-27986: Fix Emacs Lisp code injection in emacsclient-mail.desktop
-------------------------------------------------------------------
@ -48,13 +239,13 @@ Tue Nov 29 10:41:15 UTC 2022 - Dr. Werner Fink <werner@suse.de>
Thu Nov 10 13:48:45 UTC 2022 - Dr. Werner Fink <werner@suse.de>
- dbus-update-activation-environment handles only variables with
their names
their names
-------------------------------------------------------------------
Wed Nov 9 13:46:06 UTC 2022 - Dr. Werner Fink <werner@suse.de>
- Add workaround for boo#1205109, that is started with sudo there
is maybe no active user session for root hence no dbus
is maybe no active user session for root hence no dbus
-------------------------------------------------------------------
Wed Oct 26 11:56:36 UTC 2022 - Andreas Schwab <schwab@suse.de>
@ -131,12 +322,12 @@ Fri Nov 19 11:56:17 UTC 2021 - Dr. Werner Fink <werner@suse.de>
-------------------------------------------------------------------
Fri Nov 19 10:54:09 UTC 2021 - Dr. Werner Fink <werner@suse.de>
- Enable the NO_AT_BRIDGE code
- Enable the NO_AT_BRIDGE code
-------------------------------------------------------------------
Mon Nov 15 13:07:51 UTC 2021 - Dr. Werner Fink <werner@suse.de>
- Again disable workaround with XLIB_SKIP_ARGB_VISUALS set (boo#1191517)
- Again disable workaround with XLIB_SKIP_ARGB_VISUALS set (boo#1191517)
- Correct quoting of anonymous function calls
-------------------------------------------------------------------
@ -150,7 +341,7 @@ Wed Sep 8 09:05:56 UTC 2021 - Dr. Werner Fink <werner@suse.de>
- Work for boo#1183497: make sure that if ibus is the input method
that there exists a working gtk immodule for ibus as well as the
ibus daemon is up and running
ibus daemon is up and running
-------------------------------------------------------------------
Wed Jul 21 09:22:45 UTC 2021 - Andreas Schwab <schwab@suse.de>
@ -160,7 +351,7 @@ Wed Jul 21 09:22:45 UTC 2021 - Andreas Schwab <schwab@suse.de>
-------------------------------------------------------------------
Fri Jun 11 10:24:47 UTC 2021 - Dr. Werner Fink <werner@suse.de>
- Enable workaround with XLIB_SKIP_ARGB_VISUALS set (boo#1186341)
- Enable workaround with XLIB_SKIP_ARGB_VISUALS set (boo#1186341)
-------------------------------------------------------------------
Mon May 31 05:49:58 UTC 2021 - Duncan Mac-Vicar P <duncan@mac-vicar.eu>
@ -174,12 +365,12 @@ Mon May 31 05:49:58 UTC 2021 - Duncan Mac-Vicar P <duncan@mac-vicar.eu>
-------------------------------------------------------------------
Wed May 26 13:31:49 UTC 2021 - Dr. Werner Fink <werner@suse.de>
- Disable workaround with XLIB_SKIP_ARGB_VISUALS set (boo#1186341)
- Disable workaround with XLIB_SKIP_ARGB_VISUALS set (boo#1186341)
-------------------------------------------------------------------
Fri Mar 26 09:35:15 UTC 2021 - Dr. Werner Fink <werner@suse.de>
- Update emacs.keyring
- Update emacs.keyring
-------------------------------------------------------------------
Thu Mar 25 14:24:18 UTC 2021 - Dr. Werner Fink <werner@suse.de>
@ -210,7 +401,7 @@ Mon Mar 8 13:40:06 UTC 2021 - Dr. Werner Fink <werner@suse.de>
- Add patch emacs-27.1-Xauthority4server.patch
* Allow GNU Emacs server to open X Display even if the Xauthority
file is not the default expected by XCloseDisplay()
* Hopefully fix boo#1174534 and boo#1179854
* Hopefully fix boo#1174534 and boo#1179854
-------------------------------------------------------------------
Tue Jan 26 14:17:37 UTC 2021 - Dominique Leuenberger <dimstar@opensuse.org>
@ -418,7 +609,7 @@ Tue Oct 23 06:37:33 UTC 2018 - Dr. Werner Fink <werner@suse.de>
Mon Oct 22 13:56:16 UTC 2018 - Dr. Werner Fink <werner@suse.de>
- Help ispell(.el) to find and provide the usable dictionaries
even for hunspell (boo#1110387)
even for hunspell (boo#1110387)
-------------------------------------------------------------------
Fri Jul 20 09:33:08 UTC 2018 - werner@suse.de
@ -436,7 +627,7 @@ Sun Jul 8 20:14:24 UTC 2018 - schwab@linux-m68k.org
Fri Jun 15 05:14:18 UTC 2018 - werner@suse.de
- Simplify patch emacs-25.3-xft4x11.patch (from Henryk Hecht) for
boo#1096354
boo#1096354
-------------------------------------------------------------------
Tue Jun 12 07:52:20 UTC 2018 - werner@suse.de
@ -453,21 +644,21 @@ Fri Jun 8 17:35:59 UTC 2018 - bjorn.lie@gmail.com
-------------------------------------------------------------------
Thu Jun 7 13:05:03 UTC 2018 - werner@suse.de
- Use -fPIE/-pie for helper binaries
- Use -fPIE/-pie for helper binaries
- Use Groups tag Productivity/Text/Editors
-------------------------------------------------------------------
Thu Jun 7 11:33:27 UTC 2018 - werner@suse.de
- Add configure option for mailutils as recommended by GNU Emacs upstream
- Re-enable games with GNU Emacs which requires system-user-games
- Re-enable games with GNU Emacs which requires system-user-games
-------------------------------------------------------------------
Thu Jun 7 08:14:04 UTC 2018 - werner@suse.de
- Cleanup the spec file by removing old suse_versions
and reordering configure options
- Add some missed packages for configure
- Add some missed packages for configure
- Avoid Xwidgets on 32bit architectures as this does not build
-------------------------------------------------------------------
@ -484,7 +675,7 @@ Tue May 29 13:09:38 UTC 2018 - werner@suse.de
* Various Changes in Specialized Modes and Packages in Emacs 26.1, see NEWS
* Some Incompatible Lisp Changes in Emacs 26.1, see NEWS
* Various Lisp Changes in Emacs 26.1, see NEWS
- Removed patch now upstream
- Removed patch now upstream
* emacs-24.4-decl.dif
* emacs-25.2-bsc1058425.patch
* emacs-25.2-xwidget.patch
@ -512,7 +703,7 @@ Tue Mar 27 16:34:37 UTC 2018 - dimstar@opensuse.org
-------------------------------------------------------------------
Wed Mar 14 21:08:52 UTC 2018 - crrodriguez@opensuse.org
- Remove xorg-x11-devel from buildrequires, replace
- Remove xorg-x11-devel from buildrequires, replace
by an extense list of pkgconfig()-style dependencies.
-------------------------------------------------------------------
@ -530,7 +721,7 @@ Fri Sep 22 10:06:54 UTC 2017 - werner@suse.de
Wed Sep 13 07:21:34 UTC 2017 - werner@suse.de