resolves: #1155101 Update to the newest upstream version (24.4)
This commit is contained in:
parent
f679b62f61
commit
7d937a2b4d
1
.gitignore
vendored
1
.gitignore
vendored
@ -9,3 +9,4 @@
|
||||
/emacs-24.1.tar.bz2
|
||||
/emacs-24.2.tar.xz
|
||||
/emacs-24.3.tar.xz
|
||||
/emacs-24.4.tar.xz
|
||||
|
@ -1,13 +0,0 @@
|
||||
diff --git a/lisp/textmodes/ispell.el b/lisp/textmodes/ispell.el
|
||||
index 7167dc9..c8f2cd7 100644
|
||||
--- a/lisp/textmodes/ispell.el
|
||||
+++ b/lisp/textmodes/ispell.el
|
||||
@@ -1177,7 +1177,7 @@ aspell is used along with Emacs).")
|
||||
;; Unless default dict, re-add "-d" option with the mapped value
|
||||
(if dict-name
|
||||
(if dict-equiv
|
||||
- (nconc ispell-args (list "-d" dict-equiv))
|
||||
+ (setq ispell-args (nconc ispell-args (list "-d" dict-equiv)))
|
||||
(message
|
||||
"ispell-set-spellchecker-params: Missing hunspell equiv for \"%s\". Skipping."
|
||||
dict-name)
|
@ -1,103 +0,0 @@
|
||||
diff --git a/lisp/textmodes/ispell.el b/lisp/textmodes/ispell.el
|
||||
index 1daec44..7167dc9 100644
|
||||
--- a/lisp/textmodes/ispell.el
|
||||
+++ b/lisp/textmodes/ispell.el
|
||||
@@ -574,6 +574,40 @@ re-start Emacs."
|
||||
(coding-system :tag "Coding System")))
|
||||
:group 'ispell)
|
||||
|
||||
+(defvar ispell-hunspell-dictionary-equivs-alist
|
||||
+ '(("american" "en_US")
|
||||
+ ("brasileiro" "pt_BR")
|
||||
+ ("british" "en_GB")
|
||||
+ ("castellano" "es_ES")
|
||||
+ ("castellano8" "es_ES")
|
||||
+ ("czech" "cs_CZ")
|
||||
+ ("dansk" "da_DK")
|
||||
+ ("deutsch" "de_DE")
|
||||
+ ("deutsch8" "de_DE")
|
||||
+ ("english" "en_US")
|
||||
+ ("esperanto" "eo")
|
||||
+ ("esperanto-tex" "eo")
|
||||
+ ("finnish" "fi_FI")
|
||||
+ ("francais7" "fr_FR")
|
||||
+ ("francais" "fr_FR")
|
||||
+ ("francais-tex" "fr_FR")
|
||||
+ ("german" "de_DE")
|
||||
+ ("german8" "de_DE")
|
||||
+ ("italiano" "it_IT")
|
||||
+ ("nederlands" "nl_NL")
|
||||
+ ("nederlands8" "nl_NL")
|
||||
+ ("norsk" "nn_NO")
|
||||
+ ("norsk7-tex" "nn_NO")
|
||||
+ ("polish" "pl_PL")
|
||||
+ ("portugues" "pt_PT")
|
||||
+ ("russian" "ru_RU")
|
||||
+ ("russianw" "ru_RU")
|
||||
+ ("slovak" "sk_SK")
|
||||
+ ("slovenian" "sl_SI")
|
||||
+ ("svenska" "sv_SE")
|
||||
+ ("hebrew" "he_IL"))
|
||||
+ "Alist with matching hunspell dict names for standard dict names in
|
||||
+ `ispell-dictionary-base-alist'.")
|
||||
|
||||
(defvar ispell-dictionary-base-alist
|
||||
'((nil ; default
|
||||
@@ -1112,9 +1146,57 @@ aspell is used along with Emacs).")
|
||||
ispell-encoding8-command)
|
||||
ispell-aspell-dictionary-alist
|
||||
nil))
|
||||
+ (ispell-dictionary-base-alist ispell-dictionary-base-alist)
|
||||
ispell-base-dicts-override-alist ; Override only base-dicts-alist
|
||||
all-dicts-alist)
|
||||
|
||||
+ ;; While ispell and aspell (through aliases) use the traditional
|
||||
+ ;; dict naming originally expected by ispell.el, hunspell
|
||||
+ ;; uses locale based names with no alias. We need to map
|
||||
+ ;; standard names to locale based names to make default dict
|
||||
+ ;; definitions available for hunspell.
|
||||
+ (if ispell-really-hunspell
|
||||
+ (let (tmp-dicts-alist)
|
||||
+ (dolist (adict ispell-dictionary-base-alist)
|
||||
+ (let* ((dict-name (nth 0 adict))
|
||||
+ (dict-equiv
|
||||
+ (cadr (assoc dict-name
|
||||
+ ispell-hunspell-dictionary-equivs-alist)))
|
||||
+ (ispell-args (nth 5 adict))
|
||||
+ (ispell-args-has-d (member "-d" ispell-args))
|
||||
+ skip-dict)
|
||||
+ ;; Remove "-d" option from `ispell-args' if present
|
||||
+ (if ispell-args-has-d
|
||||
+ (let ((ispell-args-after-d
|
||||
+ (cdr (cdr ispell-args-has-d)))
|
||||
+ (ispell-args-before-d
|
||||
+ (butlast ispell-args (length ispell-args-has-d))))
|
||||
+ (setq ispell-args
|
||||
+ (nconc ispell-args-before-d
|
||||
+ ispell-args-after-d))))
|
||||
+ ;; Unless default dict, re-add "-d" option with the mapped value
|
||||
+ (if dict-name
|
||||
+ (if dict-equiv
|
||||
+ (nconc ispell-args (list "-d" dict-equiv))
|
||||
+ (message
|
||||
+ "ispell-set-spellchecker-params: Missing hunspell equiv for \"%s\". Skipping."
|
||||
+ dict-name)
|
||||
+ (setq skip-dict t)))
|
||||
+
|
||||
+ (unless skip-dict
|
||||
+ (add-to-list 'tmp-dicts-alist
|
||||
+ (list
|
||||
+ dict-name ; dict name
|
||||
+ (nth 1 adict) ; casechars
|
||||
+ (nth 2 adict) ; not-casechars
|
||||
+ (nth 3 adict) ; otherchars
|
||||
+ (nth 4 adict) ; many-otherchars-p
|
||||
+ ispell-args ; ispell-args
|
||||
+ (nth 6 adict) ; extended-character-mode
|
||||
+ (nth 7 adict) ; dict encoding
|
||||
+ ))))
|
||||
+ (setq ispell-dictionary-base-alist tmp-dicts-alist))))
|
||||
+
|
||||
(run-hooks 'ispell-initialize-spellchecker-hook)
|
||||
|
||||
;; Add dicts to ``ispell-dictionary-alist'' unless already present.
|
@ -1,25 +0,0 @@
|
||||
From e2261aa685bf67a1596546e7aa05d922d049cb0d Mon Sep 17 00:00:00 2001
|
||||
From: Jan Chaloupka <jchaloup@redhat.com>
|
||||
Date: Tue, 29 Jul 2014 12:30:07 +0200
|
||||
Subject: [PATCH] kbd_macro_ptr and kbd_macro_end of current_kboard initialized to kbd_macro_buffer
|
||||
|
||||
---
|
||||
src/macros.c | 2 ++
|
||||
1 file changed, 2 insertions(+)
|
||||
|
||||
diff --git a/src/macros.c b/src/macros.c
|
||||
index 1eef9b6..e707784 100644
|
||||
--- a/src/macros.c
|
||||
+++ b/src/macros.c
|
||||
@@ -65,6 +65,8 @@ macro before appending to it. */)
|
||||
{
|
||||
current_kboard->kbd_macro_buffer = xmalloc (30 * word_size);
|
||||
current_kboard->kbd_macro_bufsize = 30;
|
||||
+ current_kboard->kbd_macro_ptr = current_kboard->kbd_macro_buffer;
|
||||
+ current_kboard->kbd_macro_end = current_kboard->kbd_macro_buffer;
|
||||
}
|
||||
update_mode_lines++;
|
||||
if (NILP (append))
|
||||
--
|
||||
1.9.3
|
||||
|
@ -1,30 +0,0 @@
|
||||
diff --git a/lisp/gnus/gnus-fun.el b/lisp/gnus/gnus-fun.el
|
||||
index 1c9b4ce..6d43d23 100644
|
||||
--- a/lisp/gnus/gnus-fun.el
|
||||
+++ b/lisp/gnus/gnus-fun.el
|
||||
@@ -250,20 +250,21 @@ colors of the displayed X-Faces."
|
||||
(interactive)
|
||||
(shell-command "xawtv-remote snap ppm")
|
||||
(let ((file nil)
|
||||
+ (tempfile (make-temp-file "gnus-face-" nil "*.ppm"))
|
||||
result)
|
||||
(while (null (setq file (directory-files "/tftpboot/sparky/tmp"
|
||||
t "snap.*ppm")))
|
||||
(sleep-for 1))
|
||||
(setq file (car file))
|
||||
(shell-command
|
||||
- (format "pnmcut -left 110 -top 30 -width 144 -height 144 '%s' | pnmscale -width 48 -height 48 | ppmtopgm > /tmp/gnus.face.ppm"
|
||||
- file))
|
||||
+ (format "pnmcut -left 110 -top 30 -width 144 -height 144 '%s' | pnmscale -width 48 -height 48 | ppmtopgm >> %s"
|
||||
+ file tempfile))
|
||||
(let ((gnus-convert-image-to-face-command
|
||||
(format "cat '%%s' | ppmquant %%d | ppmchange %s | pnmtopng"
|
||||
(gnus-fun-ppm-change-string))))
|
||||
- (setq result (gnus-face-from-file "/tmp/gnus.face.ppm")))
|
||||
+ (setq result (gnus-face-from-file tempfile)))
|
||||
(delete-file file)
|
||||
- ;;(delete-file "/tmp/gnus.face.ppm")
|
||||
+ ;;(delete-file tempfile)
|
||||
result))
|
||||
|
||||
(defun gnus-fun-ppm-change-string ()
|
@ -1,119 +0,0 @@
|
||||
diff --git a/lisp/emacs-lisp/find-gc.el b/lisp/emacs-lisp/find-gc.el
|
||||
index 82b3e94..6bdb09d 100644
|
||||
--- a/lisp/emacs-lisp/find-gc.el
|
||||
+++ b/lisp/emacs-lisp/find-gc.el
|
||||
@@ -23,14 +23,15 @@
|
||||
|
||||
;; Produce in find-gc-unsafe-list the set of all functions that may invoke GC.
|
||||
;; This expects the Emacs sources to live in find-gc-source-directory.
|
||||
-;; It creates a temporary working directory /tmp/esrc.
|
||||
|
||||
;;; Code:
|
||||
|
||||
(defvar find-gc-unsafe-list nil
|
||||
"The list of unsafe functions is placed here by `find-gc-unsafe'.")
|
||||
|
||||
-(defvar find-gc-source-directory)
|
||||
+(defvar find-gc-source-directory
|
||||
+ (file-name-as-directory (expand-file-name "src" source-directory))
|
||||
+ "Directory containing Emacs C sources.")
|
||||
|
||||
(defvar find-gc-subrs-callers nil
|
||||
"Alist of users of subrs, from GC testing.
|
||||
@@ -59,14 +60,14 @@ Each entry has the form (FUNCTION . FUNCTIONS-IT-CALLS).")
|
||||
"indent.c" "search.c" "regex.c" "undo.c"
|
||||
"alloc.c" "data.c" "doc.c" "editfns.c"
|
||||
"callint.c" "eval.c" "fns.c" "print.c" "lread.c"
|
||||
- "abbrev.c" "syntax.c" "unexcoff.c"
|
||||
+ "syntax.c" "unexcoff.c"
|
||||
"bytecode.c" "process.c" "callproc.c" "doprnt.c"
|
||||
- "x11term.c" "x11fns.c"))
|
||||
+ "xterm.c" "x11fns.c"))
|
||||
|
||||
|
||||
(defun find-gc-unsafe ()
|
||||
"Return a list of unsafe functions--that is, which can call GC.
|
||||
-Also store it in `find-gc-unsafe'."
|
||||
+Also store it in `find-gc-unsafe-list'."
|
||||
(trace-call-tree nil)
|
||||
(trace-use-tree)
|
||||
(find-unsafe-funcs 'Fgarbage_collect)
|
||||
@@ -102,47 +103,38 @@ Also store it in `find-gc-unsafe'."
|
||||
|
||||
|
||||
|
||||
-(defun trace-call-tree (&optional already-setup)
|
||||
+(defun trace-call-tree (&optional ignored)
|
||||
(message "Setting up directories...")
|
||||
- (or already-setup
|
||||
- (progn
|
||||
- ;; Gee, wouldn't a built-in "system" function be handy here.
|
||||
- (call-process "csh" nil nil nil "-c" "rm -rf /tmp/esrc")
|
||||
- (call-process "csh" nil nil nil "-c" "mkdir /tmp/esrc")
|
||||
- (call-process "csh" nil nil nil "-c"
|
||||
- (format "ln -s %s/*.[ch] /tmp/esrc"
|
||||
- find-gc-source-directory))))
|
||||
- (with-current-buffer (get-buffer-create "*Trace Call Tree*")
|
||||
- (setq find-gc-subrs-called nil)
|
||||
- (let ((case-fold-search nil)
|
||||
- (files find-gc-source-files)
|
||||
- name entry)
|
||||
- (while files
|
||||
- (message "Compiling %s..." (car files))
|
||||
- (call-process "csh" nil nil nil "-c"
|
||||
- (format "gcc -dr -c /tmp/esrc/%s -o /dev/null"
|
||||
- (car files)))
|
||||
- (erase-buffer)
|
||||
- (insert-file-contents (concat "/tmp/esrc/" (car files) ".rtl"))
|
||||
- (while (re-search-forward ";; Function \\|(call_insn " nil t)
|
||||
- (if (= (char-after (- (point) 3)) ?o)
|
||||
- (progn
|
||||
- (looking-at "[a-zA-Z0-9_]+")
|
||||
- (setq name (intern (buffer-substring (match-beginning 0)
|
||||
- (match-end 0))))
|
||||
- (message "%s : %s" (car files) name)
|
||||
- (setq entry (list name)
|
||||
- find-gc-subrs-called (cons entry find-gc-subrs-called)))
|
||||
- (if (looking-at ".*\n?.*\"\\([A-Za-z0-9_]+\\)\"")
|
||||
- (progn
|
||||
- (setq name (intern (buffer-substring (match-beginning 1)
|
||||
- (match-end 1))))
|
||||
- (or (memq name (cdr entry))
|
||||
- (setcdr entry (cons name (cdr entry))))))))
|
||||
- (delete-file (concat "/tmp/esrc/" (car files) ".rtl"))
|
||||
- (setq files (cdr files)))))
|
||||
-)
|
||||
-
|
||||
+ (setq find-gc-subrs-called nil)
|
||||
+ (let ((case-fold-search nil)
|
||||
+ (default-directory find-gc-source-directory)
|
||||
+ (files find-gc-source-files)
|
||||
+ name entry rtlfile)
|
||||
+ (dolist (file files)
|
||||
+ (message "Compiling %s..." file)
|
||||
+ (call-process "gcc" nil nil nil "-I" "." "-I" "../lib"
|
||||
+ "-fdump-rtl-expand" "-o" null-device "-c" file)
|
||||
+ (setq rtlfile
|
||||
+ (file-expand-wildcards (format "%s.*.expand" file) t))
|
||||
+ (if (/= 1 (length rtlfile))
|
||||
+ (message "Error compiling `%s'?" file)
|
||||
+ (with-temp-buffer
|
||||
+ (insert-file-contents (setq rtlfile (car rtlfile)))
|
||||
+ (delete-file rtlfile)
|
||||
+ (while (re-search-forward ";; Function \\|(call_insn " nil t)
|
||||
+ (if (= (char-after (- (point) 3)) ?o)
|
||||
+ (progn
|
||||
+ (looking-at "[a-zA-Z0-9_]+")
|
||||
+ (setq name (intern (match-string 0)))
|
||||
+ (message "%s : %s" (car files) name)
|
||||
+ (setq entry (list name)
|
||||
+ find-gc-subrs-called
|
||||
+ (cons entry find-gc-subrs-called)))
|
||||
+ (if (looking-at ".*\n?.*\"\\([A-Za-z0-9_]+\\)\"")
|
||||
+ (progn
|
||||
+ (setq name (intern (match-string 1)))
|
||||
+ (or (memq name (cdr entry))
|
||||
+ (setcdr entry (cons name (cdr entry)))))))))))))
|
||||
|
||||
(defun trace-use-tree ()
|
||||
(setq find-gc-subrs-callers (mapcar 'list (mapcar 'car find-gc-subrs-called)))
|
@ -1,16 +0,0 @@
|
||||
diff --git a/lisp/net/browse-url.el b/lisp/net/browse-url.el
|
||||
index 19e513a..1a28e26 100644
|
||||
--- a/lisp/net/browse-url.el
|
||||
+++ b/lisp/net/browse-url.el
|
||||
@@ -1335,7 +1335,10 @@ used instead of `browse-url-new-window-flag'."
|
||||
(kill-buffer nil)))
|
||||
(if (and pid (zerop (signal-process pid 0))) ; Mosaic running
|
||||
(save-excursion
|
||||
- (find-file (format "/tmp/Mosaic.%d" pid))
|
||||
+ ;; This is a predictable temp-file name, which is bad,
|
||||
+ ;; but it is what Mosaic uses/used.
|
||||
+ ;; So it's not Emacs's problem. http://bugs.debian.org/747100
|
||||
+ (find-file (format "/tmp/Mosaic.%d" pid))
|
||||
(erase-buffer)
|
||||
(insert (if (browse-url-maybe-new-window new-window)
|
||||
"newwin\n"
|
@ -1,70 +0,0 @@
|
||||
diff --git a/lisp/net/tramp-sh.el b/lisp/net/tramp-sh.el
|
||||
index 29a6344..f6c6710 100644
|
||||
--- a/lisp/net/tramp-sh.el
|
||||
+++ b/lisp/net/tramp-sh.el
|
||||
@@ -605,9 +605,9 @@ This list is used for copying/renaming with out-of-band methods.
|
||||
See `tramp-actions-before-shell' for more info.")
|
||||
|
||||
(defconst tramp-uudecode
|
||||
- "(echo begin 600 /tmp/tramp.$$; tail +2) | uudecode
|
||||
-cat /tmp/tramp.$$
|
||||
-rm -f /tmp/tramp.$$"
|
||||
+ "(echo begin 600 %t; tail +2) | uudecode
|
||||
+cat %t
|
||||
+rm -f %t"
|
||||
"Shell function to implement `uudecode' to standard output.
|
||||
Many systems support `uudecode -o /dev/stdout' or `uudecode -o -'
|
||||
for this or `uudecode -p', but some systems don't, and for them
|
||||
@@ -3938,7 +3938,7 @@ Each item is a list that looks like this:
|
||||
|
||||
\(FORMAT ENCODING DECODING [TEST]\)
|
||||
|
||||
-FORMAT is symbol describing the encoding/decoding format. It can be
|
||||
+FORMAT is a symbol describing the encoding/decoding format. It can be
|
||||
`b64' for base64 encoding, `uu' for uu encoding, or `pack' for simple packing.
|
||||
|
||||
ENCODING and DECODING can be strings, giving commands, or symbols,
|
||||
@@ -3948,9 +3948,11 @@ filename will be put into the command line at that spot. If the
|
||||
specifier is not present, the input should be read from standard
|
||||
input.
|
||||
|
||||
-If they are variables, this variable is a string containing a Perl
|
||||
-implementation for this functionality. This Perl program will be transferred
|
||||
-to the remote host, and it is available as shell function with the same name.
|
||||
+If they are variables, this variable is a string containing a
|
||||
+Perl or Shell implementation for this functionality. This
|
||||
+program will be transferred to the remote host, and it is
|
||||
+available as shell function with the same name. A \"%t\" format
|
||||
+specifier in the variable value denotes a temporary file
|
||||
|
||||
The optional TEST command can be used for further tests, whether
|
||||
ENCODING and DECODING are applicable.")
|
||||
@@ -4025,10 +4027,25 @@ Goes through the list `tramp-local-coding-commands' and
|
||||
(throw 'wont-work-remote nil))
|
||||
|
||||
(when (not (stringp rem-dec))
|
||||
- (let ((name (symbol-name rem-dec)))
|
||||
+ (let ((name (symbol-name rem-dec))
|
||||
+ (value (symbol-value rem-dec))
|
||||
+ tmpfile)
|
||||
(while (string-match (regexp-quote "-") name)
|
||||
- (setq name (replace-match "_" nil t name)))
|
||||
- (tramp-maybe-send-script vec (symbol-value rem-dec) name)
|
||||
+ (setq name (replace-match "_" nil t name)))
|
||||
+ (when (string-match "%t" value)
|
||||
+ (setq tmpfile
|
||||
+ (make-temp-name
|
||||
+ (expand-file-name
|
||||
+ tramp-temp-name-prefix
|
||||
+ (tramp-get-remote-tmpdir vec)))
|
||||
+ value
|
||||
+ (format-spec
|
||||
+ value
|
||||
+ (format-spec-make
|
||||
+ ?t
|
||||
+ (tramp-file-name-handler
|
||||
+ 'file-remote-p tmpfile 'localname)))))
|
||||
+ (tramp-maybe-send-script vec value name)
|
||||
(setq rem-dec name)))
|
||||
(tramp-message
|
||||
vec 5
|
@ -1,39 +0,0 @@
|
||||
diff --git a/configure.ac b/configure.ac
|
||||
index 62f53a3..a6f2f04 100644
|
||||
--- a/configure.ac
|
||||
+++ b/configure.ac
|
||||
@@ -1874,6 +1874,7 @@ if test "${HAVE_X11}" = "yes"; then
|
||||
AC_MSG_RESULT($emacs_xkb)
|
||||
if test $emacs_xkb = yes; then
|
||||
AC_DEFINE(HAVE_XKBGETKEYBOARD, 1, [Define to 1 if you have the XkbGetKeyboard function.])
|
||||
+ AC_DEFINE(HAVE_XKB, 1, [Define to 1 if you have the Xkb extension.])
|
||||
fi
|
||||
|
||||
AC_CHECK_FUNCS(XrmSetDatabase XScreenResourceString \
|
||||
diff --git a/src/xterm.c b/src/xterm.c
|
||||
index fb407c8..102ce43 100644
|
||||
--- a/src/xterm.c
|
||||
+++ b/src/xterm.c
|
||||
@@ -130,6 +130,10 @@ extern void _XEditResCheckMessages (Widget, XtPointer, XEvent *, Boolean *);
|
||||
|
||||
#include "bitmaps/gray.xbm"
|
||||
|
||||
+#ifdef HAVE_XKB
|
||||
+#include <X11/XKBlib.h>
|
||||
+#endif
|
||||
+
|
||||
/* Default to using XIM if available. */
|
||||
#ifdef USE_XIM
|
||||
int use_xim = 1;
|
||||
@@ -3243,7 +3247,11 @@ XTring_bell (struct frame *f)
|
||||
else
|
||||
{
|
||||
block_input ();
|
||||
+#ifdef HAVE_XKB
|
||||
+ XkbBell (FRAME_X_DISPLAY (f), None, 0, None);
|
||||
+#else
|
||||
XBell (FRAME_X_DISPLAY (f), 0);
|
||||
+#endif
|
||||
XFlush (FRAME_X_DISPLAY (f));
|
||||
unblock_input ();
|
||||
}
|
@ -1,17 +0,0 @@
|
||||
diff --git a/lisp/emacs-lisp/bytecomp.el b/lisp/emacs-lisp/bytecomp.el
|
||||
index ce3a332..749ec66 100644
|
||||
--- a/lisp/emacs-lisp/bytecomp.el
|
||||
+++ b/lisp/emacs-lisp/bytecomp.el
|
||||
@@ -1981,11 +1981,7 @@ Call from the source buffer."
|
||||
;; >4 byte x version %d
|
||||
(insert
|
||||
";ELC" 23 "\000\000\000\n"
|
||||
- ";;; Compiled by "
|
||||
- (or (and (boundp 'user-mail-address) user-mail-address)
|
||||
- (concat (user-login-name) "@" (system-name)))
|
||||
- " on " (current-time-string) "\n"
|
||||
- ";;; from file " filename "\n"
|
||||
+ ";;; Compiled\n"
|
||||
";;; in Emacs version " emacs-version "\n"
|
||||
";;; with"
|
||||
(cond
|
@ -1,43 +0,0 @@
|
||||
diff --git a/src/gtkutil.c b/src/gtkutil.c
|
||||
index 44f828c..d434a48 100644
|
||||
--- a/src/gtkutil.c
|
||||
+++ b/src/gtkutil.c
|
||||
@@ -784,6 +784,14 @@ xg_hide_tooltip (FRAME_PTR f)
|
||||
General functions for creating widgets, resizing, events, e.t.c.
|
||||
***********************************************************************/
|
||||
|
||||
+static void
|
||||
+my_log_handler (const gchar *log_domain, GLogLevelFlags log_level,
|
||||
+ const gchar *msg, gpointer user_data)
|
||||
+{
|
||||
+ if (!strstr (msg, "visible children"))
|
||||
+ fprintf (stderr, "XX %s-WARNING **: %s\n", log_domain, msg);
|
||||
+}
|
||||
+
|
||||
/* Make a geometry string and pass that to GTK. It seems this is the
|
||||
only way to get geometry position right if the user explicitly
|
||||
asked for a position when starting Emacs.
|
||||
@@ -799,6 +807,7 @@ xg_set_geometry (FRAME_PTR f)
|
||||
int top = f->top_pos;
|
||||
int yneg = f->size_hint_flags & YNegative;
|
||||
char geom_str[sizeof "=x--" + 4 * INT_STRLEN_BOUND (int)];
|
||||
+ guint id;
|
||||
|
||||
if (xneg)
|
||||
left = -left;
|
||||
@@ -811,9 +820,15 @@ xg_set_geometry (FRAME_PTR f)
|
||||
(xneg ? '-' : '+'), left,
|
||||
(yneg ? '-' : '+'), top);
|
||||
|
||||
+ /* Silence warning about visible children. */
|
||||
+ id = g_log_set_handler ("Gtk", G_LOG_LEVEL_WARNING | G_LOG_FLAG_FATAL
|
||||
+ | G_LOG_FLAG_RECURSION, my_log_handler, NULL);
|
||||
+
|
||||
if (!gtk_window_parse_geometry (GTK_WINDOW (FRAME_GTK_OUTER_WIDGET (f)),
|
||||
geom_str))
|
||||
fprintf (stderr, "Failed to parse: '%s'\n", geom_str);
|
||||
+
|
||||
+ g_log_remove_handler ("Gtk", id);
|
||||
}
|
||||
}
|
||||
|
@ -1,40 +0,0 @@
|
||||
diff --git a/doc/man/emacs.1 b/doc/man/emacs.1
|
||||
index 4f7f8d2..50d8038 100644
|
||||
--- a/doc/man/emacs.1
|
||||
+++ b/doc/man/emacs.1
|
||||
@@ -61,6 +61,9 @@ The following options are of general interest:
|
||||
Edit
|
||||
.IR file .
|
||||
.TP
|
||||
+.BI \-\-chdir " directory\fR\fP "
|
||||
+Change to directory
|
||||
+.TP
|
||||
.BI \-\-file " file\fR,\fP " \-\-find-file " file\fR,\fP " \-\-visit " file"
|
||||
The same as specifying
|
||||
.I file
|
||||
@@ -82,9 +85,15 @@ and
|
||||
.BR \-q ", " \-\-no\-init\-file
|
||||
Do not load an init file.
|
||||
.TP
|
||||
+.BR \-nl ", " \-\-no\-shared\-memory
|
||||
+Do not use shared memory
|
||||
+.TP
|
||||
.B \-\-no\-site\-file
|
||||
Do not load the site-wide startup file.
|
||||
.TP
|
||||
+.BR \-nsl ", " \-\-no\-site\-list
|
||||
+Do not add site-lisp directories to load-path
|
||||
+.TP
|
||||
.B \-\-no\-desktop
|
||||
Do not load a saved desktop.
|
||||
.TP
|
||||
@@ -325,6 +334,9 @@ in iconified state.
|
||||
.BR \-nbc ", " \-\-no\-blinking\-cursor
|
||||
Disable blinking cursor.
|
||||
.TP
|
||||
+.BR \-\-parent-id " xid\fR\fP "
|
||||
+Set parent window
|
||||
+.TP
|
||||
.BR \-nw ", " \-\-no\-window\-system
|
||||
Tell
|
||||
.I Emacs
|
@ -1,36 +0,0 @@
|
||||
diff --git a/src/xselect.c b/src/xselect.c
|
||||
index b3017c3..4ba4984 100644
|
||||
--- a/src/xselect.c
|
||||
+++ b/src/xselect.c
|
||||
@@ -2659,6 +2659,8 @@ x_send_client_event (Lisp_Object display, Lisp_Object dest, Lisp_Object from,
|
||||
|
||||
block_input ();
|
||||
|
||||
+ event.xclient.send_event = True;
|
||||
+ event.xclient.serial = 0;
|
||||
event.xclient.message_type = message_type;
|
||||
event.xclient.display = dpyinfo->display;
|
||||
|
||||
@@ -2667,18 +2669,19 @@ x_send_client_event (Lisp_Object display, Lisp_Object dest, Lisp_Object from,
|
||||
event.xclient.window = to_root ? FRAME_OUTER_WINDOW (f) : wdest;
|
||||
|
||||
|
||||
- memset (event.xclient.data.b, 0, sizeof (event.xclient.data.b));
|
||||
+ memset (event.xclient.data.l, 0, sizeof (event.xclient.data.l));
|
||||
x_fill_property_data (dpyinfo->display, values, event.xclient.data.b,
|
||||
event.xclient.format);
|
||||
|
||||
/* If event mask is 0 the event is sent to the client that created
|
||||
the destination window. But if we are sending to the root window,
|
||||
- there is no such client. Then we set the event mask to 0xffff. The
|
||||
+ there is no such client. Then we set the event mask to 0xffffff. The
|
||||
event then goes to clients selecting for events on the root window. */
|
||||
x_catch_errors (dpyinfo->display);
|
||||
{
|
||||
int propagate = to_root ? False : True;
|
||||
- unsigned mask = to_root ? 0xffff : 0;
|
||||
+ long mask = to_root ? 0xffffff : 0;
|
||||
+
|
||||
XSendEvent (dpyinfo->display, wdest, propagate, mask, &event);
|
||||
XFlush (dpyinfo->display);
|
||||
}
|
@ -1,13 +1,13 @@
|
||||
diff --git a/lisp/org/org.el b/lisp/org/org.el
|
||||
index cc4c93f..285b71c 100644
|
||||
index 2b5603c..52545d0 100644
|
||||
--- a/lisp/org/org.el
|
||||
+++ b/lisp/org/org.el
|
||||
@@ -1750,7 +1750,7 @@ See `org-file-apps'.")
|
||||
(auto-mode . emacs)
|
||||
@@ -1963,7 +1963,7 @@ See `org-file-apps'.")
|
||||
'((auto-mode . emacs)
|
||||
("\\.mm\\'" . default)
|
||||
("\\.x?html?\\'" . default)
|
||||
- ("\\.pdf\\'" . default)
|
||||
+ ("\\.pdf\\'" . xdg-open)
|
||||
)
|
||||
- ("\\.pdf\\'" . default))
|
||||
+ ("\\.pdf\\'" . xdg-open))
|
||||
"External applications for opening `file:path' items in a document.
|
||||
Org-mode uses system defaults for different file types, but
|
||||
you can use this variable to set the application for a given file
|
||||
|
@ -1,15 +0,0 @@
|
||||
diff --git a/src/gtkutil.c b/src/gtkutil.c
|
||||
index e76b0a7..b3aa335 100644
|
||||
--- a/src/gtkutil.c
|
||||
+++ b/src/gtkutil.c
|
||||
@@ -1079,7 +1079,9 @@ style_changed_cb (GObject *go,
|
||||
FOR_EACH_FRAME (rest, frame)
|
||||
{
|
||||
FRAME_PTR f = XFRAME (frame);
|
||||
- if (FRAME_X_DISPLAY (f) == dpy)
|
||||
+ if (FRAME_LIVE_P (f)
|
||||
+ && FRAME_X_P (f)
|
||||
+ && FRAME_X_DISPLAY (f) == dpy)
|
||||
{
|
||||
x_set_scroll_bar_default_width (f);
|
||||
xg_frame_set_char_size (f, FRAME_COLS (f), FRAME_LINES (f));
|
62
emacs.spec
62
emacs.spec
@ -2,8 +2,8 @@
|
||||
Summary: GNU Emacs text editor
|
||||
Name: emacs
|
||||
Epoch: 1
|
||||
Version: 24.3
|
||||
Release: 29%{?dist}
|
||||
Version: 24.4
|
||||
Release: 1%{?dist}
|
||||
License: GPLv3+
|
||||
URL: http://www.gnu.org/software/emacs/
|
||||
Group: Applications/Editors
|
||||
@ -18,32 +18,10 @@ Source6: emacs-terminal.desktop
|
||||
Source7: emacs-terminal.sh
|
||||
Source8: emacs.service
|
||||
# rhbz#713600
|
||||
Patch7: emacs-spellchecker.patch
|
||||
Patch1: emacs-spellchecker.patch
|
||||
|
||||
# Fix for emacs bug #922519
|
||||
Patch10: emacs-style-change-cb.patch
|
||||
# Fix for emacs bug #562719
|
||||
Patch11: emacs-bell-dont-work.patch
|
||||
# Fix for emacs bug #929353
|
||||
Patch12: emacs-gtk-warning.patch
|
||||
# Fix for emacs bug #948838
|
||||
Patch13: emacs-help-update.patch
|
||||
# Fix for emacs bug #948838
|
||||
Patch14: emacs-maximized.patch
|
||||
# Fix for default PDF viewer bug #971162
|
||||
Patch15: emacs-pdf-default.patch
|
||||
# Fix for emacs bug #13460.
|
||||
Patch16: emacs-24.3-hunspell.patch
|
||||
# Fix for emacs bug #827033
|
||||
Patch17: emacs-24.3-hunspell.2.patch
|
||||
# Several CVE fixes
|
||||
Patch18: emacs-CVE-2014-3421.patch
|
||||
Patch19: emacs-CVE-2014-3422.patch
|
||||
Patch20: emacs-CVE-2014-3423.patch
|
||||
Patch21: emacs-CVE-2014-3424.patch
|
||||
Patch22: emacs-compiled-timestamps.patch
|
||||
# BZ1104012, initialize kbd_macro_ptr and kbd_macro_end
|
||||
Patch23: emacs-24.3-macro.patch
|
||||
Patch2: emacs-pdf-default.patch
|
||||
|
||||
BuildRequires: atk-devel cairo-devel freetype-devel fontconfig-devel dbus-devel giflib-devel glibc-devel libpng-devel
|
||||
BuildRequires: libjpeg-devel libtiff-devel libX11-devel libXau-devel libXdmcp-devel libXrender-devel libXt-devel
|
||||
@ -167,22 +145,8 @@ packages that add functionality to Emacs.
|
||||
%prep
|
||||
%setup -q
|
||||
|
||||
%patch7 -p1 -b .spellchecker
|
||||
|
||||
%patch10 -p1 -b .style-change-cb.patch
|
||||
%patch11 -p1 -b .bell-dont-work.patch
|
||||
%patch12 -p1 -b .gtk-warning.patch
|
||||
%patch13 -p1 -b .help-update.patch
|
||||
%patch14 -p1 -b .maximized.patch
|
||||
%patch15 -p1 -b .pdf-default.patch
|
||||
%patch16 -p1 -b .hunspell
|
||||
%patch17 -p1 -b .hunspell.2
|
||||
%patch18 -p1 -b .CVE-2014-3421.patch
|
||||
%patch19 -p1 -b .CVE-2014-3422.patch
|
||||
%patch20 -p1 -b .CVE-2014-3423.patch
|
||||
%patch21 -p1 -b .CVE-2014-3424.patch
|
||||
%patch22 -p1 -b .compiled-timestamps
|
||||
%patch23 -p1
|
||||
%patch1 -p1 -b .spellchecker
|
||||
%patch2 -p1 -b .pdf-default.patch
|
||||
|
||||
# We prefer our emacs.desktop file
|
||||
cp %SOURCE1 etc/emacs.desktop
|
||||
@ -199,7 +163,7 @@ rm -f lisp/play/tetris.el lisp/play/tetris.elc
|
||||
rm -f etc/sex.6 etc/condom.1 etc/celibacy.1 etc/COOKIES etc/future-bug etc/JOKES
|
||||
%endif
|
||||
|
||||
%define info_files ada-mode auth autotype bovine calc ccmode cl dbus dired-x ebrowse ede ediff edt efaq eieio eintr elisp emacs-gnutls emacs-mime emacs epa erc ert eshell eudc flymake forms gnus htmlfontify idlwave info mairix-el message mh-e newsticker nxml-mode org pcl-cvs pgg rcirc reftex remember sasl sc semantic ses sieve smtpmail speedbar srecode tramp url vip viper widget wisent woman
|
||||
%define info_files ada-mode auth autotype bovine calc ccmode cl dbus dired-x ebrowse ede ediff edt efaq-w32 efaq eieio eintr elisp emacs-gnutls emacs-mime emacs epa erc ert eshell eudc eww flymake forms gnus htmlfontify idlwave ido info mairix-el message mh-e newsticker nxml-mode octave-mode org pcl-cvs pgg rcirc reftex remember sasl sc semantic ses sieve smtpmail speedbar srecode todo-mode tramp url vip viper widget wisent woman
|
||||
|
||||
cd info
|
||||
files=`echo $(ls *.info) | sed 's/\.info//'g | sort | tr -d '\n'`
|
||||
@ -220,12 +184,6 @@ ln -s ../../%{name}/%{version}/etc/COPYING doc
|
||||
ln -s ../../%{name}/%{version}/etc/NEWS doc
|
||||
|
||||
%build
|
||||
# Remove unpatched files as all files in the lisp directory are
|
||||
# installed.
|
||||
rm lisp/textmodes/ispell.el.hunspell
|
||||
rm lisp/textmodes/ispell.el.hunspell.2
|
||||
rm lisp/textmodes/ispell.el.spellchecker
|
||||
|
||||
export CFLAGS="-DMAIL_USE_LOCKF $RPM_OPT_FLAGS"
|
||||
|
||||
# Build GTK+ binary
|
||||
@ -362,7 +320,7 @@ rm -f *-filelist {common,el}-*-files
|
||||
cd %{buildroot}
|
||||
|
||||
find .%{_datadir}/emacs/%{version}/lisp \
|
||||
.%{_datadir}/emacs/%{version}/leim \
|
||||
.%{_datadir}/emacs/%{version}/lisp/leim \
|
||||
.%{_datadir}/emacs/site-lisp \( -type f -name '*.elc' -fprint $TOPDIR/common-lisp-none-elc-files \) -o \( -type d -fprintf $TOPDIR/common-lisp-dir-files "%%%%dir %%p\n" \) -o \( -name '*.el.gz' -fprint $TOPDIR/el-bytecomped-files -o -fprint $TOPDIR/common-not-comped-files \)
|
||||
|
||||
)
|
||||
@ -469,6 +427,10 @@ update-desktop-database &> /dev/null || :
|
||||
%dir %{_datadir}/emacs/site-lisp/site-start.d
|
||||
|
||||
%changelog
|
||||
* Mon Oct 27 2014 Petr Hracek <phracek@redhat.com> - 1:24.4-1
|
||||
- resolves: #1155101
|
||||
Update to the newest upstream version (24.4)
|
||||
|
||||
* Thu Oct 23 2014 Petr Hracek <phracek@redhat.com> - 1:24.3-29
|
||||
- resolves: #1151652
|
||||
emacs-el files are part of emacs-common
|
||||
|
Loading…
Reference in New Issue
Block a user