summaryrefslogtreecommitdiff
path: root/lisp
diff options
context:
space:
mode:
authorPaul Eggert <eggert@cs.ucla.edu>2016-06-26 00:16:25 +0200
committerPaul Eggert <eggert@cs.ucla.edu>2016-06-26 00:16:25 +0200
commitfdcf46d33eebc59e56a35fcea186c61aad3c81d0 (patch)
tree8db131d7f52ead80ee12e52c3236510f71b31b48 /lisp
parentd6930356cabd3036e445cc6a2f668b1fd3e0cde4 (diff)
parent0377fe2b819bb93ac7dc314c8dbd99304d8b98d0 (diff)
downloademacs-fdcf46d33eebc59e56a35fcea186c61aad3c81d0.tar.gz
Merge from origin/emacs-25
0377fe2 ; Spelling fixes f253695 Update docs for `customize-mode' 4395aaa Fix documentation of 'assoc-string' and 'compare-strings' ab0ebb9 ; Only load .elc file in tests. a98aa02 Error on multibyte characters in HTTP request ea512a7 * lisp/gnus/mm-decode.el (mm-convert-shr-links): Mask keys th... 8297331 ; Revert "Ensure undo-boundary after insert-file-contents." dc5e65b Unset GIT_DIR when calling Git commands 6cdd8f7 Ensure undo-boundary after insert-file-contents. 4793f5f Clarify documentation of 'line-spacing' and 'line-height' 5f37572 Fix removal of variables from process-environment e5e886d * admin/authors.el (authors-ignored-files, authors-valid-file... db0777b * admin/authors.el (authors-aliases, authors-fixed-case): Add... # Conflicts: # doc/lispref/modes.texi # lisp/gnus/mm-decode.el
Diffstat (limited to 'lisp')
-rw-r--r--lisp/cus-edit.el11
-rw-r--r--lisp/gnus/mm-decode.el15
-rw-r--r--lisp/url/url-http.el19
-rw-r--r--lisp/vc/vc-git.el4
4 files changed, 25 insertions, 24 deletions
diff --git a/lisp/cus-edit.el b/lisp/cus-edit.el
index a1eb1d20016..60d07f9bc77 100644
--- a/lisp/cus-edit.el
+++ b/lisp/cus-edit.el
@@ -1072,9 +1072,10 @@ are shown; the contents of those subgroups are initially hidden."
;;;###autoload
(defun customize-mode (mode)
- "Customize options related to the current major mode.
-If a prefix \\[universal-argument] was given (or if the current major mode has no known group),
-then prompt for the MODE to customize."
+ "Customize options related to a major or minor mode.
+By default the current major mode is used. With a prefix
+argument or if the current major mode has no known group, prompt
+for the MODE to customize."
(interactive
(list
(let ((completion-regexp-list '("-mode\\'"))
@@ -1083,8 +1084,8 @@ then prompt for the MODE to customize."
major-mode
(intern
(completing-read (if group
- (format "Major mode (default %s): " major-mode)
- "Major mode: ")
+ (format "Mode (default %s): " major-mode)
+ "Mode: ")
obarray
'custom-group-of-mode
t nil nil (if group (symbol-name major-mode))))))))
diff --git a/lisp/gnus/mm-decode.el b/lisp/gnus/mm-decode.el
index 744474ca113..c653d735543 100644
--- a/lisp/gnus/mm-decode.el
+++ b/lisp/gnus/mm-decode.el
@@ -1840,10 +1840,11 @@ If RECURSIVE, search recursively."
(defvar shr-image-map)
(autoload 'widget-convert-button "wid-edit")
+(defvar widget-keymap)
(defun mm-convert-shr-links ()
(let ((start (point-min))
- end)
+ end keymap)
(while (and start
(< start (point-max)))
(when (setq start (text-property-not-all start (point-max) 'shr-url nil))
@@ -1851,10 +1852,16 @@ If RECURSIVE, search recursively."
(widget-convert-button
'url-link start end
:help-echo (get-text-property start 'help-echo)
- ;;; FIXME Should only use the image map on images.
- :keymap shr-image-map
+ :keymap (setq keymap (copy-keymap shr-map))
(get-text-property start 'shr-url))
- (put-text-property start end 'local-map nil)
+ ;; Remove keymap that `shr-urlify' adds.
+ (put-text-property start end 'keymap nil)
+ ;; Mask keys that launch `widget-button-click'.
+ ;; Those bindings are provided by `widget-keymap'
+ ;; that is a parent of `gnus-article-mode-map'.
+ (dolist (key (where-is-internal #'widget-button-click widget-keymap))
+ (unless (lookup-key keymap key)
+ (define-key keymap key #'ignore)))
(dolist (overlay (overlays-at start))
(overlay-put overlay 'face nil))
(setq start end)))))
diff --git a/lisp/url/url-http.el b/lisp/url/url-http.el
index 306b36ae951..ef7b77969e6 100644
--- a/lisp/url/url-http.el
+++ b/lisp/url/url-http.el
@@ -307,19 +307,7 @@ The string is based on `url-privacy-level' and `url-user-agent'."
;; allows us to elide null lines directly, at the cost of making
;; the layout less clear.
(setq request
- ;; We used to concat directly, but if one of the strings happens
- ;; to being multibyte (even if it only contains pure ASCII) then
- ;; every string gets converted with `string-MAKE-multibyte' which
- ;; turns the 127-255 codes into things like latin-1 accented chars
- ;; (it would work right if it used `string-TO-multibyte' instead).
- ;; So to avoid the problem we force every string to be unibyte.
- (mapconcat
- ;; FIXME: Instead of `string-AS-unibyte' we'd want
- ;; `string-to-unibyte', so as to properly signal an error if one
- ;; of the strings contains a multibyte char.
- 'string-as-unibyte
- (delq nil
- (list
+ (concat
;; The request
(or url-http-method "GET") " "
(if using-proxy (url-recreate-url url-http-target-url) real-fname)
@@ -398,7 +386,10 @@ The string is based on `url-privacy-level' and `url-user-agent'."
"\r\n"
;; Any data
url-http-data))
- ""))
+ ;; Bug#23750
+ (unless (= (string-bytes request)
+ (length request))
+ (error "Multibyte text in HTTP request: %s" request))
(url-http-debug "Request is: \n%s" request)
request))
diff --git a/lisp/vc/vc-git.el b/lisp/vc/vc-git.el
index 783ea89c6ce..e6fe0196d88 100644
--- a/lisp/vc/vc-git.el
+++ b/lisp/vc/vc-git.el
@@ -1434,7 +1434,8 @@ The difference to vc-do-command is that this function always invokes
(let ((coding-system-for-read
(or coding-system-for-read vc-git-log-output-coding-system))
(coding-system-for-write
- (or coding-system-for-write vc-git-commits-coding-system)))
+ (or coding-system-for-write vc-git-commits-coding-system))
+ (process-environment (cons "GIT_DIR" process-environment)))
(apply 'vc-do-command (or buffer "*vc*") okstatus vc-git-program
;; http://debbugs.gnu.org/16897
(unless (and (not (cdr-safe file-or-list))
@@ -1462,6 +1463,7 @@ The difference to vc-do-command is that this function always invokes
(coding-system-for-write
(or coding-system-for-write vc-git-commits-coding-system))
(process-environment (cons "PAGER=" process-environment)))
+ (push "GIT_DIR" process-environment)
(apply 'process-file vc-git-program nil buffer nil command args)))
(defun vc-git--out-ok (command &rest args)