SHA256
1
0
forked from pool/emacs

Accepting request 1101919 from editors

- 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

OBS-URL: https://build.opensuse.org/request/show/1101919
OBS-URL: https://build.opensuse.org/package/show/openSUSE:Factory/emacs?expand=0&rev=174
This commit is contained in:
Dominique Leuenberger 2023-08-03 15:27:17 +00:00 committed by Git OBS Bridge
commit 6027ef3238
29 changed files with 468 additions and 9881 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,9 @@
;;
;; 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
@@ -1524,10 +1524,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
@@ -25468,9 +25468,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 2023-08-01 07:10:18.292217247 +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
+++ src/xsettings.c 2023-08-01 06:57:06.034741701 +0000
@@ -58,6 +58,7 @@ typedef unsigned int CARD32;
#include <fontconfig/fontconfig.h>
#else /* HAVE_XFT */
#include "ftfont.h"
#elif defined HAVE_XFT
+#include <math.h>
#include <X11/Xft/Xft.h>
#endif
#endif
@@ -625,7 +626,11 @@ apply_xft_settings (struct x_display_inf
@@ -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
@@ -2884,7 +2884,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

@ -6,11 +6,11 @@ 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(-)
lisp/server.el | 45 +++++++++++++++++++++++++++++++++++++++++++--
2 files changed, 44 insertions(+), 2 deletions(-)
--- etc/emacs.service
+++ etc/emacs.service 2021-10-08 09:41:15.350644801 +0000
+++ etc/emacs.service 2023-08-01 07:24:44.856332618 +0000
@@ -8,6 +8,7 @@ Documentation=info:emacs man:emacs(1) ht
[Service]
@ -20,7 +20,7 @@ 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
+++ lisp/server.el 2023-08-01 08:08:52.491668562 +0000
@@ -287,6 +287,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 +30,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)))))
@@ -617,6 +622,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
@@ -718,7 +728,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
@@ -760,6 +771,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 +67,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
@@ -896,7 +915,7 @@ This handles splitting the command if it
(let ((frame
(server-with-environment
(process-get proc 'env)
@ -67,7 +79,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
@@ -1169,6 +1188,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 +88,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
@@ -1309,6 +1330,16 @@ The following commands are accepted by t
;; -env NAME=VALUE: An environment variable.
("-env"
(let ((var (pop args-left)))
@ -93,7 +105,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
@@ -1324,6 +1355,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 2023-08-01 07:21:56.243423079 +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 2023-08-01 07:21:56.243423079 +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 2023-08-01 07:21:56.243423079 +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 2023-08-01 07:23:17.673930543 +0000
@@ -1,4 +1,4 @@
-%&tex
+%
% Title: GNU Emacs Survival Card
% Copyright (C) 2000--2022 Free Software Foundation, Inc.
% Copyright (C) 2000--2023 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 2023-08-01 07:23:43.361459725 +0000
@@ -1,4 +1,4 @@
-%&mex
+%
% Reference Card for GNU Emacs
% Copyright (C) 1999, 2001--2022 Free Software Foundation, Inc.
% Copyright (C) 1999, 2001--2023 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 2023-08-01 07:21:56.247423006 +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 2023-08-01 07:21:56.247423006 +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 2023-08-01 07:21:56.247423006 +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 2023-08-01 07:24:05.517053645 +0000
@@ -1,4 +1,4 @@
-%&tex
+%
% Title: GNU Emacs Survival Card
% Copyright (C) 2000--2022 Free Software Foundation, Inc.
% Copyright (C) 2000--2023 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-----

3
emacs-29.1-pdf.tar.xz Normal file
View File

@ -0,0 +1,3 @@
version https://git-lfs.github.com/spec/v1
oid sha256:a4436a7fd7dc0a7b356f283a749363c72cd61239e025511d13ed3152d58aff0b
size 2029884

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-
@@ -942,7 +943,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'
@@ -1418,6 +1420,78 @@ The variable `ispell-library-directory'
;; Define commands in menu in opposite order you want them to appear.
(let ((map (make-sparse-keymap "Spell")))
@ -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

3
emacs-29.1.tar.xz Normal file
View File

@ -0,0 +1,3 @@
version https://git-lfs.github.com/spec/v1
oid sha256:d2f881a5cc231e2f5a03e86f4584b0438f83edd7598a09d24a21bd8d003e2e01
size 52081008

16
emacs-29.1.tar.xz.sig Normal file
View File

@ -0,0 +1,16 @@
-----BEGIN PGP SIGNATURE-----
iQIzBAABCgAdFiEEF+kNUhZywEYxsRg+542uDzEV4GsFAmTGCBIACgkQ542uDzEV
4GukZxAAno2Xy2zSdMffeM86gha1KZcdTx/WiAiXJgdUdnskAaz5h+tY9Q4C+AQ4
rukW35MaNNbZ0/mlU/Sms0R+6zTdCAOW+SL2ELopAsrlxAHwI26pz/dkH4zWTe9e
M48Y8T76nY0myXgL9vn6XfsJZuOUON8YJ7/sRGxgVpkp5ATpMqMt+XY2N1wWYr6r
zxhPs9YbMAXgMSz+w1OCPtwm9ZOICXUTIZlzWdM0ka/ODGKh2dh8F6H25t8LNEp7
25JlaJ3q+s8fqIsn0q/V4dePbbbCT+juv9G7kXP0z30U6wa701alaN6aFvO4qzpC
oHNqveb/4BeEren8YlkueHmBMV7tfTjJrud/F7TPFNd2l7ZAcDqXZiWXnItRFZd+
MgIF1Xof46QxzuJaWue1kYGDCOlTzW4/We2K8eLFHxvMFYO1o3VgxxYdUrwFSZD7
7GTsHBo2DN6FS3SggR/7PjMDfKH+tVCcm4w4hewX3mZuUzmL++1ZZQVrcldYAeeY
bmLyYmiztpkfidaY2wdnEJP6CS3C43Fwpe5m8dEcfNF2hpOJAYzKMGgTdSm08ozy
kGnrQjqP6sivzCxS57u5qXQLvEr5zRHGwDJ4TTfTJqX/TE8/Z6N819ffcW1U+8iA
NkwDWw46cUV7DE+y53Jl9XBVO4Bggb7SHwUIRxe9MDndnplzmxg=
=gjPt
-----END PGP SIGNATURE-----

View File

@ -1,3 +1,42 @@
-------------------------------------------------------------------
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>

File diff suppressed because it is too large Load Diff

View File

@ -8,7 +8,7 @@ Index: src/emacs.c
--- src/emacs.c
+++ src/emacs.c 2021-10-08 09:36:17.039806927 +0000
@@ -837,12 +837,16 @@ load_pdump (int argc, char **argv)
@@ -867,12 +867,16 @@ load_pdump (int argc, char **argv)
NULL
#endif
;

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

Binary file not shown.