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

View File

@ -16,7 +16,7 @@
--- lisp/textmodes/ispell.el --- lisp/textmodes/ispell.el
+++ lisp/textmodes/ispell.el 2016-09-19 09:01:56.930605125 +0000 +++ 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 nil ;; in pipe mode. Disable extended-char-mode
(nth 6 (or (assoc ispell-current-dictionary ispell-local-dictionary-alist) (nth 6 (or (assoc ispell-current-dictionary ispell-local-dictionary-alist)
(assoc ispell-current-dictionary ispell-dictionary-alist))))) (assoc ispell-current-dictionary ispell-dictionary-alist)))))

View File

@ -4,7 +4,7 @@
--- lisp/startup.el --- lisp/startup.el
+++ lisp/startup.el 2016-09-19 09:15:26.871345783 +0000 +++ 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") ((equal argi "-no-splash")
(setq inhibit-startup-screen t)) (setq inhibit-startup-screen t))

View File

@ -1,9 +1,9 @@
--- ---
src/xrdb.c | 16 ++++++++++++++++ src/xrdb.c | 17 ++++++++++++++++-
1 file changed, 16 insertions(+) 1 file changed, 16 insertions(+), 1 deletion(-)
--- src/xrdb.c --- 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 @@ -39,6 +39,9 @@ along with GNU Emacs. If not, see <http
#include <X11/X.h> #include <X11/X.h>
#include <X11/Xutil.h> #include <X11/Xutil.h>
@ -14,10 +14,11 @@
#ifdef HAVE_PWD_H #ifdef HAVE_PWD_H
#include <pwd.h> #include <pwd.h>
#endif #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); XrmPutLineResource (&rdb, line);
#endif /* not USE_MOTIF */ #endif /* not USE_MOTIF */
-
+#ifdef USE_X_TOOLKIT +#ifdef USE_X_TOOLKIT
+ if ((db = XtScreenDatabase(DefaultScreenOfDisplay (display)))) + if ((db = XtScreenDatabase(DefaultScreenOfDisplay (display))))
+ { + {
@ -27,10 +28,10 @@
+ else + else
+ { + {
+#endif /* not USE_X_TOOLKIT */ +#endif /* not USE_X_TOOLKIT */
user_database = get_user_db (display); 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); XrmMergeDatabases (db, &rdb);
} }

View File

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

View File

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

View File

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

View File

@ -1,12 +1,12 @@
Work around openSUSE bug #1016172 Work around openSUSE bug #1016172
-- ---
lisp/dynamic-setting.el | 29 +++++++++++++++-------------- lisp/dynamic-setting.el | 12 ++++++++----
src/xsettings.c | 7 ++++++- 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
+++ 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 @@ @@ -33,6 +33,7 @@
;;; Customizable variables ;;; Customizable variables
@ -15,16 +15,15 @@ Work around openSUSE bug #1016172
(defvar font-use-system-font) (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 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)." the current form for the frame (i.e. hinting or somesuch changed)."
- (let ((new-font (and (fboundp 'font-get-system-font) - (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))) - (frame-list (frames-on-display-list display-or-frame)))
- (when (and new-font (display-graphic-p 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))) + (user-font (face-attribute 'default :font)))
+ (when (and system-font (display-graphic-p display-or-frame)) + (when (and system-font (display-graphic-p display-or-frame))
@ -36,39 +35,20 @@ Work around openSUSE bug #1016172
+ (if (not user-font) + (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)) + (set-frame-font user-font nil frame-list))
;; Just redraw the existing fonts on all frames: ;; Just reconsider the existing fonts on all frames on each
(dolist (f frame-list) ;; display, by clearing the font and face caches. This will
- (let ((frame-font ;; cause all fonts to be recreated.
- (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.
--- src/xsettings.c --- src/xsettings.c
+++ src/xsettings.c 2016-12-21 07:25:17.605036477 +0000 +++ src/xsettings.c 2024-04-11 06:04:36.790667318 +0000
@@ -49,6 +49,7 @@ along with GNU Emacs. If not, see <http @@ -21,6 +21,7 @@ along with GNU Emacs. If not, see <http
#ifdef USE_CAIRO
#include <fontconfig/fontconfig.h> #include <float.h>
#else /* HAVE_XFT */ #include <limits.h>
+#include <math.h> +#include <math.h>
#include <X11/Xft/Xft.h> #include <fcntl.h>
#endif
#endif #include <byteswap.h>
@@ -625,7 +626,11 @@ apply_xft_settings (struct x_display_inf @@ -839,7 +840,11 @@ apply_xft_settings (Display_Info *dpyinf
#endif #endif
FcPatternGetInteger (pat, FC_LCD_FILTER, 0, &oldsettings.lcdfilter); FcPatternGetInteger (pat, FC_LCD_FILTER, 0, &oldsettings.lcdfilter);
FcPatternGetInteger (pat, FC_RGBA, 0, &oldsettings.rgba); FcPatternGetInteger (pat, FC_RGBA, 0, &oldsettings.rgba);

View File

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

View File

@ -4,7 +4,7 @@
--- lwlib/xlwmenu.c --- lwlib/xlwmenu.c
+++ lwlib/xlwmenu.c 2018-06-15 05:50:45.749287186 +0000 +++ 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, gray_width, gray_height,
(unsigned long)1, (unsigned long)0, 1); (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() even if the Xauthority file is not the default expected by XCloseDisplay()
--- ---
etc/emacs.service | 1 + etc/emacs.service | 2 ++
lisp/server.el | 40 ++++++++++++++++++++++++++++++++++++++-- lisp/server.el | 45 +++++++++++++++++++++++++++++++++++++++++++--
2 files changed, 39 insertions(+), 2 deletions(-) 2 files changed, 45 insertions(+), 2 deletions(-)
--- etc/emacs.service --- etc/emacs.service
+++ etc/emacs.service 2021-10-08 09:41:15.350644801 +0000 +++ etc/emacs.service 2024-04-11 06:46:29.320172754 +0000
@@ -8,6 +8,7 @@ Documentation=info:emacs man:emacs(1) ht @@ -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] [Service]
Type=notify 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 # Emacs will exit with status 15 after having received SIGTERM, which
--- lisp/server.el --- lisp/server.el
+++ lisp/server.el 2021-10-08 09:40:13.683712534 +0000 +++ lisp/server.el 2024-04-11 06:17:17.692578500 +0000
@@ -287,6 +287,11 @@ If nil, no instructions are displayed." @@ -289,6 +289,11 @@ If nil, no instructions are displayed."
"The directory in which to place the server socket. "The directory in which to place the server socket.
If local sockets are not supported, this is nil.") 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. + "The Xauthority file to hold the Xauthority cookies.
+If no Xauthority is used, this is nil.") +If no Xauthority is used, this is nil.")
+ +
(define-error 'server-running-external "External server running")
(defun server-clients-with (property value) (defun server-clients-with (property value)
"Return a list of clients with PROPERTY set to VALUE." @@ -619,6 +624,11 @@ If the key is not valid, signal an error
(let (result) (let ((server-dir (if server-use-tcp server-auth-dir server-socket-dir)))
@@ -643,7 +648,8 @@ the `server-process' variable." (expand-file-name server-name server-dir)))
(t (yes-or-no-p
"The current server still has clients; delete them? ")))) +(defsubst server--xauth ()
(let* ((server-dir (if server-use-tcp server-auth-dir server-socket-dir)) + "Return the xauth file name to hold the X Authority."
- (server-file (expand-file-name server-name server-dir))) + (let ((server-dir (if server-use-tcp server-auth-dir server-socket-dir)))
+ (server-file (expand-file-name server-name server-dir)) + (expand-file-name "xauth" server-dir)))
+ (xauth-file (concat server-dir "/xauth"))) +
(when server-process (defun server-stop (&optional noframe)
;; kill it dead! "If this Emacs process has a server communication subprocess, stop it.
(ignore-errors (delete-process server-process))) If this actually stopped the server, return non-nil. If the
@@ -727,6 +733,14 @@ server or call `\\[server-force-delete]' @@ -720,7 +730,8 @@ the `server-process' variable."
:plist '(:authenticated t))))) (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")) (unless server-process (error "Could not start server process"))
(server-log "Started server")
(process-put server-process :server-file server-file) (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) + (unless (file-exists-p xauth-file)
+ (make-empty-file xauth-file)) + (make-empty-file xauth-file))
+ (when (file-exists-p 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)) + (dolist (proc (process-list))
+ (process-put proc 'env (cons var (process-get proc 'env))))) + (process-put proc 'env (cons var (process-get proc 'env)))))
+ (setq server-xauth-file xauth-file)) + (setq server-xauth-file xauth-file))
(setq server-mode t)
(push 'server-mode global-minor-modes)
(when server-use-tcp (when server-use-tcp
(let ((auth-key (server-get-auth-key))) @@ -898,7 +917,7 @@ This handles splitting the command if it
(process-put server-process :auth-key auth-key)
@@ -855,7 +869,7 @@ This handles splitting the command if it
(let ((frame (let ((frame
(server-with-environment (server-with-environment
(process-get proc 'env) (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). ;; For tgetent(3); list according to ncurses(3).
"BAUDRATE" "COLUMNS" "ESCDELAY" "HOME" "LINES" "BAUDRATE" "COLUMNS" "ESCDELAY" "HOME" "LINES"
"NCURSES_ASSUMED_COLORS" "NCURSES_NO_PADDING" "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. nowait ; t if emacsclient does not want to wait for us.
frame ; Frame opened for the client (if any). frame ; Frame opened for the client (if any).
display ; Open frame on this display. 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 parent-id ; Window ID for XEmbed
dontkill ; t if client should not be killed. dontkill ; t if client should not be killed.
commands 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 NAME=VALUE: An environment variable.
("-env" ("-env"
(let ((var (pop args-left))) (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. ;; XXX Variables should be encoded as in getenv/setenv.
(process-put proc 'env (process-put proc 'env
(cons var (process-get 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. ;; Unknown command.
(arg (error "Unknown command: %s" arg)))) (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-dired-ref.tex | 3 ++-
etc/refcards/cs-survival.tex | 3 ++- etc/refcards/cs-survival.tex | 3 ++-
etc/refcards/fr-survival.tex | 2 +- etc/refcards/fr-survival.tex | 2 +-
@ -8,10 +8,10 @@
etc/refcards/sk-dired-ref.tex | 3 ++- etc/refcards/sk-dired-ref.tex | 3 ++-
etc/refcards/sk-survival.tex | 3 ++- etc/refcards/sk-survival.tex | 3 ++-
etc/refcards/survival.tex | 2 +- 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
+++ 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) @@ -231,12 +231,12 @@ pl-refcard.pdf: $(pl_refcard_deps)
! pdfmex --version > /dev/null 2> /dev/null; then \ ! pdfmex --version > /dev/null 2> /dev/null; then \
echo "No mex format found."; false; \ echo "No mex format found."; false; \
@ -29,7 +29,7 @@
pl-refcard.ps: pl-refcard.dvi pl-refcard.ps: pl-refcard.dvi
dvips -t a4 -o $@ pl-refcard.dvi dvips -t a4 -o $@ pl-refcard.dvi
--- etc/refcards/cs-dired-ref.tex --- 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 @@ -108,7 +108,8 @@ see the Emacs distribution, or {\tt http
\font\eightbf=csbx8 \font\eightbf=csbx8
\font\eightit=csti8 \font\eightit=csti8
@ -41,7 +41,7 @@
\textfont0=\eightrm \textfont0=\eightrm
\textfont1=\eightmi \textfont1=\eightmi
--- etc/refcards/cs-survival.tex --- 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 @@ @@ -84,7 +84,8 @@
\font\eightbf=csbx8 \font\eightbf=csbx8
\font\eightit=csti8 \font\eightit=csti8
@ -53,23 +53,23 @@
\font\eightss=cmss8 \font\eightss=cmss8
\textfont0=\eightrm \textfont0=\eightrm
--- etc/refcards/fr-survival.tex --- 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 @@ @@ -1,4 +1,4 @@
-%&tex -%&tex
+% +%
% Title: GNU Emacs Survival Card % 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
+++ 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 @@ @@ -1,4 +1,4 @@
-%&mex -%&mex
+% +%
% Reference Card for GNU Emacs % 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
+++ 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 @@ @@ -25,6 +25,7 @@
\documentclass[10pt]{article} \documentclass[10pt]{article}
\usepackage{multicol,tabularx} \usepackage{multicol,tabularx}
@ -79,7 +79,7 @@
\usepackage[utf8]{inputenc} \usepackage[utf8]{inputenc}
\usepackage[english,russian]{babel} \usepackage[english,russian]{babel}
--- etc/refcards/sk-dired-ref.tex --- 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 @@ -109,7 +109,8 @@ see the Emacs distribution, or {\tt http
\font\eightbf=csbx8 \font\eightbf=csbx8
\font\eightit=csti8 \font\eightit=csti8
@ -91,7 +91,7 @@
\textfont0=\eightrm \textfont0=\eightrm
\textfont1=\eightmi \textfont1=\eightmi
--- etc/refcards/sk-survival.tex --- 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 @@ @@ -86,7 +86,8 @@
\font\eightbf=csbx8 \font\eightbf=csbx8
\font\eightit=csti8 \font\eightit=csti8
@ -103,10 +103,10 @@
\font\eightss=cmss8 \font\eightss=cmss8
\textfont0=\eightrm \textfont0=\eightrm
--- etc/refcards/survival.tex --- 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 @@ @@ -1,4 +1,4 @@
-%&tex -%&tex
+% +%
% Title: GNU Emacs Survival Card % 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 +- Makefile.in | 7 +-
configure | 6 --
configure.ac | 6 -- configure.ac | 6 --
doc/man/etags.1 | 20 ++++---- doc/man/etags.1 | 20 ++++----
lib-src/Makefile.in | 6 +- lib-src/Makefile.in | 4 -
lib-src/pop.c | 1 lib-src/pop.c | 1
lib/Makefile.in | 2
lisp/cmuscheme.el | 3 - lisp/cmuscheme.el | 3 -
lisp/international/mule-cmds.el | 1 lisp/international/mule-cmds.el | 1
lisp/net/ange-ftp.el | 8 +-- lisp/net/ange-ftp.el | 8 +--
lisp/site-load.el | 45 ++++++++++++++++++ lisp/site-load.el | 45 ++++++++++++++++++
lisp/speedbar.el | 1 lisp/speedbar.el | 1
lisp/textmodes/ispell.el | 82 ++++++++++++++++++++++++++++++++- lisp/textmodes/ispell.el | 88 +++++++++++++++++++++++++++++++++---
site-lisp/term/func-keys.el | 33 +++++++++++++ site-lisp/term/func-keys.el | 33 +++++++++++++
site-lisp/term/gnome.el | 97 ++++++++++++++++++++++++++++++++++++++++ site-lisp/term/gnome.el | 97 ++++++++++++++++++++++++++++++++++++++++
site-lisp/term/kvt.el | 97 ++++++++++++++++++++++++++++++++++++++++ site-lisp/term/kvt.el | 97 ++++++++++++++++++++++++++++++++++++++++
site-lisp/term/linux.el | 79 ++++++++++++++++++++++++++++++++ site-lisp/term/linux.el | 79 ++++++++++++++++++++++++++++++++
site-lisp/term/locale.el | 13 +++++ site-lisp/term/locale.el | 13 +++++
18 files changed, 475 insertions(+), 32 deletions(-) 16 files changed, 472 insertions(+), 31 deletions(-)
--- Makefile.in --- Makefile.in
+++ Makefile.in 2020-08-11 10:21:15.194072175 +0000 +++ Makefile.in 2023-08-01 08:29:04.813378495 +0000
@@ -519,11 +519,11 @@ install-arch-dep: src install-arch-indep @@ -614,7 +614,7 @@ install-arch-dep: src install-arch-indep
umask 022; ${MKDIR_P} "$(DESTDIR)${bindir}" umask 022; ${MKDIR_P} "$(DESTDIR)${bindir}"
$(MAKE) -C lib-src install $(MAKE) -C lib-src install
ifeq (${ns_self_contained},no) ifeq (${ns_self_contained},no)
- ${INSTALL_PROGRAM} $(INSTALL_STRIP) src/emacs${EXEEXT} "$(DESTDIR)${bindir}/$(EMACSFULL)" - ${INSTALL_PROGRAM} $(INSTALL_STRIP) src/emacs${EXEEXT} "$(DESTDIR)${bindir}/$(EMACSFULL)"
+ ${INSTALL_PROGRAM} $(INSTALL_STRIP) src/emacs${EXEEXT} "$(DESTDIR)${bindir}/$(EMACS)" + ${INSTALL_PROGRAM} $(INSTALL_STRIP) src/emacs${EXEEXT} "$(DESTDIR)${bindir}/$(EMACS)"
ifeq (${DUMPING},pdumper) ifeq (${HAVE_BE_APP},yes)
${INSTALL_DATA} src/emacs.pdmp "$(DESTDIR)${libexecdir}/emacs/${version}/${configuration}"/emacs.pdmp ${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 endif
- -chmod 755 "$(DESTDIR)${bindir}/$(EMACSFULL)" - -chmod 755 "$(DESTDIR)${bindir}/$(EMACSFULL)"
+ -chmod 755 "$(DESTDIR)${bindir}/$(EMACS)" + -chmod 755 "$(DESTDIR)${bindir}/$(EMACS)"
ifndef NO_BIN_LINK ifndef NO_BIN_LINK
rm -f "$(DESTDIR)${bindir}/$(EMACS)" rm -f "$(DESTDIR)${bindir}/$(EMACS)"
cd "$(DESTDIR)${bindir}" && $(LN_S_FILEONLY) "$(EMACSFULL)" "$(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}" umask 022; ${MKDIR_P} "$(DESTDIR)${man1dir}"
thisdir=`/bin/pwd`; \ thisdir=`pwd -P`; \
cd ${mansrcdir}; \ cd ${mansrcdir}; \
+ cp ctags.1 gnuctags.1; \ + cp ctags.1 gnuctags.1; \
for page in *.1; do \ for page in *.1; do \
test "$$page" = ChangeLog.1 && continue; \ test "$$page" = ChangeLog.1 && continue; \
dest=`echo "$${page}" | sed -e 's/\.1$$//' -e '$(TRANSFORM)'`.1; \ 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 \ for page in *.1; do \
rm -f "$(DESTDIR)${man1dir}"/`echo "$${page}" | sed -e 's/\.1$$//' -e '$(TRANSFORM)'`.1$$ext; done; \ rm -f "$(DESTDIR)${man1dir}"/`echo "$${page}" | sed -e 's/\.1$$//' -e '$(TRANSFORM)'`.1$$ext; done; \
fi) fi)
@ -52,24 +54,9 @@
(if cd "$(DESTDIR)${icondir}"; then \ (if cd "$(DESTDIR)${icondir}"; then \
rm -f hicolor/*x*/apps/"${EMACS_NAME}.png" \ rm -f hicolor/*x*/apps/"${EMACS_NAME}.png" \
"hicolor/scalable/apps/${EMACS_NAME}.svg" \ "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
+++ configure.ac 2020-08-11 10:17:21.102266456 +0000 +++ configure.ac 2023-08-01 08:20:12.115169895 +0000
@@ -1832,10 +1832,8 @@ fi @@ -1958,10 +1958,8 @@ fi
LD_SWITCH_X_SITE_RPATH= LD_SWITCH_X_SITE_RPATH=
if test "${x_libraries}" != NONE; then if test "${x_libraries}" != NONE; then
if test -n "${x_libraries}"; then if test -n "${x_libraries}"; then
@ -83,7 +70,7 @@
x_default_search_path="" x_default_search_path=""
x_search_path=${x_libraries} x_search_path=${x_libraries}
--- doc/man/etags.1 --- 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 @@ @@ -7,7 +7,7 @@
.. ..
@ -167,8 +154,8 @@
.B \-h, \-H, \-\-help .B \-h, \-H, \-\-help
Print usage information. Followed by one or more \-\-language=LANG Print usage information. Followed by one or more \-\-language=LANG
--- lib-src/Makefile.in --- lib-src/Makefile.in
+++ lib-src/Makefile.in 2020-08-11 10:31:37.642931244 +0000 +++ lib-src/Makefile.in 2023-08-01 08:20:12.115169895 +0000
@@ -134,7 +136,7 @@ MKDIR_P = @MKDIR_P@ @@ -144,7 +144,7 @@ HAIKU_CFLAGS=@HAIKU_CFLAGS@
CLIENTW = @CLIENTW@ CLIENTW = @CLIENTW@
# Things that a user might actually run, which should be installed in bindir. # Things that a user might actually run, which should be installed in bindir.
@ -177,7 +164,7 @@
ebrowse${EXEEXT} ebrowse${EXEEXT}
# Things that Emacs runs internally, or during the build process, # 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. ## etags.o files on top of each other.
## FIXME? ## FIXME?
## Can't we use a wrapper that calls 'etags --ctags'? ## 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) \ ebrowse${EXEEXT}: ${srcdir}/ebrowse.c ${srcdir}/../lib/min-max.h $(NTLIB) \
--- lib-src/pop.c --- 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 @@ -26,6 +26,7 @@ along with GNU Emacs. If not, see <http
#ifdef MAIL_USE_POP #ifdef MAIL_USE_POP
@ -197,8 +184,8 @@
#include "ntlib.h" #include "ntlib.h"
#undef _WIN32_WINNT #undef _WIN32_WINNT
--- lisp/cmuscheme.el --- lisp/cmuscheme.el
+++ lisp/cmuscheme.el 2020-08-11 10:17:21.106266385 +0000 +++ lisp/cmuscheme.el 2023-08-01 08:20:12.115169895 +0000
@@ -231,7 +231,8 @@ is run). @@ -232,7 +232,8 @@ is run).
(read-string "Run Scheme: " scheme-program-name) (read-string "Run Scheme: " scheme-program-name)
scheme-program-name))) scheme-program-name)))
(if (not (comint-check-proc "*scheme*")) (if (not (comint-check-proc "*scheme*"))
@ -209,7 +196,7 @@
(scheme-start-file (car cmdlist)) (cdr cmdlist))) (scheme-start-file (car cmdlist)) (cdr cmdlist)))
(inferior-scheme-mode))) (inferior-scheme-mode)))
--- lisp/international/mule-cmds.el --- 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 @@ @@ -39,6 +39,7 @@
(defvar mule-keymap (defvar mule-keymap
@ -219,7 +206,7 @@
(define-key map "r" 'revert-buffer-with-coding-system) (define-key map "r" 'revert-buffer-with-coding-system)
(define-key map "F" 'set-file-name-coding-system) (define-key map "F" 'set-file-name-coding-system)
--- lisp/net/ange-ftp.el --- 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 @@ -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.") ; "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) (defun ange-ftp-add-cms-host (host)
--- lisp/site-load.el --- 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 @@ @@ -0,0 +1,45 @@
+;;;; +;;;;
+;;; emacs-27.1/lisp/site-load.el +;;; emacs-27.1/lisp/site-load.el
@ -305,8 +292,8 @@
+ +
+;;; site-load.el ends here +;;; site-load.el ends here
--- lisp/speedbar.el --- lisp/speedbar.el
+++ lisp/speedbar.el 2020-08-11 10:17:21.106266385 +0000 +++ lisp/speedbar.el 2023-08-01 08:20:12.119169821 +0000
@@ -732,6 +732,7 @@ If you want to change this while speedba @@ -727,6 +727,7 @@ If you want to change this while speedba
;; Navigation. ;; Navigation.
(define-key map "n" 'speedbar-next) (define-key map "n" 'speedbar-next)
@ -315,7 +302,7 @@
(define-key map "\M-n" 'speedbar-restricted-next) (define-key map "\M-n" 'speedbar-restricted-next)
(define-key map "\M-p" 'speedbar-restricted-prev) (define-key map "\M-p" 'speedbar-restricted-prev)
--- lisp/textmodes/ispell.el --- 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." @@ -191,13 +191,15 @@ Must be greater than 1."
:type 'integer) :type 'integer)
@ -339,7 +326,7 @@
"Program invoked by \\[ispell-word] and \\[ispell-region] commands." "Program invoked by \\[ispell-word] and \\[ispell-region] commands."
:type 'string :type 'string
:set (lambda (symbol value) :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. ;; Define commands in menu in opposite order you want them to appear.
(let ((map (make-sparse-keymap "Spell"))) (let ((map (make-sparse-keymap "Spell")))
@ -377,7 +364,7 @@
+ (ispell-find-aspell-dictionaries) + (ispell-find-aspell-dictionaries)
+ (let ((dicts (reverse (cons (cons "default" nil) + (let ((dicts (reverse (cons (cons "default" nil)
+ (append ispell-local-dictionary-alist ispell-dictionary-alist)))) + (append ispell-local-dictionary-alist ispell-dictionary-alist))))
+ name load-dict) + name)
+ (dolist (dict dicts) + (dolist (dict dicts)
+ (setq name (car dict)) + (setq name (car dict))
+ (cond ((not (stringp name)) + (cond ((not (stringp name))
@ -399,7 +386,7 @@
+ (ispell-find-hunspell-dictionaries) + (ispell-find-hunspell-dictionaries)
+ (let ((dicts (reverse (cons (cons "default" nil) + (let ((dicts (reverse (cons (cons "default" nil)
+ (append ispell-local-dictionary-alist ispell-hunspell-dictionary-alist)))) + (append ispell-local-dictionary-alist ispell-hunspell-dictionary-alist))))
+ name load-dict) + name)
+ (dolist (dict dicts) + (dolist (dict dicts)
+ (setq name (car dict)) + (setq name (car dict))
+ (cond ((not (stringp name)) + (cond ((not (stringp name))
@ -419,7 +406,7 @@
`(menu-item ,(purecopy "Change Dictionary...") ispell-change-dictionary `(menu-item ,(purecopy "Change Dictionary...") ispell-change-dictionary
:help ,(purecopy "Supply explicit dictionary file name"))) :help ,(purecopy "Supply explicit dictionary file name")))
--- site-lisp/term/func-keys.el --- 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 @@ @@ -0,0 +1,33 @@
+;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; +;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
+;;; term/func-keys.el for site-lisp path +;;; term/func-keys.el for site-lisp path
@ -455,7 +442,7 @@
+;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; +;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
+;; Ende von func-keys.el +;; Ende von func-keys.el
--- site-lisp/term/gnome.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 @@ @@ -0,0 +1,97 @@
+;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; +;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
+;;; term/gnomw.el for site-lisp path +;;; term/gnomw.el for site-lisp path
@ -555,7 +542,7 @@
+;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; +;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
+;; Ende von gnomw.el +;; Ende von gnomw.el
--- site-lisp/term/kvt.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 @@ @@ -0,0 +1,97 @@
+;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; +;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
+;;; term/kvt.el for site-lisp path +;;; term/kvt.el for site-lisp path
@ -655,7 +642,7 @@
+;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; +;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
+;; Ende von kvt.el +;; Ende von kvt.el
--- site-lisp/term/linux.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 @@ @@ -0,0 +1,79 @@
+;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; +;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
+;;; term/linux.el for site-lisp path +;;; term/linux.el for site-lisp path
@ -737,7 +724,7 @@
+;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; +;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
+;; Ende von linux.el +;; Ende von linux.el
--- site-lisp/term/locale.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 @@ @@ -0,0 +1,13 @@
+;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; +;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
+;;; term/locale.el for site-lisp path +;;; 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> Thu Mar 16 15:18:33 UTC 2023 - Dirk Müller <dmueller@suse.com>

View File

@ -6,7 +6,8 @@
# the prefered GUI. Possible values/types of EMACS_TOOLKIT are # the prefered GUI. Possible values/types of EMACS_TOOLKIT are
# #
# nox -- for pure console based GNU Emacs # nox -- for pure console based GNU Emacs
# gtk -- for full GTK2/3 based GNU Emacs # gtk -- for full GTK2/3 based GNU Emacs (for real X11)
# wayland -- for full GTK2/3 based GNU Emacs (for wayland)
# x11 -- for full LUCID based GNU Emacs (used Xaw3d) # x11 -- for full LUCID based GNU Emacs (used Xaw3d)
# #
# Should work but remember history # Should work but remember history
@ -21,11 +22,22 @@
# esac # esac
# fi # fi
# #
if test -n "${XDG_SESSION_TYPE}"
then
if test "${XDG_SESSION_TYPE}" = wayland -a -x ${0}-wayland
then
: ${EMACS_TOOLKIT:=wayland}
else
: ${EMACS_TOOLKIT:=gtk} : ${EMACS_TOOLKIT:=gtk}
fi
else
: ${EMACS_TOOLKIT:=gtk}
fi
# #
# Enabled again # Enabled again
# #
if test "$EMACS_TOOLKIT" = gtk; then if test "$EMACS_TOOLKIT" = gtk -o "$EMACS_TOOLKIT" = wayland
then
# Currently (2013/05/24) the parser of the GNOME libs # Currently (2013/05/24) the parser of the GNOME libs
# are broken that is it is not independent from locale # are broken that is it is not independent from locale
LC_NUMERIC=POSIX LC_NUMERIC=POSIX

File diff suppressed because it is too large Load Diff

5
macros.emacs Normal file
View File

@ -0,0 +1,5 @@
# -*- rpm-spec -*-
%_emacs_sitelispdir %{_datadir}/emacs/site-lisp
%_emacs_etcdir %{_datadir}/emacs/etc
%_emacs_sitestartdir %{_emacs_sitelispdir}/site-start.d
%_emacs_archsitelispdir %{_libdir}/emacs/site-lisp

View File

@ -1,14 +1,17 @@
From: Andreas Schwab From 54823555425ffabe31b42672b1894d0e3ff1b018 Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?Bj=C3=B6rn=20Bidar?= <bjorn.bidar@thaodan.de>
Date: Fri, 10 Feb 2023 23:31:35 +0200
Subject: [PATCH] Allow to override pdmp base
Index: src/emacs.c
===================================================================
--- ---
src/emacs.c | 4 ++++ src/emacs.c | 8 ++++++++
1 file changed, 4 insertions(+) 1 file changed, 8 insertions(+)
diff --git a/src/emacs.c b/src/emacs.c
index 687b8c7f81f0..2d6bfe07d813 100644
--- src/emacs.c --- src/emacs.c
+++ src/emacs.c 2021-10-08 09:36:17.039806927 +0000 +++ src/emacs.c
@@ -837,12 +837,16 @@ load_pdump (int argc, char **argv) @@ -867,11 +867,15 @@ load_pdump (int argc, char **argv, char *dump_file)
NULL NULL
#endif #endif
; ;
@ -20,8 +23,19 @@ Index: src/emacs.c
"Emacs" "Emacs"
#else #else
"emacs" "emacs"
#endif
+#endif +#endif
#endif
; ;
/* TODO: maybe more thoroughly scrub process environment in order to @@ -1012,7 +1016,11 @@ load_pdump (int argc, char **argv, char *dump_file)
if (IS_DIRECTORY_SEP (*p))
last_sep = p;
}
+#ifdef PDMP_BASE
+ argv0_base = PDMP_BASE;
+#else
argv0_base = last_sep ? last_sep + 1 : argv[0];
+#endif
ptrdiff_t needed = (strlen (path_exec)
+ 1
+ strlen (argv0_base)

BIN
site-lisp.tar.bz2 (Stored with Git LFS)

Binary file not shown.