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:
commit
6027ef3238
107
01a4035c.patch
107
01a4035c.patch
@ -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
|
||||
|
@ -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
|
||||
|
@ -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
|
||||
|
@ -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
|
||||
|
@ -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
|
||||
|
9274
d48bb487.patch
9274
d48bb487.patch
File diff suppressed because it is too large
Load Diff
@ -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
|
||||
|
@ -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)))))
|
||||
|
@ -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))
|
||||
|
||||
|
@ -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);
|
||||
}
|
||||
|
||||
|
@ -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 ;;
|
||||
|
@ -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);
|
||||
|
@ -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))
|
||||
|
@ -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);
|
||||
|
@ -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;
|
||||
|
@ -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);
|
||||
|
||||
|
@ -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))))
|
||||
|
||||
|
@ -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)
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)
BIN
emacs-28.2.tar.xz
(Stored with Git LFS)
Binary file not shown.
@ -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
3
emacs-29.1-pdf.tar.xz
Normal file
@ -0,0 +1,3 @@
|
||||
version https://git-lfs.github.com/spec/v1
|
||||
oid sha256:a4436a7fd7dc0a7b356f283a749363c72cd61239e025511d13ed3152d58aff0b
|
||||
size 2029884
|
@ -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
3
emacs-29.1.tar.xz
Normal 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
16
emacs-29.1.tar.xz.sig
Normal 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-----
|
@ -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>
|
||||
|
||||
|
404
emacs.spec
404
emacs.spec
File diff suppressed because it is too large
Load Diff
@ -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)
BIN
site-lisp.tar.bz2
(Stored with Git LFS)
Binary file not shown.
Loading…
Reference in New Issue
Block a user