aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorStefan Monnier2014-10-02 11:13:05 -0400
committerStefan Monnier2014-10-02 11:13:05 -0400
commitd7f413b893012eb5c9c93cd724008c2c1faae56f (patch)
tree4db7c6d5c96996c1f144165e03edb8c06fe0b7be
parent8eb61e5261cebf6a566b1138562953350080156b (diff)
parentef9bcf3b409648f36c5745e22d147f50a144524f (diff)
downloademacs-d7f413b893012eb5c9c93cd724008c2c1faae56f.tar.gz
emacs-d7f413b893012eb5c9c93cd724008c2c1faae56f.zip
Merge from emacs-24
-rw-r--r--doc/emacs/ChangeLog4
-rw-r--r--doc/emacs/package.texi3
-rw-r--r--lisp/ChangeLog12
-rw-r--r--lisp/emacs-lisp/package.el5
-rw-r--r--lisp/gnus/ChangeLog5
-rw-r--r--lisp/progmodes/python.el45
-rw-r--r--src/ChangeLog10
-rw-r--r--src/xfaces.c29
-rw-r--r--test/ChangeLog7
-rw-r--r--test/automated/package-test.el14
10 files changed, 91 insertions, 43 deletions
diff --git a/doc/emacs/ChangeLog b/doc/emacs/ChangeLog
index 44e8e5871fa..c384eeb8425 100644
--- a/doc/emacs/ChangeLog
+++ b/doc/emacs/ChangeLog
@@ -1,3 +1,7 @@
12014-10-02 Glenn Morris <rgm@gnu.org>
2
3 * package.texi (Package Installation): Mention etc/package-keyring.gpg.
4
12014-09-29 Eli Zaretskii <eliz@gnu.org> 52014-09-29 Eli Zaretskii <eliz@gnu.org>
2 6
3 * emacsver.texi (EMACSVER): Bump to 20.0.50. 7 * emacsver.texi (EMACSVER): Bump to 20.0.50.
diff --git a/doc/emacs/package.texi b/doc/emacs/package.texi
index 90bdafe456a..1af90edd953 100644
--- a/doc/emacs/package.texi
+++ b/doc/emacs/package.texi
@@ -184,11 +184,8 @@ key from a server such as @url{http://pgp.mit.edu/}.
184Use @kbd{M-x package-import-keyring} to import the key into Emacs. 184Use @kbd{M-x package-import-keyring} to import the key into Emacs.
185Emacs stores package keys in the @file{gnupg} subdirectory 185Emacs stores package keys in the @file{gnupg} subdirectory
186of @code{package-user-dir}. 186of @code{package-user-dir}.
187@c Uncomment this if it becomes true.
188@ignore
189The public key for the GNU package archive is distributed with Emacs, 187The public key for the GNU package archive is distributed with Emacs,
190in the @file{etc/package-keyring.gpg}. Emacs uses it automatically. 188in the @file{etc/package-keyring.gpg}. Emacs uses it automatically.
191@end ignore
192 189
193@vindex package-check-signature 190@vindex package-check-signature
194@vindex package-unsigned-archives 191@vindex package-unsigned-archives
diff --git a/lisp/ChangeLog b/lisp/ChangeLog
index 0d1ec7033b0..aa8ce36325d 100644
--- a/lisp/ChangeLog
+++ b/lisp/ChangeLog
@@ -1,3 +1,15 @@
12014-10-02 Glenn Morris <rgm@gnu.org>
2
3 * emacs-lisp/package.el (package-import-keyring):
4 Create gnupg directory private. (Bug#17625#155)
5
62014-10-02 Stefan Monnier <monnier@iro.umontreal.ca>
7
8 * progmodes/python.el (python-shell-completion-get-completions):
9 Use python-shell--prompt-calculated-input-regexp from the
10 process buffer (bug#18582).
11 Don't assume that `line' comes from the process buffer.
12
12014-10-02 Stefan Monnier <monnier@iro.umontreal.ca> 132014-10-02 Stefan Monnier <monnier@iro.umontreal.ca>
2 14
3 * frame.el: Use lexical-binding (bug#18598). 15 * frame.el: Use lexical-binding (bug#18598).
diff --git a/lisp/emacs-lisp/package.el b/lisp/emacs-lisp/package.el
index 4832673b95c..10944f81534 100644
--- a/lisp/emacs-lisp/package.el
+++ b/lisp/emacs-lisp/package.el
@@ -289,6 +289,8 @@ contrast, `package-user-dir' contains packages for personal use."
289 :group 'package 289 :group 'package
290 :version "24.1") 290 :version "24.1")
291 291
292(defvar epg-gpg-program)
293
292(defcustom package-check-signature 294(defcustom package-check-signature
293 (if (progn (require 'epg-config) (executable-find epg-gpg-program)) 295 (if (progn (require 'epg-config) (executable-find epg-gpg-program))
294 'allow-unsigned) 296 'allow-unsigned)
@@ -1299,7 +1301,8 @@ similar to an entry in `package-alist'. Save the cached copy to
1299 (setq file (expand-file-name file)) 1301 (setq file (expand-file-name file))
1300 (let ((context (epg-make-context 'OpenPGP)) 1302 (let ((context (epg-make-context 'OpenPGP))
1301 (homedir (expand-file-name "gnupg" package-user-dir))) 1303 (homedir (expand-file-name "gnupg" package-user-dir)))
1302 (make-directory homedir t) 1304 (with-file-modes 448
1305 (make-directory homedir t))
1303 (epg-context-set-home-directory context homedir) 1306 (epg-context-set-home-directory context homedir)
1304 (message "Importing %s..." (file-name-nondirectory file)) 1307 (message "Importing %s..." (file-name-nondirectory file))
1305 (epg-import-keys-from-file context file) 1308 (epg-import-keys-from-file context file)
diff --git a/lisp/gnus/ChangeLog b/lisp/gnus/ChangeLog
index 7e6137226b5..be60d7777c4 100644
--- a/lisp/gnus/ChangeLog
+++ b/lisp/gnus/ChangeLog
@@ -1,3 +1,8 @@
12014-10-02 Daiki Ueno <ueno@gnu.org>
2
3 * mml.el (mml-parse-1): Error out if unknown mode is specified in
4 <#secure> tag (bug#18513).
5
12014-09-29 Daiki Ueno <ueno@gnu.org> 62014-09-29 Daiki Ueno <ueno@gnu.org>
2 7
3 * mml.el (mml-parse-1): Error out if unknown mode is specified in 8 * mml.el (mml-parse-1): Error out if unknown mode is specified in
diff --git a/lisp/progmodes/python.el b/lisp/progmodes/python.el
index 6c11a478942..f6e1021c86a 100644
--- a/lisp/progmodes/python.el
+++ b/lisp/progmodes/python.el
@@ -2888,31 +2888,30 @@ the full statement in the case of imports."
2888 "Do completion at point using PROCESS for IMPORT or INPUT. 2888 "Do completion at point using PROCESS for IMPORT or INPUT.
2889When IMPORT is non-nil takes precedence over INPUT for 2889When IMPORT is non-nil takes precedence over INPUT for
2890completion." 2890completion."
2891 (let* ((prompt 2891 (with-current-buffer (process-buffer process)
2892 (with-current-buffer (process-buffer process) 2892 (let* ((prompt
2893 (let ((prompt-boundaries (python-util-comint-last-prompt))) 2893 (let ((prompt-boundaries (python-util-comint-last-prompt)))
2894 (buffer-substring-no-properties 2894 (buffer-substring-no-properties
2895 (car prompt-boundaries) (cdr prompt-boundaries))))) 2895 (car prompt-boundaries) (cdr prompt-boundaries))))
2896 (completion-code 2896 (completion-code
2897 ;; Check whether a prompt matches a pdb string, an import 2897 ;; Check whether a prompt matches a pdb string, an import
2898 ;; statement or just the standard prompt and use the 2898 ;; statement or just the standard prompt and use the
2899 ;; correct python-shell-completion-*-code string 2899 ;; correct python-shell-completion-*-code string
2900 (cond ((and (string-match 2900 (cond ((and (string-match
2901 (concat "^" python-shell-prompt-pdb-regexp) prompt)) 2901 (concat "^" python-shell-prompt-pdb-regexp) prompt))
2902 ;; Since there are no guarantees the user will remain 2902 ;; Since there are no guarantees the user will remain
2903 ;; in the same context where completion code was sent 2903 ;; in the same context where completion code was sent
2904 ;; (e.g. user steps into a function), safeguard 2904 ;; (e.g. user steps into a function), safeguard
2905 ;; resending completion setup continuously. 2905 ;; resending completion setup continuously.
2906 (concat python-shell-completion-setup-code 2906 (concat python-shell-completion-setup-code
2907 "\nprint (" python-shell-completion-string-code ")")) 2907 "\nprint (" python-shell-completion-string-code ")"))
2908 ((string-match 2908 ((string-match
2909 python-shell--prompt-calculated-input-regexp prompt) 2909 python-shell--prompt-calculated-input-regexp prompt)
2910 python-shell-completion-string-code) 2910 python-shell-completion-string-code)
2911 (t nil))) 2911 (t nil)))
2912 (subject (or import input))) 2912 (subject (or import input)))
2913 (and completion-code 2913 (and completion-code
2914 (> (length input) 0) 2914 (> (length input) 0)
2915 (with-current-buffer (process-buffer process)
2916 (let ((completions 2915 (let ((completions
2917 (python-util-strip-string 2916 (python-util-strip-string
2918 (python-shell-send-string-no-output 2917 (python-shell-send-string-no-output
diff --git a/src/ChangeLog b/src/ChangeLog
index 2a4ce099021..eb578278bea 100644
--- a/src/ChangeLog
+++ b/src/ChangeLog
@@ -1,3 +1,9 @@
12014-10-02 Jan Djärv <jan.h.d@swipnet.se>
2
3 * xfaces.c (Finternal_set_lisp_face_attribute): Don't try to
4 make a font_object from a tty frame (Bug#18573).
5 (Finternal_set_lisp_face_attribute): Add FIXME comment.
6
12014-10-02 Dmitry Antipov <dmantipov@yandex.ru> 72014-10-02 Dmitry Antipov <dmantipov@yandex.ru>
2 8
3 * alloc.c (mark_overlay): Assume that overlay boundaries are 9 * alloc.c (mark_overlay): Assume that overlay boundaries are
@@ -398,7 +404,7 @@
398 * macfont.m (macfont_close): Release and free font-specific data 404 * macfont.m (macfont_close): Release and free font-specific data
399 only if it wasn't previously freed. 405 only if it wasn't previously freed.
400 406
4012014-09-22 David Caldwell <david@porkrind.org> (tiny change) 4072014-09-22 David Caldwell <david@porkrind.org> (tiny change)
402 408
403 * unexmacosx.c (dump_it): Improve error message. 409 * unexmacosx.c (dump_it): Improve error message.
404 410
@@ -9808,7 +9814,7 @@
9808 * eval.c (Ffuncall): Fix handling of ((lambda ..) ..) in lexically 9814 * eval.c (Ffuncall): Fix handling of ((lambda ..) ..) in lexically
9809 scoped code (bug#11258). 9815 scoped code (bug#11258).
9810 9816
98112013-08-28 Davor Cubranic <cubranic@stat.ubc.ca> (tiny change) 98172013-08-28 Davor Cubranic <cubranic@stat.ubc.ca> (tiny change)
9812 9818
9813 * nsterm.m (last_window): New variable. 9819 * nsterm.m (last_window): New variable.
9814 (EV_TRAILER2): New macro. 9820 (EV_TRAILER2): New macro.
diff --git a/src/xfaces.c b/src/xfaces.c
index 73704bbba8e..6afa0a2953d 100644
--- a/src/xfaces.c
+++ b/src/xfaces.c
@@ -3112,17 +3112,26 @@ FRAME 0 means change the face on all frames, and change the default
3112 f = XFRAME (selected_frame); 3112 f = XFRAME (selected_frame);
3113 else 3113 else
3114 f = XFRAME (frame); 3114 f = XFRAME (frame);
3115 if (! FONT_OBJECT_P (value))
3116 {
3117 Lisp_Object *attrs = XVECTOR (lface)->contents;
3118 Lisp_Object font_object;
3119 3115
3120 font_object = font_load_for_lface (f, attrs, value); 3116 /* FIXME:
3121 if (NILP (font_object)) 3117 If frame is t, and selected frame is a tty frame, the font
3122 signal_error ("Font not available", value); 3118 can't be realized. An improvement would be to loop over frames
3123 value = font_object; 3119 for a non-tty frame and use that. See discussion in
3124 } 3120 bug#18573. */
3125 set_lface_from_font (f, lface, value, 1); 3121 if (f->terminal->type != output_termcap)
3122 {
3123 if (! FONT_OBJECT_P (value))
3124 {
3125 Lisp_Object *attrs = XVECTOR (lface)->contents;
3126 Lisp_Object font_object;
3127
3128 font_object = font_load_for_lface (f, attrs, value);
3129 if (NILP (font_object))
3130 signal_error ("Font not available", value);
3131 value = font_object;
3132 }
3133 set_lface_from_font (f, lface, value, 1);
3134 }
3126 } 3135 }
3127 else 3136 else
3128 ASET (lface, LFACE_FONT_INDEX, value); 3137 ASET (lface, LFACE_FONT_INDEX, value);
diff --git a/test/ChangeLog b/test/ChangeLog
index 041ed7c1754..fb3bd746a73 100644
--- a/test/ChangeLog
+++ b/test/ChangeLog
@@ -1,3 +1,10 @@
12014-10-02 Glenn Morris <rgm@gnu.org>
2
3 * automated/package-test.el (with-package-test, package-test-signed):
4 Also set HOME to a temp value, in case the real one is absent (e.g.
5 hydra) or read-only. (Bug#18575)
6 (package-test-signed): Use skip-unless rather than expected-result.
7
12014-09-26 Leo Liu <sdl.web@gmail.com> 82014-09-26 Leo Liu <sdl.web@gmail.com>
2 9
3 * automated/cl-lib.el (cl-digit-char-p, cl-parse-integer): New 10 * automated/cl-lib.el (cl-digit-char-p, cl-parse-integer): New
diff --git a/test/automated/package-test.el b/test/automated/package-test.el
index b970cd7c9f8..a0c1359b132 100644
--- a/test/automated/package-test.el
+++ b/test/automated/package-test.el
@@ -89,6 +89,8 @@
89 "Set up temporary locations and variables for testing." 89 "Set up temporary locations and variables for testing."
90 (declare (indent 1)) 90 (declare (indent 1))
91 `(let* ((package-test-user-dir (make-temp-file "pkg-test-user-dir-" t)) 91 `(let* ((package-test-user-dir (make-temp-file "pkg-test-user-dir-" t))
92 (process-environment (cons (format "HOME=%s" package-test-user-dir)
93 process-environment))
92 (package-user-dir package-test-user-dir) 94 (package-user-dir package-test-user-dir)
93 (package-archives `(("gnu" . ,package-test-data-dir))) 95 (package-archives `(("gnu" . ,package-test-data-dir)))
94 (old-yes-no-defn (symbol-function 'yes-or-no-p)) 96 (old-yes-no-defn (symbol-function 'yes-or-no-p))
@@ -361,11 +363,15 @@ Must called from within a `tar-mode' buffer."
361 363
362(ert-deftest package-test-signed () 364(ert-deftest package-test-signed ()
363 "Test verifying package signature." 365 "Test verifying package signature."
364 :expected-result (condition-case nil 366 (skip-unless (ignore-errors
365 (progn 367 (let ((homedir (make-temp-file "package-test" t)))
368 (unwind-protect
369 (let ((process-environment
370 (cons (format "HOME=%s" homedir)
371 process-environment)))
366 (epg-check-configuration (epg-configuration)) 372 (epg-check-configuration (epg-configuration))
367 :passed) 373 t)
368 (error :failed)) 374 (delete-directory homedir t)))))
369 (let* ((keyring (expand-file-name "key.pub" package-test-data-dir)) 375 (let* ((keyring (expand-file-name "key.pub" package-test-data-dir))
370 (package-test-data-dir 376 (package-test-data-dir
371 (expand-file-name "data/package/signed" package-test-file-dir))) 377 (expand-file-name "data/package/signed" package-test-file-dir)))