commit eb976992367d5b265dc779d82af5948987ec6de3 (HEAD, refs/remotes/origin/master) Author: Fabián Ezequiel Gallina Date: Fri Nov 14 03:26:08 2014 -0300 Rename python-shell-virtualenv-path to fit GNU conventions * lisp/progmodes/python.el (python-shell-virtualenv-root): Rename from python-shell-virtualenv-path. (python-shell-internal-get-process-name) (python-shell-calculate-process-environment) (python-shell-calculate-exec-path): Use it. diff --git a/lisp/ChangeLog b/lisp/ChangeLog index c3ff8b6..c3b879a 100644 --- a/lisp/ChangeLog +++ b/lisp/ChangeLog @@ -1,3 +1,11 @@ +2014-11-14 Fabián Ezequiel Gallina + + * progmodes/python.el (python-shell-virtualenv-root): Rename from + python-shell-virtualenv-path. + (python-shell-internal-get-process-name) + (python-shell-calculate-process-environment) + (python-shell-calculate-exec-path): Use it. + 2014-11-14 Eli Zaretskii * bindings.el (search-map): Fix last change: don't use 'kbd' in diff --git a/lisp/progmodes/python.el b/lisp/progmodes/python.el index dfefe83..122f4ec 100644 --- a/lisp/progmodes/python.el +++ b/lisp/progmodes/python.el @@ -158,13 +158,13 @@ ;; (python-shell-exec-path . ("/path/to/env/bin/")) ;; Since the above is cumbersome and can be programmatically -;; calculated, the variable `python-shell-virtualenv-path' is +;; calculated, the variable `python-shell-virtualenv-root' is ;; provided. When this variable is set with the path of the ;; virtualenv to use, `process-environment' and `exec-path' get proper ;; values in order to run shells inside the specified virtualenv. So ;; the following will achieve the same as the previous example: -;; (setq python-shell-virtualenv-path "/path/to/env/") +;; (setq python-shell-virtualenv-root "/path/to/env/") ;; Also the `python-shell-extra-pythonpaths' variable have been ;; introduced as simple way of adding paths to the PYTHONPATH without @@ -1838,7 +1838,7 @@ default `exec-path'." :group 'python :safe 'listp) -(defcustom python-shell-virtualenv-path nil +(defcustom python-shell-virtualenv-root nil "Path to virtualenv root. This variable, when set to a string, makes the values stored in `python-shell-process-environment' and `python-shell-exec-path' @@ -1848,6 +1848,9 @@ virtualenv." :group 'python :safe 'stringp) +(define-obsolete-variable-alias + 'python-shell-virtualenv-path 'python-shell-virtualenv-root "25.1") + (defcustom python-shell-setup-codes '(python-shell-completion-setup-code python-ffap-setup-code python-eldoc-setup-code) @@ -2064,7 +2067,7 @@ uniqueness for different types of configurations." (mapconcat #'identity python-shell-process-environment "") (mapconcat #'identity python-shell-extra-pythonpaths "") (mapconcat #'identity python-shell-exec-path "") - (or python-shell-virtualenv-path "") + (or python-shell-virtualenv-root "") (mapconcat #'identity python-shell-exec-path ""))))) (defun python-shell-parse-command () ;FIXME: why name it "parse"? @@ -2089,12 +2092,12 @@ uniqueness for different types of configurations." extra))) (defun python-shell-calculate-process-environment () - "Calculate process environment given `python-shell-virtualenv-path'." + "Calculate process environment given `python-shell-virtualenv-root'." (let ((process-environment (append python-shell-process-environment process-environment nil)) - (virtualenv (if python-shell-virtualenv-path - (directory-file-name python-shell-virtualenv-path) + (virtualenv (if python-shell-virtualenv-root + (directory-file-name python-shell-virtualenv-root) nil))) (when python-shell-extra-pythonpaths (setenv "PYTHONPATH" (python-new-pythonpath))) @@ -2108,12 +2111,12 @@ uniqueness for different types of configurations." process-environment)) (defun python-shell-calculate-exec-path () - "Calculate exec path given `python-shell-virtualenv-path'." + "Calculate exec path given `python-shell-virtualenv-root'." (let ((path (append python-shell-exec-path exec-path nil))) ;FIXME: Why nil? - (if (not python-shell-virtualenv-path) + (if (not python-shell-virtualenv-root) path - (cons (expand-file-name "bin" python-shell-virtualenv-path) + (cons (expand-file-name "bin" python-shell-virtualenv-root) path)))) (defvar python-shell--package-depth 10) commit 3e517d349bffb8cd2c2b6ae718097d1a04bae929 Author: Eli Zaretskii Date: Fri Nov 14 08:14:06 2014 +0200 Fix error preloading bindings.el. lisp/bindings.el (search-map): Fix last change: don't use 'kbd' in bindings.el, since it is not yet loaded when bindings.el is preloaded. diff --git a/lisp/ChangeLog b/lisp/ChangeLog index 9c673c8..c3ff8b6 100644 --- a/lisp/ChangeLog +++ b/lisp/ChangeLog @@ -1,3 +1,9 @@ +2014-11-14 Eli Zaretskii + + * bindings.el (search-map): Fix last change: don't use 'kbd' in + bindings.el, since it is not yet loaded when bindings.el is + preloaded. + 2014-11-14 Fabián Ezequiel Gallina * progmodes/python.el (python-shell-completion-get-completions): diff --git a/lisp/bindings.el b/lisp/bindings.el index 5864581..46ff522 100644 --- a/lisp/bindings.el +++ b/lisp/bindings.el @@ -925,15 +925,15 @@ if `inhibit-field-text-motion' is non-nil." "Keymap for search related commands.") (define-key esc-map "s" search-map) -(define-key search-map "o" 'occur) -(define-key search-map (kbd "M-s") 'eww-search-words) -(define-key search-map "hr" 'highlight-regexp) -(define-key search-map "hp" 'highlight-phrase) -(define-key search-map "hl" 'highlight-lines-matching-regexp) -(define-key search-map "h." 'highlight-symbol-at-point) -(define-key search-map "hu" 'unhighlight-regexp) -(define-key search-map "hf" 'hi-lock-find-patterns) -(define-key search-map "hw" 'hi-lock-write-interactive-patterns) +(define-key search-map "o" 'occur) +(define-key search-map "\M-s" 'eww-search-words) +(define-key search-map "hr" 'highlight-regexp) +(define-key search-map "hp" 'highlight-phrase) +(define-key search-map "hl" 'highlight-lines-matching-regexp) +(define-key search-map "h." 'highlight-symbol-at-point) +(define-key search-map "hu" 'unhighlight-regexp) +(define-key search-map "hf" 'hi-lock-find-patterns) +(define-key search-map "hw" 'hi-lock-write-interactive-patterns) ;;(defun function-key-error () ;; (interactive) commit 5d977b968c5d55470daa337df52ca2689d434e3c Author: Fabián Ezequiel Gallina Date: Fri Nov 14 02:29:40 2014 -0300 * lisp/progmodes/python.el (python-shell-completion-get-completions): Fix previous merge. diff --git a/lisp/ChangeLog b/lisp/ChangeLog index 7bec543..9c673c8 100644 --- a/lisp/ChangeLog +++ b/lisp/ChangeLog @@ -1,3 +1,8 @@ +2014-11-14 Fabián Ezequiel Gallina + + * progmodes/python.el (python-shell-completion-get-completions): + Fix previous merge. + 2014-11-14 Lars Magne Ingebrigtsen * net/eww.el (eww-render): Don't set the title to the URL. diff --git a/lisp/progmodes/python.el b/lisp/progmodes/python.el index b230992..dfefe83 100644 --- a/lisp/progmodes/python.el +++ b/lisp/progmodes/python.el @@ -2886,13 +2886,9 @@ When IMPORT is non-nil takes precedence over INPUT for completion." (with-current-buffer (process-buffer process) (let* ((prompt - ;; Get last prompt of the inferior process buffer (this - ;; intentionally avoids using `comint-last-prompt' because - ;; of incompatibilities with Emacs 24.x). - (save-excursion + (let ((prompt-boundaries (python-util-comint-last-prompt))) (buffer-substring-no-properties - (line-beginning-position) ;End of prompt. - (re-search-backward "^")))) + (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 commit f48827adbaa65fe1ef778beb7814d557ced12017 Author: Lars Magne Ingebrigtsen Date: Fri Nov 14 05:08:34 2014 +0100 * net/eww.el (eww-render): Don't set the title to the URL. diff --git a/lisp/ChangeLog b/lisp/ChangeLog index 7674e78..7bec543 100644 --- a/lisp/ChangeLog +++ b/lisp/ChangeLog @@ -1,3 +1,7 @@ +2014-11-14 Lars Magne Ingebrigtsen + + * net/eww.el (eww-render): Don't set the title to the URL. + 2014-11-13 Ulrich Müller * version.el (emacs-repository-get-version): Call `git log' diff --git a/lisp/net/eww.el b/lisp/net/eww.el index 9462d03..af11e97 100644 --- a/lisp/net/eww.el +++ b/lisp/net/eww.el @@ -238,7 +238,7 @@ word(s) will be searched for via `eww-search-prefix'." (t (eww-display-raw buffer) (eww-update-header-line-format))) - (plist-put eww-data :title url) + (plist-put eww-data :url url) (setq eww-history-position 0) (run-hooks 'eww-after-render-hook)) (kill-buffer data-buffer)))) commit 7169391ddb735892a8463aa96407e0448a3820a0 Author: Ulrich Müller Date: Fri Nov 14 05:03:32 2014 +0100 (emacs-repository-get-version): Call `git log' with proper format argument Fixes: debbugs:19049 * version.el (emacs-repository-get-version): Call `git log' command with proper format argument (bug#19049). diff --git a/lisp/ChangeLog b/lisp/ChangeLog index 8238dc5..7674e78 100644 --- a/lisp/ChangeLog +++ b/lisp/ChangeLog @@ -1,3 +1,8 @@ +2014-11-13 Ulrich Müller + + * version.el (emacs-repository-get-version): Call `git log' + command with proper format argument (bug#19049). + 2014-11-14 Lars Magne Ingebrigtsen * bindings.el (search-map): Bind M-s M-s to `eww-search-words'. diff --git a/lisp/version.el b/lisp/version.el index 68b502c..1ea38da 100644 --- a/lisp/version.el +++ b/lisp/version.el @@ -188,7 +188,7 @@ only ask the VCS if we cannot find any information ourselves." (and (eq 0 (condition-case nil (call-process "git" nil '(t nil) nil "log" - "-1" "--pretty=format:%N") + "-1" "--pretty=format:%H") (error nil))) (not (zerop (buffer-size))) (replace-regexp-in-string "\n" "" (buffer-string)))))))) commit 3bdc6ce7e34705dc09a938d07296230436ea089c Author: Kenjiro NAKAYAMA Date: Fri Nov 14 04:46:11 2014 +0100 Bind `M-s M-s' globally to `eww-search-words' Fixes: debbugs:16258 * etc/NEWS: Mention the new `M-s M-s' keystroke. * lisp/bindings.el (search-map): Bind M-s M-s to `eww-search-words'. * net/eww.el (eww-search-words): New command. diff --git a/etc/ChangeLog b/etc/ChangeLog index b3f4afa..983fcaa 100644 --- a/etc/ChangeLog +++ b/etc/ChangeLog @@ -1,3 +1,7 @@ +2014-11-14 Lars Magne Ingebrigtsen + + * NEWS: Mention the new `M-s M-s' keystroke. + 2014-11-13 Paul Eggert Fix minor Bazaar leftovers. diff --git a/etc/NEWS b/etc/NEWS index 911fe6a..2172d07 100644 --- a/etc/NEWS +++ b/etc/NEWS @@ -51,6 +51,9 @@ Use './configure PKG_CONFIG=/full/name/of/pkg-config' if you need to. ** C-h l now also lists the commands that were run. +** The new M-s M-s key binding uses eww to search the web for the +text in the region. + ** M-x suggests shorthands and ignores obsolete commands for completion. ** x-select-enable-clipboard is renamed select-enable-clipboard. x-select-enable-primary and renamed select-enable-primary. diff --git a/lisp/ChangeLog b/lisp/ChangeLog index 5c0ec99..8238dc5 100644 --- a/lisp/ChangeLog +++ b/lisp/ChangeLog @@ -1,3 +1,11 @@ +2014-11-14 Lars Magne Ingebrigtsen + + * bindings.el (search-map): Bind M-s M-s to `eww-search-words'. + +2014-11-14 Kenjiro NAKAYAMA + + * net/eww.el (eww-search-words): New command (bug#16258). + 2014-11-13 Lars Magne Ingebrigtsen * net/shr.el (shr-inhibit-images): Add a doc string. diff --git a/lisp/bindings.el b/lisp/bindings.el index ac31723..5864581 100644 --- a/lisp/bindings.el +++ b/lisp/bindings.el @@ -926,6 +926,7 @@ if `inhibit-field-text-motion' is non-nil." (define-key esc-map "s" search-map) (define-key search-map "o" 'occur) +(define-key search-map (kbd "M-s") 'eww-search-words) (define-key search-map "hr" 'highlight-regexp) (define-key search-map "hp" 'highlight-phrase) (define-key search-map "hl" 'highlight-lines-matching-regexp) diff --git a/lisp/net/eww.el b/lisp/net/eww.el index 61504e9..9462d03 100644 --- a/lisp/net/eww.el +++ b/lisp/net/eww.el @@ -198,6 +198,12 @@ word(s) will be searched for via `eww-search-prefix'." "/") (expand-file-name file)))) +;;;###autoload +(defun eww-search-words (&optional beg end) + "Search the web for the text between the point and marker." + (interactive "r") + (eww (buffer-substring beg end))) + (defun eww-render (status url &optional point buffer) (let ((redirect (plist-get status :redirect))) (when redirect commit ba88f195330c513423feed4e5db4122c0e674e22 Author: Lars Magne Ingebrigtsen Date: Fri Nov 14 04:24:14 2014 +0100 Don't query on Gnus exits from ephemeral groups * gnus-sum.el (gnus-summary-exit-no-update): Don't query about discarding changes in ephemeral groups. diff --git a/lisp/gnus/ChangeLog b/lisp/gnus/ChangeLog index 6c959c1..e107dbd 100644 --- a/lisp/gnus/ChangeLog +++ b/lisp/gnus/ChangeLog @@ -1,5 +1,8 @@ 2014-11-14 Lars Magne Ingebrigtsen + * gnus-sum.el (gnus-summary-exit-no-update): Don't query about + discarding changes in ephemeral groups. + * ietf-drums.el (ietf-drums-parse-address): Don't issue warnings about things the user isn't interested in. diff --git a/lisp/gnus/gnus-sum.el b/lisp/gnus/gnus-sum.el index 55a263d..69bb106 100644 --- a/lisp/gnus/gnus-sum.el +++ b/lisp/gnus/gnus-sum.el @@ -7334,6 +7334,7 @@ If FORCE (the prefix), also save the .newsrc file(s)." (gnus-group-is-exiting-without-update-p t) (quit-config (gnus-group-quit-config group))) (when (or no-questions + (gnus-ephemeral-group-p group) gnus-expert-user (gnus-y-or-n-p "Discard changes to this group and exit? ")) (gnus-async-halt-prefetch) commit d8c3c57eec04ea52917d0ecf0eb0e291a5f99b4a Author: Lars Magne Ingebrigtsen Date: Fri Nov 14 04:20:03 2014 +0100 ChangeLog entry from previous commit diff --git a/lisp/gnus/ChangeLog b/lisp/gnus/ChangeLog index 9ed0032..6c959c1 100644 --- a/lisp/gnus/ChangeLog +++ b/lisp/gnus/ChangeLog @@ -1,3 +1,8 @@ +2014-11-14 Lars Magne Ingebrigtsen + + * ietf-drums.el (ietf-drums-parse-address): Don't issue warnings about + things the user isn't interested in. + 2014-11-13 Julien Danjou * gnus-notifications.el (gnus-notifications-notify): Provide both commit 94a489163b4104a97774a60eaf7e65524cae9ba6 Author: Lars Magne Ingebrigtsen Date: Fri Nov 14 04:19:18 2014 +0100 Silence warnings in ietf-drums-parse-address * ietf-drums.el (ietf-drums-parse-address): Don't issue warnings about things the user isn't interested in. diff --git a/lisp/gnus/ietf-drums.el b/lisp/gnus/ietf-drums.el index 1121368..4fe8f18 100644 --- a/lisp/gnus/ietf-drums.el +++ b/lisp/gnus/ietf-drums.el @@ -206,7 +206,6 @@ backslash and doublequote.") (1+ (point)) (progn (forward-sexp 1) (1- (point)))))))) (t - (message "Unknown symbol: %c" c) (forward-char 1)))) ;; If we found no display-name, then we look for comments. (if display-name commit 02073b2e84022ff9c9b76d58061e9aa810056229 Author: Paul Eggert Date: Thu Nov 13 19:15:41 2014 -0800 Fix some 24-hour time stamps in documentation. * doc/lispref/os.texi (Time of Day): * doc/misc/org.texi (The date/time prompt, Matching tags and properties): Use leading zero with 24-hour times less than 10:00. diff --git a/doc/lispref/ChangeLog b/doc/lispref/ChangeLog index 83a8423..9772391 100644 --- a/doc/lispref/ChangeLog +++ b/doc/lispref/ChangeLog @@ -1,3 +1,8 @@ +2014-11-14 Paul Eggert + + * os.texi (Time of Day): + Use leading zero with 24-hour times less than 10:00. + 2014-11-09 Glenn Morris * Makefile.in (version): Remove variable. diff --git a/doc/lispref/os.texi b/doc/lispref/os.texi index 5cfbb9f..167ecb3 100644 --- a/doc/lispref/os.texi +++ b/doc/lispref/os.texi @@ -1226,7 +1226,7 @@ integer number of seconds. This integer, @tex $high*2^{16}+low$, @end tex -is the number of seconds from the @dfn{epoch} (0:00 January 1, 1970 +is the number of seconds from the @dfn{epoch} (January 1, 1970 at 00:00 UTC) to the specified time. The third list element @var{microsec}, if present, gives the number of microseconds from the start of that second to the specified time. diff --git a/doc/misc/ChangeLog b/doc/misc/ChangeLog index 1fd23b0..8b7aa1c 100644 --- a/doc/misc/ChangeLog +++ b/doc/misc/ChangeLog @@ -1,3 +1,8 @@ +2014-11-14 Paul Eggert + + * org.texi (The date/time prompt, Matching tags and properties): + Use leading zero with 24-hour times less than 10:00. + 2014-11-13 Lars Magne Ingebrigtsen * eww.texi (Variable Index): Mention `eww-after-render-hook'. diff --git a/doc/misc/org.texi b/doc/misc/org.texi index 4100171..5851f3b 100644 --- a/doc/misc/org.texi +++ b/doc/misc/org.texi @@ -5947,7 +5947,7 @@ sep 15 @result{} @b{2006}-09-15 feb 15 @result{} @b{2007}-02-15 sep 12 9 @result{} 2009-09-12 12:45 @result{} @b{2006}-@b{06}-@b{13} 12:45 -22 sept 0:34 @result{} @b{2006}-09-22 0:34 +22 sept 0:34 @result{} @b{2006}-09-22 00:34 w4 @result{} ISO week for of the current year @b{2006} 2012 w4 fri @result{} Friday of ISO week 4 in 2012 2012-w04-5 @result{} Same as above @@ -8122,7 +8122,7 @@ brackets (like @samp{DEADLINE<="<2008-12-24 18:30>"}), both values are assumed to be date/time specifications in the standard Org way, and the comparison will be done accordingly. Special values that will be recognized are @code{""} for now (including time), and @code{""}, and -@code{""} for these days at 0:00 hours, i.e., without a time +@code{""} for these days at 00:00 hours, i.e., without a time specification. Also strings like @code{"<+5d>"} or @code{"<-2m>"} with units @code{d}, @code{w}, @code{m}, and @code{y} for day, week, month, and year, respectively, can be used. commit 0868bad993c725397d2034fdc8ab1c77ad8b03a0 Merge: 4af97e6 14b1c9d Author: Katsumi Yamaoka Date: Thu Nov 13 22:12:32 2014 +0000 Merge branch 'master' of git.sv.gnu.org:/srv/git/emacs commit 4af97e67819831ca0b92600232aae8e99aeb0592 Author: Julien Danjou Date: Thu Nov 13 22:11:48 2014 +0000 lisp/gnus/gnus-notifications.el (gnus-notifications-notify): Provide both app-icon and image-path diff --git a/lisp/gnus/ChangeLog b/lisp/gnus/ChangeLog index 18588eb..9ed0032 100644 --- a/lisp/gnus/ChangeLog +++ b/lisp/gnus/ChangeLog @@ -1,7 +1,12 @@ +2014-11-13 Julien Danjou + + * gnus-notifications.el (gnus-notifications-notify): Provide both + app-icon and image-path. + 2014-11-10 Kenjiro NAKAYAMA - * gnus/mm-url.el (mm-url-encode-multipart-form-data): - Restore to handle "multipart/form-data" by eww. + * gnus/mm-url.el (mm-url-encode-multipart-form-data): + Restore to handle "multipart/form-data" by eww. 2014-11-07 Tassilo Horn diff --git a/lisp/gnus/gnus-notifications.el b/lisp/gnus/gnus-notifications.el index ee1083d..0729ea2 100644 --- a/lisp/gnus/gnus-notifications.el +++ b/lisp/gnus/gnus-notifications.el @@ -92,9 +92,9 @@ Return a notification id if any, or t on success." :body subject :actions '("read" "Read") :on-action 'gnus-notifications-action - :app-icon (or photo-file - (gnus-funcall-no-warning - 'image-search-load-path "gnus/gnus.png")) + :app-icon (gnus-funcall-no-warning + 'image-search-load-path "gnus/gnus.png") + :image-path photo-file :app-name "Gnus" :category "email.arrived" :timeout gnus-notifications-timeout) commit 14b1c9d82d450431e42a76ce2f797ed57c50c8dc Author: Lars Magne Ingebrigtsen Date: Thu Nov 13 23:06:05 2014 +0100 * net/shr.el (shr-inhibit-images): Add a doc string. diff --git a/lisp/ChangeLog b/lisp/ChangeLog index feff027..5c0ec99 100644 --- a/lisp/ChangeLog +++ b/lisp/ChangeLog @@ -1,5 +1,7 @@ 2014-11-13 Lars Magne Ingebrigtsen + * net/shr.el (shr-inhibit-images): Add a doc string. + * net/eww.el (eww-after-render-hook): New variable. (eww-render): Use it. diff --git a/lisp/net/shr.el b/lisp/net/shr.el index a4b004d..26fb647 100644 --- a/lisp/net/shr.el +++ b/lisp/net/shr.el @@ -123,13 +123,15 @@ cid: URL as the argument.") "Font for link elements." :group 'shr) +(defvar shr-inhibit-images nil + "If non-nil, inhibit loading images.") + ;;; Internal variables. (defvar shr-folding-mode nil) (defvar shr-state nil) (defvar shr-start nil) (defvar shr-indentation 0) -(defvar shr-inhibit-images nil) (defvar shr-internal-width (or shr-width (1- (window-width)))) (defvar shr-list-mode nil) (defvar shr-content-cache nil) commit 790ad0171da998fc4cadbd99451d6ed3a27f1965 Author: Lars Magne Ingebrigtsen Date: Thu Nov 13 22:41:55 2014 +0100 Add a hook to be run after eww has rendered a page * net/eww.el (eww-after-render-hook): New variable. (eww-render): Use it. diff --git a/doc/misc/ChangeLog b/doc/misc/ChangeLog index fcf81b0..1fd23b0 100644 --- a/doc/misc/ChangeLog +++ b/doc/misc/ChangeLog @@ -1,3 +1,7 @@ +2014-11-13 Lars Magne Ingebrigtsen + + * eww.texi (Variable Index): Mention `eww-after-render-hook'. + 2014-11-10 Lars Magne Ingebrigtsen * eww.texi (Basics): Document `eww-readable'. diff --git a/doc/misc/eww.texi b/doc/misc/eww.texi index 6d41331..2208c2d 100644 --- a/doc/misc/eww.texi +++ b/doc/misc/eww.texi @@ -235,6 +235,11 @@ developers started contributing to it as well. @node Variable Index @unnumbered Variable Index +@vindex eww-after-render-hook +After eww has rendered the data in the buffer, +@code{eww-after-render-hook} is called. It can be used to alter the +contents, for instance. + @printindex vr @node Lisp Function Index diff --git a/etc/NEWS b/etc/NEWS index 05210df..911fe6a 100644 --- a/etc/NEWS +++ b/etc/NEWS @@ -156,6 +156,9 @@ the like off the page. *** You can now use several eww buffers in parallel by renaming eww buffers you want to keep separate. +*** `eww-after-render-hook' is now called after eww has rendered +the data in the buffer. + ** Message mode *** text/html messages that contain inline image parts will be diff --git a/lisp/ChangeLog b/lisp/ChangeLog index 12e9865..feff027 100644 --- a/lisp/ChangeLog +++ b/lisp/ChangeLog @@ -1,5 +1,8 @@ 2014-11-13 Lars Magne Ingebrigtsen + * net/eww.el (eww-after-render-hook): New variable. + (eww-render): Use it. + * net/shr.el (shr-descend): Don't descend further than `max-specpdl-size' allows (bug#16587). (shr-depth): New variable. diff --git a/lisp/net/eww.el b/lisp/net/eww.el index 0fa79cb..61504e9 100644 --- a/lisp/net/eww.el +++ b/lisp/net/eww.el @@ -73,6 +73,12 @@ :type '(choice (const :tag "Never" nil) regexp)) +(defcustom eww-after-render-hook nil + "A hook called after eww has finished rendering the buffer." + :version "25.1" + :group 'eww + :type 'hook) + (defcustom eww-form-checkbox-selected-symbol "[X]" "Symbol used to represent a selected checkbox. See also `eww-form-checkbox-symbol'." @@ -227,7 +233,8 @@ word(s) will be searched for via `eww-search-prefix'." (eww-display-raw buffer) (eww-update-header-line-format))) (plist-put eww-data :title url) - (setq eww-history-position 0)) + (setq eww-history-position 0) + (run-hooks 'eww-after-render-hook)) (kill-buffer data-buffer)))) (defun eww-parse-headers () commit f7a192cb5c351b2daa448bf6a487581998fcff6c Author: Lars Magne Ingebrigtsen Date: Thu Nov 13 22:11:51 2014 +0100 Make shr stop descending into the dom before `max-specpdl-size' stops us * net/shr.el (shr-descend): Don't descend further than `max-specpdl-size' allows (bug#16587). (shr-depth): New variable. (shr-warning): New variable. diff --git a/lisp/ChangeLog b/lisp/ChangeLog index 652bc53..12e9865 100644 --- a/lisp/ChangeLog +++ b/lisp/ChangeLog @@ -1,3 +1,10 @@ +2014-11-13 Lars Magne Ingebrigtsen + + * net/shr.el (shr-descend): Don't descend further than + `max-specpdl-size' allows (bug#16587). + (shr-depth): New variable. + (shr-warning): New variable. + 2014-11-13 Ivan Shmakov * net/shr.el (shr-parse-base): Handle correctly. diff --git a/lisp/net/shr.el b/lisp/net/shr.el index cc90097..a4b004d 100644 --- a/lisp/net/shr.el +++ b/lisp/net/shr.el @@ -137,6 +137,8 @@ cid: URL as the argument.") (defvar shr-table-depth 0) (defvar shr-stylesheet nil) (defvar shr-base nil) +(defvar shr-depth 0) +(defvar shr-warning nil) (defvar shr-ignore-cache nil) (defvar shr-external-rendering-functions nil) (defvar shr-target-id nil) @@ -198,9 +200,13 @@ DOM should be a parse tree as generated by (shr-state nil) (shr-start nil) (shr-base nil) + (shr-depth 0) + (shr-warning nil) (shr-internal-width (or shr-width (1- (window-width))))) (shr-descend (shr-transform-dom dom)) - (shr-remove-trailing-whitespace start (point)))) + (shr-remove-trailing-whitespace start (point)) + (when shr-warning + (message "%s" shr-warning)))) (defun shr-remove-trailing-whitespace (start end) (let ((width (window-width))) @@ -406,29 +412,34 @@ size, and full-buffer size." (intern (concat "shr-tag-" (symbol-name (car dom))) obarray))) (style (cdr (assq :style (cdr dom)))) (shr-stylesheet shr-stylesheet) + (shr-depth (1+ shr-depth)) (start (point))) - (when style - (if (string-match "color\\|display\\|border-collapse" style) - (setq shr-stylesheet (nconc (shr-parse-style style) - shr-stylesheet)) - (setq style nil))) - ;; If we have a display:none, then just ignore this part of the DOM. - (unless (equal (cdr (assq 'display shr-stylesheet)) "none") - (if (fboundp function) - (funcall function (cdr dom)) - (shr-generic (cdr dom))) - (when (and shr-target-id - (equal (cdr (assq :id (cdr dom))) shr-target-id)) - ;; If the element was empty, we don't have anything to put the - ;; anchor on. So just insert a dummy character. - (when (= start (point)) - (insert "*")) - (put-text-property start (1+ start) 'shr-target-id shr-target-id)) - ;; If style is set, then this node has set the color. + ;; shr uses about 12 frames per nested node. + (if (> shr-depth (/ max-specpdl-size 12)) + (setq shr-warning "Too deeply nested to render properly; consider increasing `max-specpdl-size'") (when style - (shr-colorize-region start (point) - (cdr (assq 'color shr-stylesheet)) - (cdr (assq 'background-color shr-stylesheet))))))) + (if (string-match "color\\|display\\|border-collapse" style) + (setq shr-stylesheet (nconc (shr-parse-style style) + shr-stylesheet)) + (setq style nil))) + ;; If we have a display:none, then just ignore this part of the DOM. + (unless (equal (cdr (assq 'display shr-stylesheet)) "none") + (if (fboundp function) + (funcall function (cdr dom)) + (shr-generic (cdr dom))) + (when (and shr-target-id + (equal (cdr (assq :id (cdr dom))) shr-target-id)) + ;; If the element was empty, we don't have anything to put the + ;; anchor on. So just insert a dummy character. + (when (= start (point)) + (insert "*")) + (put-text-property start (1+ start) 'shr-target-id shr-target-id)) + ;; If style is set, then this node has set the color. + (when style + (shr-colorize-region + start (point) + (cdr (assq 'color shr-stylesheet)) + (cdr (assq 'background-color shr-stylesheet)))))))) (defmacro shr-char-breakable-p (char) "Return non-nil if a line can be broken before and after CHAR." commit fdae50c73f22ec73a5159986b9c65624a3c4cd67 Author: Ivan Shmakov Date: Thu Nov 13 19:41:20 2014 +0100 shr URL expansion fixes Fixes: debbugs:17958 * net/shr.el (shr-parse-base): Handle correctly. (shr-expand-url): Expand absolute URLs correctly (bug#17958). diff --git a/lisp/ChangeLog b/lisp/ChangeLog index 0ad71f3..652bc53 100644 --- a/lisp/ChangeLog +++ b/lisp/ChangeLog @@ -1,3 +1,8 @@ +2014-11-13 Ivan Shmakov + + * net/shr.el (shr-parse-base): Handle correctly. + (shr-expand-url): Expand absolute URLs correctly (bug#17958). + 2014-11-13 Lars Magne Ingebrigtsen * net/eww.el (eww): Add comment to clarify. diff --git a/lisp/net/shr.el b/lisp/net/shr.el index 7a5e294..cc90097 100644 --- a/lisp/net/shr.el +++ b/lisp/net/shr.el @@ -594,6 +594,8 @@ size, and full-buffer size." ;; Always chop off anchors. (when (string-match "#.*" url) (setq url (substring url 0 (match-beginning 0)))) + ;; NB: URI may itself be relative to the document s URI + (setq url (shr-expand-url url)) (let* ((parsed (url-generic-parse-url url)) (local (url-filename parsed))) (setf (url-filename parsed) "") @@ -616,6 +618,7 @@ size, and full-buffer size." (defun shr-expand-url (url &optional base) (setq base (if base + ;; shr-parse-base should never call this with non-nil base! (shr-parse-base base) ;; Bound by the parser. shr-base)) @@ -624,8 +627,8 @@ size, and full-buffer size." (cond ((or (not url) (not base) (string-match "\\`[a-z]*:" url)) - ;; Absolute URL. - (or url (car base))) + ;; Absolute or empty URI + (or url (nth 3 base))) ((eq (aref url 0) ?/) (if (and (> (length url) 1) (eq (aref url 1) ?/)) commit 584fa315db2c041f0e05a9d709c3ee03c7f91be2 Author: Paul Eggert Date: Thu Nov 13 09:16:33 2014 -0800 Fix minor Bazaar leftovers. Reported by Perry E. Metzger in: http://lists.gnu.org/archive/html/emacs-devel/2014-11/msg00745.html * .dir-locals.el: Remove reference to bzr commit --fixes debbugs. * etc/CONTRIBUTE: More git transition. diff --git a/.dir-locals.el b/.dir-locals.el index 203343f..afc68ea 100644 --- a/.dir-locals.el +++ b/.dir-locals.el @@ -3,11 +3,7 @@ (fill-column . 70))) (c-mode . ((c-file-style . "GNU"))) (objc-mode . ((c-file-style . "GNU"))) - ;; You must set bugtracker_debbugs_url in your bazaar.conf for this to work. - ;; See admin/notes/bugtracker. - (log-edit-mode . ((log-edit-rewrite-fixes - "[ \n](bug#\\([0-9]+\\))" . "debbugs:\\1") - (log-edit-font-lock-gnu-style . t) + (log-edit-mode . ((log-edit-font-lock-gnu-style . t) (log-edit-setup-add-author . t))) (change-log-mode . ((add-log-time-zone-rule . t) (fill-column . 74) diff --git a/etc/CONTRIBUTE b/etc/CONTRIBUTE index 882773b..d1ee9f4 100644 --- a/etc/CONTRIBUTE +++ b/etc/CONTRIBUTE @@ -75,7 +75,7 @@ patches) over all your contributions. * Getting the Source Code -The latest version of Emacs can be downloaded using Bazaar from the +The latest version of the Emacs source code can be downloaded from the Savannah web site. It is important to write your patch based on the latest version. If you start from an older version, your patch may be outdated (so that maintainers will have a hard time applying it), or @@ -215,4 +215,3 @@ Local variables: mode: outline paragraph-separate: "[ ]*$" end: - diff --git a/etc/ChangeLog b/etc/ChangeLog index 87efd2a..b3f4afa 100644 --- a/etc/ChangeLog +++ b/etc/ChangeLog @@ -1,3 +1,10 @@ +2014-11-13 Paul Eggert + + Fix minor Bazaar leftovers. + Reported by Perry E. Metzger in: + http://lists.gnu.org/archive/html/emacs-devel/2014-11/msg00745.html + * CONTRIBUTE: More git transition. + 2014-11-11 Eric S. Raymond * CONTRIBUTE: git transition. commit 02ee710a0b9c1761ec935aeb0097eb5aa8d311ac Author: Lars Magne Ingebrigtsen Date: Thu Nov 13 17:59:35 2014 +0100 * net/eww.el (eww): Add comment to clarify. diff --git a/lisp/ChangeLog b/lisp/ChangeLog index 5be04a7..0ad71f3 100644 --- a/lisp/ChangeLog +++ b/lisp/ChangeLog @@ -1,5 +1,7 @@ 2014-11-13 Lars Magne Ingebrigtsen + * net/eww.el (eww): Add comment to clarify. + * net/shr.el (shr-parse-image-data): Remove blocked bits from external SVG images. (shr-tag-object): Display images in forms (bug#16244). diff --git a/lisp/net/eww.el b/lisp/net/eww.el index 329c944..0fa79cb 100644 --- a/lisp/net/eww.el +++ b/lisp/net/eww.el @@ -160,6 +160,7 @@ word(s) will be searched for via `eww-search-prefix'." (interactive "sEnter URL or keywords: ") (setq url (string-trim url)) (cond ((string-match-p "\\`file:/" url)) + ;; Don't mangle file: URLs at all. ((string-match-p "\\`ftp://" url) (user-error "FTP is not supported.")) (t commit 51475d535edd0ee021091dfe3fa576b0bf9f1358 Author: Andreas Schwab Date: Thu Nov 13 17:50:41 2014 +0100 Use annotated tags for releases * make-tarball.txt: Make annotated tag and push it out. diff --git a/admin/ChangeLog b/admin/ChangeLog index 66cf9c6..900da6a 100644 --- a/admin/ChangeLog +++ b/admin/ChangeLog @@ -1,3 +1,7 @@ +2014-11-13 Andreas Schwab + + * make-tarball.txt: Make annotated tag and push it out. + 2014-11-11 Eric S. Raymond * make-tarball.txt, update-copyright, admin/notes/bugtracker, diff --git a/admin/make-tarball.txt b/admin/make-tarball.txt index 9603c61..8f8b031 100644 --- a/admin/make-tarball.txt +++ b/admin/make-tarball.txt @@ -94,7 +94,7 @@ General steps (for each step, check for possible errors): M-x ediff. Especially check that Info files aren't built, and that no autotools (autoconf etc) run. -8. cd EMACS_ROOT_DIR && git tag TAG +8. cd EMACS_ROOT_DIR && git tag -a TAG && git push origin tag TAG TAG is emacs-XX.Y.ZZ for a pretest, emacs-XX.Y for a release. 9. Decide what compression schemes to offer. commit 01618985c0b7d28c65ba1a5694d8828b9956bf64 Author: Lars Magne Ingebrigtsen Date: Thu Nov 13 17:16:46 2014 +0100 Add forgotten ChangeLog entry for bug#16244 diff --git a/lisp/ChangeLog b/lisp/ChangeLog index e3baa30..5be04a7 100644 --- a/lisp/ChangeLog +++ b/lisp/ChangeLog @@ -1,3 +1,10 @@ +2014-11-13 Lars Magne Ingebrigtsen + + * net/shr.el (shr-parse-image-data): Remove blocked bits from + external SVG images. + (shr-tag-object): Display images in forms (bug#16244). + (shr-tag-table): Also insert after the tables. + 2014-11-13 Michael Albinus * vc/vc-hg.el (vc-hg-state): Disable pager. (Bug#18940) commit cbf8ea6f7f527fe97039f6f1e99c78258ec18ac2 Author: Lars Magne Ingebrigtsen Date: Thu Nov 13 17:02:07 2014 +0100 Display SVG images in external files Fixes: debbugs:16244 * net/eww.el (eww-form-file): Fix version number. * net/shr.el (shr-parse-image-data): Remove blocked bits from external SVG images. (shr-tag-object): Display images in forms. (shr-tag-table): Also insert after the tables. diff --git a/lisp/net/eww.el b/lisp/net/eww.el index f16ecb8..329c944 100644 --- a/lisp/net/eww.el +++ b/lisp/net/eww.el @@ -420,11 +420,12 @@ word(s) will be searched for via `eww-search-prefix'." (let ((buf (get-buffer-create "*eww-source*")) (source (plist-get eww-data :source))) (with-current-buffer buf - (delete-region (point-min) (point-max)) - (insert (or source "no source")) - (goto-char (point-min)) - (when (fboundp 'html-mode) - (html-mode))) + (let ((inhibit-read-only t)) + (delete-region (point-min) (point-max)) + (insert (or source "no source")) + (goto-char (point-min)) + (when (fboundp 'html-mode) + (html-mode)))) (view-buffer buf))) (defun eww-readable () diff --git a/lisp/net/shr.el b/lisp/net/shr.el index 5db0324..7a5e294 100644 --- a/lisp/net/shr.el +++ b/lisp/net/shr.el @@ -783,6 +783,8 @@ element is the data blob and the second element is the content-type." ((eq size 'original) (create-image data nil t :ascent 100 :format content-type)) + ((eq content-type 'image/svg+xml) + (create-image data 'svg t :ascent 100)) ((eq size 'full) (ignore-errors (shr-rescale-image data content-type))) @@ -845,14 +847,25 @@ Return a string with image data." (shr-parse-image-data))))) (defun shr-parse-image-data () - (list - (buffer-substring (point) (point-max)) - (save-excursion - (save-restriction - (narrow-to-region (point-min) (point)) - (let ((content-type (mail-fetch-field "content-type"))) - (and content-type - (intern content-type obarray))))))) + (let ((data (buffer-substring (point) (point-max))) + (content-type + (save-excursion + (save-restriction + (narrow-to-region (point-min) (point)) + (let ((content-type (mail-fetch-field "content-type"))) + (and content-type + ;; Remove any comments in the type string. + (intern (replace-regexp-in-string ";.*" "" content-type) + obarray))))))) + ;; SVG images may contain references to further images that we may + ;; want to block. So special-case these by parsing the XML data + ;; and remove the blocked bits. + (when (eq content-type 'image/svg+xml) + (setq data + (shr-dom-to-xml + (shr-transform-dom + (libxml-parse-xml-region (point) (point-max)))))) + (list data content-type))) (defun shr-image-displayer (content-function) "Return a function to display an image. @@ -1130,18 +1143,32 @@ ones, in case fg and bg are nil." (shr-urlify (or shr-start start) (shr-expand-url url) title)))) (defun shr-tag-object (cont) - (let ((start (point)) - url) - (dolist (elem cont) - (when (eq (car elem) 'embed) - (setq url (or url (cdr (assq :src (cdr elem)))))) - (when (and (eq (car elem) 'param) - (equal (cdr (assq :name (cdr elem))) "movie")) - (setq url (or url (cdr (assq :value (cdr elem))))))) - (when url - (shr-insert " [multimedia] ") - (shr-urlify start (shr-expand-url url))) - (shr-generic cont))) + (unless shr-inhibit-images + (let ((start (point)) + url multimedia image) + (dolist (elem cont) + (cond + ((eq (car elem) 'embed) + (setq url (or url (cdr (assq :src (cdr elem)))) + multimedia t)) + ((and (eq (car elem) 'param) + (equal (cdr (assq :name (cdr elem))) "movie")) + (setq url (or url (cdr (assq :value (cdr elem)))) + multimedia t)) + ((and (eq (car elem) :type) + (string-match "\\`image/svg" (cdr elem))) + (setq url (cdr (assq :data cont)) + image t)))) + (when url + (cond + (image + (shr-tag-img cont url) + (setq cont nil)) + (multimedia + (shr-insert " [multimedia] ") + (shr-urlify start (shr-expand-url url))))) + (when cont + (shr-generic cont))))) (defcustom shr-prefer-media-type-alist '(("webm" . 1.0) ("ogv" . 1.0) @@ -1483,6 +1510,8 @@ The preference is a float determined from `shr-prefer-media-type'." ;; model isn't strong enough to allow us to put the images actually ;; into the tables. (when (zerop shr-table-depth) + (dolist (elem (shr-find-elements cont 'object)) + (shr-tag-object (cdr elem))) (dolist (elem (shr-find-elements cont 'img)) (shr-tag-img (cdr elem)))))) commit d856e6b0d87fed67001e83fcfccba9c932af3487 Merge: a85cf0d 38fa4bc Author: Michael Albinus Date: Thu Nov 13 16:29:20 2014 +0100 Merge branch 'master' of git.sv.gnu.org:/srv/git/emacs Conflicts: lisp/ChangeLog commit a85cf0d9fe03713cfae31415208cbd49d3227ae1 Author: Michael Albinus Date: Thu Nov 13 16:26:51 2014 +0100 Fixes: debbugs:18940 * vc/vc-hg.el (vc-hg-state): Disable pager. diff --git a/lisp/ChangeLog b/lisp/ChangeLog index c70f56f..6db9f20 100644 --- a/lisp/ChangeLog +++ b/lisp/ChangeLog @@ -1,3 +1,7 @@ +2014-11-13 Michael Albinus + + * vc/vc-hg.el (vc-hg-state): Disable pager. (Bug#18940) + 2014-11-10 Kenjiro NAKAYAMA * net/eww.el(eww-form-file(defface)): New defface of file upload form. diff --git a/lisp/vc/vc-hg.el b/lisp/vc/vc-hg.el index df61006..4f13914 100644 --- a/lisp/vc/vc-hg.el +++ b/lisp/vc/vc-hg.el @@ -207,14 +207,22 @@ highlighting the Log View buffer." ;; Ignore all errors. (let ((process-environment ;; Avoid localization of messages so we - ;; can parse the output. - (append (list "TERM=dumb" "LANGUAGE=C") - process-environment))) - (process-file - vc-hg-program nil t nil - "--config" "alias.status=status" - "--config" "defaults.status=" - "status" "-A" (file-relative-name file))) + ;; can parse the output. Disable pager. + (append + (list "TERM=dumb" "LANGUAGE=C" "HGPLAIN=1") + process-environment))) + (if (file-remote-p file) + (process-file + "env" nil t nil + "HGPLAIN=1" vc-hg-program + "--config" "alias.status=status" + "--config" "defaults.status=" + "status" "-A" (file-relative-name file)) + (process-file + vc-hg-program nil t nil + "--config" "alias.status=status" + "--config" "defaults.status=" + "status" "-A" (file-relative-name file)))) ;; Some problem happened. E.g. We can't find an `hg' ;; executable. (error nil))))))) commit 38fa4bcbd238a0628ca51c5cd656211a0ef62eef Author: Lars Magne Ingebrigtsen Date: Thu Nov 13 15:25:48 2014 +0100 Add automaticall built files to .gitignore * .gitignore: Copy over sufficient ignorable files from the old .bzrignore that a simple build doesn't list lots of unregistered files. diff --git a/.gitignore b/.gitignore index 7603af2..b548384 100644 --- a/.gitignore +++ b/.gitignore @@ -22,3 +22,50 @@ etc/refcards/*.log info/dir info/*.info test/biditest.txt + +Makefile +config.log +config.status +lib-src/ctags +lib-src/ebrowse +lib-src/emacsclient +lib-src/etags +lib-src/hexl +lib-src/make-docfile +lib-src/movemail +lib-src/profile +lib-src/update-game-score +*.o +lib/alloca.h +lib/arg-nonnull.h +lib/c++defs.h +lib/dirent.h +lib/fcntl.h +lib/getopt.h +lib/inttypes.h +lib/libgnu.a +lib/signal.h +lib/stdio.h +lib/stdlib.h +lib/string.h +lib/sys/ +lib/time.h +lib/unistd.h +lib/warn-on-use.h +src/bootstrap-emacs +src/deps/ +src/emacs +src/emacs-25.0.50.1 +src/emacs-25.0.50.2 +src/gl-stamp +src/globals.h +src/stamp-h1 +src/temacs +doc/emacs/emacsver.texi +doc/man/emacs.1 +etc/refcards/emacsver.tex +lib/.deps/ +lisp/international/uni-brackets.el +lwlib/deps/ +lwlib/liblw.a + diff --git a/ChangeLog b/ChangeLog index 9aa2a02..174fe6a 100644 --- a/ChangeLog +++ b/ChangeLog @@ -1,3 +1,9 @@ +2014-11-13 Lars Magne Ingebrigtsen + + * .gitignore: Copy over sufficient ignorable files from the old + .bzrignore that a simple build doesn't list lots of unregistered + files. + 2014-11-11 Eric S. Raymond * Makefile.in: git transition - set VCWITNESS appropriately for git. commit 653bddcea2b852486b427316819aaeb675dd2cc4 Author: Lars Magne Ingebrigtsen Date: Thu Nov 13 14:10:05 2014 +0100 * net/eww.el (eww-form-file): Fix version number. diff --git a/lisp/ChangeLog b/lisp/ChangeLog index 26fa8b8..725ef4d 100644 --- a/lisp/ChangeLog +++ b/lisp/ChangeLog @@ -1,3 +1,7 @@ +2014-11-13 Lars Magne Ingebrigtsen + + * net/eww.el (eww-form-file): Fix version number. + 2014-11-10 Lars Magne Ingebrigtsen * net/eww.el (eww-form-file): :type isn't a valid `defface' keyword. diff --git a/lisp/net/eww.el b/lisp/net/eww.el index 9383064..f16ecb8 100644 --- a/lisp/net/eww.el +++ b/lisp/net/eww.el @@ -105,7 +105,7 @@ See also `eww-form-checkbox-selected-symbol'." :box (:line-width 2 :style released-button) :background "#808080" :foreground "black")) "Face for eww buffer buttons." - :version "24.4" + :version "25.1" :group 'eww) (defface eww-form-checkbox