Sync from SUSE:SLFO:Main emacs revision 4e3681d0405d963e350425ede31d4651
This commit is contained in:
commit
6ac180b144
23
.gitattributes
vendored
Normal file
23
.gitattributes
vendored
Normal 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
107
01a4035c.patch
Normal 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
51
3c1693d0.patch
Normal 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
30
CVE-2022-48338.patch
Normal 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
29
CVE-2022-48339.patch
Normal 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
159
app-defaults.Emacs
Normal 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
28
check-build.sh
Normal 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
65
d3209119.patch
Normal 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
9274
d48bb487.patch
Normal file
File diff suppressed because it is too large
Load Diff
538
dot.gnu-emacs
Normal file
538
dot.gnu-emacs
Normal 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
40
emacs-24.1-ps-mule.patch
Normal 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.")
|
15
emacs-24.3-asian-print.patch
Normal file
15
emacs-24.3-asian-print.patch
Normal 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
16
emacs-24.3-iconic.patch
Normal 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
43
emacs-24.3-x11r7.patch
Normal 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
41
emacs-24.4-flyspell.patch
Normal 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
25
emacs-24.4-glibc.patch
Normal 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
17
emacs-24.4-nonvoid.patch
Normal 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
33
emacs-24.4-ps-bdf.patch
Normal 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)
|
83
emacs-25.1-custom-fonts.patch
Normal file
83
emacs-25.1-custom-fonts.patch
Normal 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)
|
||||
{
|
56
emacs-25.2-ImageMagick7.patch
Normal file
56
emacs-25.2-ImageMagick7.patch
Normal 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
33
emacs-26.1-xft4x11.patch
Normal 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 ();
|
||||
}
|
||||
}
|
||||
|
112
emacs-27.1-Xauthority4server.patch
Normal file
112
emacs-27.1-Xauthority4server.patch
Normal 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
112
emacs-27.1-pdftex.patch
Normal 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
754
emacs-28.1.dif
Normal 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(-)
|
||||