forked from pool/emacs
Update to GNU Emacs 21.1 ... currently missing GNU mailutils
OBS-URL: https://build.opensuse.org/package/show/editors/emacs?expand=0&rev=247
This commit is contained in:
parent
9f65ca7e0a
commit
83fec1e77d
@ -1,29 +0,0 @@
|
|||||||
--- lisp/obsolete/spell.el
|
|
||||||
+++ lisp/obsolete/spell.el 2012-06-27 11:54:27.600009491 +0000
|
|
||||||
@@ -64,7 +64,7 @@ as its \"correct\" spelling; then the qu
|
|
||||||
(with-no-warnings
|
|
||||||
(spell-region (point-min) (point-max) "buffer")))
|
|
||||||
;;;###autoload
|
|
||||||
-(make-obsolete 'spell-buffer 'ispell-buffer "23.1")
|
|
||||||
+(define-obsolete-function-alias 'spell-buffer 'ispell-buffer "23.1")
|
|
||||||
|
|
||||||
;;;###autoload
|
|
||||||
(defun spell-word ()
|
|
||||||
@@ -83,7 +83,7 @@ and `query-replace' the entire buffer to
|
|
||||||
(with-no-warnings
|
|
||||||
(spell-region beg end (buffer-substring beg end)))))
|
|
||||||
;;;###autoload
|
|
||||||
-(make-obsolete 'spell-word 'ispell-word "23.1")
|
|
||||||
+(define-obsolete-function-alias 'spell-word 'ispell-word "23.1")
|
|
||||||
|
|
||||||
;;;###autoload
|
|
||||||
(defun spell-region (start end &optional description)
|
|
||||||
@@ -141,7 +141,7 @@ for example, \"word\"."
|
|
||||||
(query-replace-regexp (concat "\\b" (regexp-quote word) "\\b")
|
|
||||||
newword)))))))
|
|
||||||
;;;###autoload
|
|
||||||
-(make-obsolete 'spell-region 'ispell-region "23.1")
|
|
||||||
+(define-obsolete-function-alias 'spell-region 'ispell-region "23.1")
|
|
||||||
|
|
||||||
;;;###autoload
|
|
||||||
(defun spell-string (string)
|
|
@ -16,7 +16,7 @@
|
|||||||
|
|
||||||
--- lisp/textmodes/ispell.el
|
--- lisp/textmodes/ispell.el
|
||||||
+++ lisp/textmodes/ispell.el 2016-09-19 09:01:56.930605125 +0000
|
+++ lisp/textmodes/ispell.el 2016-09-19 09:01:56.930605125 +0000
|
||||||
@@ -1709,10 +1709,18 @@ Protects against bogus binding of `enabl
|
@@ -1524,10 +1524,18 @@ Protects against bogus binding of `enabl
|
||||||
nil ;; in pipe mode. Disable extended-char-mode
|
nil ;; in pipe mode. Disable extended-char-mode
|
||||||
(nth 6 (or (assoc ispell-current-dictionary ispell-local-dictionary-alist)
|
(nth 6 (or (assoc ispell-current-dictionary ispell-local-dictionary-alist)
|
||||||
(assoc ispell-current-dictionary ispell-dictionary-alist)))))
|
(assoc ispell-current-dictionary ispell-dictionary-alist)))))
|
||||||
|
@ -4,7 +4,7 @@
|
|||||||
|
|
||||||
--- lisp/startup.el
|
--- lisp/startup.el
|
||||||
+++ lisp/startup.el 2016-09-19 09:15:26.871345783 +0000
|
+++ lisp/startup.el 2016-09-19 09:15:26.871345783 +0000
|
||||||
@@ -2349,6 +2349,9 @@ nil default-directory" name)
|
@@ -2353,6 +2353,9 @@ nil default-directory" name)
|
||||||
((equal argi "-no-splash")
|
((equal argi "-no-splash")
|
||||||
(setq inhibit-startup-screen t))
|
(setq inhibit-startup-screen t))
|
||||||
|
|
||||||
|
@ -14,7 +14,7 @@
|
|||||||
#ifdef HAVE_PWD_H
|
#ifdef HAVE_PWD_H
|
||||||
#include <pwd.h>
|
#include <pwd.h>
|
||||||
#endif
|
#endif
|
||||||
@@ -496,6 +499,15 @@ x_load_resources (Display *display, cons
|
@@ -502,6 +505,15 @@ x_load_resources (Display *display, cons
|
||||||
XrmPutLineResource (&rdb, line);
|
XrmPutLineResource (&rdb, line);
|
||||||
|
|
||||||
#endif /* not USE_MOTIF */
|
#endif /* not USE_MOTIF */
|
||||||
@ -30,7 +30,7 @@
|
|||||||
|
|
||||||
user_database = get_user_db (display);
|
user_database = get_user_db (display);
|
||||||
|
|
||||||
@@ -537,6 +549,10 @@ x_load_resources (Display *display, cons
|
@@ -543,6 +555,10 @@ x_load_resources (Display *display, cons
|
||||||
XrmMergeDatabases (db, &rdb);
|
XrmMergeDatabases (db, &rdb);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -1,16 +0,0 @@
|
|||||||
---
|
|
||||||
src/frame.c | 3 +++
|
|
||||||
1 file changed, 3 insertions(+)
|
|
||||||
|
|
||||||
--- src/frame.c
|
|
||||||
+++ src/frame.c 2014-10-21 13:58:24.419838036 +0000
|
|
||||||
@@ -20,6 +20,9 @@ along with GNU Emacs. If not, see <http
|
|
||||||
#include <config.h>
|
|
||||||
|
|
||||||
#include <stdio.h>
|
|
||||||
+#ifdef STDC_HEADERS
|
|
||||||
+#include <stdlib.h>
|
|
||||||
+#endif
|
|
||||||
#include <errno.h>
|
|
||||||
#include <limits.h>
|
|
||||||
|
|
@ -4,7 +4,7 @@
|
|||||||
|
|
||||||
--- lisp/textmodes/flyspell.el
|
--- lisp/textmodes/flyspell.el
|
||||||
+++ lisp/textmodes/flyspell.el 2016-09-19 09:22:48.535025631 +0000
|
+++ lisp/textmodes/flyspell.el 2016-09-19 09:22:48.535025631 +0000
|
||||||
@@ -287,6 +287,12 @@ If this variable is nil, all regions are
|
@@ -310,6 +310,12 @@ If this variable is nil, all regions are
|
||||||
:type 'key-sequence
|
:type 'key-sequence
|
||||||
:group 'flyspell)
|
:group 'flyspell)
|
||||||
|
|
||||||
@ -17,7 +17,7 @@
|
|||||||
;;*---------------------------------------------------------------------*/
|
;;*---------------------------------------------------------------------*/
|
||||||
;;* Mode specific options */
|
;;* Mode specific options */
|
||||||
;;* ------------------------------------------------------------- */
|
;;* ------------------------------------------------------------- */
|
||||||
@@ -310,7 +316,6 @@ property of the major mode name.")
|
@@ -333,7 +339,6 @@ property of the major mode name.")
|
||||||
;;*--- mail mode -------------------------------------------------------*/
|
;;*--- mail mode -------------------------------------------------------*/
|
||||||
(put 'mail-mode 'flyspell-mode-predicate 'mail-mode-flyspell-verify)
|
(put 'mail-mode 'flyspell-mode-predicate 'mail-mode-flyspell-verify)
|
||||||
(put 'message-mode 'flyspell-mode-predicate 'mail-mode-flyspell-verify)
|
(put 'message-mode 'flyspell-mode-predicate 'mail-mode-flyspell-verify)
|
||||||
@ -25,7 +25,7 @@
|
|||||||
(defun mail-mode-flyspell-verify ()
|
(defun mail-mode-flyspell-verify ()
|
||||||
"Function used for `flyspell-generic-check-word-predicate' in Mail mode."
|
"Function used for `flyspell-generic-check-word-predicate' in Mail mode."
|
||||||
(let* ((header-end (save-excursion
|
(let* ((header-end (save-excursion
|
||||||
@@ -322,11 +327,11 @@ property of the major mode name.")
|
@@ -345,11 +350,11 @@ property of the major mode name.")
|
||||||
nil t)
|
nil t)
|
||||||
(point)))
|
(point)))
|
||||||
(signature-begin
|
(signature-begin
|
||||||
|
@ -4,21 +4,21 @@
|
|||||||
2 files changed, 2 insertions(+)
|
2 files changed, 2 insertions(+)
|
||||||
|
|
||||||
--- configure.ac
|
--- configure.ac
|
||||||
+++ configure.ac 2017-02-27 14:03:47.908816992 +0000
|
+++ configure.ac 2018-05-29 12:18:31.133648098 +0000
|
||||||
@@ -2197,6 +2197,7 @@ fi
|
@@ -2296,6 +2296,7 @@ fi
|
||||||
use_mmap_for_buffers=no
|
use_mmap_for_buffers=no
|
||||||
case "$opsys" in
|
case "$opsys" in
|
||||||
cygwin|mingw32|freebsd|irix6-5) use_mmap_for_buffers=yes ;;
|
mingw32) use_mmap_for_buffers=yes ;;
|
||||||
+ gnu-linux) use_mmap_for_buffers=yes ;;
|
+ gnu-linux) use_mmap_for_buffers=yes ;;
|
||||||
esac
|
esac
|
||||||
|
|
||||||
AC_FUNC_MMAP
|
AC_FUNC_MMAP
|
||||||
--- configure
|
--- configure
|
||||||
+++ configure 2017-02-27 14:03:47.912816917 +0000
|
+++ configure 2018-05-29 12:20:07.583908486 +0000
|
||||||
@@ -11576,6 +11576,7 @@ fi
|
@@ -11423,6 +11423,7 @@ fi
|
||||||
use_mmap_for_buffers=no
|
use_mmap_for_buffers=no
|
||||||
case "$opsys" in
|
case "$opsys" in
|
||||||
cygwin|mingw32|freebsd|irix6-5) use_mmap_for_buffers=yes ;;
|
mingw32) use_mmap_for_buffers=yes ;;
|
||||||
+ gnu-linux) use_mmap_for_buffers=yes ;;
|
+ gnu-linux) use_mmap_for_buffers=yes ;;
|
||||||
esac
|
esac
|
||||||
|
|
||||||
|
@ -1,11 +1,10 @@
|
|||||||
---
|
---
|
||||||
src/emacs-module.c | 1 +
|
|
||||||
src/xmenu.c | 4 ++--
|
src/xmenu.c | 4 ++--
|
||||||
2 files changed, 3 insertions(+), 2 deletions(-)
|
1 file changed, 2 insertions(+), 2 deletions(-)
|
||||||
|
|
||||||
--- src/xmenu.c
|
--- src/xmenu.c
|
||||||
+++ src/xmenu.c 2016-09-19 09:01:56.930605125 +0000
|
+++ src/xmenu.c 2016-09-19 09:01:56.930605125 +0000
|
||||||
@@ -1922,8 +1922,8 @@ Lisp_Object
|
@@ -1967,8 +1967,8 @@ Lisp_Object
|
||||||
xw_popup_dialog (struct frame *f, Lisp_Object header, Lisp_Object contents)
|
xw_popup_dialog (struct frame *f, Lisp_Object header, Lisp_Object contents)
|
||||||
{
|
{
|
||||||
Lisp_Object title;
|
Lisp_Object title;
|
||||||
@ -16,13 +15,3 @@
|
|||||||
ptrdiff_t specpdl_count = SPECPDL_INDEX ();
|
ptrdiff_t specpdl_count = SPECPDL_INDEX ();
|
||||||
|
|
||||||
check_window_system (f);
|
check_window_system (f);
|
||||||
--- src/emacs-module.c
|
|
||||||
+++ src/emacs-module.c 2016-09-20 09:36:52.881778063 +0000
|
|
||||||
@@ -787,6 +787,7 @@ usage: (module-call ENVOBJ &rest ARGLIST
|
|
||||||
default:
|
|
||||||
eassume (false);
|
|
||||||
}
|
|
||||||
+ return Qnil;
|
|
||||||
}
|
|
||||||
|
|
||||||
|
|
||||||
|
@ -4,9 +4,9 @@
|
|||||||
2 files changed, 4 insertions(+), 4 deletions(-)
|
2 files changed, 4 insertions(+), 4 deletions(-)
|
||||||
|
|
||||||
--- lisp/ldefs-boot.el
|
--- lisp/ldefs-boot.el
|
||||||
+++ lisp/ldefs-boot.el 2017-09-22 09:54:57.114564921 +0000
|
+++ lisp/ldefs-boot.el 2018-05-29 12:23:32.824206557 +0000
|
||||||
@@ -22141,9 +22141,9 @@ With prefix argument ARG, restart the Pr
|
@@ -26339,9 +26339,9 @@ With prefix argument ARG, restart the Pr
|
||||||
;;;### (autoloads nil "ps-bdf" "ps-bdf.el" (22768 58519 620336 792000))
|
;;;### (autoloads nil "ps-bdf" "ps-bdf.el" (0 0 0 0))
|
||||||
;;; Generated autoloads from ps-bdf.el
|
;;; 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/local/share/emacs/fonts/bdf")) "\
|
||||||
@ -18,7 +18,7 @@
|
|||||||
(custom-autoload 'bdf-directory-list "ps-bdf" t)
|
(custom-autoload 'bdf-directory-list "ps-bdf" t)
|
||||||
|
|
||||||
--- lisp/ps-bdf.el
|
--- lisp/ps-bdf.el
|
||||||
+++ lisp/ps-bdf.el 2017-09-22 09:53:18.780402545 +0000
|
+++ lisp/ps-bdf.el 2018-05-29 12:21:53.126004842 +0000
|
||||||
@@ -42,9 +42,9 @@
|
@@ -42,9 +42,9 @@
|
||||||
(defcustom bdf-directory-list
|
(defcustom bdf-directory-list
|
||||||
(if (memq system-type '(ms-dos windows-nt))
|
(if (memq system-type '(ms-dos windows-nt))
|
||||||
|
@ -4,7 +4,7 @@
|
|||||||
|
|
||||||
--- src/xfns.c
|
--- src/xfns.c
|
||||||
+++ src/xfns.c 2016-09-19 09:10:35.504833294 +0000
|
+++ src/xfns.c 2016-09-19 09:10:35.504833294 +0000
|
||||||
@@ -1957,8 +1957,8 @@ static XIMStyle best_xim_style (XIMStyle
|
@@ -2237,8 +2237,8 @@ static XIMStyle best_xim_style (XIMStyle
|
||||||
|
|
||||||
static const XIMStyle supported_xim_styles[] =
|
static const XIMStyle supported_xim_styles[] =
|
||||||
{
|
{
|
||||||
|
@ -1,24 +1,24 @@
|
|||||||
Index: emacs-25.2/configure.ac
|
Index: emacs-25.2/configure.ac
|
||||||
===================================================================
|
===================================================================
|
||||||
---
|
---
|
||||||
emacs-25.3/configure.ac | 2 +-
|
emacs-26.1/configure.ac | 2 +-
|
||||||
emacs-25.3/src/image.c | 12 ++++++++++++
|
emacs-26.1/src/image.c | 12 ++++++++++++
|
||||||
2 files changed, 13 insertions(+), 1 deletion(-)
|
2 files changed, 13 insertions(+), 1 deletion(-)
|
||||||
|
|
||||||
--- emacs-25.3/configure.ac
|
--- emacs-26.1/configure.ac
|
||||||
+++ emacs-25.3/configure.ac 2017-09-22 09:59:44.049203440 +0000
|
+++ emacs-26.1/configure.ac 2018-05-29 12:46:11.911662417 +0000
|
||||||
@@ -2408,7 +2408,7 @@ if test "${HAVE_X11}" = "yes" || test "$
|
@@ -2525,7 +2525,7 @@ if test "${HAVE_X11}" = "yes" || test "$
|
||||||
if test "${with_imagemagick}" != "no"; then
|
|
||||||
## 6.3.5 is the earliest version known to work; see Bug#17339.
|
## 6.3.5 is the earliest version known to work; see Bug#17339.
|
||||||
## 6.8.2 makes Emacs crash; see Bug#13867.
|
## 6.8.2 makes Emacs crash; see Bug#13867.
|
||||||
- IMAGEMAGICK_MODULE="Wand >= 6.3.5 Wand != 6.8.2"
|
## 7 and later have not been ported to; See Bug#25967.
|
||||||
|
- IMAGEMAGICK_MODULE="Wand >= 6.3.5 Wand != 6.8.2 Wand < 7"
|
||||||
+ IMAGEMAGICK_MODULE="MagickWand >= 6.3.5 MagickWand != 6.8.2"
|
+ IMAGEMAGICK_MODULE="MagickWand >= 6.3.5 MagickWand != 6.8.2"
|
||||||
EMACS_CHECK_MODULES([IMAGEMAGICK], [$IMAGEMAGICK_MODULE])
|
EMACS_CHECK_MODULES([IMAGEMAGICK], [$IMAGEMAGICK_MODULE])
|
||||||
AC_SUBST(IMAGEMAGICK_CFLAGS)
|
|
||||||
AC_SUBST(IMAGEMAGICK_LIBS)
|
if test $HAVE_IMAGEMAGICK = yes; then
|
||||||
--- emacs-25.3/src/image.c
|
--- emacs-26.1/src/image.c
|
||||||
+++ emacs-25.3/src/image.c 2017-09-22 09:59:44.053203364 +0000
|
+++ emacs-26.1/src/image.c 2018-05-29 12:43:23.178732705 +0000
|
||||||
@@ -8402,7 +8402,11 @@ imagemagick_compute_animated_image (Magi
|
@@ -8432,7 +8432,11 @@ imagemagick_compute_animated_image (Magi
|
||||||
PixelWand **source, **dest;
|
PixelWand **source, **dest;
|
||||||
size_t source_width, source_height;
|
size_t source_width, source_height;
|
||||||
ssize_t source_left, source_top;
|
ssize_t source_left, source_top;
|
||||||
@ -30,7 +30,7 @@ Index: emacs-25.2/configure.ac
|
|||||||
DisposeType dispose;
|
DisposeType dispose;
|
||||||
ptrdiff_t lines = 0;
|
ptrdiff_t lines = 0;
|
||||||
|
|
||||||
@@ -8467,7 +8471,11 @@ imagemagick_compute_animated_image (Magi
|
@@ -8497,7 +8501,11 @@ imagemagick_compute_animated_image (Magi
|
||||||
if (dispose == BackgroundDispose || PixelGetAlpha (source[x]))
|
if (dispose == BackgroundDispose || PixelGetAlpha (source[x]))
|
||||||
{
|
{
|
||||||
PixelGetMagickColor (source[x], &pixel);
|
PixelGetMagickColor (source[x], &pixel);
|
||||||
@ -42,7 +42,7 @@ Index: emacs-25.2/configure.ac
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
PixelSyncIterator (dest_iterator);
|
PixelSyncIterator (dest_iterator);
|
||||||
@@ -8512,7 +8520,11 @@ imagemagick_load_image (struct frame *f,
|
@@ -8542,7 +8550,11 @@ imagemagick_load_image (struct frame *f,
|
||||||
MagickWand *image_wand;
|
MagickWand *image_wand;
|
||||||
PixelIterator *iterator;
|
PixelIterator *iterator;
|
||||||
PixelWand **pixels, *bg_wand = NULL;
|
PixelWand **pixels, *bg_wand = NULL;
|
||||||
|
@ -1,65 +0,0 @@
|
|||||||
Based on 9ad0fcc54442a9a01d41be19880250783426db70 Mon Sep 17 00:00:00 2001
|
|
||||||
From: Lars Ingebrigtsen <larsi@gnus.org>
|
|
||||||
Date: Fri, 8 Sep 2017 20:23:31 -0700
|
|
||||||
Subject: Remove unsafe enriched mode translations
|
|
||||||
|
|
||||||
* lisp/gnus/mm-view.el (mm-inline-text):
|
|
||||||
Do not worry about enriched or richtext type.
|
|
||||||
* lisp/textmodes/enriched.el (enriched-translations):
|
|
||||||
Remove translations for FUNCTION, display (Bug#28350).
|
|
||||||
(enriched-handle-display-prop, enriched-decode-display-prop): Remove.
|
|
||||||
---
|
|
||||||
lisp/textmodes/enriched.el | 35 -----------------------------------
|
|
||||||
1 file changed, 35 deletions(-)
|
|
||||||
|
|
||||||
--- lisp/textmodes/enriched.el
|
|
||||||
+++ lisp/textmodes/enriched.el 2017-09-22 10:03:36.648869529 +0000
|
|
||||||
@@ -117,12 +117,7 @@ expression, which is evaluated to get th
|
|
||||||
(full "flushboth")
|
|
||||||
(center "center"))
|
|
||||||
(PARAMETER (t "param")) ; Argument of preceding annotation
|
|
||||||
- ;; The following are not part of the standard:
|
|
||||||
- (FUNCTION (enriched-decode-foreground "x-color")
|
|
||||||
- (enriched-decode-background "x-bg-color")
|
|
||||||
- (enriched-decode-display-prop "x-display"))
|
|
||||||
(read-only (t "x-read-only"))
|
|
||||||
- (display (nil enriched-handle-display-prop))
|
|
||||||
(unknown (nil format-annotate-value))
|
|
||||||
; (font-size (2 "bigger") ; unimplemented
|
|
||||||
; (-2 "smaller"))
|
|
||||||
@@ -477,35 +472,5 @@ Return value is \(begin end name positiv
|
|
||||||
(message "Warning: no color specified for <x-bg-color>")
|
|
||||||
nil))
|
|
||||||
|
|
||||||
-;;; Handling the `display' property.
|
|
||||||
-
|
|
||||||
-
|
|
||||||
-(defun enriched-handle-display-prop (old new)
|
|
||||||
- "Return a list of annotations for a change in the `display' property.
|
|
||||||
-OLD is the old value of the property, NEW is the new value. Value
|
|
||||||
-is a list `(CLOSE OPEN)', where CLOSE is a list of annotations to
|
|
||||||
-close and OPEN a list of annotations to open. Each of these lists
|
|
||||||
-has the form `(ANNOTATION PARAM ...)'."
|
|
||||||
- (let ((annotation "x-display")
|
|
||||||
- (param (prin1-to-string (or old new))))
|
|
||||||
- (if (null old)
|
|
||||||
- (cons nil (list (list annotation param)))
|
|
||||||
- (cons (list (list annotation param)) nil))))
|
|
||||||
-
|
|
||||||
-(defun enriched-decode-display-prop (start end &optional param)
|
|
||||||
- "Decode a `display' property for text between START and END.
|
|
||||||
-PARAM is a `<param>' found for the property.
|
|
||||||
-Value is a list `(START END SYMBOL VALUE)' with START and END denoting
|
|
||||||
-the range of text to assign text property SYMBOL with value VALUE."
|
|
||||||
- (let ((prop (when (stringp param)
|
|
||||||
- (condition-case ()
|
|
||||||
- (car (read-from-string param))
|
|
||||||
- (error nil)))))
|
|
||||||
- (unless prop
|
|
||||||
- (message "Warning: invalid <x-display> parameter %s" param))
|
|
||||||
- ;; Disabled in Emacs 25.3 to avoid execution of arbitrary Lisp
|
|
||||||
- ;; forms in display properties stored within enriched text.
|
|
||||||
- ;; (list start end 'display prop)))
|
|
||||||
- (list start end)))
|
|
||||||
|
|
||||||
;;; enriched.el ends here
|
|
@ -1,303 +0,0 @@
|
|||||||
commit d781662873f228b110a128f7a2b6583a4d5e0a3a
|
|
||||||
Author: Ricardo Wurmus <rekado@elephly.net>
|
|
||||||
Date: Tue Oct 25 23:00:35 2016 -0700
|
|
||||||
|
|
||||||
xwidget: Use WebKit2 API
|
|
||||||
|
|
||||||
* configure.ac: Check for webkit2gtk-4.0.
|
|
||||||
* src/xwidget.c: Adjust to use WebKit2 API.
|
|
||||||
* lisp/xwidget.el (xwidget-webkit-callback): Adjust matches for
|
|
||||||
`xwidget-event-type'.
|
|
||||||
|
|
||||||
diff --git a/configure.ac b/configure.ac
|
|
||||||
index 998ff52..46fd434 100644
|
|
||||||
--- a/configure.ac
|
|
||||||
+++ b/configure.ac
|
|
||||||
@@ -2630,8 +2630,8 @@ if test "$with_xwidgets" != "no"; then
|
|
||||||
test "$USE_GTK_TOOLKIT" = "GTK3" && test "$window_system" != "none" ||
|
|
||||||
AC_MSG_ERROR([xwidgets requested but gtk3 not used.])
|
|
||||||
|
|
||||||
- WEBKIT_REQUIRED=1.4.0
|
|
||||||
- WEBKIT_MODULES="webkitgtk-3.0 >= $WEBKIT_REQUIRED"
|
|
||||||
+ WEBKIT_REQUIRED=2.12
|
|
||||||
+ WEBKIT_MODULES="webkit2gtk-4.0 >= $WEBKIT_REQUIRED"
|
|
||||||
EMACS_CHECK_MODULES([WEBKIT], [$WEBKIT_MODULES])
|
|
||||||
HAVE_XWIDGETS=$HAVE_WEBKIT
|
|
||||||
test $HAVE_XWIDGETS = yes ||
|
|
||||||
diff --git a/lisp/xwidget.el b/lisp/xwidget.el
|
|
||||||
index 7a0ca8b..1bae6bb 100644
|
|
||||||
--- a/lisp/xwidget.el
|
|
||||||
+++ b/lisp/xwidget.el
|
|
||||||
@@ -187,7 +187,7 @@ XWIDGET instance, XWIDGET-EVENT-TYPE depends on the originating xwidget."
|
|
||||||
"error: callback called for xwidget with dead buffer")
|
|
||||||
(with-current-buffer (xwidget-buffer xwidget)
|
|
||||||
(let* ((strarg (nth 3 last-input-event)))
|
|
||||||
- (cond ((eq xwidget-event-type 'document-load-finished)
|
|
||||||
+ (cond ((eq xwidget-event-type 'load-changed)
|
|
||||||
(xwidget-log "webkit finished loading: '%s'"
|
|
||||||
(xwidget-webkit-get-title xwidget))
|
|
||||||
;;TODO - check the native/internal scroll
|
|
||||||
@@ -196,8 +196,7 @@ XWIDGET instance, XWIDGET-EVENT-TYPE depends on the originating xwidget."
|
|
||||||
(rename-buffer (format "*xwidget webkit: %s *"
|
|
||||||
(xwidget-webkit-get-title xwidget)))
|
|
||||||
(pop-to-buffer (current-buffer)))
|
|
||||||
- ((eq xwidget-event-type
|
|
||||||
- 'navigation-policy-decision-requested)
|
|
||||||
+ ((eq xwidget-event-type 'decide-policy)
|
|
||||||
(if (string-match ".*#\\(.*\\)" strarg)
|
|
||||||
(xwidget-webkit-show-id-or-named-element
|
|
||||||
xwidget
|
|
||||||
diff --git a/src/xwidget.c b/src/xwidget.c
|
|
||||||
index f5f4da0..78349a8 100644
|
|
||||||
--- a/src/xwidget.c
|
|
||||||
+++ b/src/xwidget.c
|
|
||||||
@@ -98,13 +98,7 @@ along with GNU Emacs. If not, see <http
|
|
||||||
|
|
||||||
#include <wchar.h>
|
|
||||||
|
|
||||||
-#include <webkit/webkitwebview.h>
|
|
||||||
-#include <webkit/webkitwebplugindatabase.h>
|
|
||||||
-#include <webkit/webkitwebplugin.h>
|
|
||||||
-#include <webkit/webkitglobals.h>
|
|
||||||
-#include <webkit/webkitwebnavigationaction.h>
|
|
||||||
-#include <webkit/webkitdownload.h>
|
|
||||||
-#include <webkit/webkitwebpolicydecision.h>
|
|
||||||
+#include <webkit2/webkit2.h>
|
|
||||||
|
|
||||||
static struct xwidget *
|
|
||||||
allocate_xwidget (void)
|
|
||||||
@@ -50,34 +47,16 @@ allocate_xwidget_view (void)
|
|
||||||
|
|
||||||
static struct xwidget_view *xwidget_view_lookup (struct xwidget *,
|
|
||||||
struct window *);
|
|
||||||
-static void webkit_document_load_finished_cb (WebKitWebView *, WebKitWebFrame *,
|
|
||||||
- gpointer);
|
|
||||||
-static gboolean webkit_download_cb (WebKitWebView *, WebKitDownload *, gpointer);
|
|
||||||
+static void webkit_view_load_changed_cb (WebKitWebView *,
|
|
||||||
+ WebKitLoadEvent,
|
|
||||||
+ gpointer);
|
|
||||||
+static gboolean webkit_download_cb (WebKitWebContext *, WebKitDownload *, gpointer);
|
|
||||||
|
|
||||||
static gboolean
|
|
||||||
-webkit_mime_type_policy_typedecision_requested_cb (WebKitWebView *,
|
|
||||||
- WebKitWebFrame *,
|
|
||||||
- WebKitNetworkRequest *,
|
|
||||||
- gchar *,
|
|
||||||
- WebKitWebPolicyDecision *,
|
|
||||||
- gpointer);
|
|
||||||
-
|
|
||||||
-static gboolean
|
|
||||||
-webkit_new_window_policy_decision_requested_cb (WebKitWebView *,
|
|
||||||
- WebKitWebFrame *,
|
|
||||||
- WebKitNetworkRequest *,
|
|
||||||
- WebKitWebNavigationAction *,
|
|
||||||
- WebKitWebPolicyDecision *,
|
|
||||||
- gpointer);
|
|
||||||
-
|
|
||||||
-static gboolean
|
|
||||||
-webkit_navigation_policy_decision_requested_cb (WebKitWebView *,
|
|
||||||
- WebKitWebFrame *,
|
|
||||||
- WebKitNetworkRequest *,
|
|
||||||
- WebKitWebNavigationAction *,
|
|
||||||
- WebKitWebPolicyDecision *,
|
|
||||||
- gpointer);
|
|
||||||
-
|
|
||||||
+webkit_decide_policy_cb (WebKitWebView *,
|
|
||||||
+ WebKitPolicyDecision *,
|
|
||||||
+ WebKitPolicyDecisionType,
|
|
||||||
+ gpointer);
|
|
||||||
|
|
||||||
|
|
||||||
DEFUN ("make-xwidget",
|
|
||||||
@@ -168,29 +147,17 @@ Returns the newly constructed xwidget, or nil if construction fails. */)
|
|
||||||
if (EQ (xw->type, Qwebkit))
|
|
||||||
{
|
|
||||||
g_signal_connect (G_OBJECT (xw->widget_osr),
|
|
||||||
- "document-load-finished",
|
|
||||||
- G_CALLBACK (webkit_document_load_finished_cb), xw);
|
|
||||||
+ "load-changed",
|
|
||||||
+ G_CALLBACK (webkit_view_load_changed_cb), xw);
|
|
||||||
|
|
||||||
- g_signal_connect (G_OBJECT (xw->widget_osr),
|
|
||||||
- "download-requested",
|
|
||||||
+ g_signal_connect (G_OBJECT (webkit_web_context_get_default ()),
|
|
||||||
+ "download-started",
|
|
||||||
G_CALLBACK (webkit_download_cb), xw);
|
|
||||||
|
|
||||||
g_signal_connect (G_OBJECT (xw->widget_osr),
|
|
||||||
- "mime-type-policy-decision-requested",
|
|
||||||
- G_CALLBACK
|
|
||||||
- (webkit_mime_type_policy_typedecision_requested_cb),
|
|
||||||
- xw);
|
|
||||||
-
|
|
||||||
- g_signal_connect (G_OBJECT (xw->widget_osr),
|
|
||||||
- "new-window-policy-decision-requested",
|
|
||||||
- G_CALLBACK
|
|
||||||
- (webkit_new_window_policy_decision_requested_cb),
|
|
||||||
- xw);
|
|
||||||
-
|
|
||||||
- g_signal_connect (G_OBJECT (xw->widget_osr),
|
|
||||||
- "navigation-policy-decision-requested",
|
|
||||||
+ "decide-policy",
|
|
||||||
G_CALLBACK
|
|
||||||
- (webkit_navigation_policy_decision_requested_cb),
|
|
||||||
+ (webkit_decide_policy_cb),
|
|
||||||
xw);
|
|
||||||
}
|
|
||||||
|
|
||||||
@@ -284,81 +251,83 @@ store_xwidget_event_string (struct xwidget *xw, const char *eventname,
|
|
||||||
kbd_buffer_store_event (&event);
|
|
||||||
}
|
|
||||||
|
|
||||||
-/* TODO deprecated, use load-status. */
|
|
||||||
void
|
|
||||||
-webkit_document_load_finished_cb (WebKitWebView *webkitwebview,
|
|
||||||
- WebKitWebFrame *arg1,
|
|
||||||
- gpointer data)
|
|
||||||
+webkit_view_load_changed_cb (WebKitWebView *webkitwebview,
|
|
||||||
+ WebKitLoadEvent load_event,
|
|
||||||
+ gpointer data)
|
|
||||||
{
|
|
||||||
- struct xwidget *xw = g_object_get_data (G_OBJECT (webkitwebview),
|
|
||||||
- XG_XWIDGET);
|
|
||||||
-
|
|
||||||
- store_xwidget_event_string (xw, "document-load-finished", "");
|
|
||||||
+ switch (load_event) {
|
|
||||||
+ case WEBKIT_LOAD_FINISHED:
|
|
||||||
+ {
|
|
||||||
+ struct xwidget *xw = g_object_get_data (G_OBJECT (webkitwebview),
|
|
||||||
+ XG_XWIDGET);
|
|
||||||
+ store_xwidget_event_string (xw, "load-changed", "");
|
|
||||||
+ break;
|
|
||||||
+ }
|
|
||||||
+ default:
|
|
||||||
+ break;
|
|
||||||
+ }
|
|
||||||
}
|
|
||||||
|
|
||||||
gboolean
|
|
||||||
-webkit_download_cb (WebKitWebView *webkitwebview,
|
|
||||||
+webkit_download_cb (WebKitWebContext *webkitwebcontext,
|
|
||||||
WebKitDownload *arg1,
|
|
||||||
gpointer data)
|
|
||||||
{
|
|
||||||
- struct xwidget *xw = g_object_get_data (G_OBJECT (webkitwebview),
|
|
||||||
+ WebKitWebView *view = webkit_download_get_web_view(arg1);
|
|
||||||
+ WebKitURIRequest *request = webkit_download_get_request(arg1);
|
|
||||||
+ struct xwidget *xw = g_object_get_data (G_OBJECT (view),
|
|
||||||
XG_XWIDGET);
|
|
||||||
- store_xwidget_event_string (xw, "download-requested",
|
|
||||||
- webkit_download_get_uri (arg1));
|
|
||||||
+
|
|
||||||
+ store_xwidget_event_string (xw, "download-started",
|
|
||||||
+ webkit_uri_request_get_uri(request));
|
|
||||||
return FALSE;
|
|
||||||
}
|
|
||||||
|
|
||||||
static gboolean
|
|
||||||
-webkit_mime_type_policy_typedecision_requested_cb (WebKitWebView *webView,
|
|
||||||
- WebKitWebFrame *frame,
|
|
||||||
- WebKitNetworkRequest *request,
|
|
||||||
- gchar *mimetype,
|
|
||||||
- WebKitWebPolicyDecision *policy_decision,
|
|
||||||
- gpointer user_data)
|
|
||||||
+webkit_decide_policy_cb (WebKitWebView *webView,
|
|
||||||
+ WebKitPolicyDecision *decision,
|
|
||||||
+ WebKitPolicyDecisionType type,
|
|
||||||
+ gpointer user_data)
|
|
||||||
{
|
|
||||||
- /* This function makes webkit send a download signal for all unknown
|
|
||||||
- mime types. TODO: Defer the decision to Lisp, so that it's
|
|
||||||
- possible to make Emacs handle mime text for instance. */
|
|
||||||
- if (!webkit_web_view_can_show_mime_type (webView, mimetype))
|
|
||||||
+ switch (type) {
|
|
||||||
+ case WEBKIT_POLICY_DECISION_TYPE_RESPONSE:
|
|
||||||
+ /* This function makes webkit send a download signal for all unknown
|
|
||||||
+ mime types. TODO: Defer the decision to Lisp, so that it's
|
|
||||||
+ possible to make Emacs handle mime text for instance. */
|
|
||||||
{
|
|
||||||
- webkit_web_policy_decision_download (policy_decision);
|
|
||||||
- return TRUE;
|
|
||||||
+ WebKitResponsePolicyDecision *response =
|
|
||||||
+ WEBKIT_RESPONSE_POLICY_DECISION (decision);
|
|
||||||
+ if (!webkit_response_policy_decision_is_mime_type_supported (response))
|
|
||||||
+ {
|
|
||||||
+ webkit_policy_decision_download (decision);
|
|
||||||
+ return TRUE;
|
|
||||||
+ }
|
|
||||||
+ else
|
|
||||||
+ return FALSE;
|
|
||||||
+ break;
|
|
||||||
}
|
|
||||||
- else
|
|
||||||
+ case WEBKIT_POLICY_DECISION_TYPE_NEW_WINDOW_ACTION:
|
|
||||||
+ case WEBKIT_POLICY_DECISION_TYPE_NAVIGATION_ACTION:
|
|
||||||
+ {
|
|
||||||
+ WebKitNavigationPolicyDecision *navigation_decision =
|
|
||||||
+ WEBKIT_NAVIGATION_POLICY_DECISION (decision);
|
|
||||||
+ WebKitNavigationAction *navigation_action =
|
|
||||||
+ webkit_navigation_policy_decision_get_navigation_action (navigation_decision);
|
|
||||||
+ WebKitURIRequest *request =
|
|
||||||
+ webkit_navigation_action_get_request (navigation_action);
|
|
||||||
+
|
|
||||||
+ struct xwidget *xw = g_object_get_data (G_OBJECT (webView), XG_XWIDGET);
|
|
||||||
+ store_xwidget_event_string (xw, "decide-policy",
|
|
||||||
+ webkit_uri_request_get_uri (request));
|
|
||||||
+ return FALSE;
|
|
||||||
+ break;
|
|
||||||
+ }
|
|
||||||
+ default:
|
|
||||||
return FALSE;
|
|
||||||
+ }
|
|
||||||
}
|
|
||||||
|
|
||||||
-static gboolean
|
|
||||||
-webkit_new_window_policy_decision_requested_cb (WebKitWebView *webView,
|
|
||||||
- WebKitWebFrame *frame,
|
|
||||||
- WebKitNetworkRequest *request,
|
|
||||||
- WebKitWebNavigationAction *navigation_action,
|
|
||||||
- WebKitWebPolicyDecision *policy_decision,
|
|
||||||
- gpointer user_data)
|
|
||||||
-{
|
|
||||||
- struct xwidget *xw = g_object_get_data (G_OBJECT (webView), XG_XWIDGET);
|
|
||||||
- webkit_web_navigation_action_get_original_uri (navigation_action);
|
|
||||||
-
|
|
||||||
- store_xwidget_event_string (xw, "new-window-policy-decision-requested",
|
|
||||||
- webkit_web_navigation_action_get_original_uri
|
|
||||||
- (navigation_action));
|
|
||||||
- return FALSE;
|
|
||||||
-}
|
|
||||||
-
|
|
||||||
-static gboolean
|
|
||||||
-webkit_navigation_policy_decision_requested_cb (WebKitWebView *webView,
|
|
||||||
- WebKitWebFrame *frame,
|
|
||||||
- WebKitNetworkRequest *request,
|
|
||||||
- WebKitWebNavigationAction *navigation_action,
|
|
||||||
- WebKitWebPolicyDecision *policy_decision,
|
|
||||||
- gpointer user_data)
|
|
||||||
-{
|
|
||||||
- struct xwidget *xw = g_object_get_data (G_OBJECT (webView), XG_XWIDGET);
|
|
||||||
- store_xwidget_event_string (xw, "navigation-policy-decision-requested",
|
|
||||||
- webkit_web_navigation_action_get_original_uri
|
|
||||||
- (navigation_action));
|
|
||||||
- return FALSE;
|
|
||||||
-}
|
|
||||||
|
|
||||||
/* For gtk3 offscreen rendered widgets. */
|
|
||||||
static gboolean
|
|
||||||
@@ -599,8 +568,13 @@ DEFUN ("xwidget-webkit-execute-script",
|
|
||||||
{
|
|
||||||
WEBKIT_FN_INIT ();
|
|
||||||
CHECK_STRING (script);
|
|
||||||
- webkit_web_view_execute_script (WEBKIT_WEB_VIEW (xw->widget_osr),
|
|
||||||
- SSDATA (script));
|
|
||||||
+ // TODO: provide callback function to do something with the return
|
|
||||||
+ // value! This allows us to get rid of the title hack.
|
|
||||||
+ webkit_web_view_run_javascript (WEBKIT_WEB_VIEW (xw->widget_osr),
|
|
||||||
+ SSDATA (script),
|
|
||||||
+ NULL, /*cancellable*/
|
|
||||||
+ NULL, /*callback*/
|
|
||||||
+ NULL /*user data*/);
|
|
||||||
return Qnil;
|
|
||||||
}
|
|
||||||
|
|
@ -1,3 +0,0 @@
|
|||||||
version https://git-lfs.github.com/spec/v1
|
|
||||||
oid sha256:253ac5e7075e594549b83fd9ec116a9dc37294d415e2f21f8ee109829307c00b
|
|
||||||
size 42854740
|
|
@ -19,8 +19,8 @@
|
|||||||
17 files changed, 445 insertions(+), 32 deletions(-)
|
17 files changed, 445 insertions(+), 32 deletions(-)
|
||||||
|
|
||||||
--- Makefile.in
|
--- Makefile.in
|
||||||
+++ Makefile.in 2017-02-27 14:06:59.669213860 +0000
|
+++ Makefile.in 2018-05-29 13:03:41.352569948 +0000
|
||||||
@@ -493,8 +493,8 @@ install-arch-dep: src install-arch-indep
|
@@ -487,8 +487,8 @@ install-arch-dep: src install-arch-indep
|
||||||
umask 022; ${MKDIR_P} "$(DESTDIR)${bindir}"
|
umask 022; ${MKDIR_P} "$(DESTDIR)${bindir}"
|
||||||
$(MAKE) -C lib-src install
|
$(MAKE) -C lib-src install
|
||||||
ifeq (${ns_self_contained},no)
|
ifeq (${ns_self_contained},no)
|
||||||
@ -30,8 +30,8 @@
|
|||||||
+ -chmod 755 "$(DESTDIR)${bindir}/$(EMACS)"
|
+ -chmod 755 "$(DESTDIR)${bindir}/$(EMACS)"
|
||||||
ifndef NO_BIN_LINK
|
ifndef NO_BIN_LINK
|
||||||
rm -f "$(DESTDIR)${bindir}/$(EMACS)"
|
rm -f "$(DESTDIR)${bindir}/$(EMACS)"
|
||||||
cd "$(DESTDIR)${bindir}" && $(LN_S_FILEONLY) $(EMACSFULL) $(EMACS)
|
cd "$(DESTDIR)${bindir}" && $(LN_S_FILEONLY) "$(EMACSFULL)" "$(EMACS)"
|
||||||
@@ -683,6 +683,7 @@ install-man:
|
@@ -677,6 +677,7 @@ install-man:
|
||||||
umask 022; ${MKDIR_P} "$(DESTDIR)${man1dir}"
|
umask 022; ${MKDIR_P} "$(DESTDIR)${man1dir}"
|
||||||
thisdir=`/bin/pwd`; \
|
thisdir=`/bin/pwd`; \
|
||||||
cd ${mansrcdir}; \
|
cd ${mansrcdir}; \
|
||||||
@ -39,18 +39,18 @@
|
|||||||
for page in *.1; do \
|
for page in *.1; do \
|
||||||
test "$$page" = ChangeLog.1 && continue; \
|
test "$$page" = ChangeLog.1 && continue; \
|
||||||
dest=`echo "$${page}" | sed -e 's/\.1$$//' -e '$(TRANSFORM)'`.1; \
|
dest=`echo "$${page}" | sed -e 's/\.1$$//' -e '$(TRANSFORM)'`.1; \
|
||||||
@@ -771,7 +772,7 @@ uninstall: uninstall-$(NTDIR) uninstall-
|
@@ -774,7 +775,7 @@ uninstall: uninstall-$(NTDIR) uninstall-
|
||||||
for page in *.1; do \
|
for page in *.1; do \
|
||||||
rm -f "$(DESTDIR)${man1dir}"/`echo "$${page}" | sed -e 's/\.1$$//' -e '$(TRANSFORM)'`.1$$ext; done; \
|
rm -f "$(DESTDIR)${man1dir}"/`echo "$${page}" | sed -e 's/\.1$$//' -e '$(TRANSFORM)'`.1$$ext; done; \
|
||||||
fi)
|
fi)
|
||||||
- (cd "$(DESTDIR)${bindir}" && rm -f $(EMACSFULL) $(EMACS) || true)
|
- rm -f "$(DESTDIR)${bindir}/$(EMACS)" "$(DESTDIR)${bindir}/$(EMACSFULL)"
|
||||||
+ (cd "$(DESTDIR)${bindir}" && rm -f $(EMACS) || true)
|
+ rm -f "$(DESTDIR)${bindir}/$(EMACS)"
|
||||||
(if cd "$(DESTDIR)${icondir}"; then \
|
(if cd "$(DESTDIR)${icondir}"; then \
|
||||||
rm -f hicolor/*x*/apps/${EMACS_NAME}.png \
|
rm -f hicolor/*x*/apps/"${EMACS_NAME}.png" \
|
||||||
hicolor/scalable/apps/${EMACS_NAME}.svg \
|
"hicolor/scalable/apps/${EMACS_NAME}.svg" \
|
||||||
--- configure
|
--- configure
|
||||||
+++ configure 2017-02-27 14:07:01.677176097 +0000
|
+++ configure 2018-05-29 12:55:01.286030771 +0000
|
||||||
@@ -10748,10 +10748,8 @@ fi
|
@@ -10428,10 +10428,8 @@ fi
|
||||||
LD_SWITCH_X_SITE_RPATH=
|
LD_SWITCH_X_SITE_RPATH=
|
||||||
if test "${x_libraries}" != NONE; then
|
if test "${x_libraries}" != NONE; then
|
||||||
if test -n "${x_libraries}"; then
|
if test -n "${x_libraries}"; then
|
||||||
@ -64,8 +64,8 @@
|
|||||||
x_default_search_path=""
|
x_default_search_path=""
|
||||||
x_search_path=${x_libraries}
|
x_search_path=${x_libraries}
|
||||||
--- configure.ac
|
--- configure.ac
|
||||||
+++ configure.ac 2017-02-27 14:06:59.673213785 +0000
|
+++ configure.ac 2018-05-29 12:55:01.290030699 +0000
|
||||||
@@ -1726,10 +1726,8 @@ fi
|
@@ -1806,10 +1806,8 @@ fi
|
||||||
LD_SWITCH_X_SITE_RPATH=
|
LD_SWITCH_X_SITE_RPATH=
|
||||||
if test "${x_libraries}" != NONE; then
|
if test "${x_libraries}" != NONE; then
|
||||||
if test -n "${x_libraries}"; then
|
if test -n "${x_libraries}"; then
|
||||||
@ -79,7 +79,7 @@
|
|||||||
x_default_search_path=""
|
x_default_search_path=""
|
||||||
x_search_path=${x_libraries}
|
x_search_path=${x_libraries}
|
||||||
--- doc/man/etags.1
|
--- doc/man/etags.1
|
||||||
+++ doc/man/etags.1 2017-02-27 14:06:59.673213785 +0000
|
+++ doc/man/etags.1 2018-05-29 12:55:01.290030699 +0000
|
||||||
@@ -7,7 +7,7 @@
|
@@ -7,7 +7,7 @@
|
||||||
..
|
..
|
||||||
|
|
||||||
@ -163,8 +163,8 @@
|
|||||||
.B \-h, \-H, \-\-help
|
.B \-h, \-H, \-\-help
|
||||||
Print usage information. Followed by one or more \-\-language=LANG
|
Print usage information. Followed by one or more \-\-language=LANG
|
||||||
--- lib-src/Makefile.in
|
--- lib-src/Makefile.in
|
||||||
+++ lib-src/Makefile.in 2017-02-27 14:06:59.673213785 +0000
|
+++ lib-src/Makefile.in 2018-05-29 12:55:01.290030699 +0000
|
||||||
@@ -150,7 +150,7 @@ MKDIR_P = @MKDIR_P@
|
@@ -158,7 +158,7 @@ MKDIR_P = @MKDIR_P@
|
||||||
CLIENTW = @CLIENTW@
|
CLIENTW = @CLIENTW@
|
||||||
|
|
||||||
# Things that a user might actually run, which should be installed in bindir.
|
# Things that a user might actually run, which should be installed in bindir.
|
||||||
@ -173,7 +173,7 @@
|
|||||||
ebrowse${EXEEXT}
|
ebrowse${EXEEXT}
|
||||||
|
|
||||||
# Things that Emacs runs internally, or during the build process,
|
# Things that Emacs runs internally, or during the build process,
|
||||||
@@ -367,7 +367,7 @@ etags${EXEEXT}: ${etags_deps}
|
@@ -376,7 +376,7 @@ etags${EXEEXT}: ${etags_deps}
|
||||||
## etags.o files on top of each other.
|
## etags.o files on top of each other.
|
||||||
## FIXME?
|
## FIXME?
|
||||||
## Can't we use a wrapper that calls 'etags --ctags'?
|
## Can't we use a wrapper that calls 'etags --ctags'?
|
||||||
@ -183,7 +183,7 @@
|
|||||||
|
|
||||||
ebrowse${EXEEXT}: ${srcdir}/ebrowse.c ${srcdir}/../lib/min-max.h $(NTLIB) \
|
ebrowse${EXEEXT}: ${srcdir}/ebrowse.c ${srcdir}/../lib/min-max.h $(NTLIB) \
|
||||||
--- lib-src/pop.c
|
--- lib-src/pop.c
|
||||||
+++ lib-src/pop.c 2017-02-27 14:06:59.673213785 +0000
|
+++ lib-src/pop.c 2018-05-29 12:58:47.821912854 +0000
|
||||||
@@ -26,6 +26,7 @@ along with GNU Emacs. If not, see <http
|
@@ -26,6 +26,7 @@ along with GNU Emacs. If not, see <http
|
||||||
#ifdef MAIL_USE_POP
|
#ifdef MAIL_USE_POP
|
||||||
|
|
||||||
@ -191,9 +191,9 @@
|
|||||||
+#include <ctype.h>
|
+#include <ctype.h>
|
||||||
#ifdef WINDOWSNT
|
#ifdef WINDOWSNT
|
||||||
#include "ntlib.h"
|
#include "ntlib.h"
|
||||||
#include <winsock.h>
|
#undef _WIN32_WINNT
|
||||||
--- lisp/cmuscheme.el
|
--- lisp/cmuscheme.el
|
||||||
+++ lisp/cmuscheme.el 2017-02-27 14:06:59.673213785 +0000
|
+++ lisp/cmuscheme.el 2018-05-29 12:55:02.466009322 +0000
|
||||||
@@ -241,7 +241,8 @@ is run).
|
@@ -241,7 +241,8 @@ is run).
|
||||||
(read-string "Run Scheme: " scheme-program-name)
|
(read-string "Run Scheme: " scheme-program-name)
|
||||||
scheme-program-name)))
|
scheme-program-name)))
|
||||||
@ -205,7 +205,7 @@
|
|||||||
(scheme-start-file (car cmdlist)) (cdr cmdlist)))
|
(scheme-start-file (car cmdlist)) (cdr cmdlist)))
|
||||||
(inferior-scheme-mode)))
|
(inferior-scheme-mode)))
|
||||||
--- lisp/international/mule-cmds.el
|
--- lisp/international/mule-cmds.el
|
||||||
+++ lisp/international/mule-cmds.el 2017-02-27 14:06:59.673213785 +0000
|
+++ lisp/international/mule-cmds.el 2018-05-29 12:55:02.470009250 +0000
|
||||||
@@ -39,6 +39,7 @@
|
@@ -39,6 +39,7 @@
|
||||||
|
|
||||||
(defvar mule-keymap
|
(defvar mule-keymap
|
||||||
@ -215,8 +215,8 @@
|
|||||||
(define-key map "r" 'revert-buffer-with-coding-system)
|
(define-key map "r" 'revert-buffer-with-coding-system)
|
||||||
(define-key map "F" 'set-file-name-coding-system)
|
(define-key map "F" 'set-file-name-coding-system)
|
||||||
--- lisp/net/ange-ftp.el
|
--- lisp/net/ange-ftp.el
|
||||||
+++ lisp/net/ange-ftp.el 2017-02-27 14:06:59.673213785 +0000
|
+++ lisp/net/ange-ftp.el 2018-05-29 12:55:02.470009250 +0000
|
||||||
@@ -4985,7 +4985,7 @@ NEWNAME should be the name to give the n
|
@@ -4971,7 +4971,7 @@ NEWNAME should be the name to give the n
|
||||||
; "If a host matches this regexp then it is assumed to be running VOS.")
|
; "If a host matches this regexp then it is assumed to be running VOS.")
|
||||||
;
|
;
|
||||||
;(defun ange-ftp-vos-host (host)
|
;(defun ange-ftp-vos-host (host)
|
||||||
@ -225,7 +225,7 @@
|
|||||||
; (save-match-data
|
; (save-match-data
|
||||||
; (string-match ange-ftp-vos-host-regexp host))))
|
; (string-match ange-ftp-vos-host-regexp host))))
|
||||||
;
|
;
|
||||||
@@ -5100,7 +5100,7 @@ NEWNAME should be the name to give the n
|
@@ -5086,7 +5086,7 @@ NEWNAME should be the name to give the n
|
||||||
|
|
||||||
;; Return non-nil if HOST is running VMS.
|
;; Return non-nil if HOST is running VMS.
|
||||||
(defun ange-ftp-vms-host (host)
|
(defun ange-ftp-vms-host (host)
|
||||||
@ -234,7 +234,7 @@
|
|||||||
(string-match-p ange-ftp-vms-host-regexp host)))
|
(string-match-p ange-ftp-vms-host-regexp host)))
|
||||||
|
|
||||||
;; Because some VMS ftp servers convert filenames to lower case
|
;; Because some VMS ftp servers convert filenames to lower case
|
||||||
@@ -5608,7 +5608,7 @@ Other orders of $ and _ seem to all work
|
@@ -5594,7 +5594,7 @@ Other orders of $ and _ seem to all work
|
||||||
|
|
||||||
;; Return non-nil if HOST is running MTS.
|
;; Return non-nil if HOST is running MTS.
|
||||||
(defun ange-ftp-mts-host (host)
|
(defun ange-ftp-mts-host (host)
|
||||||
@ -243,7 +243,7 @@
|
|||||||
(string-match-p ange-ftp-mts-host-regexp host)))
|
(string-match-p ange-ftp-mts-host-regexp host)))
|
||||||
|
|
||||||
;; Parse the current buffer which is assumed to be in mts ftp dir format.
|
;; Parse the current buffer which is assumed to be in mts ftp dir format.
|
||||||
@@ -5806,7 +5806,7 @@ Other orders of $ and _ seem to all work
|
@@ -5792,7 +5792,7 @@ Other orders of $ and _ seem to all work
|
||||||
|
|
||||||
;; Return non-nil if HOST is running CMS.
|
;; Return non-nil if HOST is running CMS.
|
||||||
(defun ange-ftp-cms-host (host)
|
(defun ange-ftp-cms-host (host)
|
||||||
@ -253,7 +253,7 @@
|
|||||||
|
|
||||||
(defun ange-ftp-add-cms-host (host)
|
(defun ange-ftp-add-cms-host (host)
|
||||||
--- lisp/site-load.el
|
--- lisp/site-load.el
|
||||||
+++ lisp/site-load.el 2017-02-27 14:06:59.673213785 +0000
|
+++ lisp/site-load.el 2018-05-29 12:55:02.470009250 +0000
|
||||||
@@ -0,0 +1,41 @@
|
@@ -0,0 +1,41 @@
|
||||||
+;;;;
|
+;;;;
|
||||||
+;;; emacs20.xx/lisp/site-load.el
|
+;;; emacs20.xx/lisp/site-load.el
|
||||||
@ -297,7 +297,7 @@
|
|||||||
+
|
+
|
||||||
+;;; site-load.el ends here
|
+;;; site-load.el ends here
|
||||||
--- lisp/speedbar.el
|
--- lisp/speedbar.el
|
||||||
+++ lisp/speedbar.el 2017-02-27 14:06:59.673213785 +0000
|
+++ lisp/speedbar.el 2018-05-29 12:55:02.470009250 +0000
|
||||||
@@ -794,6 +794,7 @@ If you want to change this while speedba
|
@@ -794,6 +794,7 @@ If you want to change this while speedba
|
||||||
|
|
||||||
;; Navigation.
|
;; Navigation.
|
||||||
@ -307,10 +307,10 @@
|
|||||||
(define-key map "\M-n" 'speedbar-restricted-next)
|
(define-key map "\M-n" 'speedbar-restricted-next)
|
||||||
(define-key map "\M-p" 'speedbar-restricted-prev)
|
(define-key map "\M-p" 'speedbar-restricted-prev)
|
||||||
--- lisp/textmodes/ispell.el
|
--- lisp/textmodes/ispell.el
|
||||||
+++ lisp/textmodes/ispell.el 2017-02-27 14:06:59.673213785 +0000
|
+++ lisp/textmodes/ispell.el 2018-05-29 13:01:53.978529106 +0000
|
||||||
@@ -351,10 +351,12 @@ Must be greater than 1."
|
@@ -200,10 +200,12 @@ Must be greater than 1."
|
||||||
:group 'ispell)
|
;; cause an error; and one of the other spelling engines below is
|
||||||
|
;; almost certainly installed in any case, for enchant to use.
|
||||||
(defcustom ispell-program-name
|
(defcustom ispell-program-name
|
||||||
- (or (executable-find "aspell")
|
- (or (executable-find "aspell")
|
||||||
- (executable-find "ispell")
|
- (executable-find "ispell")
|
||||||
@ -325,7 +325,7 @@
|
|||||||
"Program invoked by \\[ispell-word] and \\[ispell-region] commands."
|
"Program invoked by \\[ispell-word] and \\[ispell-region] commands."
|
||||||
:type 'string
|
:type 'string
|
||||||
:set (lambda (symbol value)
|
:set (lambda (symbol value)
|
||||||
@@ -1525,6 +1527,56 @@ The variable `ispell-library-directory'
|
@@ -1414,6 +1416,56 @@ The variable `ispell-library-directory'
|
||||||
(if ispell-menu-map-needed
|
(if ispell-menu-map-needed
|
||||||
(progn
|
(progn
|
||||||
(setq ispell-menu-map (make-sparse-keymap "Spell"))
|
(setq ispell-menu-map (make-sparse-keymap "Spell"))
|
||||||
@ -383,7 +383,7 @@
|
|||||||
`(menu-item ,(purecopy "Change Dictionary...") ispell-change-dictionary
|
`(menu-item ,(purecopy "Change Dictionary...") ispell-change-dictionary
|
||||||
:help ,(purecopy "Supply explicit dictionary file name")))
|
:help ,(purecopy "Supply explicit dictionary file name")))
|
||||||
--- site-lisp/term/func-keys.el
|
--- site-lisp/term/func-keys.el
|
||||||
+++ site-lisp/term/func-keys.el 2017-02-27 14:06:59.673213785 +0000
|
+++ site-lisp/term/func-keys.el 2018-05-29 12:55:02.474009176 +0000
|
||||||
@@ -0,0 +1,33 @@
|
@@ -0,0 +1,33 @@
|
||||||
+;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
|
+;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
|
||||||
+;;; term/func-keys.el for site-lisp path
|
+;;; term/func-keys.el for site-lisp path
|
||||||
@ -419,7 +419,7 @@
|
|||||||
+;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
|
+;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
|
||||||
+;; Ende von func-keys.el
|
+;; Ende von func-keys.el
|
||||||
--- site-lisp/term/gnome.el
|
--- site-lisp/term/gnome.el
|
||||||
+++ site-lisp/term/gnome.el 2017-02-27 14:06:59.673213785 +0000
|
+++ site-lisp/term/gnome.el 2018-05-29 12:55:02.474009176 +0000
|
||||||
@@ -0,0 +1,97 @@
|
@@ -0,0 +1,97 @@
|
||||||
+;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
|
+;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
|
||||||
+;;; term/gnomw.el for site-lisp path
|
+;;; term/gnomw.el for site-lisp path
|
||||||
@ -519,7 +519,7 @@
|
|||||||
+;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
|
+;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
|
||||||
+;; Ende von gnomw.el
|
+;; Ende von gnomw.el
|
||||||
--- site-lisp/term/kvt.el
|
--- site-lisp/term/kvt.el
|
||||||
+++ site-lisp/term/kvt.el 2017-02-27 14:06:59.677213709 +0000
|
+++ site-lisp/term/kvt.el 2018-05-29 12:55:02.474009176 +0000
|
||||||
@@ -0,0 +1,97 @@
|
@@ -0,0 +1,97 @@
|
||||||
+;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
|
+;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
|
||||||
+;;; term/kvt.el for site-lisp path
|
+;;; term/kvt.el for site-lisp path
|
||||||
@ -619,7 +619,7 @@
|
|||||||
+;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
|
+;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
|
||||||
+;; Ende von kvt.el
|
+;; Ende von kvt.el
|
||||||
--- site-lisp/term/linux.el
|
--- site-lisp/term/linux.el
|
||||||
+++ site-lisp/term/linux.el 2017-02-27 14:06:59.677213709 +0000
|
+++ site-lisp/term/linux.el 2018-05-29 12:55:02.474009176 +0000
|
||||||
@@ -0,0 +1,79 @@
|
@@ -0,0 +1,79 @@
|
||||||
+;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
|
+;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
|
||||||
+;;; term/linux.el for site-lisp path
|
+;;; term/linux.el for site-lisp path
|
||||||
@ -701,7 +701,7 @@
|
|||||||
+;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
|
+;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
|
||||||
+;; Ende von linux.el
|
+;; Ende von linux.el
|
||||||
--- site-lisp/term/locale.el
|
--- site-lisp/term/locale.el
|
||||||
+++ site-lisp/term/locale.el 2017-02-27 14:06:59.677213709 +0000
|
+++ site-lisp/term/locale.el 2018-05-29 12:55:02.474009176 +0000
|
||||||
@@ -0,0 +1,13 @@
|
@@ -0,0 +1,13 @@
|
||||||
+;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
|
+;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
|
||||||
+;;; term/locale.el for site-lisp path
|
+;;; term/locale.el for site-lisp path
|
3
emacs-26.1.tar.xz
Normal file
3
emacs-26.1.tar.xz
Normal file
@ -0,0 +1,3 @@
|
|||||||
|
version https://git-lfs.github.com/spec/v1
|
||||||
|
oid sha256:1cf4fc240cd77c25309d15e18593789c8dbfba5c2b44d8f77c886542300fd32c
|
||||||
|
size 44258932
|
@ -1,3 +1,35 @@
|
|||||||
|
-------------------------------------------------------------------
|
||||||
|
Tue May 29 13:09:38 UTC 2018 - werner@suse.de
|
||||||
|
|
||||||
|
- Update to emacs version 26.1
|
||||||
|
* Startup Changes in Emacs 26.1
|
||||||
|
- New option '--fg-daemon'
|
||||||
|
- New option '--module-assertions'
|
||||||
|
- Emacs now supports 24-bit colors on capable text terminals
|
||||||
|
- Emacs now obeys the X resource "scrollBar" at startup
|
||||||
|
* Various Changes in Emacs 26.1, see NEWS
|
||||||
|
* Various Editing Changes in Emacs 26.1, see NEWS
|
||||||
|
* Various Changes in Specialized Modes and Packages in Emacs 26.1, see NEWS
|
||||||
|
* Some Incompatible Lisp Changes in Emacs 26.1, see NEWS
|
||||||
|
* Various Lisp Changes in Emacs 26.1, see NEWS
|
||||||
|
- Removed patch now upstream
|
||||||
|
* emacs-24.4-decl.dif
|
||||||
|
* emacs-25.2-bsc1058425.patch
|
||||||
|
* emacs-25.2-xwidget.patch
|
||||||
|
* gnulib.git-94e01571.patch
|
||||||
|
- Remove patch emacs-24.1-bnc628268.patch as spell.el is gone for ever
|
||||||
|
- Modify/port patches
|
||||||
|
* emacs-24.1-ps-mule.patch
|
||||||
|
* emacs-24.3-iconic.patch
|
||||||
|
* emacs-24.3-x11r7.patch
|
||||||
|
* emacs-24.4-flyspell.patch
|
||||||
|
* emacs-24.4-glibc.patch
|
||||||
|
* emacs-24.4-nonvoid.patch
|
||||||
|
* emacs-24.4-ps-bdf.patch
|
||||||
|
* emacs-24.4-xim.patch
|
||||||
|
* emacs-25.2-ImageMagick7.patch
|
||||||
|
- Port and rename patch emacs-25.3.dif to emacs-26.1.dif
|
||||||
|
|
||||||
-------------------------------------------------------------------
|
-------------------------------------------------------------------
|
||||||
Tue Mar 27 16:34:37 UTC 2018 - dimstar@opensuse.org
|
Tue Mar 27 16:34:37 UTC 2018 - dimstar@opensuse.org
|
||||||
|
|
||||||
|
354
emacs.spec
354
emacs.spec
File diff suppressed because it is too large
Load Diff
@ -1,85 +0,0 @@
|
|||||||
From 94e01571507835ff59dd8ce2a0b56a4b566965a4 Mon Sep 17 00:00:00 2001
|
|
||||||
From: =?utf8?q?P=C3=A1draig=20Brady?= <P@draigBrady.com>
|
|
||||||
Date: Mon, 24 Apr 2017 01:43:36 -0700
|
|
||||||
Subject: [PATCH] time_rz: fix heap buffer overflow vulnerability
|
|
||||||
|
|
||||||
This issue has been assigned CVE-2017-7476 and was
|
|
||||||
detected with American Fuzzy Lop 2.41b run on the
|
|
||||||
coreutils date(1) program with ASAN enabled.
|
|
||||||
|
|
||||||
ERROR: AddressSanitizer: heap-buffer-overflow on address 0x...
|
|
||||||
WRITE of size 8 at 0x60d00000cff8 thread T0
|
|
||||||
#1 0x443020 in extend_abbrs lib/time_rz.c:88
|
|
||||||
#2 0x443356 in save_abbr lib/time_rz.c:155
|
|
||||||
#3 0x44393f in localtime_rz lib/time_rz.c:290
|
|
||||||
#4 0x41e4fe in parse_datetime2 lib/parse-datetime.y:1798
|
|
||||||
|
|
||||||
A minimized reproducer is the following 120 byte TZ value,
|
|
||||||
which goes beyond the value of ABBR_SIZE_MIN (119) on x86_64.
|
|
||||||
Extend the aa...b portion to overwrite more of the heap.
|
|
||||||
|
|
||||||
date -d $(printf 'TZ="aaa%020daaaaaab%089d"')
|
|
||||||
|
|
||||||
localtime_rz and mktime_z were affected since commit 4bc76593.
|
|
||||||
parse_datetime was affected since commit 4e6e16b3f.
|
|
||||||
|
|
||||||
* lib/time_rz.c (save_abbr): Rearrange the calculation determining
|
|
||||||
whether there is enough buffer space available. The rearrangement
|
|
||||||
ensures we're only dealing with positive numbers, thus avoiding
|
|
||||||
the problematic promotion of signed to unsigned causing an invalid
|
|
||||||
comparison when zone_copy is more than ABBR_SIZE_MIN bytes beyond
|
|
||||||
the start of the buffer.
|
|
||||||
* tests/test-parse-datetime.c (main): Add a test case written by
|
|
||||||
Paul Eggert, which overwrites enough of the heap so that
|
|
||||||
standard glibc will fail with "free(): invalid pointer"
|
|
||||||
without the patch applied.
|
|
||||||
Reported and analyzed at https://bugzilla.redhat.com/1444774
|
|
||||||
---
|
|
||||||
lib/time_rz.c | 15 +++++++++++++--
|
|
||||||
1 file changed, 13 insertions(+), 2 deletions(-)
|
|
||||||
|
|
||||||
--- lib/time_rz.c
|
|
||||||
+++ lib/time_rz.c 2017-05-02 11:00:09.386018503 +0000
|
|
||||||
@@ -27,6 +27,7 @@
|
|
||||||
#include <time.h>
|
|
||||||
|
|
||||||
#include <errno.h>
|
|
||||||
+#include <limits.h>
|
|
||||||
#include <stdbool.h>
|
|
||||||
#include <stddef.h>
|
|
||||||
#include <stdlib.h>
|
|
||||||
@@ -34,6 +35,10 @@
|
|
||||||
|
|
||||||
#include "time-internal.h"
|
|
||||||
|
|
||||||
+#ifndef SIZE_MAX
|
|
||||||
+# define SIZE_MAX ((size_t) -1)
|
|
||||||
+#endif
|
|
||||||
+
|
|
||||||
#if !HAVE_TZSET
|
|
||||||
static void tzset (void) { }
|
|
||||||
#endif
|
|
||||||
@@ -42,7 +47,7 @@ static void tzset (void) { }
|
|
||||||
the largest "small" request for the GNU C library malloc. */
|
|
||||||
enum { DEFAULT_MXFAST = 64 * sizeof (size_t) / 4 };
|
|
||||||
|
|
||||||
-/* Minimum size of the ABBRS member of struct abbr. ABBRS is larger
|
|
||||||
+/* Minimum size of the ABBRS member of struct tm_zone. ABBRS is larger
|
|
||||||
only in the unlikely case where an abbreviation longer than this is
|
|
||||||
used. */
|
|
||||||
enum { ABBR_SIZE_MIN = DEFAULT_MXFAST - offsetof (struct tm_zone, abbrs) };
|
|
||||||
@@ -149,7 +154,13 @@ save_abbr (timezone_t tz, struct tm *tm)
|
|
||||||
if (! (*zone_copy || (zone_copy == tz->abbrs && tz->tz_is_set)))
|
|
||||||
{
|
|
||||||
size_t zone_size = strlen (zone) + 1;
|
|
||||||
- if (zone_size < tz->abbrs + ABBR_SIZE_MIN - zone_copy)
|
|
||||||
+ size_t zone_used = zone_copy - tz->abbrs;
|
|
||||||
+ if (SIZE_MAX - zone_used < zone_size)
|
|
||||||
+ {
|
|
||||||
+ errno = ENOMEM;
|
|
||||||
+ return false;
|
|
||||||
+ }
|
|
||||||
+ if (zone_used + zone_size < ABBR_SIZE_MIN)
|
|
||||||
extend_abbrs (zone_copy, zone, zone_size);
|
|
||||||
else
|
|
||||||
{
|
|
Loading…
Reference in New Issue
Block a user