summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-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 @@
+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)))