Sync from SUSE:ALP:Source:Standard:1.0 emacs revision 4e3681d0405d963e350425ede31d4651

This commit is contained in:
Adrian Schröter 2024-06-13 11:51:27 +02:00
commit 9e8f6093cb
35 changed files with 19936 additions and 0 deletions

23
.gitattributes vendored Normal file
View File

@ -0,0 +1,23 @@
## Default LFS
*.7z filter=lfs diff=lfs merge=lfs -text
*.bsp filter=lfs diff=lfs merge=lfs -text
*.bz2 filter=lfs diff=lfs merge=lfs -text
*.gem filter=lfs diff=lfs merge=lfs -text
*.gz filter=lfs diff=lfs merge=lfs -text
*.jar filter=lfs diff=lfs merge=lfs -text
*.lz filter=lfs diff=lfs merge=lfs -text
*.lzma filter=lfs diff=lfs merge=lfs -text
*.obscpio filter=lfs diff=lfs merge=lfs -text
*.oxt filter=lfs diff=lfs merge=lfs -text
*.pdf filter=lfs diff=lfs merge=lfs -text
*.png filter=lfs diff=lfs merge=lfs -text
*.rpm filter=lfs diff=lfs merge=lfs -text
*.tbz filter=lfs diff=lfs merge=lfs -text
*.tbz2 filter=lfs diff=lfs merge=lfs -text
*.tgz filter=lfs diff=lfs merge=lfs -text
*.ttf filter=lfs diff=lfs merge=lfs -text
*.txz filter=lfs diff=lfs merge=lfs -text
*.whl filter=lfs diff=lfs merge=lfs -text
*.xz filter=lfs diff=lfs merge=lfs -text
*.zip filter=lfs diff=lfs merge=lfs -text
*.zst filter=lfs diff=lfs merge=lfs -text

107
01a4035c.patch Normal file
View File

@ -0,0 +1,107 @@
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

51
3c1693d0.patch Normal file
View File

@ -0,0 +1,51 @@
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

30
CVE-2022-48338.patch Normal file
View File

@ -0,0 +1,30 @@
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

29
CVE-2022-48339.patch Normal file
View File

@ -0,0 +1,29 @@
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

159
app-defaults.Emacs Normal file
View File

