diff options
-rw-r--r-- | doc/emacs/ChangeLog | 4 | ||||
-rw-r--r-- | doc/emacs/package.texi | 3 | ||||
-rw-r--r-- | lisp/ChangeLog | 12 | ||||
-rw-r--r-- | lisp/emacs-lisp/package.el | 5 | ||||
-rw-r--r-- | lisp/gnus/ChangeLog | 5 | ||||
-rw-r--r-- | lisp/progmodes/python.el | 45 | ||||
-rw-r--r-- | src/ChangeLog | 10 | ||||
-rw-r--r-- | src/xfaces.c | 29 | ||||
-rw-r--r-- | test/ChangeLog | 7 | ||||
-rw-r--r-- | test/automated/package-test.el | 14 |
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 @@ +2014-10-02 Glenn Morris <rgm@gnu.org> + + * package.texi (Package Installation): Mention etc/package-keyring.gpg. + 2014-09-29 Eli Zaretskii <eliz@gnu.org> * 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/}. Use @kbd{M-x package-import-keyring} to import the key into Emacs. Emacs stores package keys in the @file{gnupg} subdirectory of @code{package-user-dir}. -@c Uncomment this if it becomes true. -@ignore The public key for the GNU package archive is distributed with Emacs, in the @file{etc/package-keyring.gpg}. Emacs uses it automatically. -@end ignore @vindex package-check-signature @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 @@ +2014-10-02 Glenn Morris <rgm@gnu.org> + + * emacs-lisp/package.el (package-import-keyring): + Create gnupg directory private. (Bug#17625#155) + +2014-10-02 Stefan Monnier <monnier@iro.umontreal.ca> + + * progmodes/python.el (python-shell-completion-get-completions): + Use python-shell--prompt-calculated-input-regexp from the + process buffer (bug#18582). + Don't assume that `line' comes from the process buffer. + 2014-10-02 Stefan Monnier <monnier@iro.umontreal.ca> * 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." :group 'package :version "24.1") +(defvar epg-gpg-program) + (defcustom package-check-signature (if (progn (require 'epg-config) (executable-find epg-gpg-program)) 'allow-unsigned) @@ -1299,7 +1301,8 @@ similar to an entry in `package-alist'. Save the cached copy to (setq file (expand-file-name file)) (let ((context (epg-make-context 'OpenPGP)) (homedir (expand-file-name "gnupg" package-user-dir))) - (make-directory homedir t) + (with-file-modes 448 + (make-directory homedir t)) (epg-context-set-home-directory context homedir) (message "Importing %s..." (file-name-nondirectory file)) (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 @@ +2014-10-02 Daiki Ueno <ueno@gnu.org> + + * mml.el (mml-parse-1): Error out if unknown mode is specified in + <#secure> tag (bug#18513). + 2014-09-29 Daiki Ueno <ueno@gnu.org> * 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." "Do completion at point using PROCESS for IMPORT or INPUT. When IMPORT is non-nil takes precedence over INPUT for completion." - (let* ((prompt - (with-current-buffer (process-buffer process) + (with-current-buffer (process-buffer process) + (let* ((prompt (let ((prompt-boundaries (python-util-comint-last-prompt))) (buffer-substring-no-properties - (car prompt-boundaries) (cdr prompt-boundaries))))) - (completion-code - ;; Check whether a prompt matches a pdb string, an import - ;; statement or just the standard prompt and use the - ;; correct python-shell-completion-*-code string - (cond ((and (string-match - (concat "^" python-shell-prompt-pdb-regexp) prompt)) - ;; Since there are no guarantees the user will remain - ;; in the same context where completion code was sent - ;; (e.g. user steps into a function), safeguard - ;; resending completion setup continuously. - (concat python-shell-completion-setup-code - "\nprint (" python-shell-completion-string-code ")")) - ((string-match - python-shell--prompt-calculated-input-regexp prompt) - python-shell-completion-string-code) - (t nil))) - (subject (or import input))) - (and completion-code - (> (length input) 0) - (with-current-buffer (process-buffer process) + (car prompt-boundaries) (cdr prompt-boundaries)))) + (completion-code + ;; Check whether a prompt matches a pdb string, an import + ;; statement or just the standard prompt and use the + ;; correct python-shell-completion-*-code string + (cond ((and (string-match + (concat "^" python-shell-prompt-pdb-regexp) prompt)) + ;; Since there are no guarantees the user will remain + ;; in the same context where completion code was sent + ;; (e.g. user steps into a function), safeguard + ;; resending completion setup continuously. + (concat python-shell-completion-setup-code + "\nprint (" python-shell-completion-string-code ")")) + ((string-match + python-shell--prompt-calculated-input-regexp prompt) + python-shell-completion-string-code) + (t nil))) + (subject (or import input))) + (and completion-code + (> (length input) 0) (let ((completions (python-util-strip-string (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 @@ +2014-10-02 Jan Djärv <jan.h.d@swipnet.se> + + * xfaces.c (Finternal_set_lisp_face_attribute): Don't try to + make a font_object from a tty frame (Bug#18573). + (Finternal_set_lisp_face_attribute): Add FIXME comment. + 2014-10-02 Dmitry Antipov <dmantipov@yandex.ru> * alloc.c (mark_overlay): Assume that overlay boundaries are @@ -398,7 +404,7 @@ * macfont.m (macfont_close): Release and free font-specific data only if it wasn't previously freed. -2014-09-22 David Caldwell <david@porkrind.org> (tiny change) +2014-09-22 David Caldwell <david@porkrind.org> (tiny change) * unexmacosx.c (dump_it): Improve error message. @@ -9808,7 +9814,7 @@ * eval.c (Ffuncall): Fix handling of ((lambda ..) ..) in lexically scoped code (bug#11258). -2013-08-28 Davor Cubranic <cubranic@stat.ubc.ca> (tiny change) +2013-08-28 Davor Cubranic <cubranic@stat.ubc.ca> (tiny change) * nsterm.m (last_window): New variable. (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 f = XFRAME (selected_frame); else f = XFRAME (frame); - if (! FONT_OBJECT_P (value)) - { - Lisp_Object *attrs = XVECTOR (lface)->contents; - Lisp_Object font_object; - font_object = font_load_for_lface (f, attrs, value); - if (NILP (font_object)) - signal_error ("Font not available", value); - value = font_object; - } - set_lface_from_font (f, lface, value, 1); + /* FIXME: + If frame is t, and selected frame is a tty frame, the font + can't be realized. An improvement would be to loop over frames + for a non-tty frame and use that. See discussion in + bug#18573. */ + if (f->terminal->type != output_termcap) + { + if (! FONT_OBJECT_P (value)) + { + Lisp_Object *attrs = XVECTOR (lface)->contents; + Lisp_Object font_object; + + font_object = font_load_for_lface (f, attrs, value); + if (NILP (font_object)) + signal_error ("Font not available", value); + value = font_object; + } + set_lface_from_font (f, lface, value, 1); + } } else 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 @@ +2014-10-02 Glenn Morris <rgm@gnu.org> + + * automated/package-test.el (with-package-test, package-test-signed): + Also set HOME to a temp value, in case the real one is absent (e.g. + hydra) or read-only. (Bug#18575) + (package-test-signed): Use skip-unless rather than expected-result. + 2014-09-26 Leo Liu <sdl.web@gmail.com> * 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 @@ "Set up temporary locations and variables for testing." (declare (indent 1)) `(let* ((package-test-user-dir (make-temp-file "pkg-test-user-dir-" t)) + (process-environment (cons (format "HOME=%s" package-test-user-dir) + process-environment)) (package-user-dir package-test-user-dir) (package-archives `(("gnu" . ,package-test-data-dir))) (old-yes-no-defn (symbol-function 'yes-or-no-p)) @@ -361,11 +363,15 @@ Must called from within a `tar-mode' buffer." (ert-deftest package-test-signed () "Test verifying package signature." - :expected-result (condition-case nil - (progn + (skip-unless (ignore-errors + (let ((homedir (make-temp-file "package-test" t))) + (unwind-protect + (let ((process-environment + (cons (format "HOME=%s" homedir) + process-environment))) (epg-check-configuration (epg-configuration)) - :passed) - (error :failed)) + t) + (delete-directory homedir t))))) (let* ((keyring (expand-file-name "key.pub" package-test-data-dir)) (package-test-data-dir (expand-file-name "data/package/signed" package-test-file-dir))) |