diff options
Diffstat (limited to 'source/e')
-rw-r--r-- | source/e/emacs/emacs.35739.patch | 114 | ||||
-rwxr-xr-x | source/e/emacs/emacs.SlackBuild | 4 |
2 files changed, 1 insertions, 117 deletions
diff --git a/source/e/emacs/emacs.35739.patch b/source/e/emacs/emacs.35739.patch deleted file mode 100644 index 2429013e..00000000 --- a/source/e/emacs/emacs.35739.patch +++ /dev/null @@ -1,114 +0,0 @@ -From b3df3729596332a39404c364798a61bfef2adcc2 Mon Sep 17 00:00:00 2001 -From: Stefan Monnier <monnier@iro.umontreal.ca> -Date: Fri, 31 May 2019 00:54:05 -0400 -Subject: * lisp/emacs-lisp/package.el: Obey buffer-file-coding-system - (bug#35739) - -`url-insert-file-contents` saves in buffer-file-coding-system -the coding-system used to decode the contents. Preserve this -as the contents is moved from buffer to string to buffer, and use -it when saving the contents to file, so as to try and better preserve -the original byte sequence. - -(package--buffer-string, package--cs): New functions. -(package--check-signature): Encode `string` if a coding-system -was specified in buffer-file-coding-system. -(package--download-one-archive, package-install-from-archive): -Obey and preserve the buffer-file-coding-system if specified. - -Do not merge. ---- - lisp/emacs-lisp/package.el | 36 +++++++++++++++++++++++++++--------- - 1 file changed, 27 insertions(+), 9 deletions(-) - -diff --git a/lisp/emacs-lisp/package.el b/lisp/emacs-lisp/package.el -index 1a185de..46f7c91 100644 ---- a/lisp/emacs-lisp/package.el -+++ b/lisp/emacs-lisp/package.el -@@ -1241,6 +1241,17 @@ errors." - (signal 'bad-signature (list sig-file))) - good-signatures))) - -+(defun package--buffer-string () -+ (let ((string (buffer-string))) -+ (when (and buffer-file-coding-system -+ (> (length string) 0)) -+ (put-text-property 0 1 'package--cs buffer-file-coding-system string)) -+ string)) -+ -+(defun package--cs (string) -+ (and (> (length string) 0) -+ (get-text-property 0 'package--cs string))) -+ - (defun package--check-signature (location file &optional string async callback unwind) - "Check signature of the current buffer. - Download the signature file from LOCATION by appending \".sig\" -@@ -1260,8 +1271,12 @@ Otherwise, an error is signaled. - - UNWIND, if provided, is a function to be called after everything - else, even if an error is signaled." -- (let ((sig-file (concat file ".sig")) -- (string (or string (buffer-string)))) -+ (let* ((sig-file (concat file ".sig")) -+ (string (or string (package--buffer-string))) -+ (cs (package--cs string))) -+ ;; Re-encode the downloaded file with the coding-system with which -+ ;; it was decoded, so we (hopefully) get the exact same bytes back. -+ (when cs (setq string (encode-coding-string string cs))) - (package--with-response-buffer location :file sig-file - :async async :noerror t - ;; Connection error is assumed to mean "no sig-file". -@@ -1529,7 +1544,7 @@ similar to an entry in `package-alist'. Save the cached copy to - :error-form (package--update-downloads-in-progress archive) - (let* ((location (cdr archive)) - (name (car archive)) -- (content (buffer-string)) -+ (content (package--buffer-string)) - (dir (expand-file-name (format "archives/%s" name) package-user-dir)) - (local-file (expand-file-name file dir))) - (when (listp (read content)) -@@ -1538,7 +1553,8 @@ similar to an entry in `package-alist'. Save the cached copy to - (member name package-unsigned-archives)) - ;; If we don't care about the signature, save the file and - ;; we're done. -- (progn (let ((coding-system-for-write 'utf-8)) -+ (progn (let ((coding-system-for-write -+ (or (package--cs content) 'utf-8))) - (write-region content nil local-file nil 'silent)) - (package--update-downloads-in-progress archive)) - ;; If we care, check it (perhaps async) and *then* write the file. -@@ -1546,7 +1562,7 @@ similar to an entry in `package-alist'. Save the cached copy to - location file content async - ;; This function will be called after signature checking. - (lambda (&optional good-sigs) -- (let ((coding-system-for-write 'utf-8)) -+ (let ((coding-system-for-write (or (package--cs content) 'utf-8))) - (write-region content nil local-file nil 'silent)) - ;; Write out good signatures into archive-contents.signed file. - (when good-sigs -@@ -1838,15 +1854,17 @@ if all the in-between dependencies are also in PACKAGE-LIST." - (let ((save-silently t)) - (package-unpack pkg-desc)) - ;; If we care, check it and *then* write the file. -- (let ((content (buffer-string))) -+ (let ((content (package--buffer-string))) - (package--check-signature - location file content nil - ;; This function will be called after signature checking. - (lambda (&optional good-sigs) - ;; Signature checked, unpack now. -- (with-temp-buffer (insert content) -- (let ((save-silently t)) -- (package-unpack pkg-desc))) -+ (with-temp-buffer -+ (insert content) -+ (setq buffer-file-coding-system (package--cs content)) -+ (let ((save-silently t)) -+ (package-unpack pkg-desc))) - ;; Here the package has been installed successfully, mark it as - ;; signed if appropriate. - (when good-sigs --- -cgit v1.0-41-gc330 - - diff --git a/source/e/emacs/emacs.SlackBuild b/source/e/emacs/emacs.SlackBuild index e542dcd1..b61cc21d 100755 --- a/source/e/emacs/emacs.SlackBuild +++ b/source/e/emacs/emacs.SlackBuild @@ -27,7 +27,7 @@ cd $(dirname $0) ; CWD=$(pwd) PKGNAM=emacs -BUILD=${BUILD:-2} +BUILD=${BUILD:-1} # Determine version number the tarball is labeled with: TARBALLVER=${TARBALLVER:-$(echo $PKGNAM-*.tar.xz | rev | cut -f 3- -d . | cut -f 1 -d - | rev)} # OK, now what's being used as the source directory version number... account @@ -92,8 +92,6 @@ find . \ \( -perm 666 -o -perm 664 -o -perm 600 -o -perm 444 -o -perm 440 -o -perm 400 \) \ -exec chmod 644 {} \; -zcat $CWD/emacs.35739.patch.gz | patch -p1 --verbose || exit 1 - CFLAGS="$SLKCFLAGS" \ CXXFLAGS="$SLKCFLAGS" \ ./configure \ |