@ -0,0 +1,159 @@
! ==========================================================================
! Emacs
! ==========================================================================
Emacs.pane.menubar.font: -*-helvetica-bold-r-normal--12-*-*-*-p-*-iso8859-*
Emacs.menu*.font: -*-helvetica-bold-r-normal--12-*-*-*-p-*-iso8859-*
! With GNU Emacs 24 Xft is used, therefore no fontsets are required. If you
! like to use fontsets you have to disable "FontBackend" and enable "Font".
! If Xft fails then X font scheme (including fontsets) is used as fallback.
!! Emacs.FontBackend: xft,x
!! Emacs.Font: fontset-16
Emacs*Fontset-0:\
-*-fixed-medium-r-*--16-*-*-*-*-*-fontset-16,\
latin-iso8859-1:-*-fixed-medium-r-*--16-*-iso8859-1,\
latin-iso8859-2:-*-fixed-medium-r-*--16-*-iso8859-2,\
latin-iso8859-3:-*-fixed-medium-r-*--16-*-iso8859-3,\
latin-iso8859-4:-*-fixed-medium-r-*--16-*-iso8859-4,\
cyrillic-iso8859-5:-*-fixed-medium-r-*--16-*-iso8859-5,\
greek-iso8859-7:-*-fixed-medium-r-*--16-*-iso8859-7,\
hebrew-iso8859-8:-*-fixed-medium-r-*--16-*-iso8859-8,\
latin-iso8859-9:-*-fixed-medium-r-*--16-*-iso8859-9,\
latin-iso8859-15:-*-fixed-medium-r-*--16-*-iso8859-15,\
arabic-digit:-*-fixed-medium-r-*--16-*-mulearabic-0,\
arabic-1-column:-*-fixed-medium-r-*--16-*-mulearabic-1,\
arabic-2-column:-*-fixed-medium-r-*--16-*-mulearabic-2,\
katakana-jisx0201:-*-fixed-medium-r-*--16-*-jisx0201.1976-0,\
japanese-jisx0208:-*-fixed-medium-r-*--16-*-jisx0208*-0,\
korean-ksc5601:-*-fixed-medium-r-*--16-*-ksc5601*-*,\
chinese-big5-1:-*-fixed-medium-r-*--16-*-big5*-0,\
chinese-gb2312:-*-medium-r-normal-*-16-*-gb2312*-*,\
chinese-cns11643-1:-*-medium-r-normal-*-16-*-cns11643*-1,\
chinese-cns11643-2:-*-medium-r-normal-*-16-*-cns11643*-2,\
chinese-cns11643-3:-*-medium-r-normal-*-16-*-cns11643*-3,\
chinese-cns11643-4:-*-medium-r-normal-*-16-*-cns11643*-4,\
chinese-cns11643-5:-*-medium-r-normal-*-16-*-cns11643*-5,\
chinese-cns11643-6:-*-medium-r-normal-*-16-*-cns11643*-6,\
chinese-cns11643-7:-*-medium-r-normal-*-16-*-cns11643*-7,\
thai-tis620:-*-fixed-medium-r-*--16-*-tis620.2529-1,\
vietnamese-viscii-lower:-*-fixed-medium-r-*--16-*-viscii1.1-1,\
lao:-*-fixed-medium-r-*--16-*-mulelao-1,\
tibetan:-*-fixed-medium-r-*--16-*-muletibetan-0,\
tibetan-1-column:-*-fixed-medium-r-*--16-*-muletibetan-1
Emacs*Fontset-1:\
-*-fixed-medium-r-*--24-*-*-*-*-*-fontset-24,\
latin-iso8859-1:-*-fixed-medium-r-*--24-*-iso8859-1,\
latin-iso8859-2:-*-fixed-medium-r-*--24-*-iso8859-2,\
latin-iso8859-3:-*-fixed-medium-r-*--24-*-iso8859-3,\
latin-iso8859-4:-*-fixed-medium-r-*--24-*-iso8859-4,\
cyrillic-iso8859-5:-*-fixed-medium-r-*--24-*-iso8859-5,\
greek-iso8859-7:-*-fixed-medium-r-*--24-*-iso8859-7,\
hebrew-iso8859-8:-*-fixed-medium-r-*--24-*-iso8859-8,\
latin-iso8859-9:-*-fixed-medium-r-*--24-*-iso8859-9,\
latin-iso8859-15:-*-fixed-medium-r-*--24-*-iso8859-15,\
arabic-digit:-*-fixed-medium-r-*--24-*-mulearabic-0,\
arabic-1-column:-*-fixed-medium-r-*--24-*-mulearabic-1,\
arabic-2-column:-*-fixed-medium-r-*--24-*-mulearabic-2,\
katakana-jisx0201:-*-fixed-medium-r-*--24-*-jisx0201.1976-0,\
japanese-jisx0208:-*-fixed-medium-r-*--24-*-jisx0208*-0,\
korean-ksc5601:-*-fixed-medium-r-*--24-*-ksc5601*-*,\
chinese-big5-1:-*-fixed-medium-r-*--24-*-big5*-0,\
chinese-gb2312:-*-medium-r-normal-*-24-*-gb2312*-*,\
chinese-cns11643-1:-*-medium-r-normal-*-24-*-cns11643*-1,\
chinese-cns11643-2:-*-medium-r-normal-*-24-*-cns11643*-2,\
chinese-cns11643-3:-*-medium-r-normal-*-24-*-cns11643*-3,\
chinese-cns11643-4:-*-medium-r-normal-*-24-*-cns11643*-4,\
chinese-cns11643-5:-*-medium-r-normal-*-24-*-cns11643*-5,\
chinese-cns11643-6:-*-medium-r-normal-*-24-*-cns11643*-6,\
chinese-cns11643-7:-*-medium-r-normal-*-24-*-cns11643*-7,\
thai-tis620:-*-fixed-medium-r-*--24-*-tis620.2529-1,\
vietnamese-viscii-lower:-*-fixed-medium-r-*--24-*-viscii1.1-1,\
lao:-*-fixed-medium-r-*--24-*-mulelao-1,\
indian-is13194:-*-fixed-medium-r-*--24-*-is13194-devanagari,\
indian-1-column:-*-fixed-medium-r-*--24-*-muleindian-1,\
indian-2-column:-*-fixed-medium-r-*--24-*-muleindian-2,\
tibetan:-*-fixed-medium-r-*--24-*-muletibetan-0,\
tibetan-1-column:-*-fixed-medium-r-*--24-*-muletibetan-1
Emacs*Fontset-2:\
-*-fixed-medium-r-*--20-*-*-*-*-*-fontset-20,\
latin-iso8859-1:-*-fixed-medium-r-*--20-*-iso8859-1,\
latin-iso8859-2:-*-fixed-medium-r-*--20-*-iso8859-2,\
latin-iso8859-3:-*-fixed-medium-r-*--20-*-iso8859-3,\
latin-iso8859-4:-*-fixed-medium-r-*--20-*-iso8859-4,\
cyrillic-iso8859-5:-*-fixed-medium-r-*--20-*-iso8859-5,\
greek-iso8859-7:-*-fixed-medium-r-*--20-*-iso8859-7,\
hebrew-iso8859-8:-*-fixed-medium-r-*--20-*-iso8859-8,\
latin-iso8859-9:-*-fixed-medium-r-*--20-*-iso8859-9,\
latin-iso8859-15:-*-fixed-medium-r-*--20-*-iso8859-15,\
katakana-jisx0201:-*-fixed-medium-r-*--20-*-jisx0201.1976-0,\
japanese-jisx0208:-*-fixed-medium-r-*--20-*-jisx0208*-0,\
korean-ksc5601:-*-fixed-medium-r-*--20-*-ksc5601*-*
Emacs*Fontset-3:\
-*-fixed-medium-r-*--18-*-*-*-*-*-fontset-18,\
latin-iso8859-1:-*-fixed-medium-r-*--18-*-iso8859-1,\
latin-iso8859-2:-*-fixed-medium-r-*--18-*-iso8859-2,\
latin-iso8859-3:-*-fixed-medium-r-*--18-*-iso8859-3,\
latin-iso8859-4:-*-fixed-medium-r-*--18-*-iso8859-4,\
cyrillic-iso8859-5:-*-fixed-medium-r-*--18-*-iso8859-5,\
greek-iso8859-7:-*-fixed-medium-r-*--18-*-iso8859-7,\
hebrew-iso8859-8:-*-fixed-medium-r-*--18-*-iso8859-8,\
latin-iso8859-9:-*-fixed-medium-r-*--18-*-iso8859-9,\
latin-iso8859-15:-*-fixed-medium-r-*--18-*-iso8859-15,\
katakana-jisx0201:-*-*-medium-r-*--18-*-jisx0201.1976-0,\
japanese-jisx0208:-*-*-medium-r-*--18-*-jisx0208*-0,\
korean-ksc5601:-*-fixed-medium-r-*--18-*-ksc5601*-*
Emacs*Fontset-4:\
-*-fixed-medium-r-*--14-*-*-*-*-*-fontset-14,\
latin-iso8859-1:-*-fixed-medium-r-*--14-*-iso8859-1,\
latin-iso8859-2:-*-fixed-medium-r-*--14-*-iso8859-2,\
latin-iso8859-3:-*-fixed-medium-r-*--14-*-iso8859-3,\
latin-iso8859-4:-*-fixed-medium-r-*--14-*-iso8859-4,\
cyrillic-iso8859-5:-*-fixed-medium-r-*--14-*-iso8859-5,\
greek-iso8859-7:-*-fixed-medium-r-*--14-*-iso8859-7,\
hebrew-iso8859-8:-*-fixed-medium-r-*--14-*-iso8859-8,\
latin-iso8859-9:-*-fixed-medium-r-*--14-*-iso8859-9,\
latin-iso8859-15:-*-fixed-medium-r-*--14-*-iso8859-15,\
katakana-jisx0201:-*-fixed-medium-r-*--14-*-jisx0201.1976-0,\
japanese-jisx0208:-*-fixed-medium-r-*--14-*-jisx0208*-0,\
korean-ksc5601:-*-fixed-medium-r-*--14-*-ksc5601*-*,\
thai-tis620:-*-fixed-medium-r-*--14-*-tis620.2529-1,\
lao:-*-fixed-medium-r-*--14-*-mulelao-1
Emacs*Fontset-5:\
-*-fixed-medium-r-*--12-*-*-*-*-*-fontset-12,\
latin-iso8859-1:-*-fixed-medium-r-*--12-*-iso8859-1,\
latin-iso8859-2:-*-fixed-medium-r-*--12-*-iso8859-2,\
latin-iso8859-3:-*-fixed-medium-r-*--12-*-iso8859-3,\
latin-iso8859-4:-*-fixed-medium-r-*--12-*-iso8859-4,\
cyrillic-iso8859-5:-*-fixed-medium-r-*--12-*-iso8859-5,\
greek-iso8859-7:-*-fixed-medium-r-*--12-*-iso8859-7,\
latin-iso8859-15:-*-fixed-medium-r-*--12-*-iso8859-15,\
hebrew-iso8859-8:-*-fixed-medium-r-*--12-*-iso8859-8,\
latin-iso8859-9:-*-fixed-medium-r-*--12-*-iso8859-9,\
katakana-jisx0201:-*-fixed-medium-r-*--12-*-jisx0201.1976-0,\
japanese-jisx0208:-*-fixed-medium-r-*--12-*-jisx0208*-0,\
korean-ksc5601:-*-fixed-medium-r-*--12-*-ksc5601.1987-0
Emacs*Fontset-6:\
-*-fixed-medium-r-*--10-*-*-*-*-*-fontset-10,\
latin-iso8859-1:-*-fixed-medium-r-*--10-*-iso8859-1,\
latin-iso8859-2:-*-fixed-medium-r-*--10-*-iso8859-2,\
latin-iso8859-3:-*-fixed-medium-r-*--10-*-iso8859-3,\
latin-iso8859-4:-*-fixed-medium-r-*--10-*-iso8859-4,\
cyrillic-iso8859-5:-*-fixed-medium-r-*--10-*-iso8859-5,\
greek-iso8859-7:-*-fixed-medium-r-*--10-*-iso8859-7,\
hebrew-iso8859-8:-*-fixed-medium-r-*--10-*-iso8859-8,\
latin-iso8859-9:-*-fixed-medium-r-*--10-*-iso8859-9,\
latin-iso8859-15:-*-fixed-medium-r-*--10-*-iso8859-15,\
katakana-jisx0201:-*-fixed-medium-r-*--10-*-jisx0201.1976-0,\
japanese-jisx0208:-*-fixed-medium-r-*--10-*-jisx0208*-0,\
korean-ksc5601:-*-fixed-medium-r-*--10-*-ksc5601*-*
Emacs*Fontset-7:\
-*-fixed-medium-r-*--8-*-*-*-*-*-fontset-8,\
latin-iso8859-1:-*-fixed-medium-r-*--8-*-iso8859-1,\
greek-iso8859-7:-*-fixed-medium-r-*--8-*-iso8859-7,\
latin-iso8859-15:-*-fixed-medium-r-*--8-*-iso8859-15
Emacs*Fontset-8:\
-*-fixed-medium-r-*--7-*-*-*-*-*-fontset-7,\
latin-iso8859-1:-*-fixed-medium-r-*--7-*-iso8859-1,\
greek-iso8859-7:-*-fixed-medium-r-*--7-*-iso8859-7,\
latin-iso8859-15:-*-fixed-medium-r-*--7-*-iso8859-15

28
check-build.sh Normal file
View File

@ -0,0 +1,28 @@
#!/bin/bash
case $BUILD_BASENAME in
*ppc*)
if test $(getconf PAGESIZE) -ne 65536; then
echo "Error: wrong build host, PAGESIZE must be 65536"
exit 1
fi
;;
*ia64*)
if test $(getconf PAGESIZE) -ne 65536; then
echo "Error: wrong build host, PAGESIZE must be 65536"
exit 1
fi
;;
*)
;;
esac
exec_shield=0
if test -e /proc/sys/kernel/exec-shield; then
read -t 1 exec_shield < /proc/sys/kernel/exec-shield
fi
if test $exec_shield -ne 0 ; then
echo Sorry, Execution Shield exists and is enabled 1>&2
exit 1
fi
exit 0

65
d3209119.patch Normal file
View File

@ -0,0 +1,65 @@
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 Normal file

File diff suppressed because it is too large Load Diff

538
dot.gnu-emacs Normal file
View File

