SHA256
1
0
forked from pool/emacs

Update to GNU Emacs 29.1

OBS-URL: https://build.opensuse.org/package/show/editors/emacs?expand=0&rev=348
This commit is contained in:
Dr. Werner Fink 2023-08-02 07:57:39 +00:00 committed by Git OBS Bridge
parent 32179750da
commit b75d1b6863
29 changed files with 1174 additions and 9833 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

741
emacs-29.1.dif Normal file
View File

@ -0,0 +1,741 @@
---
Makefile.in | 7 +-
configure.ac | 6 --
doc/man/etags.1 | 20 ++++----
lib-src/Makefile.in | 4 -
lib-src/pop.c | 1
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 | 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 +++++
16 files changed, 472 insertions(+), 31 deletions(-)
--- Makefile.in
+++ 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 (${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)"
@@ -811,6 +811,7 @@ install-man:
umask 022; ${MKDIR_P} "$(DESTDIR)${man1dir}"
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; \
@@ -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)
- rm -f "$(DESTDIR)${bindir}/$(EMACS)" "$(DESTDIR)${bindir}/$(EMACSFULL)"
+ rm -f "$(DESTDIR)${bindir}/$(EMACS)"
(if cd "$(DESTDIR)${icondir}"; then \
rm -f hicolor/*x*/apps/"${EMACS_NAME}.png" \
"hicolor/scalable/apps/${EMACS_NAME}.svg" \
--- configure.ac
+++ 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
- 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}
--- doc/man/etags.1
+++ doc/man/etags.1 2023-08-01 08:20:12.115169895 +0000
@@ -7,7 +7,7 @@
..
.SH NAME
-etags, ctags \- generate tag file for Emacs, vi
+etags, gnuctags \- generate tag file for Emacs, vi
.SH SYNOPSIS
.hy 0
.na
@@ -25,7 +25,7 @@ etags, ctags \- generate tag file for Em
[\|\-\-help\|] [\|\-\-version\|]
\fIfile\fP .\|.\|.
-\fBctags\fP [\|\-aCdgIQRVh\|] [\|\-BtTuvwx\|] [\|\-l \fIlanguage\fP\|]
+\fBgnuctags\fP [\|\-aCdgIQRVh\|] [\|\-BtTuvwx\|] [\|\-l \fIlanguage\fP\|]
.if n .br
[\|\-o \fItagfile\fP\|] [\|\-r \fIregexp\fP\|]
[\|\-\-parse\-stdin=\fIfile\fP\|]
@@ -45,7 +45,7 @@ etags, ctags \- generate tag file for Em
The \|\fBetags\fP\| program is used to create a tag table file, in a format
understood by
.BR emacs ( 1 )\c
-\&; the \|\fBctags\fP\| program is used to create a similar table in a
+\&; the \|\fBgnuctags\fP\| program is used to create a similar table in a
format understood by
.BR vi ( 1 )\c
\&. Both forms of the program understand
@@ -55,7 +55,7 @@ Perl, Ruby, Rust, PHP, PostScript, Pytho
assembler\-like syntaxes.
Both forms read the files specified on the command line, and write a tag
table (defaults: \fBTAGS\fP for \fBetags\fP, \fBtags\fP for
-\fBctags\fP) in the current working directory.
+\fBgnuctags\fP) in the current working directory.
Files specified with relative file names will be recorded in the tag
table with file names relative to the directory where the tag table
resides. If the tag table is in /dev or is the standard output,
@@ -71,7 +71,7 @@ parsing of the file names following the
language, overriding guesses based on filename extensions.
.SH OPTIONS
Some options make sense only for the \fBvi\fP style tag files produced
-by ctags;
+by gnuctags;
\fBetags\fP does not recognize them.
The programs accept unambiguous abbreviations for long option names.
.TP
@@ -85,7 +85,7 @@ expression search instructions; the \fB\
the delimiter "\|\fB?\fP\|", to search \fIbackwards\fP through files.
The default is to use the delimiter "\|\fB/\fP\|", to search \fIforwards\fP
through files.
-Only \fBctags\fP accepts this option.
+Only \fBgnuctags\fP accepts this option.
.TP
.B \-\-declarations
In C and derived languages, create tags for function declarations,
@@ -183,7 +183,7 @@ the previous ones. The regexps are of o
where \fItagregexp\fP is used to match the tag. It should not match
useless characters. If the match is such that more characters than
needed are unavoidably matched by \fItagregexp\fP, it may be useful to
-add a \fInameregexp\fP, to narrow down the tag scope. \fBctags\fP
+add a \fInameregexp\fP, to narrow down the tag scope. \fBgnuctags\fP
ignores regexps without a \fInameregexp\fP. The syntax of regexps is
the same as in emacs. The following character escape sequences are
supported: \\a, \\b, \\d, \\e, \\f, \\n, \\r, \\t, \\v, which
@@ -262,15 +262,15 @@ tag entries for other files in place. C
by deleting the existing entries for the given files and then
rewriting the new entries at the end of the tags file. It is often
faster to simply rebuild the entire tag file than to use this.
-Only \fBctags\fP accepts this option.
+Only \fBgnuctags\fP accepts this option.
.TP
.B \-v, \-\-vgrind
Instead of generating a tag file, write index (in \fBvgrind\fP format)
-to standard output. Only \fBctags\fP accepts this option.
+to standard output. Only \fBgnuctags\fP accepts this option.
.TP
.B \-x, \-\-cxref
Instead of generating a tag file, write a cross reference (in
-\fBcxref\fP format) to standard output. Only \fBctags\fP accepts this option.
+\fBcxref\fP format) to standard output. Only \fBgnuctags\fP accepts this option.
.TP
.B \-h, \-H, \-\-help
Print usage information. Followed by one or more \-\-language=LANG
--- lib-src/Makefile.in
+++ 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.
-INSTALLABLES = etags${EXEEXT} ctags${EXEEXT} emacsclient${EXEEXT} $(CLIENTW) \
+INSTALLABLES = etags${EXEEXT} gnuctags${EXEEXT} emacsclient${EXEEXT} $(CLIENTW) \
ebrowse${EXEEXT}
# Things that Emacs runs internally, or during the build process,
@@ -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'?
-ctags${EXEEXT}: ${srcdir}/ctags.c ${etags_deps}
+gnuctags${EXEEXT}: ${srcdir}/ctags.c ${etags_deps}
$(AM_V_CCLD)$(CC) ${ALL_CFLAGS} -o $@ $< $(etags_libs)
ebrowse${EXEEXT}: ${srcdir}/ebrowse.c ${srcdir}/../lib/min-max.h $(NTLIB) \
--- lib-src/pop.c
+++ 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
#include <sys/types.h>
+#include <ctype.h>
#ifdef WINDOWSNT
#include "ntlib.h"
#undef _WIN32_WINNT
--- lisp/cmuscheme.el
+++ 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*"))
- (let ((cmdlist (split-string-and-unquote cmd)))
+ (let ((cmdlist (split-string-and-unquote cmd))
+ process-connection-type)
(set-buffer (apply #'make-comint "scheme" (car cmdlist)
(scheme-start-file (car cmdlist)) (cdr cmdlist)))
(inferior-scheme-mode)))
--- lisp/international/mule-cmds.el
+++ lisp/international/mule-cmds.el 2023-08-01 08:20:12.115169895 +0000
@@ -39,6 +39,7 @@
(defvar mule-keymap
(let ((map (make-sparse-keymap)))
+ (define-key map "m" 'toggle-enable-multibyte-characters)
(define-key map "f" 'set-buffer-file-coding-system)
(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 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.")
;
;(defun ange-ftp-vos-host (host)
-; (and ange-ftp-vos-host-regexp
+; (and host ange-ftp-vos-host-regexp
; (save-match-data
; (string-match ange-ftp-vos-host-regexp host))))
;
@@ -5191,7 +5191,7 @@ NEWNAME should be the name to give the n
;; Return non-nil if HOST is running VMS.
(defun ange-ftp-vms-host (host)
- (and ange-ftp-vms-host-regexp
+ (and host ange-ftp-vms-host-regexp
(string-match-p ange-ftp-vms-host-regexp host)))
;; Because some VMS ftp servers convert filenames to lower case
@@ -5699,7 +5699,7 @@ Other orders of $ and _ seem to all work
;; Return non-nil if HOST is running MTS.
(defun ange-ftp-mts-host (host)
- (and ange-ftp-mts-host-regexp
+ (and host ange-ftp-mts-host-regexp
(string-match-p ange-ftp-mts-host-regexp host)))
;; Parse the current buffer which is assumed to be in mts ftp dir format.
@@ -5897,7 +5897,7 @@ Other orders of $ and _ seem to all work
;; Return non-nil if HOST is running CMS.
(defun ange-ftp-cms-host (host)
- (and ange-ftp-cms-host-regexp
+ (and host ange-ftp-cms-host-regexp
(string-match-p ange-ftp-cms-host-regexp host)))
(defun ange-ftp-add-cms-host (host)
--- lisp/site-load.el
+++ lisp/site-load.el 2023-08-01 08:20:12.119169821 +0000
@@ -0,0 +1,45 @@
+;;;;
+;;; emacs-27.1/lisp/site-load.el
+;;; Copyright (c) 1995,96,98,99 SuSE Gmbh Nuernberg, Germany. All rights reserved.
+;;;
+;;; Autor: Werner Fink <werner@suse.de>, No warranty of any kind
+;;;;
+;; CONFIGURATION (under bash):
+;; (export CC=gcc; \
+;; export CFLAGS="-O2 $(arch dependent flags) -pipe \
+;; -DSYSTEM_PURESIZE_EXTRA=25000 -DSITELOAD_PURESIZE_EXTRA=10000" ; \
+;; ./configure $(arch)-suse-linux --with-x --with-x-toolkit=lucid \
+;; --with-gcc --with-pop --with-system-malloc --prefix=/usr \
+;; --exec-prefix=/usr \
+;; --x-includes=/usr/X11R6/include --x-libraries=/usr/X11R6/lib )
+;;
+;; include bug fixes you have
+;;
+;; MAKE:
+;; make LDFLAGS=-s CC=gcc CFLAGS="-O2 $(arch dependent flags) -pipe \
+;; -DSYSTEM_PURESIZE_EXTRA=25000 -DSITELOAD_PURESIZE_EXTRA=10000"
+;;
+;; DOC:
+;; lisp/delsel.elc lisp/lpr.elc added to src/Makefile.in for DOCumentation
+;;
+;;;;
+(garbage-collect)
+
+(load "emacs-lisp/pcase")
+(load "emacs-lisp/easy-mmode")
+(garbage-collect)
+
+(load "lpr")
+(setq lpr-headers-switches (list "-h"))
+(setq lpr-add-switches t)
+(garbage-collect)
+
+;; Overwrite `load delsel'
+;; Choose `t' in your ~/.emacs
+(custom-set-variables '(delete-selection-mode nil))
+(garbage-collect)
+
+(setq gnus-default-nntp-server "news")
+(garbage-collect)
+
+;;; site-load.el ends here
--- lisp/speedbar.el
+++ 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)
+ (define-key map [tab] 'speedbar-next)
(define-key map "p" 'speedbar-prev)
(define-key map "\M-n" 'speedbar-restricted-next)
(define-key map "\M-p" 'speedbar-restricted-prev)
--- lisp/textmodes/ispell.el
+++ lisp/textmodes/ispell.el 2023-08-01 08:20:12.119169821 +0000
@@ -191,13 +191,15 @@ Must be greater than 1."
:type 'integer)
(defcustom ispell-program-name
- (or (executable-find "aspell")
- (executable-find "ispell")
- (executable-find "hunspell")
- ;; Enchant is commonly installed as `enchant-2', so use this
- ;; name and avoid old versions of `enchant'.
- (executable-find "enchant-2")
- "ispell")
+ (if (functionp 'append-ispell-dict-alist)
+ "ispell"
+ (or (executable-find "aspell")
+ (executable-find "ispell")
+ (executable-find "hunspell")
+ ;; Enchant is commonly installed as `enchant-2', so use this
+ ;; name and avoid old versions of `enchant'.
+ (executable-find "enchant-2")
+ "ispell"))
"Program invoked by \\[ispell-word] and \\[ispell-region] commands."
:type 'string
:set (lambda (symbol value)
@@ -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")))
+ ;; Begin adding list for ispell dictonaries installed on SuSE
+ (if (and (functionp 'append-ispell-dict-alist)
+ (symbolp 'ispell-program-name)
+ (string-match "ispell" ispell-program-name))
+ (let ((dicts (reverse (cons (cons "default" nil)
+ (append ispell-local-dictionary-alist ispell-dictionary-alist))))
+ (path (and (boundp 'ispell-library-path) ispell-library-path))
+ name load-dict)
+ (dolist (dict dicts)
+ (setq name (car dict)
+ load-dict (car (cdr (member "-d" (nth 5 dict)))))
+ (cond ((not (stringp name))
+ (define-key map (vector 'default)
+ (cons "Select Default Dict"
+ (cons "Dictionary for which Ispell was configured"
+ (list 'lambda () '(interactive)
+ (list 'ispell-change-dictionary "default"))))))
+ ((or (not path) ; load all if library dir not defined
+ (file-exists-p (concat path "/" name ".hash"))
+ (file-exists-p (concat path "/" name ".has"))
+ (and load-dict
+ (or (file-exists-p(concat path "/" load-dict ".hash"))
+ (file-exists-p(concat path "/" load-dict ".has")))))
+ (define-key map (vector (intern name))
+ (cons (concat "Select " (capitalize name) " Dict")
+ (list 'lambda () '(interactive)
+ (list 'ispell-change-dictionary name))))))))
+ (if (and (functionp 'ispell-find-aspell-dictionaries)
+ (symbolp 'ispell-program-name)
+ (string-match "aspell" ispell-program-name))
+ (progn
+ (ispell-find-aspell-dictionaries)
+ (let ((dicts (reverse (cons (cons "default" nil)
+ (append ispell-local-dictionary-alist ispell-dictionary-alist))))
+ name load-dict)
+ (dolist (dict dicts)
+ (setq name (car dict))
+ (cond ((not (stringp name))
+ (define-key map (vector 'default)
+ (cons "Select Default Dict"
+ (cons "Dictionary for which Aspell was configured"
+ (list 'lambda () '(interactive)
+ (list 'ispell-change-dictionary "default"))))))
+ ((and (stringp name)
+ (ispell-aspell-find-dictionary name))
+ (define-key map (vector (intern name))
+ (cons (concat "Select " (capitalize name) " Dict")
+ (list 'lambda () '(interactive)
+ (list 'ispell-change-dictionary name)))))))))
+ (if (and (functionp 'ispell-find-hunspell-dictionaries)
+ (symbolp 'ispell-program-name)
+ (string-match "hunspell" ispell-program-name))
+ (progn
+ (ispell-find-hunspell-dictionaries)
+ (let ((dicts (reverse (cons (cons "default" nil)
+ (append ispell-local-dictionary-alist ispell-hunspell-dictionary-alist))))
+ name load-dict)
+ (dolist (dict dicts)
+ (setq name (car dict))
+ (cond ((not (stringp name))
+ (define-key map (vector 'default)
+ (cons "Select Default Dict"
+ (cons "Dictionary for which Hunspell was configured"
+ (list 'lambda () '(interactive)
+ (list 'ispell-change-dictionary "default"))))))
+ ((stringp name)
+ (define-key map (vector (intern name))
+ (cons (concat "Select " (capitalize name) " Dict")
+ (list 'lambda () '(interactive)
+ (list 'ispell-change-dictionary name)
+ )))))))))))
+ ;; End adding list for ispell dictonaries installed on SuSE
(define-key map [ispell-change-dictionary]
`(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 2023-08-01 08:20:12.119169821 +0000
@@ -0,0 +1,33 @@
+;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
+;;; term/func-keys.el for site-lisp path
+;;; Copyright (c) 1996-2001 SuSE Gmbh Nuernberg, Germany.
+;;;
+;;; Author: Werner Fink <werner@suse.de>, No warranty of any kind
+;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
+;; num block
+;; kp_f1 .. kp_f4 and kp_tab not found on MF-102
+ (global-set-key [kp-f1] esc-map) ; Escape
+ (global-set-key [kp-f2] 'undo) ; Undo
+ (global-set-key [kp-f3] 'isearch-forward) ; Search
+ (global-set-key [kp-f4] 'kill-line) ; Kill-Line
+;;
+;; Backspace, Delete and any thing else
+;;
+(if (not window-system)
+ ; Do nothing within terminals because they know about
+ nil
+ (if (fboundp 'normal-erase-is-backspace-mode)
+ (normal-erase-is-backspace-mode 1)
+ (global-set-key [delete] 'delete-char))
+ ;(global-set-key [delete] '[127])
+ ;(global-unset-key [backspace])
+ ;(global-set-key [backspace] '[127])
+)
+;;
+;; Wheel mouse support
+;;
+(if (fboundp 'mouse-wheel-mode)
+ (mouse-wheel-mode 1)
+)
+;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
+;; Ende von func-keys.el
--- site-lisp/term/gnome.el
+++ site-lisp/term/gnome.el 2023-08-01 08:20:12.119169821 +0000
@@ -0,0 +1,97 @@
+;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
+;;; term/gnomw.el for site-lisp path
+;;; Copyright (c) 2000 SuSE Gmbh Nuernberg, Germany. All rights reserved.
+;;;
+;;; Author: Werner Fink <werner@suse.de>, No warranty of any kind
+;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
+; (define-key function-key-map "\e[1~" [find])
+; (define-key function-key-map "\eOH" [home])
+ (define-key function-key-map "\e[1~" [home])
+ (define-key function-key-map "\e[2~" [insertchar])
+ (define-key function-key-map "\e[3~" [deletechar])
+; (define-key function-key-map "\e[4~" [select])
+; (define-key function-key-map "\eOF" [end])
+ (define-key function-key-map "\e[4~" [end])
+ (define-key function-key-map "\e[5~" [prior])
+ (define-key function-key-map "\e[6~" [next])
+ (define-key function-key-map "\e[OP" [f1])
+ (define-key function-key-map "\e[OQ" [f2])
+ (define-key function-key-map "\e[OR" [f3])
+ (define-key function-key-map "\e[OS" [f4])
+ (define-key function-key-map "\e[15~" [f5])
+ (define-key function-key-map "\e[17~" [f6])
+ (define-key function-key-map "\e[18~" [f7])
+ (define-key function-key-map "\e[19~" [f8])
+ (define-key function-key-map "\e[20~" [f9])
+ (define-key function-key-map "\e[21~" [f10])
+ (define-key function-key-map "\e[23~" [f11])
+ (define-key function-key-map "\e[24~" [f12])
+ (define-key function-key-map "\e[25~" [f13])
+ (define-key function-key-map "\e[26~" [f14])
+ (define-key function-key-map "\e[28~" [help])
+ (define-key function-key-map "\e[29~" [menu])
+ (define-key function-key-map "\e?\e[28~" [M-help])
+ (define-key function-key-map "\e?\e[29~" [M-menu])
+ (define-key function-key-map "\e[31~" [f17])
+ (define-key function-key-map "\e[32~" [f18])
+ (define-key function-key-map "\e[33~" [f19])
+ (define-key function-key-map "\e[34~" [f20])
+;;
+;; num block
+;; [home] and [end] found in num block
+; (define-key function-key-map "\eOH" [home])
+; (define-key function-key-map "\eOF" [end])
+ (define-key function-key-map "\e[1~" [home])
+ (define-key function-key-map "\e[4~" [end])
+;;
+;; Locked num block
+ (define-key function-key-map "\eOI" [kp-tab])
+ (define-key function-key-map "\eOj" [kp-multiply])
+ (define-key function-key-map "\eOk" [kp-add])
+ (define-key function-key-map "\eOl" [kp-separator])
+ (define-key function-key-map "\eOM" [kp-enter])
+ (define-key function-key-map "\eOm" [kp-subtract])
+ (define-key function-key-map "\eOn" [kp-decimal])
+; (define-key function-key-map "\eOn" [kp-period]) ; [kp-decimal]
+ (define-key function-key-map "\eOo" [kp-divide])
+ (define-key function-key-map "\eOp" [kp-0])
+ (define-key function-key-map "\eOq" [kp-1])
+ (define-key function-key-map "\eOr" [kp-2])
+ (define-key function-key-map "\eOs" [kp-3])
+ (define-key function-key-map "\eOt" [kp-4])
+ (define-key function-key-map "\eOu" [kp-5])
+ (define-key function-key-map "\eOv" [kp-6])
+ (define-key function-key-map "\eOw" [kp-7])
+ (define-key function-key-map "\eOx" [kp-8])
+ (define-key function-key-map "\eOy" [kp-9])
+;;
+;; Undefine some ESC ESC behavior --- for later use
+ (global-unset-key "\e\e")
+ (define-key esc-map "\e" nil)
+;;
+ (define-key function-key-map "\eOD" [left])
+ (define-key function-key-map "\eOC" [right])
+ (define-key function-key-map "\eOA" [up])
+ (define-key function-key-map "\eOB" [down])
+;;
+ (define-key function-key-map "\e\eOD" [M-left])
+ (define-key function-key-map "\e\eOC" [M-right])
+ (define-key function-key-map "\e\eOA" [M-up])
+ (define-key function-key-map "\e\eOB" [M-down])
+;;
+;; Not in Use?
+ (define-key function-key-map "\C-?\eOD" [C-left])
+ (define-key function-key-map "\C-?\eOC" [C-right])
+ (define-key function-key-map "\C-?\eOA" [C-up])
+ (define-key function-key-map "\C-?\eOB" [C-down])
+;;
+;; Backspace, Delete and any thing else
+;;
+ (global-unset-key [insertchar])
+ (global-set-key [insertchar] 'overwrite-mode)
+ (global-unset-key [deletechar])
+ (global-set-key [deletechar] 'delete-char)
+;;
+(load "term/func-keys" nil t)
+;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
+;; Ende von gnomw.el
--- site-lisp/term/kvt.el
+++ site-lisp/term/kvt.el 2023-08-01 08:20:12.119169821 +0000
@@ -0,0 +1,97 @@
+;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
+;;; term/kvt.el for site-lisp path
+;;; Copyright (c) 2000 SuSE Gmbh Nuernberg, Germany. All rights reserved.
+;;;
+;;; Author: Werner Fink <werner@suse.de>, No warranty of any kind
+;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
+ (define-key function-key-map "\e[1~" [find])
+ (define-key function-key-map "\eOH" [home])
+ (define-key function-key-map "\e[2~" [insertchar])
+ (define-key function-key-map "\e[3~" [deletechar])
+ (define-key function-key-map "\e[4~" [select])
+ (define-key function-key-map "\eOF" [end])
+ (define-key function-key-map "\e[5~" [prior])
+ (define-key function-key-map "\e[6~" [next])
+ (define-key function-key-map "\e[11~" [f1])
+ (define-key function-key-map "\e[12~" [f2])
+ (define-key function-key-map "\e[13~" [f3])
+ (define-key function-key-map "\e[14~" [f4])
+ (define-key function-key-map "\e[15~" [f5])
+ (define-key function-key-map "\e[17~" [f6])
+ (define-key function-key-map "\e[18~" [f7])
+ (define-key function-key-map "\e[19~" [f8])
+ (define-key function-key-map "\e[20~" [f9])
+ (define-key function-key-map "\e[21~" [f10])
+ (define-key function-key-map "\e[23~" [f11])
+ (define-key function-key-map "\e[24~" [f12])
+ (define-key function-key-map "\e[25~" [f13])
+ (define-key function-key-map "\e[26~" [f14])
+ (define-key function-key-map "\e[28~" [help])
+ (define-key function-key-map "\e[29~" [menu])
+ (define-key function-key-map "\e?\e[28~" [M-help])
+ (define-key function-key-map "\e?\e[29~" [M-menu])
+ (define-key function-key-map "\e[31~" [f17])
+ (define-key function-key-map "\e[32~" [f18])
+ (define-key function-key-map "\e[33~" [f19])
+ (define-key function-key-map "\e[34~" [f20])
+;;
+;; num block
+;; [home] and [end] found in num block
+ (define-key function-key-map "\eOH" [home])
+ (define-key function-key-map "\eOF" [end])
+;;
+;; Locked num block
+ (define-key function-key-map "\eOP" [kp-f1])
+ (define-key function-key-map "\eOQ" [kp-f2])
+ (define-key function-key-map "\eOR" [kp-f3])
+ (define-key function-key-map "\eOS" [kp-f4])
+ (define-key function-key-map "\eOI" [kp-tab])
+ (define-key function-key-map "\eOj" [kp-multiply])
+ (define-key function-key-map "\eOk" [kp-add])
+ (define-key function-key-map "\eOl" [kp-separator])
+ (define-key function-key-map "\eOM" [kp-enter])
+ (define-key function-key-map "\eOm" [kp-subtract])
+ (define-key function-key-map "\eOn" [kp-decimal])
+; (define-key function-key-map "\eOn" [kp-period]) ; [kp-decimal]
+ (define-key function-key-map "\eOo" [kp-divide])
+ (define-key function-key-map "\eOp" [kp-0])
+ (define-key function-key-map "\eOq" [kp-1])
+ (define-key function-key-map "\eOr" [kp-2])
+ (define-key function-key-map "\eOs" [kp-3])
+ (define-key function-key-map "\eOt" [kp-4])
+ (define-key function-key-map "\eOu" [kp-5])
+ (define-key function-key-map "\eOv" [kp-6])
+ (define-key function-key-map "\eOw" [kp-7])
+ (define-key function-key-map "\eOx" [kp-8])
+ (define-key function-key-map "\eOy" [kp-9])
+;;
+;; Undefine some ESC ESC behavior --- for later use
+ (global-unset-key "\e\e")
+ (define-key esc-map "\e" nil)
+;;
+ (define-key function-key-map "\eOD" [left])
+ (define-key function-key-map "\eOC" [right])
+ (define-key function-key-map "\eOA" [up])
+ (define-key function-key-map "\eOB" [down])
+;;
+ (define-key function-key-map "\e\eOD" [M-left])
+ (define-key function-key-map "\e\eOC" [M-right])
+ (define-key function-key-map "\e\eOA" [M-up])
+ (define-key function-key-map "\e\eOB" [M-down])
+;;
+;; Not in Use?
+ (define-key function-key-map "\C-?\eOD" [C-left])
+ (define-key function-key-map "\C-?\eOC" [C-right])
+ (define-key function-key-map "\C-?\eOA" [C-up])
+ (define-key function-key-map "\C-?\eOB" [C-down])
+;;
+;; Backspace, Delete and any thing else
+;;
+ (global-unset-key [insertchar])
+ (global-set-key [insertchar] 'overwrite-mode)
+ (global-unset-key [deletechar])
+ (global-set-key [deletechar] 'delete-char)
+;;
+(load "term/func-keys" nil t)
+;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
+;; Ende von kvt.el
--- site-lisp/term/linux.el
+++ site-lisp/term/linux.el 2023-08-01 08:20:12.119169821 +0000
@@ -0,0 +1,79 @@
+;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
+;;; term/linux.el for site-lisp path
+;;; Copyright (c) 1996 SuSE Gmbh Nuernberg, Germany. All rights reserved.
+;;;
+;;; Author: Werner Fink <werner@suse.de>, No warranty of any kind
+;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
+ (define-key function-key-map "\e[1~" [home])
+ (define-key function-key-map "\e[2~" [insertchar])
+ (define-key function-key-map "\e[3~" [deletechar])
+ (define-key function-key-map "\e[4~" [end])
+ (define-key function-key-map "\e[5~" [prior])
+ (define-key function-key-map "\e[6~" [next])
+ (define-key function-key-map "\e[[A" [f1])
+ (define-key function-key-map "\e[[B" [f2])
+ (define-key function-key-map "\e[[C" [f3])
+ (define-key function-key-map "\e[[D" [f4])
+ (define-key function-key-map "\e[[E" [f5])
+ (define-key function-key-map "\e[17~" [f6])
+ (define-key function-key-map "\e[18~" [f7])
+ (define-key function-key-map "\e[19~" [f8])
+ (define-key function-key-map "\e[20~" [f9])
+ (define-key function-key-map "\e[21~" [f10])
+ (define-key function-key-map "\e[23~" [f11])
+ (define-key function-key-map "\e[24~" [f12])
+ (define-key function-key-map "\e[25~" [f13])
+ (define-key function-key-map "\e[26~" [f14])
+ (define-key function-key-map "\e[28~" [help])
+ (define-key function-key-map "\e[29~" [menu])
+ (define-key function-key-map "\e?\e[28~" [M-help])
+ (define-key function-key-map "\e?\e[29~" [M-menu])
+ (define-key function-key-map "\e[31~" [f17])
+ (define-key function-key-map "\e[32~" [f18])
+ (define-key function-key-map "\e[33~" [f19])
+ (define-key function-key-map "\e[34~" [f20])
+;;
+;; Not in Use?
+;; ----------------------------------
+;; Console-Setting for Linux ???
+ (define-key function-key-map "\e[H" [M-up])
+ (define-key function-key-map "\e[Y" [M-down])
+ (define-key function-key-map "\e[M" [menu])
+ (define-key function-key-map "\e?\e[M" [M-menu])
+ (define-key function-key-map "\e[P" [pause])
+;;
+;; num block
+ (define-key function-key-map "\e[G" [begin])
+;;
+;; Locked num block Nothing to do :-)
+;;
+;; Undefine some ESC ESC behavior --- for later use
+ (global-unset-key "\e\e")
+ (define-key esc-map "\e" nil)
+;;
+ (define-key function-key-map "\e[D" [left])
+ (define-key function-key-map "\e[C" [right])
+ (define-key function-key-map "\e[A" [up])
+ (define-key function-key-map "\e[B" [down])
+;;
+ (define-key function-key-map "\e\e[D" [M-left])
+ (define-key function-key-map "\e\e[C" [M-right])
+ (define-key function-key-map "\e\e[A" [M-up])
+ (define-key function-key-map "\e\e[B" [M-down])
+;;
+;; Not in Use?
+ (define-key function-key-map "\C-?\e[D" [C-left])
+ (define-key function-key-map "\C-?\e[C" [C-right])
+ (define-key function-key-map "\C-?\e[A" [C-up])
+ (define-key function-key-map "\C-?\e[B" [C-down])
+;;
+;; Backspace, Delete and any thing else
+;;
+ (global-unset-key [insertchar])
+ (global-set-key [insertchar] 'overwrite-mode)
+ (global-unset-key [deletechar])
+ (global-set-key [deletechar] 'delete-char)
+;;
+(load "term/func-keys" nil t)
+;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
+;; Ende von linux.el
--- site-lisp/term/locale.el
+++ site-lisp/term/locale.el 2023-08-01 08:20:12.119169821 +0000
@@ -0,0 +1,13 @@
+;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
+;;; term/locale.el for site-lisp path
+;;; Copyright (c) 1996-2003 SuSE Linux AG Nuernberg, Germany.
+;;; Copyright (c) 2007 SuSE LINUX Products GmbH Nuernberg, Germany.
+;;;
+;;; Author: Werner Fink <werner@suse.de>, No warranty of any kind
+;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
+
+(add-hook 'term-setup-hook (function (lambda ()
+ (load "term/func-keys" t t))))
+;;
+;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
+;; Ende von locale.el

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 patch emacs-28.2.dif and rename it to 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.