aboutsummaryrefslogtreecommitdiffstats
path: root/lisp
diff options
context:
space:
mode:
authorJoakim Verona2015-01-16 22:29:10 +0100
committerJoakim Verona2015-01-16 22:29:10 +0100
commit5e2255017323c54feeaaee220175d7761a3b6ed1 (patch)
tree3f843af60b826b63e12482301ce20745a95ede3e /lisp
parentb64675500decba1c707bc5d5c6d57f633934778f (diff)
parent78e6ccc4a5006272b14f352e459a6d3bf52ed07b (diff)
downloademacs-5e2255017323c54feeaaee220175d7761a3b6ed1.tar.gz
emacs-5e2255017323c54feeaaee220175d7761a3b6ed1.zip
merge master
Diffstat (limited to 'lisp')
-rw-r--r--lisp/ChangeLog47
-rw-r--r--lisp/calc/calc-units.el16
-rw-r--r--lisp/cus-start.el6
-rw-r--r--lisp/dom.el8
-rw-r--r--lisp/emacs-lisp/package.el96
-rw-r--r--lisp/files.el11
-rw-r--r--lisp/gnus/ChangeLog4
-rw-r--r--lisp/gnus/nntp.el19
-rw-r--r--lisp/pcomplete.el3
-rw-r--r--lisp/vc/vc-svn.el3
10 files changed, 160 insertions, 53 deletions
diff --git a/lisp/ChangeLog b/lisp/ChangeLog
index b7a38af9609..57aaea0f4ce 100644
--- a/lisp/ChangeLog
+++ b/lisp/ChangeLog
@@ -1,3 +1,41 @@
12015-01-16 Jorgen Schaefer <contact@jorgenschaefer.de>
2
3 * emacs-lisp/package.el: Provide repository priorities.
4 (package-archive-priorities): New variable.
5 (package--add-to-alist): New function.
6 (package--add-to-archive-contents): Use it.
7 (package-menu--find-upgrades): Use it as well. Small clean up to
8 make the use of the package name here explicit.
9 (package-archive-priority): New function.
10 (package-desc-priority-version): New function.
11
122015-01-16 Daniel Colascione <dancol@dancol.org>
13
14 * cus-start.el (all): Make `ring-bell-function' customizable.
15
162015-01-16 Dmitry Gutov <dgutov@yandex.ru>
17
18 * vc/vc-svn.el (vc-svn-dir-status-files): Pass t as
19 vc-svn-after-dir-status's second argument. (Bug#19429)
20
212015-01-16 Samer Masterson <samer@samertm.com> (tiny change)
22
23 * pcomplete.el (pcomplete-parse-arguments): Parse arguments
24 regardless of pcomplete-cycle-completions's value. (Bug#18950)
25
262015-01-16 Lars Magne Ingebrigtsen <larsi@gnus.org>
27
28 * dom.el (dom-strings): New function.
29
30 * files.el (directory-files-recursively): Don't use the word
31 "path" for a file name.
32
332015-01-15 Wolfgang Jenkner <wjenkner@inode.at>
34
35 * calc/calc-units.el (math-units-in-expr-p)
36 (math-single-units-in-expr-p, math-find-compatible-unit-rec)
37 (math-extract-units): Handle the `neg' operator. (Bug#19582)
38
12015-01-15 Stefan Monnier <monnier@iro.umontreal.ca> 392015-01-15 Stefan Monnier <monnier@iro.umontreal.ca>
2 40
3 * emacs-lisp/eieio-core.el: Provide support for cl-generic. 41 * emacs-lisp/eieio-core.el: Provide support for cl-generic.
@@ -28,27 +66,22 @@
28 66
292015-01-13 Alan Mackenzie <acm@muc.de> 672015-01-13 Alan Mackenzie <acm@muc.de>
30 68
31 Allow compilation during loading of Modes derived from a CC Mode mode. 69 Allow compilation during loading of CC Mode-derived modes (bug#19206).
32 Fixes debbugs#19206.
33
34 * progmodes/cc-bytecomp.el (cc-bytecomp-compiling-or-loading): 70 * progmodes/cc-bytecomp.el (cc-bytecomp-compiling-or-loading):
35 New function which walks the stack to discover whether we're compiling 71 New function which walks the stack to discover whether we're compiling
36 or loading. 72 or loading.
37 (cc-bytecomp-is-compiling): Reformulate, and move towards 73 (cc-bytecomp-is-compiling): Reformulate, and move towards beginning.
38 beginning.
39 (cc-bytecomp-is-loading): New defsubst. 74 (cc-bytecomp-is-loading): New defsubst.
40 (cc-bytecomp-setup-environment, cc-bytecomp-restore-environment): 75 (cc-bytecomp-setup-environment, cc-bytecomp-restore-environment):
41 Use the above defsubsts. 76 Use the above defsubsts.
42 (cc-require-when-compile, cc-bytecomp-defvar) 77 (cc-require-when-compile, cc-bytecomp-defvar)
43 (cc-bytecomp-defun): Simplify conditionals. 78 (cc-bytecomp-defun): Simplify conditionals.
44
45 * progmodes/cc-defs.el (cc-bytecomp-compiling-or-loading): 79 * progmodes/cc-defs.el (cc-bytecomp-compiling-or-loading):
46 "Borrow" this function from cc-bytecomp.el. 80 "Borrow" this function from cc-bytecomp.el.
47 (c-get-current-file): Reformulate using the above. 81 (c-get-current-file): Reformulate using the above.
48 (c-lang-defconst): Prevent duplicate entries of file names in a 82 (c-lang-defconst): Prevent duplicate entries of file names in a
49 symbol's 'source property. 83 symbol's 'source property.
50 (c-lang-const): Use cc-bytecomp-is-compiling. 84 (c-lang-const): Use cc-bytecomp-is-compiling.
51
52 * progmodes/cc-langs.el (c-make-init-lang-vars-fun): 85 * progmodes/cc-langs.el (c-make-init-lang-vars-fun):
53 Use cc-bytecomp-is-compiling. 86 Use cc-bytecomp-is-compiling.
54 87
diff --git a/lisp/calc/calc-units.el b/lisp/calc/calc-units.el
index 26a644a29ba..05950864a52 100644
--- a/lisp/calc/calc-units.el
+++ b/lisp/calc/calc-units.el
@@ -904,10 +904,12 @@ If COMP or STD is non-nil, put that in the units table instead."
904 (and (consp expr) 904 (and (consp expr)
905 (if (eq (car expr) 'var) 905 (if (eq (car expr) 'var)
906 (math-check-unit-name expr) 906 (math-check-unit-name expr)
907 (and (or sub-exprs 907 (if (eq (car expr) 'neg)
908 (memq (car expr) '(* / ^))) 908 (math-units-in-expr-p (nth 1 expr) sub-exprs)
909 (or (math-units-in-expr-p (nth 1 expr) sub-exprs) 909 (and (or sub-exprs
910 (math-units-in-expr-p (nth 2 expr) sub-exprs)))))) 910 (memq (car expr) '(* / ^)))
911 (or (math-units-in-expr-p (nth 1 expr) sub-exprs)
912 (math-units-in-expr-p (nth 2 expr) sub-exprs)))))))
911 913
912(defun math-only-units-in-expr-p (expr) 914(defun math-only-units-in-expr-p (expr)
913 (and (consp expr) 915 (and (consp expr)
@@ -924,6 +926,8 @@ If COMP or STD is non-nil, put that in the units table instead."
924 (cond ((math-scalarp expr) nil) 926 (cond ((math-scalarp expr) nil)
925 ((eq (car expr) 'var) 927 ((eq (car expr) 'var)
926 (math-check-unit-name expr)) 928 (math-check-unit-name expr))
929 ((eq (car expr) 'neg)
930 (math-single-units-in-expr-p (nth 1 expr)))
927 ((eq (car expr) '*) 931 ((eq (car expr) '*)
928 (let ((u1 (math-single-units-in-expr-p (nth 1 expr))) 932 (let ((u1 (math-single-units-in-expr-p (nth 1 expr)))
929 (u2 (math-single-units-in-expr-p (nth 2 expr)))) 933 (u2 (math-single-units-in-expr-p (nth 2 expr))))
@@ -1079,6 +1083,8 @@ If COMP or STD is non-nil, put that in the units table instead."
1079 ((eq (car-safe expr) '/) 1083 ((eq (car-safe expr) '/)
1080 (or (math-find-compatible-unit-rec (nth 1 expr) pow) 1084 (or (math-find-compatible-unit-rec (nth 1 expr) pow)
1081 (math-find-compatible-unit-rec (nth 2 expr) (- pow)))) 1085 (math-find-compatible-unit-rec (nth 2 expr) (- pow))))
1086 ((eq (car-safe expr) 'neg)
1087 (math-find-compatible-unit-rec (nth 1 expr) pow))
1082 ((and (eq (car-safe expr) '^) 1088 ((and (eq (car-safe expr) '^)
1083 (integerp (nth 2 expr))) 1089 (integerp (nth 2 expr)))
1084 (math-find-compatible-unit-rec (nth 1 expr) (* pow (nth 2 expr)))) 1090 (math-find-compatible-unit-rec (nth 1 expr) (* pow (nth 2 expr))))
@@ -1497,6 +1503,8 @@ If COMP or STD is non-nil, put that in the units table instead."
1497 ((memq (car-safe expr) '(* /)) 1503 ((memq (car-safe expr) '(* /))
1498 (cons (car expr) 1504 (cons (car expr)
1499 (mapcar 'math-extract-units (cdr expr)))) 1505 (mapcar 'math-extract-units (cdr expr))))
1506 ((eq (car-safe expr) 'neg)
1507 (math-extract-units (nth 1 expr)))
1500 ((eq (car-safe expr) '^) 1508 ((eq (car-safe expr) '^)
1501 (list '^ (math-extract-units (nth 1 expr)) (nth 2 expr))) 1509 (list '^ (math-extract-units (nth 1 expr)) (nth 2 expr)))
1502 ((math-check-unit-name expr) expr) 1510 ((math-check-unit-name expr) expr)
diff --git a/lisp/cus-start.el b/lisp/cus-start.el
index 299b18d0118..71506cb680e 100644
--- a/lisp/cus-start.el
+++ b/lisp/cus-start.el
@@ -421,6 +421,12 @@ Leaving \"Default\" unchecked is equivalent with specifying a default of
421 "21.1") 421 "21.1")
422 ;; term.c 422 ;; term.c
423 (visible-cursor cursor boolean "22.1") 423 (visible-cursor cursor boolean "22.1")
424 ;; terminal.c
425 (ring-bell-function display
426 (choice
427 (const :tag "Default" nil)
428 (const :tag "Silent" ignore)
429 function))
424 ;; undo.c 430 ;; undo.c
425 (undo-limit undo integer) 431 (undo-limit undo integer)
426 (undo-strong-limit undo integer) 432 (undo-strong-limit undo integer)
diff --git a/lisp/dom.el b/lisp/dom.el
index 527b8e61f2e..11357e88804 100644
--- a/lisp/dom.el
+++ b/lisp/dom.el
@@ -103,6 +103,14 @@ A name is a symbol like `td'."
103 (cons dom matches) 103 (cons dom matches)
104 matches))) 104 matches)))
105 105
106(defun dom-strings (dom)
107 "Return elements in DOM that are strings."
108 (cl-loop for child in (dom-children dom)
109 if (stringp child)
110 collect child
111 else
112 append (dom-strings child)))
113
106(defun dom-by-class (dom match) 114(defun dom-by-class (dom match)
107 "Return elements in DOM that have a class name that matches regexp MATCH." 115 "Return elements in DOM that have a class name that matches regexp MATCH."
108 (dom-elements dom 'class match)) 116 (dom-elements dom 'class match))
diff --git a/lisp/emacs-lisp/package.el b/lisp/emacs-lisp/package.el
index 79f8b65d43c..5336271b65b 100644
--- a/lisp/emacs-lisp/package.el
+++ b/lisp/emacs-lisp/package.el
@@ -228,6 +228,22 @@ a package can run arbitrary code."
228 :group 'package 228 :group 'package
229 :version "24.1") 229 :version "24.1")
230 230
231(defcustom package-archive-priorities nil
232 "An alist of priorities for packages.
233
234Each element has the form (ARCHIVE-ID . PRIORITY).
235
236When installing packages, the package with the highest version
237number from the archive with the highest priority is
238selected. When higher versions are available from archives with
239lower priorities, the user has to select those manually.
240
241Archives not in this list have the priority 0."
242 :type 'integer
243 :risky t
244 :group 'package
245 :version "25.1")
246
231(defcustom package-pinned-packages nil 247(defcustom package-pinned-packages nil
232 "An alist of packages that are pinned to specific archives. 248 "An alist of packages that are pinned to specific archives.
233This can be useful if you have multiple package archives enabled, 249This can be useful if you have multiple package archives enabled,
@@ -1114,23 +1130,32 @@ Also, add the originating archive to the `package-desc' structure."
1114 ;; Older archive-contents files have only 4 1130 ;; Older archive-contents files have only 4
1115 ;; elements here. 1131 ;; elements here.
1116 (package--ac-desc-extras (cdr package))))) 1132 (package--ac-desc-extras (cdr package)))))
1117 (existing-packages (assq name package-archive-contents))
1118 (pinned-to-archive (assoc name package-pinned-packages))) 1133 (pinned-to-archive (assoc name package-pinned-packages)))
1119 (cond 1134 ;; Skip entirely if pinned to another archive.
1120 ;; Skip entirely if pinned to another archive. 1135 (when (not (and pinned-to-archive
1121 ((and pinned-to-archive 1136 (not (equal (cdr pinned-to-archive) archive))))
1122 (not (equal (cdr pinned-to-archive) archive))) 1137 (setq package-archive-contents
1123 nil) 1138 (package--add-to-alist pkg-desc package-archive-contents)))))
1124 ((not existing-packages) 1139
1125 (push (list name pkg-desc) package-archive-contents)) 1140(defun package--add-to-alist (pkg-desc alist)
1126 (t 1141 "Add PKG-DESC to ALIST.
1127 (while 1142
1128 (if (and (cdr existing-packages) 1143Packages are grouped by name. The package descriptions are sorted
1129 (version-list-< 1144by version number."
1130 version (package-desc-version (cadr existing-packages)))) 1145 (let* ((name (package-desc-name pkg-desc))
1131 (setq existing-packages (cdr existing-packages)) 1146 (priority-version (package-desc-priority-version pkg-desc))
1132 (push pkg-desc (cdr existing-packages)) 1147 (existing-packages (assq name alist)))
1133 nil)))))) 1148 (if (not existing-packages)
1149 (cons (list name pkg-desc)
1150 alist)
1151 (while (if (and (cdr existing-packages)
1152 (version-list-< priority-version
1153 (package-desc-priority-version
1154 (cadr existing-packages))))
1155 (setq existing-packages (cdr existing-packages))
1156 (push pkg-desc (cdr existing-packages))
1157 nil))
1158 alist)))
1134 1159
1135(defun package-download-transaction (packages) 1160(defun package-download-transaction (packages)
1136 "Download and install all the packages in PACKAGES. 1161 "Download and install all the packages in PACKAGES.
@@ -1319,6 +1344,25 @@ The file can either be a tar file or an Emacs Lisp file."
1319 "Return the archive containing the package NAME." 1344 "Return the archive containing the package NAME."
1320 (cdr (assoc (package-desc-archive desc) package-archives))) 1345 (cdr (assoc (package-desc-archive desc) package-archives)))
1321 1346
1347(defun package-archive-priority (archive)
1348 "Return the priority of ARCHIVE.
1349
1350The archive priorities are specified in
1351`package-archive-priorities'. If not given there, the priority
1352defaults to 0."
1353 (or (cdr (assoc archive package-archive-priorities))
1354 0))
1355
1356(defun package-desc-priority-version (pkg-desc)
1357 "Return the version PKG-DESC with the archive priority prepended.
1358
1359This allows for easy comparison of package versions from
1360different archives if archive priorities are meant to be taken in
1361consideration."
1362 (cons (package-archive-priority
1363 (package-desc-archive pkg-desc))
1364 (package-desc-version pkg-desc)))
1365
1322(defun package--download-one-archive (archive file) 1366(defun package--download-one-archive (archive file)
1323 "Retrieve an archive file FILE from ARCHIVE, and cache it. 1367 "Retrieve an archive file FILE from ARCHIVE, and cache it.
1324ARCHIVE should be a cons cell of the form (NAME . LOCATION), 1368ARCHIVE should be a cons cell of the form (NAME . LOCATION),
@@ -1991,18 +2035,18 @@ If optional arg BUTTON is non-nil, describe its associated package."
1991 ;; ENTRY is (PKG-DESC [NAME VERSION STATUS DOC]) 2035 ;; ENTRY is (PKG-DESC [NAME VERSION STATUS DOC])
1992 (let ((pkg-desc (car entry)) 2036 (let ((pkg-desc (car entry))
1993 (status (aref (cadr entry) 2))) 2037 (status (aref (cadr entry) 2)))
1994 (cond ((member status '("installed" "unsigned")) 2038 (cond ((member status '("installed" "unsigned"))
1995 (push pkg-desc installed)) 2039 (push pkg-desc installed))
1996 ((member status '("available" "new")) 2040 ((member status '("available" "new"))
1997 (push (cons (package-desc-name pkg-desc) pkg-desc) 2041 (setq available (package--add-to-alist pkg-desc available))))))
1998 available)))))
1999 ;; Loop through list of installed packages, finding upgrades. 2042 ;; Loop through list of installed packages, finding upgrades.
2000 (dolist (pkg-desc installed) 2043 (dolist (pkg-desc installed)
2001 (let ((avail-pkg (assq (package-desc-name pkg-desc) available))) 2044 (let* ((name (package-desc-name pkg-desc))
2002 (and avail-pkg 2045 (avail-pkg (cadr (assq name available))))
2003 (version-list-< (package-desc-version pkg-desc) 2046 (and avail-pkg
2004 (package-desc-version (cdr avail-pkg))) 2047 (version-list-< (package-desc-priority-version pkg-desc)
2005 (push avail-pkg upgrades)))) 2048 (package-desc-priority-version avail-pkg))
2049 (push (cons name avail-pkg) upgrades))))
2006 upgrades)) 2050 upgrades))
2007 2051
2008(defun package-menu-mark-upgrades () 2052(defun package-menu-mark-upgrades ()
diff --git a/lisp/files.el b/lisp/files.el
index 175f85b29d0..f8318d8a34d 100644
--- a/lisp/files.el
+++ b/lisp/files.el
@@ -749,14 +749,15 @@ If INCLUDE-DIRECTORIES, also include directories that have matching names."
749 (unless (member file '("./" "../")) 749 (unless (member file '("./" "../"))
750 (if (directory-name-p file) 750 (if (directory-name-p file)
751 (let* ((leaf (substring file 0 (1- (length file)))) 751 (let* ((leaf (substring file 0 (1- (length file))))
752 (path (expand-file-name leaf dir))) 752 (full-file (expand-file-name leaf dir)))
753 ;; Don't follow symlinks to other directories. 753 ;; Don't follow symlinks to other directories.
754 (unless (file-symlink-p path) 754 (unless (file-symlink-p full-file)
755 (setq result (nconc result (directory-files-recursively 755 (setq result
756 path match include-directories)))) 756 (nconc result (directory-files-recursively
757 full-file match include-directories))))
757 (when (and include-directories 758 (when (and include-directories
758 (string-match match leaf)) 759 (string-match match leaf))
759 (setq result (nconc result (list path))))) 760 (setq result (nconc result (list full-file)))))
760 (when (string-match match file) 761 (when (string-match match file)
761 (push (expand-file-name file dir) files))))) 762 (push (expand-file-name file dir) files)))))
762 (nconc result (nreverse files)))) 763 (nconc result (nreverse files))))
diff --git a/lisp/gnus/ChangeLog b/lisp/gnus/ChangeLog
index 20de9aea136..5a61a211661 100644
--- a/lisp/gnus/ChangeLog
+++ b/lisp/gnus/ChangeLog
@@ -1,3 +1,7 @@
12015-01-15 Lars Magne Ingebrigtsen <larsi@gnus.org>
2
3 * nntp.el (nntp-send-authinfo): Error out if the password is wrong.
4
12015-01-08 Stefan Monnier <monnier@iro.umontreal.ca> 52015-01-08 Stefan Monnier <monnier@iro.umontreal.ca>
2 6
3 * registry.el: Don't use <class> as a variable. 7 * registry.el: Don't use <class> as a variable.
diff --git a/lisp/gnus/nntp.el b/lisp/gnus/nntp.el
index e071368401b..0891dba0387 100644
--- a/lisp/gnus/nntp.el
+++ b/lisp/gnus/nntp.el
@@ -1219,14 +1219,17 @@ If SEND-IF-FORCE, only send authinfo to the server if the
1219 nntp-authinfo-user user)) 1219 nntp-authinfo-user user))
1220 (unless (member user '(nil "")) 1220 (unless (member user '(nil ""))
1221 (nntp-send-command "^3.*\r?\n" "AUTHINFO USER" user) 1221 (nntp-send-command "^3.*\r?\n" "AUTHINFO USER" user)
1222 (when t ;???Should check if AUTHINFO succeeded 1222 (let ((result
1223 (nntp-send-command 1223 (nntp-send-command
1224 "^2.*\r?\n" "AUTHINFO PASS" 1224 "^2.*\r?\n" "AUTHINFO PASS"
1225 (or passwd 1225 (or passwd
1226 nntp-authinfo-password 1226 nntp-authinfo-password
1227 (setq nntp-authinfo-password 1227 (setq nntp-authinfo-password
1228 (read-passwd (format "NNTP (%s@%s) password: " 1228 (read-passwd (format "NNTP (%s@%s) password: "
1229 user nntp-address)))))))))) 1229 user nntp-address)))))))
1230 (if (not result)
1231 (signal 'nntp-authinfo-rejected "Password rejected")
1232 result))))))
1230 1233
1231;;; Internal functions. 1234;;; Internal functions.
1232 1235
diff --git a/lisp/pcomplete.el b/lisp/pcomplete.el
index 17327ea5c95..7bcf2c1759e 100644
--- a/lisp/pcomplete.el
+++ b/lisp/pcomplete.el
@@ -755,8 +755,7 @@ this is `comint-dynamic-complete-functions'."
755 pcomplete-index 0 755 pcomplete-index 0
756 pcomplete-stub (pcomplete-arg 'last)) 756 pcomplete-stub (pcomplete-arg 'last))
757 (let ((begin (pcomplete-begin 'last))) 757 (let ((begin (pcomplete-begin 'last)))
758 (if (and pcomplete-cycle-completions 758 (if (and (listp pcomplete-stub) ;??
759 (listp pcomplete-stub) ;??
760 (not pcomplete-expand-only-p)) 759 (not pcomplete-expand-only-p))
761 (let* ((completions pcomplete-stub) ;?? 760 (let* ((completions pcomplete-stub) ;??
762 (common-stub (car completions)) 761 (common-stub (car completions))
diff --git a/lisp/vc/vc-svn.el b/lisp/vc/vc-svn.el
index bae178df3f7..d74daf9c36f 100644
--- a/lisp/vc/vc-svn.el
+++ b/lisp/vc/vc-svn.el
@@ -164,6 +164,7 @@ If you want to force an empty list of arguments, use t."
164 164
165;; FIXME it would be better not to have the "remote" argument, 165;; FIXME it would be better not to have the "remote" argument,
166;; but to distinguish the two output formats based on content. 166;; but to distinguish the two output formats based on content.
167;; FIXME: the local format isn't used by the (sole) caller anymore.
167(defun vc-svn-after-dir-status (callback &optional remote) 168(defun vc-svn-after-dir-status (callback &optional remote)
168 (let ((state-map '((?A . added) 169 (let ((state-map '((?A . added)
169 (?C . conflict) 170 (?C . conflict)
@@ -208,7 +209,7 @@ CALLBACK is called as (CALLBACK RESULT BUFFER), where
208RESULT is a list of conses (FILE . STATE) for directory DIR." 209RESULT is a list of conses (FILE . STATE) for directory DIR."
209 ;; FIXME shouldn't this rather default to all the files in dir? 210 ;; FIXME shouldn't this rather default to all the files in dir?
210 (apply #'vc-svn-command (current-buffer) 'async nil "status" "-u" files) 211 (apply #'vc-svn-command (current-buffer) 'async nil "status" "-u" files)
211 (vc-run-delayed (vc-svn-after-dir-status callback))) 212 (vc-run-delayed (vc-svn-after-dir-status callback t)))
212 213
213(defun vc-svn-dir-extra-headers (_dir) 214(defun vc-svn-dir-extra-headers (_dir)
214 "Generate extra status headers for a Subversion working copy." 215 "Generate extra status headers for a Subversion working copy."