@ -0,0 +1,538 @@
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
;;; File name: ` ~/.gnu-emacs '
;;; ---------------------
;;;
;;; Note: This file is for GNU-Emacs only ...
;;; GNU-Emacs is incompatible to X-Emacs. Therefore your
;;; personal ~/.emacs should load this file if your runnning
;;; the good old GNU-emacs.
;;;
;;; If you need your own personal ~/.gnu-emacs
;;; please make a copy of this file
;;; an placein your changes and/or extension.
;;;
;;; For emacs commands have a look onto the
;;; `emacs-revcard' in the directory /usr/doc/packages/emacs/
;;;
;;; Copyright 1993-2001 Werner Fink
;;; Copyright (c) 1996-2001 SuSE Gmbh Nuernberg, Germany.
;;; All rights reserved.
;;;
;;; Author: Werner Fink, <werner@suse.de> 1993-2001
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
;;
;; No splash screen at all
;; -----------------------
(if (and (file-exists-p "~/.inhibit-splash-screen")
(boundp 'inhibit-splash-screen))
(setq-default inhibit-splash-screen t))
;;
;; Debuging only
;; -------------
; (open-dribble-file "~/.dribble")
; (open-termscript "~/.termscript")
;;
;; Emacs makes backup by moving original files, to
;; avoid trouble with hardlinked files we may use:
;; -----------------------------------------------
; (defconst backup-by-copying-when-linked t)
;;
;; Rmail: We will place all Mail's an Mail-folders into ~/Mail
;; -----------------------------------------------------------
(if (file-accessible-directory-p "~/Mail/")
(setq rmail-secondary-file-directory "~/Mail/"))
;;
;; Prefix for mail-mode
;; ---------------------
(setq mail-yank-prefix "> ")
; (setq mail-archive-file-name "~/Mail/.CarbonCopy")
(setq mail-self-blind nil)
(setq mail-default-headers nil)
(setq mail-signature nil)
;;
;; Settings for message-mode
;; -------------------------
(setq message-from-style "angles")
(if (null mail-host-address)
(let ((tmph (getenv "HOSTNAME"))
(tmpf (getenv "FROM_HEADER")))
(if (or (null tmph) (not (string-match "\\." tmph)))
(setq tmph (system-name)))
(if (not (string-match "\\." tmph))
(setq mail-host-address "our.domain.is.not.set")
(string-match "\\." tmph)
(setq mail-host-address (substring tmph (match-end 0))))
(if (stringp tmpf)
(setq mail-host-address tmpf)))
(setq tmpf nil tmph nil))
;;
;; RMAILGEN: Folder im Rmail-Mode :-)
;; ----------------------------------
;;
;; 1. I want to define a mail directory that isn't `~/'
(if (file-accessible-directory-p "~/Mail/")
(setq rmailgen-default-directory "~/Mail/")) ; must end in slash
;;;
;; 2. I want 78 column
(add-hook 'mail-mode-hook (function (lambda () (setq fill-column 78))))
(if (file-exists-p "~/.abbrev_defs")
(progn (read-abbrev-file "~/.abbrev_defs")
(add-hook 'mail-setup-hook 'mail-abbrevs-setup)))
;;;
;; 3. By default, if mail-archive-file-name is non-nil then
;; archive file names will be generated automatically based on
;; the message to which a reply is being constructed. If I
;; wanted to turn this off I would put in a statement like
(setq rmailgen-archive-file-name nil)
;;;
;; 4. By default, rmailgen.el downcases generated filenames
;; If I wanted uppercase I would put in a statement like here.
(setq rmailgen-downcase "dummy")
;;;
;; 5. By default, rmailgen.el does not append `.gz' to generated
;; filenames. If I wanted such an extension I would put in a statement
;; like
;;(setq rmailgen-gzip-file-name t)
;;;
;; 6. By default, rmailgen.el will use generated FCC filenames even
;; if the file does not exist. If I wanted to FCC only if the file
;; already exists I would put in a statement like
;; (setq rmailgen-archive-only-if-exists t)
;;;
;; 7. Add my own personal output list for specific friends
;; and special subjects.
;;;
;; First define rmail-output-file-alist, just in case this
;; is not already defined. That is, may be
;; ../lisp/rmailout.el has not been loaded yet.
(if (not (boundp 'rmail-output-file-alist))
(defvar rmail-output-file-alist nil))
;;;
(setq rmail-output-file-alist
(append
(list
; ;; For my friends (some have strange account names).
; '("^From:[ \t]*.*jones.*" . "jmjones")
; '("^From:[ \t]*.*Joe[ \t]*Smith.*" . "joe")
;
; ;; Special subject lines.
; '("^Subject:[ \t]*.*crypt.*" . "crypt++")
; '("^Subject:[ \t]*.*rmailgen.*" . "genrmail")
; '("^Subject:[ \t]*.*dired-x.*" . "dired-x")
; '("^Subject:[ \t]*.*GNU Emacs 19 RMAIL Poll.*" . "rmail")
;
; ;; Add more entries here...
)
;;;
;; In case rmail-output-file-alist has been defined
;; already elsewhere.
rmail-output-file-alist))
;;;
;; 8. Load package [REQUIRED].
(if (file-exists-p "/usr/share/emacs/site-lisp/rmailgen.el")
(require 'rmailgen))
;;
;; Base text mode
;; ----------------------
(setq default-major-mode 'text-mode)
(line-number-mode 1)
(global-set-key "\e\?" 'goto-line)
(column-number-mode 1)
;;
;; User can cutomize that: Just show e.g. DOS files with CR/NL
;; ----------------------
; (setq-default inhibit-eol-conversion t)
(setq-default require-final-newline "ask")
;;
;; Specials for X Window System
;; -------------------------
(if (not window-system)
;; ispell
;; ----------------------
;; (A few changes on ispell)
(setq ispell-highlight-face 'underline);)
;;
;; Geomtry and layout
;;
; (setq initial-frame-alist
; '((vertical-scroll-bars . right) (height . 34) (width . 80)))
; (setq default-frame-alist
; '((vertical-scroll-bars . right) (height . 34) (width . 80)))
;;
;; Some fonts
;; -----------------------
(if (> emacs-major-version 20) (require 'xfonts))
;;
;; New in Emacs 21: tool bar menu, you may switch it of
;; ----------------------------------------------------
; (if (fboundp 'tool-bar-mode) (tool-bar-mode 0))
;;
;; mouse as arrow
;; --------------
(setq x-pointer-shape x-pointer-left-ptr)
(if (x-display-color-p)
(set-mouse-color "RoyalBlue")
(set-mouse-color (cdr (assq 'mouse-color (frame-parameters)))))
;;
;; Automatically replacing of fore- and background.
(if (not (x-display-color-p))
(progn
(set-face-background 'region
(cdr (assq 'foreground-color (frame-parameters ))))
(set-face-foreground 'region
(cdr (assq 'background-color (frame-parameters ))))
;; ispell
;; ----------------------
;; (A few changes on ispell)
(setq ispell-highlight-face 'underline)))
;;
;; Highlighting of special emacs modes
;; -----------------------------------
;; We use font lock mode
;; Darken greyed strings in font lock mode
(custom-declare-face 'font-lock-string-face
'((((class grayscale) (background light)) (:foreground "gray37" :italic t))
(((class grayscale) (background dark)) (:foreground "LightGray" :italic t))
(((class color) (background light)) (:foreground "gray37"))
(((class color) (background dark)) (:foreground "LightGray"))
(t (:italic t)))
"Font Lock mode face used to highlight strings."
:group 'font-lock-highlighting-faces)
;; Enable font lock support
(require 'font-lock)
(cond ((and (boundp 'jit-lock-mode) (symbol-value 'jit-lock-mode))
(setq font-lock-support-mode '((latex-mode . fast-lock-mode) (t . jit-lock-mode))))
((and (boundp 'lazy-lock-mode) (symbol-value 'lazy-lock-mode))
(setq font-lock-support-mode '((latex-mode . fast-lock-mode) (t . lazy-lock-mode)))))
(add-hook 'after-init-hook #'(lambda () (global-font-lock-mode 1)))
;;
;; Some dialog
;; ------------------
(setq use-dialog-box t)
;;
;; less dialog
;; -----------
;(menu-prompting nil)
;;
;; Set X synchrone
;; ---------------
;; Speed up
(setq mouse-scroll-delay 0)
(setq x-selection-timeout 0)
;;
;; We use a wrapper script for netscape
;;
(if (file-executable-p "/usr/X11R6/bin/Netscape")
(setq browse-url-netscape-program "/usr/X11R6/bin/Netscape"))
)
;;
;; emacsclient: automatical popup under X11
;; ------------------------------------------
;(defun server-make-window-visible ()
; "Try to make this window even more visible."
;(if window-system
; (progn
; (let ((foo (selected-frame)))
; (sit-for 0)
; (make-frame-visible foo))
; (accept-process-output))))
;(add-hook 'server-switch-hook #'(lambda () (server-make-window-visible)))
;(add-hook 'server-visit-hook #'(lambda () (server-make-window-visible)))
;; Start it for popup
;(server-start)
;;
;; Emacs experts like this
;; -----------------------
(put 'eval-expression 'disabled nil)
;;
;; Working on parts of text
;; ------------------------
;; NB: `C-x n n' is narrow-to-region
;; `C-x n p' is narrow-to-page
;; `C-x n w' is widen
;(put 'narrow-to-region 'disabled nil)
;(put 'narrow-to-page 'disabled nil)
;;
;; GNUS
;; ----
;; Sorting
(if (or (and (= emacs-major-version 19) (> emacs-minor-version 29))
(> emacs-major-version 19))
(add-hook 'gnus-select-group-hook
#'(lambda ()
(setq-default gnus-auto-select-first nil)
(setq-default gnus-auto-center-summary nil)
(setq gnus-thread-sort-functions
'(gnus-thread-sort-by-number
gnus-thread-sort-by-subject
gnus-thread-sort-by-date
gnus-thread-sort-by-score))))
(add-hook 'gnus-select-group-hook
#'(lambda ()
(setq-default gnus-auto-select-first nil)
(setq-default gnus-auto-center-summary nil)
;; First of all, sort by date.
(gnus-keysort-headers
(function string-lessp)
(function
(lambda (a)
(gnus-sortable-date (gnus-header-date a)))))
;; Then sort by subject string ignoring `Re:'.
;; If case-fold-search is non-nil, case of letters is ignored.
(gnus-keysort-headers
(function string-lessp)
(function
(lambda (a)
(if case-fold-search
(downcase (gnus-simplify-subject (gnus-header-subject a) t))
(gnus-simplify-subject (gnus-header-subject a) t)))))
))
)
;; highlighting, menus, and subscribing in GNUS
(add-hook 'gnus-startup-hook
#'(lambda ()
(setq gnus-subscribe-newsgroup-method
#'(lambda (newsgroup)
(gnus-subscribe-newsgroup newsgroup)
(gnus-kill-newsgroup newsgroup)))
(setq gnus-use-generic-from t)
;; highlighting and menu in GNUS
(if (or (and (= emacs-major-version 19) (> emacs-minor-version 29))
(> emacs-major-version 19))
(progn
(setq gnus-visual '(highlight menu))
(setq gnus-group-highlight
'(;; News.
((and (> unread 100) (not mailp)) . gnus-summary-high-ticked-face)
((and (> unread 0) (not mailp)) . gnus-summary-high-read-face)
((and (= unread 0) (not mailp)) . gnus-summary-high-ancient-face)
((not mailp) . gnus-summary-normal-ancient-face)
;; Mail.
((and (= unread 0) (eq level 1)) . gnus-group-mail-1-empty-face)
((eq level 1) . gnus-group-mail-1-face)
((and (= unread 0) (eq level 2)) . gnus-group-mail-2-empty-face)
((eq level 2) . gnus-group-mail-2-face)
((and (= unread 0) (eq level 3)) . gnus-group-mail-3-empty-face)
((eq level 3) . gnus-group-mail-3-face)
((= unread 0) . gnus-group-mail-low-empty-face)
(t . gnus-group-mail-low-face)))
)))
)
;;
;; Common to all C modes
;; ---------------------
;(autoload 'hideshowvis-enable "hideshowvis" "Highlight foldable regions")
;(add-hook 'c-mode-common-hook
; #'(lambda () (c-set-style "linux")
; (c-set-offset 'case-label 4)
; (setq c-basic-offset 4)))
;;
;; Auto fill mode
;; --------------
(add-hook 'text-mode-hook 'turn-on-auto-fill)
;;
;; Fill-column
;; -----------
;; Fill-column ist hier auf 78 Charakter gesetzt, nach Wunsch "andern!
(setq-default fill-column 78)
(add-hook 'TeX-mode-hook #'(lambda () (setq fill-column 78)))
;;
;; AUC-TeX
;; ----------------------------
(if (boundp 'AUCTeX-version)
(progn
(let* ((version (split-string AUCTeX-version "\\."))
(major (string-to-number (car version)))
(minor (string-to-number (car (cdr version)))))
(if (or (> major 11) (and (eq major 11) (>= minor 86)))
(custom-set-default 'TeX-master nil)
(setq-default TeX-master nil)))
; ; Users private libaries
; (if (boundp 'AUCTeX-version)
; (progn
; (setq TeX-macro-private '("~/lib/tex-lib/"))
; (setq TeX-style-private "~/lib/site-lisp/auctex/style/") ; AUC-TeX-Macros
; (setq TeX-auto-private "~/lib/site-lisp/auctex/auto/"))) ; Autom. Auc-TeX-Macros
(if (and window-system (featurep 'font-lock))
(progn
(add-hook 'latex-mode-hook 'turn-on-font-lock)
(if (boundp 'AUCTeX-version)
(progn
(add-hook 'LaTeX-mode-hook 'turn-on-font-lock)
(add-hook 'LaTeX-mode-hook 'LaTeX-math-mode)
(add-hook 'after-init-hook #'(lambda () (load "auctex/font-latex" nil t)))))))
))
;;
;; Brace macros
;; ------------
(defun TeX-Inserting (sta stb stc)
(if (= (preceding-char) sta )
(insert stb)
(progn (insert stc) (backward-char 1))))
(defun TeX-schweif () (interactive "*") (TeX-Inserting ?\\ "{" "{}"))
(defun TeX-rundekl () (interactive "*") (TeX-Inserting ?\\ "(" "()"))
(defun TeX-eckigek () (interactive "*") (TeX-Inserting ?\\ "[" "[]"))
(defun TeX-exponen () (interactive "*") (TeX-Inserting ?\\ "^" "^{}"))
(defun TeX-subscri () (interactive "*") (TeX-Inserting ?\\ "_" "_{}"))
(defun TeX-dollarm () (interactive "*") (TeX-Inserting ?\\ "$" "$$"))
(defun TeX-REVbbox () (interactive "*") (TeX-Inserting ?\\ "bbox{" "\\bbox{}"))
(add-hook 'LaTeX-mode-hook
#'(lambda ()
;; Uncomment this for automatic bracket closing
;; Begin bracket closing
; (local-set-key "{" 'TeX-schweif)
; (local-set-key "(" 'TeX-rundekl)
; (local-set-key "[" 'TeX-eckigek)
; (local-set-key "^" 'TeX-exponen)
; (local-set-key "_" 'TeX-subscri)
; (local-set-key "$" 'TeX-dollarm)
; (local-set-key "\C-b" 'TeX-REVbbox)
;;
;; It's german:
;; Deutsche Tastatur im LaTeX-German-Style/Babel-Class
;; ---------------------------------------------------
;; Aktivierung mit `M-x german-mode' -> man dr"ucke
;; *nacheinander* <ComposeCharacter>, <">, <a> und staune!
;; ACHTUNG: Bei grossen Files sehr LANGSAM beim Abspeichern
;; das ist vom Prinzip her bedingt! Hier gibt's keinen Support!
; (require 'ger-keys)
;; End bracket closing
;; For ISO Latin standard: Macro out of `ger-keys'
;; ger-keys should be loaded
; (german-mode)
;; For german style usage:
; (modify-syntax-entry ?" "w")
; (local-set-key "\"" 'self-insert-command)
;; Deutsche Belegung amerikanischer Tastaturen: aus `ger-keys'
; (german-keyboard)
))
;;
;; Provide some usefull function keys
;; ----------------------------------
;; Have a look on /usr/share/emacs/site-lisp/function-keys.el
;; Extensions or changes of the keymap
;; original definitions will found in loaddefs.el.
;;(global-set-key [escape] [?\e]) ; Escape
;;
(global-set-key [M-left] 'backward-word)
(global-set-key [M-right] 'forward-word)
(global-set-key [M-up] 'beginning-of-line)
(global-set-key [M-down] 'end-of-line)
;;
; (global-set-key [C-left] 'backward-char)
; (global-set-key [C-right] 'forward-char)
; (global-set-key [C-up] 'previous-line)
; (global-set-key [C-down] 'next-line)
;;
; (global-set-key [S-left] 'backward-char)
; (global-set-key [S-right] 'forward-char)
; (global-set-key [S-up] 'previous-line)
; (global-set-key [S-down] 'next-line)
;;
(global-set-key [find] 'isearch-forward) ; Search
(global-set-key [select] 'set-mark-command) ; Mark
;;
(global-set-key [S-next] 'end-of-buffer)
(global-set-key [S-prior] 'beginning-of-buffer)
(global-set-key [S-find] 'find-file)
(global-set-key [S-select] 'switch-to-buffer)
(global-set-key [S-insert] 'insert-file)
;;
(if (and (= emacs-major-version 19) (= emacs-minor-version 29))
(define-key key-translation-map [f1] nil)) ; 19.29+
(global-set-key [S-f1] 'find-file)
(global-set-key [M-f1] 'find-file)
(global-set-key [f1] 'help-for-help) ; `Help'
(global-set-key [pause] 'toggle-read-only) ; `HoldScreen'
;;
(if (global-key-binding [f2])
(progn
(global-set-key [S-f2] 'split-window)
(global-set-key [M-f2] 'split-window))
(global-set-key [f2] 'split-window))
(if (global-key-binding [f2])
(progn
(global-set-key [S-f2] 'split-window)
(global-set-key [M-f2] 'split-window))
(global-set-key [f2] 'split-window))
(if (global-key-binding [f3])
(progn
(global-set-key [S-f3] 'isearch-forward)
(global-set-key [M-f3] 'isearch-forward))
(global-set-key [f3] 'isearch-forward))
(if (global-key-binding [f4])
(progn
(global-set-key [S-f4] 'query-replace-regexp)
(global-set-key [M-f4] 'query-replace-regexp))
(global-set-key [f4] 'query-replace-regexp))
(if (global-key-binding [f5])
(progn
(global-set-key [S-f5] 'save-buffer)
(global-set-key [M-f5] 'save-buffer))
(global-set-key [f5] 'save-buffer))
(if (global-key-binding [f6])
(progn
(global-set-key [S-f6] 'find-file)
(global-set-key [M-f6] 'find-file))
(global-set-key [f6] 'find-file))
(if (global-key-binding [f7])
(progn
(global-set-key [S-f7] 'buffer-menu)
(global-set-key [M-f7] 'buffer-menu))
(global-set-key [f7] 'buffer-menu))
(if (global-key-binding [f8])
(progn
(global-set-key [S-f8] 'repeat-complex-command)
(global-set-key [M-f8] 'repeat-complex-command))
(global-set-key [f8] 'repeat-complex-command))
(if (global-key-binding [f9])
(progn
(global-set-key [S-f9] 'execute-extended-command)
(global-set-key [M-f9] 'execute-extended-command))
(global-set-key [f9] 'execute-extended-command))
(if (global-key-binding [f10])
(progn
(global-set-key [S-f10] 'eval-expression)
(global-set-key [M-f10] 'eval-expression))
(global-set-key [f10] 'eval-expression))
;;
;;(global-set-key [f11] [?\e]) ; Escape
(global-set-key [f11] esc-map) ; Escape
;;
(global-set-key [f12] 'backward-delete-char-untabify) ; Backspace
;;
;; DEC keyboard: f13 up to f20
(global-set-key [f13] 'newline) ; Linefeed
(global-set-key [linefeed] 'newline) ; Linefeed
;;
(global-set-key [f14] 'switch-to-buffer)
;;
;; Emacs original key binding
;;
; (global-set-key [home] 'beginning-of-buffer) ;
; (global-set-key [end] 'end-of-buffer) ;
;;
(global-set-key [help] 'info) ; Help
(global-set-key [M-help] 'repeat-complex-command) ; Redo
(global-set-key [menu] 'execute-extended-command) ; Do
(global-set-key [M-menu] 'eval-expression) ; eval
;;
(global-set-key [f17] 'beginning-of-buffer)
(global-set-key [f18] 'end-of-buffer)
(global-set-key [f19] 'save-buffer)
(global-set-key [f20] 'find-file)
;;
;; Translate `C-h' to DEL.
; (keyboard-translate ?\C-h ?\C-?)
;;
;; Translate DEL to `C-h'.
; (keyboard-translate ?\C-? ?\C-h)
;;;;;;;;;;
;; the end

40
emacs-24.1-ps-mule.patch Normal file
View File

@ -0,0 +1,40 @@
---
lisp/ps-mule.el | 2 ++
lisp/textmodes/ispell.el | 14 +++++++++++---
2 files changed, 13 insertions(+), 3 deletions(-)
--- lisp/ps-mule.el
+++ lisp/ps-mule.el 2016-09-19 09:01:56.930605125 +0000
@@ -180,6 +180,8 @@ See also the variable `ps-font-info-data
(defconst ps-mule-font-info-database-latin
'((iso-8859-1
+ (normal nil nil))
+ (iso-8859-15
(normal nil nil)))
"Sample setting of `ps-mule-font-info-database' to use latin fonts.")
--- 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
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)))))
+;;
+;; Most languages in ISO-8859-15 for EURO symbols uses ISO-8859-1 chars
+;(defun ispell-get-coding-system ()
+; (nth 7 (or (assoc ispell-current-dictionary ispell-local-dictionary-alist)
+; (assoc ispell-current-dictionary ispell-dictionary-alist))))
(defun ispell-get-coding-system ()
- (nth 7 (or (assoc ispell-current-dictionary ispell-local-dictionary-alist)
- (assoc ispell-current-dictionary ispell-dictionary-alist))))
-
+ (let ((sys (nth 7 (or (assoc ispell-current-dictionary ispell-local-dictionary-alist)
+ (assoc ispell-current-dictionary ispell-dictionary-alist)))))
+ (if (and (boundp 'buffer-file-coding-system)
+ (eq buffer-file-coding-system 'iso-latin-9)
+ (eq sys 'iso-latin-1))
+ 'iso-latin-9 sys)))
(defvar ispell-pdict-modified-p nil
"Non-nil means personal dictionary has modifications to be saved.")

View File

@ -0,0 +1,15 @@
---
lisp/ps-mule.el | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
--- lisp/ps-mule.el
+++ lisp/ps-mule.el 2016-09-19 08:57:28.807664990 +0000
@@ -262,7 +262,7 @@ Currently, data for Japanese and Korean
(japanese-jisx0208
(normal bdf "jiskan24.bdf"))
(korean-ksc5601
- (normal bdf "hanglm24.bdf"))
+ (normal bdf "gulim24.bdf"))
(japanese-jisx0212
(normal bdf ("jksp40.bdf" "jisksp40.bdf")))
(chinese-cns11643-1

16
emacs-24.3-iconic.patch Normal file
View File

@ -0,0 +1,16 @@
---
lisp/startup.el | 3 +++
1 file changed, 3 insertions(+)
--- lisp/startup.el
+++ lisp/startup.el 2016-09-19 09:15:26.871345783 +0000
@@ -2481,6 +2481,9 @@ nil default-directory" name)
((equal argi "-no-splash")
(setq inhibit-startup-screen t))
+ ((equal argi "-iconic")
+ (setq inhibit-startup-message t))
+
((member argi '("-f" ; what the manual claims
"-funcall"
"-e")) ; what the source used to say

43
emacs-24.3-x11r7.patch Normal file
View File

@ -0,0 +1,43 @@
---
src/xrdb.c | 16 ++++++++++++++++
1 file changed, 16 insertions(+)
--- src/xrdb.c
+++ src/xrdb.c 2016-09-19 09:10:35.504833294 +0000
@@ -39,6 +39,9 @@ along with GNU Emacs. If not, see <http
#include <X11/X.h>
#include <X11/Xutil.h>
#include <X11/Xresource.h>
+#ifdef USE_X_TOOLKIT
+#include <X11/Intrinsic.h>
+#endif
#ifdef HAVE_PWD_H
#include <pwd.h>
#endif
@@ -470,6 +473,15 @@ x_load_resources (Display *display, cons
XrmPutLineResource (&rdb, line);
#endif /* not USE_MOTIF */
+#ifdef USE_X_TOOLKIT
+ if ((db = XtScreenDatabase(DefaultScreenOfDisplay (display))))
+ {
+ XrmCombineDatabase (rdb, &db, FALSE);
+ rdb = db;
+ }
+ else
+ {
+#endif /* not USE_X_TOOLKIT */
user_database = get_user_db (display);
@@ -511,6 +523,10 @@ x_load_resources (Display *display, cons
XrmMergeDatabases (db, &rdb);
}
+#ifdef USE_X_TOOLKIT
+ } /* (db != XtScreenDatabase()) */
+#endif /* not USE_X_TOOLKIT */
+
return rdb;
}

41
emacs-24.4-flyspell.patch Normal file
View File

@ -0,0 +1,41 @@
---
lisp/textmodes/flyspell.el | 11 ++++++++---
1 file changed, 8 insertions(+), 3 deletions(-)
--- lisp/textmodes/flyspell.el
+++ lisp/textmodes/flyspell.el 2021-10-08 09:31:55.632323098 +0000
@@ -289,6 +289,12 @@ If this variable is nil, all regions are
"The key binding for flyspell auto correction."
:type 'key-sequence)
+(defvar flyspell-signature-separator
+ (if (boundp 'message-signature-separator)
+ message-signature-separator
+ "^-- $")
+ "*String used to recognize .signatures.")
+
;;*---------------------------------------------------------------------*/
;;* Mode specific options */
;;* ------------------------------------------------------------- */
@@ -313,7 +319,6 @@ property of the major mode name.")
;;*--- mail mode -------------------------------------------------------*/
(put 'mail-mode 'flyspell-mode-predicate 'mail-mode-flyspell-verify)
(put 'message-mode 'flyspell-mode-predicate 'mail-mode-flyspell-verify)
-(defvar message-signature-separator)
(defun mail-mode-flyspell-verify ()
"Function used for `flyspell-generic-check-word-predicate' in Mail mode."
(let* ((header-end (save-excursion
@@ -325,11 +330,11 @@ property of the major mode name.")
nil t)
(point)))
(signature-begin
- (if (not (boundp 'message-signature-separator))
+ (if (not (boundp 'flyspell-signature-separator))
(point-max)
(save-excursion
(goto-char (point-max))
- (re-search-backward message-signature-separator
+ (re-search-backward flyspell-signature-separator
(max header-end (- (point) 4000)) t)
(point)))))
(cond ((< (point) header-end)

25
emacs-24.4-glibc.patch Normal file
View File

@ -0,0 +1,25 @@
---
configure | 1 +
configure.ac | 1 +
2 files changed, 2 insertions(+)
--- configure.ac
+++ configure.ac 2018-05-29 12:18:31.133648098 +0000
@@ -2380,6 +2380,7 @@ fi
use_mmap_for_buffers=no
case "$opsys" in
mingw32) use_mmap_for_buffers=yes ;;
+ gnu-linux) use_mmap_for_buffers=yes ;;
esac
AC_FUNC_MMAP
--- configure
+++ configure 2018-05-29 12:20:07.583908486 +0000
@@ -11754,6 +11754,7 @@ fi
use_mmap_for_buffers=no
case "$opsys" in
mingw32) use_mmap_for_buffers=yes ;;
+ gnu-linux) use_mmap_for_buffers=yes ;;
esac

17
emacs-24.4-nonvoid.patch Normal file
View File

@ -0,0 +1,17 @@
---
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
xw_popup_dialog (struct frame *f, Lisp_Object header, Lisp_Object contents)
{
Lisp_Object title;
- const char *error_name;
- Lisp_Object selection;
+ const char *error_name = NULL;
+ Lisp_Object selection = Qnil;
ptrdiff_t specpdl_count = SPECPDL_INDEX ();
check_window_system (f);

33
emacs-24.4-ps-bdf.patch Normal file
View File

@ -0,0 +1,33 @@
---
lisp/ldefs-boot.el | 4 ++--
lisp/ps-bdf.el | 4 ++--
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))
;;; Generated autoloads from ps-bdf.el
-(defvar bdf-directory-list (if (memq system-type '(ms-dos windows-nt)) (list (expand-file-name "fonts/bdf" installation-directory)) '("/usr/local/share/emacs/fonts/bdf")) "\
+(defvar bdf-directory-list (if (memq system-type '(ms-dos windows-nt)) (list (expand-file-name "fonts/bdf" installation-directory)) '("/usr/share/fonts/bdf")) "\
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)
--- lisp/ps-bdf.el
+++ lisp/ps-bdf.el 2018-05-29 12:21:53.126004842 +0000
@@ -42,9 +42,9 @@
(defcustom 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"))
+ '("/usr/share/fonts/bdf"))
"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\")."
:type '(repeat :tag "BDF font directory list"
(directory :tag "BDF font directory"))
:group 'ps-print-miscellany)

View File

@ -0,0 +1,83 @@
Work around openSUSE bug #1016172
--
lisp/dynamic-setting.el | 29 +++++++++++++++--------------
src/xsettings.c | 7 ++++++-
2 files changed, 21 insertions(+), 15 deletions(-)
--- lisp/dynamic-setting.el
+++ lisp/dynamic-setting.el 2016-12-20 16:51:49.533433283 +0000
@@ -33,6 +33,7 @@
;;; Customizable variables
(declare-function font-get-system-font "xsettings.c" ())
+(declare-function font-face-attributes "font.c" (font &optional frame))
(defvar font-use-system-font)
@@ -42,28 +43,28 @@ 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)))
- (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))
+ (user-font (face-attribute 'default :font)))
+ (when (and system-font (display-graphic-p display-or-frame))
(clear-font-cache)
(if set-font
;; Set the font on all current and future frames, as though
;; 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 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.
--- src/xsettings.c
+++ src/xsettings.c 2016-12-21 07:25:17.605036477 +0000
@@ -49,6 +49,7 @@ along with GNU Emacs. If not, see <http
#ifdef USE_CAIRO
#include <fontconfig/fontconfig.h>
#else /* HAVE_XFT */
+#include <math.h>
#include <X11/Xft/Xft.h>
#endif
#endif
@@ -625,7 +626,11 @@ apply_xft_settings (struct x_display_inf
#endif
FcPatternGetInteger (pat, FC_LCD_FILTER, 0, &oldsettings.lcdfilter);
FcPatternGetInteger (pat, FC_RGBA, 0, &oldsettings.rgba);
- FcPatternGetDouble (pat, FC_DPI, 0, &oldsettings.dpi);
+
+ if (FcPatternGetDouble (pat, FC_DPI, 0, &oldsettings.dpi) == FcResultMatch)
+ {
+ oldsettings.dpi = round(oldsettings.dpi);
+ }
if ((settings->seen & SEEN_AA) != 0 && oldsettings.aa != settings->aa)
{

View File

@ -0,0 +1,56 @@
Index: emacs-25.2/configure.ac
===================================================================
---
emacs-26.1/configure.ac | 2 +-
emacs-26.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 "$
else
## 6.3.5 is the earliest version known to work; see Bug#17339.
## 6.8.2 makes Emacs crash; see Bug#13867.
- EMACS_CHECK_MODULES([IMAGEMAGICK], [Wand >= 6.3.5 Wand != 6.8.2])
+ EMACS_CHECK_MODULES([IMAGEMAGICK], [MagickWand >= 6.3.5 MagickWand != 6.8.2])
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
PixelWand **source, **dest;
size_t source_width, source_height;
ssize_t source_left, source_top;
+#if MagickLibVersion >= 0x700
+ PixelInfo pixel;
+#else
MagickPixelPacket pixel;
+#endif
DisposeType dispose;
ptrdiff_t lines = 0;
@@ -9070,7 +9074,11 @@ imagemagick_compute_animated_image (Magi
if (dispose == BackgroundDispose || PixelGetAlpha (source[x]))
{
PixelGetMagickColor (source[x], &pixel);
+#if MagickLibVersion >= 0x700
+ PixelSetPixelColor (dest[x + source_left], &pixel);
+#else
PixelSetMagickColor (dest[x + source_left], &pixel);
+#endif
}
}
PixelSyncIterator (dest_iterator);
@@ -9115,7 +9123,11 @@ imagemagick_load_image (struct frame *f,
MagickWand *image_wand;
PixelIterator *iterator;
PixelWand **pixels, *bg_wand = NULL;
+#if MagickLibVersion >= 0x700
+ PixelInfo pixel;
+#else
MagickPixelPacket pixel;
+#endif
Lisp_Object image;
Lisp_Object value;
Lisp_Object crop;

33
emacs-26.1-xft4x11.patch Normal file
View File

@ -0,0 +1,33 @@
---
lwlib/xlwmenu.c | 13 +++++--------
1 file changed, 5 insertions(+), 8 deletions(-)
--- lwlib/xlwmenu.c
+++ lwlib/xlwmenu.c 2018-06-15 05:50:45.749287186 +0000
@@ -1894,21 +1894,18 @@ XlwMenuInitialize (Widget request, Widge
gray_width, gray_height,
(unsigned long)1, (unsigned long)0, 1);
+ mw->menu.font = XLoadQueryFont (display, mw->menu.fontName);
#if defined USE_CAIRO || defined HAVE_XFT
- if (openXftFont (mw))
+ if (mw->menu.font || openXftFont (mw))
;
else
#endif
{
- mw->menu.font = XLoadQueryFont (display, mw->menu.fontName);
+ mw->menu.font = XLoadQueryFont (display, "fixed");
if (!mw->menu.font)
{
- mw->menu.font = XLoadQueryFont (display, "fixed");
- if (!mw->menu.font)
- {
- fprintf (stderr, "Menu font fixed not found, can't continue.\n");
- emacs_abort ();
- }
+ fprintf (stderr, "Menu font fixed not found, can't continue.\n");
+ emacs_abort ();
}
}

View File

@ -0,0 +1,112 @@
From werner@suse.de
Date: Mon, 08 Mar 2021 13:35:41 +0000
Subject: Allow GNU Emacs server to open X Display
even if the Xauthority file is not the default expected by XCloseDisplay()
---
etc/emacs.service | 1 +
lisp/server.el | 40 ++++++++++++++++++++++++++++++++++++++--
2 files changed, 39 insertions(+), 2 deletions(-)
--- etc/emacs.service
+++ etc/emacs.service 2021-10-08 09:41:15.350644801 +0000
@@ -8,6 +8,7 @@ Documentation=info:emacs man:emacs(1) ht
[Service]
Type=notify
+Environment=XAUTHORITY=%t/emacs/xauth
ExecStart=emacs --fg-daemon
# Emacs will exit with status 15 after having received SIGTERM, which
--- lisp/server.el
+++ lisp/server.el 2021-10-08 09:40:13.683712534 +0000
@@ -287,6 +287,11 @@ If nil, no instructions are displayed."
"The directory in which to place the server socket.
If local sockets are not supported, this is nil.")
+;; Hold the Xauthority if an X Display is used
+(defvar server-xauth-file nil
+ "The Xauthority file to hold the Xauthority cookies.
+If no Xauthority is used, this is nil.")
+
(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)))))
(unless server-process (error "Could not start server process"))
(process-put server-process :server-file server-file)
+ ;; File to hold Xauthority cookies
+ (unless (file-exists-p xauth-file)
+ (make-empty-file xauth-file))
+ (when (file-exists-p xauth-file)
+ (let ((var (concat "XAUTHORITY=" xauth-file)))
+ (dolist (proc (process-list))
+ (process-put proc 'env (cons var (process-get proc 'env)))))
+ (setq server-xauth-file xauth-file))
(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
(let ((frame
(server-with-environment
(process-get proc 'env)
- '("LANG" "LC_CTYPE" "LC_ALL"
+ '("LANG" "LC_CTYPE" "LC_ALL" "LC_PAPER" "LC_MEASUREMENT"
;; 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
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.
+ (xauth-file (expand-file-name "~/.Xauthority"))
+ xauth-cmd
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
;; -env NAME=VALUE: An environment variable.
("-env"
(let ((var (pop args-left)))
+ (if (and (stringp var)
+ (string-match "^\\([^=]+\\)=\\(.*\\)" var))
+ (if (cond ((string-equal (match-string 1 var) "LANG") t)
+ ((string-equal (match-string 1 var) "LC_CTYPE") t)
+ ((string-equal (match-string 1 var) "LC_ALL") t)
+ ((string-equal (match-string 1 var) "LC_PAPER") t)
+ ((string-equal (match-string 1 var) "LC_MEASUREMENT") t)
+ ((string-equal (match-string 1 var) "DISPLAY") t)
+ ((string-equal (match-string 1 var) "XAUTHORITY") (setq xauth-file (match-string 2 var))))
+ (setenv (match-string 1 var) (match-string 2 var) t)))
;; 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
;; Unknown command.
(arg (error "Unknown command: %s" arg))))
+ (if (and display server-xauth-file)
+ (progn
+ (if (not xauth-file)
+ (setq xauth-file (expand-file-name "~/.Xauthority")))
+ (if (and (file-exists-p xauth-file) (not (file-equal-p xauth-file server-xauth-file)))
+ (progn
+ (setq xauth-cmd (concat "xauth -f " xauth-file " extract - " display
+ "| xauth -f " server-xauth-file " merge -"))
+ (shell-command xauth-cmd)))))
+
;; If both -no-wait and -tty are given with file or sexp
;; arguments, use an existing frame.
(and nowait

112
emacs-27.1-pdftex.patch Normal file
View File

@ -0,0 +1,112 @@
---
etc/refcards/Makefile | 4 ++--
etc/refcards/cs-dired-ref.tex | 3 ++-
etc/refcards/cs-survival.tex | 3 ++-
etc/refcards/fr-survival.tex | 2 +-
etc/refcards/pl-refcard.tex | 2 +-
etc/refcards/ru-refcard.tex | 1 +
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(-)
--- etc/refcards/Makefile
+++ etc/refcards/Makefile 2021-03-25 15:07:14.519265674 +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; \
fi
- $(ENVADD) pdftex -output-format=pdf pl-refcard.tex
+ $(ENVADD) pdfmex -output-format=pdf pl-refcard.tex
pl-refcard.dvi: $(pl_refcard_deps)
if kpsewhich -format=fmt mex > /dev/null; then \
- $(ENVADD) tex pl-refcard.tex; \
- else \
$(ENVADD) mex pl-refcard.tex; \
+ else \
+ $(ENVADD) tex pl-refcard.tex; \
fi
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
@@ -108,7 +108,8 @@ see the Emacs distribution, or {\tt http
\font\eightbf=csbx8
\font\eightit=csti8
\font\eighttt=cstt8
- \font\eightmi=csmi8
+% \font\eightmi=csmi8
+ \font\eightmi=cmmi8
\font\eightsy=cmsy8
\textfont0=\eightrm
\textfont1=\eightmi
--- etc/refcards/cs-survival.tex
+++ etc/refcards/cs-survival.tex 2021-03-25 15:07:14.519265674 +0000
@@ -84,7 +84,8 @@
\font\eightbf=csbx8
\font\eightit=csti8
\font\eighttt=cstt8
-\font\eightmi=csmi8
+%\font\eightmi=csmi8
+\font\eightmi=cmmi8
\font\eightsy=cmsy8
\font\eightss=cmss8
\textfont0=\eightrm
--- etc/refcards/fr-survival.tex
+++ etc/refcards/fr-survival.tex 2021-03-25 15:08:33.797766981 +0000
@@ -1,4 +1,4 @@
-%&tex
+%
% Title: GNU Emacs Survival Card
% Copyright (C) 2000--2022 Free Software Foundation, Inc.
--- etc/refcards/pl-refcard.tex
+++ etc/refcards/pl-refcard.tex 2021-03-25 15:08:53.917386707 +0000
@@ -1,4 +1,4 @@
-%&mex
+%
% Reference Card for GNU Emacs
% Copyright (C) 1999, 2001--2022 Free Software Foundation, Inc.
--- etc/refcards/ru-refcard.tex
+++ etc/refcards/ru-refcard.tex 2021-03-25 15:07:14.519265674 +0000
@@ -25,6 +25,7 @@
\documentclass[10pt]{article}
\usepackage{multicol,tabularx}
\usepackage[a4paper,hmargin={2cm,2cm},vmargin={2cm,2cm},nohead,twoside]{geometry}
+\usepackage{type1ec}
\usepackage[T2A]{fontenc}
\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
@@ -109,7 +109,8 @@ see the Emacs distribution, or {\tt http
\font\eightbf=csbx8
\font\eightit=csti8
\font\eighttt=cstt8
- \font\eightmi=csmi8
+% \font\eightmi=csmi8
+ \font\eightmi=cmmi8
\font\eightsy=cmsy8
\textfont0=\eightrm
\textfont1=\eightmi
--- etc/refcards/sk-survival.tex
+++ etc/refcards/sk-survival.tex 2021-03-25 15:07:14.519265674 +0000
@@ -86,7 +86,8 @@
\font\eightbf=csbx8
\font\eightit=csti8
\font\eighttt=cstt8
-\font\eightmi=csmi8
+%\font\eightmi=csmi8
+\font\eightmi=cmmi8
\font\eightsy=cmsy8
\font\eightss=cmss8
\textfont0=\eightrm
--- etc/refcards/survival.tex
+++ etc/refcards/survival.tex 2021-03-25 15:07:57.346455997 +0000
@@ -1,4 +1,4 @@
-%&tex
+%
% Title: GNU Emacs Survival Card
% Copyright (C) 2000--2022 Free Software Foundation, Inc.

754
emacs-28.1.dif Normal file
View File

@ -0,0 +1,754 @@
---
Makefile.in | 7 +-
configure | 6 --
configure.ac | 6 --
doc/man/etags.1 | 20 ++++----
lib-src/Makefile.in | 6 +-
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 ++++++++++++++++++++++++++++++++-
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(-)
--- Makefile.in
+++ Makefile.in 2020-08-11 10:21:15.194072175 +0000
@@ -519,11 +519,11 @@ 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
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:
umask 022; ${MKDIR_P} "$(DESTDIR)${man1dir}"
thisdir=`/bin/pwd`; \
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-
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
|+++ 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
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 2020-08-11 10:17:21.102266456 +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 2020-08-11 10:31:37.642931244 +0000
@@ -134,7 +136,7 @@ MKDIR_P = @MKDIR_P@
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,
@@ -382,7 +382,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 2020-08-11 10:17:21.102266456 +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 2020-08-11 10:17:21.106266385 +0000
@@ -231,7 +231,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 2020-08-11 10:17:21.106266385 +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 2020-08-11 10:17:21.106266385 +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 2020-08-11 10:17:21.106266385 +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 2020-08-11 10:17:21.106266385 +0000
@@ -732,6 +732,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 2020-08-11 10:30:39.847965024 +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)
@@ -1396,6 +1398,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 2020-08-11 10:17:21.106266385 +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 2020-08-11 10:17:21.106266385 +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 2020-08-11 10:17:21.106266385 +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 2020-08-11 10:17:21.106266385 +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 2020-08-11 10:17:21.106266385 +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

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

Binary file not shown.

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

Binary file not shown.

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

@ -0,0 +1,11 @@
-----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-----

10
emacs-rpmlintrc Normal file
View File

@ -0,0 +1,10 @@
addFilter(".*zero-length.*/var/games/emacs/.*-scores.*")
addFilter(".*non-etc-or-var-file-marked-as-conffile.*/usr/share/emacs/site-lisp/site-start.el.*")
addFilter(".*name-repeated-in-summar.*")
addFilter(".*files-duplicate.*/usr/share/emacs.*")
addFilter(".*desktopfile-without-binary.*/usr/share/applications/emacs.desktop.*emacs.*")
addFilter(".*emacs-info.noarch:.*W:.*package-with-huge-docs:.*100%.*")
addFilter(".*emacs-eln.*:.*W:.*unstripped-binary-or-object.*")
addFilter(".*emacs-eln.*:.*E:.*shared-library-without-dependency-information.*")
addFilter(".*desktopfile-without-binary.*")
addFilter(".*E:.*invalid-desktopfile.*/usr/share/applications/emacsclient.*\.desktop.*")

2904
emacs.changes Normal file

File diff suppressed because it is too large Load Diff

170
emacs.keyring Normal file
View File

@ -0,0 +1,170 @@
-----BEGIN PGP PUBLIC KEY BLOCK-----
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
=8PjB
-----END PGP PUBLIC KEY BLOCK-----
-----BEGIN PGP PUBLIC KEY BLOCK-----
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
=9clf
-----END PGP PUBLIC KEY BLOCK-----

146
emacs.sh Normal file
View File

@ -0,0 +1,146 @@
#!/bin/bash
#
# Launch a GNU Emacs
#
# The environment variable EMACS_TOOLKIT is used to determine
# the prefered GUI. Possible values/types of EMACS_TOOLKIT are
#
# nox -- for pure console based GNU Emacs
# gtk -- for full GTK2/3 based GNU Emacs
# x11 -- for full LUCID based GNU Emacs (used Xaw3d)
#
# Should work but remember history
# bnc#345669 -- Emacs doesn't un-maximize in KDE/KWin
# bnc#342385 -- Emacs doesn't keep the iconic information in KDE/KWin
#
# if test -z "$EMACS_TOOLKIT" ; then
# EMACS_TOOLKIT=gtk
# KDE_FULL_SESSION=$(xprop -root KDE_FULL_SESSION 2>/dev/null)
# case "$KDE_FULL_SESSION" in
# *true*) EMACS_TOOLKIT=x11
# esac
# fi
#
: ${EMACS_TOOLKIT:=gtk}
#
# Enabled again
#
if test "$EMACS_TOOLKIT" = gtk; then
# Currently (2013/05/24) the parser of the GNOME libs
# are broken that is it is not independent from locale
LC_NUMERIC=POSIX
GDK_RGBA=0
export LC_NUMERIC GDK_RGBA
fi
arg0=$0
argv=("$@")
if test -x ${arg0}-${EMACS_TOOLKIT}
then
set -- ${arg0}-${EMACS_TOOLKIT}
elif test -x ${arg0}-x11
then
set -- ${arg0}-x11
elif test -x ${arg0}-nox
then
set -- ${arg0}-nox
else
echo "no emacs binary found"
exit 1
fi
if [[ "$1" =~ .*-nox ]] ; then
exec -a $arg0 ${1+"$@"} "${argv[@]}"
fi
dbusdaemon=$(type -p dbus-daemon 2>/dev/null)
#
# Now check for valid dbus, e.g. after su/sudo/slogin
#
if test -n "$dbusdaemon" ; then
#
# Workaround for boo#1205109
#
if test "$EUID" = 0 -a "$XDG_RUNTIME_DIR" != /run/user/0; then
unset XDG_CONFIG_HOME XDG_CACHE_HOME XDG_DESKTOP_DIR XDG_RUNTIME_DIR XDG_DATA_DIRS
# unset DBUS_SESSION_BUS_ADDRESS
if test ! -d /run/user/0; then
systemctl start user@0 >/dev/null 2>&1
fi
if test -S /run/user/0/bus; then
DBUS_SESSION_BUS_ADDRESS=unix:/run/user/0/bus
fi
fi
# Standard on modern systems
: ${XDG_RUNTIME_DIR:=/run/user/${EUID}}
export XDG_RUNTIME_DIR
# Oops ... no dbus-daemon then launch a new session
if test -z "$DBUS_SESSION_BUS_ADDRESS" ; then
dbuslaunch=$(type -p dbus-launch 2>/dev/null)
dbusession=$(type -p dbus-run-session 2>/dev/null)
if test -z "$dbusession" -a -n "$dbuslaunch" ; then
set -- $dbuslaunch --sh-syntax --close-stderr --exit-with-session ${1+"$@"}
arg0=$dbuslaunch
elif test -n "$dbusession" ; then
set -- $dbusession -- ${1+"$@"}
arg0=$dbusession
else
arg0=emacs
fi
elif test -S "${XDG_RUNTIME_DIR}/bus" ; then
dbusupdate=$(type -p dbus-update-activation-environment 2>/dev/null)
dbusstatus=$(systemctl --user is-active dbus.service 2>/dev/null)
if test -n "$dbusupdate" -a "$dbusstatus" != active ; then
export DBUS_SESSION_BUS_ADDRESS="unix:path=${XDG_RUNTIME_DIR}/bus"
$dbusupdate --systemd "DBUS_SESSION_BUS_ADDRESS"
fi
fi
unset dbuslaunch dbusdaemon
fi
#
# Disable AT bridge if not accessible
#
if test -z "$NO_AT_BRIDGE" ; then
gsettings=$(gsettings get org.gnome.desktop.interface toolkit-accessibility 2>/dev/null)
if test -z "$gsettings" -o "$gsettings" = false ; then
NO_AT_BRIDGE=1
export NO_AT_BRIDGE
fi
unset gsettings
fi
#
# Check input method for working ibus setup
#
case "$XMODIFIERS" in
@im=ibus*)
_arch=$(getconf LONG_BIT)
if test "$_arch" != 64
then
unset _arch
else
_arch=-64
fi
if type -p gtk-query-immodules-3.0${_arch} &> /dev/null
then
_ibus=$(gtk-query-immodules-3.0${_arch} | grep im-ibus)
else
unset _ibus
fi
if test -n "$_ibus"
then
if test -z "$GTK_IM_MODULE" -o "$GTK_IM_MODULE" != ibus
then
export GTK_IM_MODULE=ibus
fi
else
unset XMODIFIERS
fi
unset _ibus _arch
if ! ibus list-engine &> /dev/null
then
unset GTK_IM_MODULE XMODIFIERS
fi
;;
*)
esac
unset G_MESSAGES_DEBUG G_DEBUG G_MESSAGES_PREFIXED
exec -a $arg0 ${1+"$@"} "${argv[@]}"

4946
emacs.spec Normal file

File diff suppressed because it is too large Load Diff

29
emacs.test Normal file
View File

@ -0,0 +1,29 @@
Testform für emacs
===================
22.05.2007: Version 22.0.99
Maintainer: werner
Vorraussetzungen:
=================
X sollte installiert sein.
Starten:
========
emacs
emacs -nw
emacs -q --no-site
emacs -nw -q --no-site
als Editor von mailx/elm/pine ...
Testen mit verschiedensten File-Typen (*.tex, man-pages.
*.html, info-mode, gnus, rmail, ...)
Ergebnisse:
===========
Hängt von der gewählten mode ab.

27
pdump.patch Normal file
View File

@ -0,0 +1,27 @@
From: Andreas Schwab
Index: src/emacs.c
===================================================================
---
src/emacs.c | 4 ++++
1 file changed, 4 insertions(+)
--- src/emacs.c
+++ src/emacs.c 2021-10-08 09:36:17.039806927 +0000
@@ -837,12 +837,16 @@ load_pdump (int argc, char **argv)
NULL
#endif
;
+#ifdef PDMP_BASE
+ const char *argv0_base = PDMP_BASE
+#else
const char *argv0_base =
#ifdef NS_SELF_CONTAINED
"Emacs"
#else
"emacs"
#endif
+#endif
;
/* TODO: maybe more thoroughly scrub process environment in order to

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

Binary file not shown.