Using saved parent location: http://bzr.savannah.gnu.org/r/emacs/trunk/ Now on revision 104190. ------------------------------------------------------------ revno: 104190 author: Teodor Zlatanov committer: Katsumi Yamaoka branch nick: trunk timestamp: Tue 2011-05-10 22:21:39 +0000 message: registry.el (registry-prune-hard-candidates, registry-prune-soft-candidates): Helper methods for registry pruning. (registry-prune): Use them. Make the sort function optional. diff: === modified file 'lisp/gnus/ChangeLog' --- lisp/gnus/ChangeLog 2011-05-10 13:20:21 +0000 +++ lisp/gnus/ChangeLog 2011-05-10 22:21:39 +0000 @@ -1,3 +1,9 @@ +2011-05-10 Teodor Zlatanov + + * registry.el (registry-prune-hard-candidates) + (registry-prune-soft-candidates): Helper methods for registry pruning. + (registry-prune): Use them. Make the sort function optional. + 2011-05-10 Julien Danjou * shr.el (shr-put-color-1): Do not bug out when old-props is a face === modified file 'lisp/gnus/registry.el' --- lisp/gnus/registry.el 2011-05-09 22:27:17 +0000 +++ lisp/gnus/registry.el 2011-05-10 22:21:39 +0000 @@ -314,29 +314,57 @@ This is the key count of the :data slot." (hash-table-count (oref db :data))) - (defmethod registry-prune ((db registry-db)) + (defmethod registry-prune ((db registry-db) &optional sortfun) "Prunes the registry-db object THIS. -Removes only entries without the :precious keys." +Removes only entries without the :precious keys if it can, +then removes oldest entries first. +Returns the number of deleted entries. +If SORTFUN is given, tries to keep entries that sort *higher*. +SORTFUN is passed only the two keys so it must look them up directly." + (dolist (collector '(registry-prune-soft-candidates + registry-prune-hard-candidates)) + (let* ((size (registry-size db)) + (collected (funcall collector db)) + (limit (nth 0 collected)) + (candidates (nth 1 collected)) + ;; sort the candidates if SORTFUN was given + (candidates (if sortfun (sort candidates sortfun) candidates)) + (candidates-count (length candidates)) + ;; are we over max-soft? + (prune-needed (> size limit))) + + ;; while we have more candidates than we need to remove... + (while (and (> candidates-count (- size limit)) candidates) + (decf candidates-count) + (setq candidates (cdr candidates))) + + (registry-delete db candidates nil) + (length candidates)))) + + (defmethod registry-prune-soft-candidates ((db registry-db)) + "Collects pruning candidates from the registry-db object THIS. +Proposes only entries without the :precious keys." (let* ((precious (oref db :precious)) (precious-p (lambda (entry-key) (cdr (memq (car entry-key) precious)))) (data (oref db :data)) (limit (oref db :max-soft)) - (size (registry-size db)) (candidates (loop for k being the hash-keys of data using (hash-values v) when (notany precious-p v) - collect k)) - (candidates-count (length candidates)) - ;; are we over max-soft? - (prune-needed (> size limit))) - - ;; while we have more candidates than we need to remove... - (while (and (> candidates-count (- size limit)) candidates) - (decf candidates-count) - (setq candidates (cdr candidates))) - - (registry-delete db candidates nil)))) + collect k))) + (list limit candidates))) + + (defmethod registry-prune-hard-candidates ((db registry-db)) + "Collects pruning candidates from the registry-db object THIS. +Proposes any entries over the max-hard limit minus 10." + (let* ((data (oref db :data)) + ;; prune to 10 below the max-hard limit so we're not + ;; pruning all the time + (limit (- (oref db :max-hard) 10)) + (candidates (loop for k being the hash-keys of data + collect k))) + (list limit candidates)))) (ert-deftest registry-instantiation-test () (should (registry-db "Testing"))) ------------------------------------------------------------ revno: 104189 committer: Leo Liu branch nick: trunk timestamp: Wed 2011-05-11 03:34:51 +0800 message: Bind bookmark-bmenu-search to `/' diff: === modified file 'lisp/ChangeLog' --- lisp/ChangeLog 2011-05-10 08:20:21 +0000 +++ lisp/ChangeLog 2011-05-10 19:34:51 +0000 @@ -1,5 +1,8 @@ 2011-05-10 Leo Liu + * bookmark.el (bookmark-bmenu-mode-map): Bind + bookmark-bmenu-search to `/'. + * mail/footnote.el: Convert to utf-8 encoding. (footnote-unicode-string, footnote-unicode-regexp): New variable. (Footnote-unicode): New function. === modified file 'lisp/bookmark.el' --- lisp/bookmark.el 2011-03-06 00:30:16 +0000 +++ lisp/bookmark.el 2011-05-10 19:34:51 +0000 @@ -1504,9 +1504,7 @@ (define-key map "a" 'bookmark-bmenu-show-annotation) (define-key map "A" 'bookmark-bmenu-show-all-annotations) (define-key map "e" 'bookmark-bmenu-edit-annotation) - ;; The original binding of M-g hides the M-g prefix map. - ;; If someone has a better idea than M-g s, I'm open to suggestions. - (define-key map [?\M-g ?s] 'bookmark-bmenu-search) + (define-key map "/" 'bookmark-bmenu-search) (define-key map [mouse-2] 'bookmark-bmenu-other-window-with-mouse) map)) ------------------------------------------------------------ revno: 104188 committer: U. Ser branch nick: trunk timestamp: Tue 2011-05-10 15:57:12 +0200 message: fix many doubled-word typos diff: === modified file 'ChangeLog' --- ChangeLog 2011-05-09 10:40:26 +0000 +++ ChangeLog 2011-05-10 13:57:12 +0000 @@ -1,3 +1,34 @@ +2011-05-10 Jim Meyering + + fix doubled-word typos + * admin/notes/exit-value: the the -> the + * doc/lispref/minibuf.texi: in in -> in + * doc/misc/ede.texi: or or -> or + * etc/MH-E-NEWS: the the -> the + * etc/PROBLEMS: Likewise. + * lisp/cedet/ede/pmake.el (ede-proj-makefile-garbage-patterns): Likewise. + * lisp/cedet/semantic/complete.el + (semantic-complete-read-tag-local-members): Likewise. + * lisp/cedet/ede.el (ede-auto-add-method): then then -> then + * lisp/gnus/shr.el (shr-colorize-region): on on -> on + * lisp/international/quail.el (quail-insert-kbd-layout): and and -> and + * lisp/kermit.el: and and -> and + * lisp/mh-e/mh-alias.el (mh-alias-minibuffer-confirm-address): + if if -> if it + * lisp/mh-e/mh-scan.el (mh-scan-destination-width): in in -> in + * lisp/net/ldap.el (ldap-search-internal): to to -> to + * lisp/org/org-agenda.el (org-agenda-entry-types): the the -> the + * lisp/org/org-table.el (org-table-get-remote-range): or or -> or + * lisp/org/org-wl.el (org-wl-folder-type): the the -> the + * lisp/org/org.el (org-goto, org-inside-LaTeX-fragment-p): Likewise. + * lisp/progmodes/vhdl-mode.el (vhdl-offsets-alist): Likewise. + * lisp/progmodes/js.el (js-mode): and and -> and + * lisp/textmodes/artist.el (artist-move-to-xy): at at -> at + (artist-draw-region-trim-line-endings): if if -> if + And Safetyc -> Safety. + * lisp/textmodes/reftex-dcr.el (reftex-view-crossref): at at -> at a + * src/xdisp.c (x_intersect_rectangles): the the -> the + 2011-05-09 Teodor Zlatanov * configure.in: Require GnuTLS 2.6.x or higher. === modified file 'admin/notes/exit-value' --- admin/notes/exit-value 2004-05-12 14:39:34 +0000 +++ admin/notes/exit-value 2011-05-10 13:57:12 +0000 @@ -10,7 +10,7 @@ From the point of view of the program, nowadays stdlib.h on both type of systems provides macros `EXIT_SUCCESS' and `EXIT_FAILURE' that should DTRT. -NB: The numerical values of these macros DO NOT need to fulfill the the exit +NB: The numerical values of these macros DO NOT need to fulfill the exit value requirements outlined in the first paragraph! That is the job of the `exit' function. Thus, this kind of construct shows misunderstanding: === modified file 'doc/lispref/minibuf.texi' --- doc/lispref/minibuf.texi 2011-04-08 18:53:26 +0000 +++ doc/lispref/minibuf.texi 2011-05-10 13:57:12 +0000 @@ -1691,7 +1691,7 @@ @item @code{(boundaries . SUFFIX)} specifies @code{completion-boundaries}. The function should return a value of the form @code{(boundaries -START . END)} where START is the position of the beginning boundary in +START . END)} where START is the position of the beginning boundary in the string to complete, and END is the position of the end boundary in SUFFIX. @end itemize === modified file 'doc/misc/ede.texi' --- doc/misc/ede.texi 2011-04-13 11:58:47 +0000 +++ doc/misc/ede.texi 2011-05-10 13:57:12 +0000 @@ -241,7 +241,7 @@ You can add a file to more than one target; this is OK. To remove the current file from a target, type @kbd{C-c . d} -(@code{ede-remove-file}), or or use the @samp{Remove File} menu item +(@code{ede-remove-file}), or use the @samp{Remove File} menu item in the @samp{Target Options} submenu. If the file belongs to multiple targets, this command prompts for each target it could be removed from. === modified file 'etc/MH-E-NEWS' --- etc/MH-E-NEWS 2011-01-25 04:08:28 +0000 +++ etc/MH-E-NEWS 2011-05-10 13:57:12 +0000 @@ -320,7 +320,7 @@ Most of the changes have to do with the renaming of the functions with "mhn" in them to "mh" because nmh doesn't use `mhn'. The names were -also made consistent with the the family of "mml" functions. +also made consistent with the family of "mml" functions. The type of signing or encryption has been generalized so the method is now an option rather than a part of the function's name. The option === modified file 'etc/PROBLEMS' --- etc/PROBLEMS 2011-01-25 04:08:28 +0000 +++ etc/PROBLEMS 2011-05-10 13:57:12 +0000 @@ -1217,7 +1217,7 @@ 2) If the connection is very slow, you might also want to consider switching off scroll bars, menu bar, and tool bar. Adding the following forms to your .emacs file will accomplish that, but only - after the the initial frame is displayed: + after the initial frame is displayed: (scroll-bar-mode -1) (menu-bar-mode -1) === modified file 'lisp/cedet/ede.el' --- lisp/cedet/ede.el 2011-01-25 04:08:28 +0000 +++ lisp/cedet/ede.el 2011-05-10 13:57:12 +0000 @@ -80,7 +80,7 @@ If the value is 'always, then the new file is added to the first target encountered. If the value is 'multi-ask, then if more than one target wants the file, the user is asked. If only one target wants -the file, then then it is automatically added to that target. If the +the file, then it is automatically added to that target. If the value is 'ask, then the user is always asked, unless there is no target willing to take the file. 'never means never perform the check." :group 'ede === modified file 'lisp/cedet/ede/pmake.el' --- lisp/cedet/ede/pmake.el 2011-01-25 04:08:28 +0000 +++ lisp/cedet/ede/pmake.el 2011-05-10 13:57:12 +0000 @@ -478,7 +478,7 @@ (defmethod ede-proj-makefile-garbage-patterns ((this ede-proj-target)) "Return a list of patterns that are considered garbage to THIS. These are removed with make clean." - ;; Get the the source object from THIS, and use the specified garbage. + ;; Get the source object from THIS, and use the specified garbage. (let ((src (ede-target-sourcecode this)) (garb nil)) (while src === modified file 'lisp/cedet/semantic/complete.el' --- lisp/cedet/semantic/complete.el 2011-02-28 01:07:29 +0000 +++ lisp/cedet/semantic/complete.el 2011-05-10 13:57:12 +0000 @@ -1825,7 +1825,7 @@ initial-input history) "Ask for a tag by name from the local type members. -Available tags are from the the current scope. +Available tags are from the current scope. Completion options are presented in a traditional way, with highlighting to resolve same-name collisions. PROMPT is a string to prompt with. === modified file 'lisp/gnus/shr.el' --- lisp/gnus/shr.el 2011-05-10 13:20:21 +0000 +++ lisp/gnus/shr.el 2011-05-10 13:57:12 +0000 @@ -643,7 +643,7 @@ (shr-put-color start end :background (car new-colors)))) new-colors))) -;; Put a color in the region, but avoid putting colors on on blank +;; Put a color in the region, but avoid putting colors on blank ;; text at the start of the line, and the newline at the end, to avoid ;; ugliness. Also, don't overwrite any existing color information, ;; since this can be called recursively, and we want the "inner" color === modified file 'lisp/international/quail.el' --- lisp/international/quail.el 2011-01-31 23:54:50 +0000 +++ lisp/international/quail.el 2011-05-10 13:57:12 +0000 @@ -818,7 +818,7 @@ (bar "|") lower upper row) ;; Make table without horizontal lines. Each column for a key - ;; has the form "| LU |" where L is for lower key and and U is + ;; has the form "| LU |" where L is for lower key and U is ;; for a upper key. If width of L (U) is greater than 1, ;; preceding (following) space is not inserted. (put-text-property 0 1 'face 'bold bar) === modified file 'lisp/kermit.el' --- lisp/kermit.el 2011-01-25 04:08:28 +0000 +++ lisp/kermit.el 2011-05-10 13:57:12 +0000 @@ -63,7 +63,7 @@ ;; the -c (connect) command line option, which means you also have to specify a ;; line and baud on the command line, as in "kermit -l /dev/tty53 -b 9600 -c". ;; However, this will cause kermit to exit when the connection is closed. So -;; in order to do a file transfer, you have to think ahead and and add -r +;; in order to do a file transfer, you have to think ahead and add -r ;; (receive) to the command line. This means that you can't use the server ;; feature. The only fix I can see is to muck around with the source code for ;; kermit, although this probably wouldn't be too hard. What is needed is an === modified file 'lisp/mh-e/mh-alias.el' --- lisp/mh-e/mh-alias.el 2011-04-28 15:32:28 +0000 +++ lisp/mh-e/mh-alias.el 2011-05-10 13:57:12 +0000 @@ -286,7 +286,7 @@ (the-name (buffer-substring-no-properties beg (point)))) (if (mh-assoc-string the-name mh-alias-alist t) (message "%s -> %s" the-name (mh-alias-expand the-name)) - ;; Check if if was a single word likely to be an alias + ;; Check if it was a single word likely to be an alias (if (and (equal mh-alias-flash-on-comma 1) (not (string-match " " the-name))) (message "No alias for %s" the-name)))))) === modified file 'lisp/mh-e/mh-scan.el' --- lisp/mh-e/mh-scan.el 2011-01-26 08:36:39 +0000 +++ lisp/mh-e/mh-scan.el 2011-05-10 13:57:12 +0000 @@ -308,7 +308,7 @@ in it. \" \" blank space is the default character. - \"%\" indicates that the message in in a named MH sequence. + \"%\" indicates that the message in a named MH sequence. \"-\" indicates that the message has been annotated with a replied field. \"t\" indicates that the message contains mymbox in the To: field. \"c\" indicates that the message contains mymbox in the Cc: field. === modified file 'lisp/net/ldap.el' --- lisp/net/ldap.el 2011-03-13 22:17:17 +0000 +++ lisp/net/ldap.el 2011-05-10 13:57:12 +0000 @@ -498,7 +498,7 @@ matching one will be used. Note the \"port ldap\" part is NOT required. - `host' is a string naming one or more (blank-separated) LDAP servers to + `host' is a string naming one or more (blank-separated) LDAP servers to try to connect to. Each host name may optionally be of the form HOST:PORT. `filter' is a filter string for the search as described in RFC 1558. `attributes' is a list of strings indicating which attributes to retrieve === modified file 'lisp/org/org-agenda.el' --- lisp/org/org-agenda.el 2011-02-28 01:07:29 +0000 +++ lisp/org/org-agenda.el 2011-05-10 13:57:12 +0000 @@ -3370,7 +3370,7 @@ Never set this variable globally using `setq', because then it will apply to all future agenda commands. Instead, bind it with -`let' to scope it dynamically into the the agenda-constructing +`let' to scope it dynamically into the agenda-constructing command. A good way to set it is through options in `org-agenda-custom-commands'. For a more flexible (though somewhat less efficient) way of determining what is included in === modified file 'lisp/org/org-table.el' --- lisp/org/org-table.el 2011-02-28 01:07:29 +0000 +++ lisp/org/org-table.el 2011-05-10 13:57:12 +0000 @@ -4341,7 +4341,7 @@ will then be used. Alternatively, it may be an ID referring to any entry, also in a different file. In this case, the first table in that entry will be referenced. -FORM is a field or range descriptor like \"@2$3\" or or \"B3\" or +FORM is a field or range descriptor like \"@2$3\" or \"B3\" or \"@I$2..@II$2\". All the references must be absolute, not relative. The return value is either a single string for a single field, or a === modified file 'lisp/org/org-wl.el' --- lisp/org/org-wl.el 2011-01-26 08:36:39 +0000 +++ lisp/org/org-wl.el 2011-05-10 13:57:12 +0000 @@ -118,7 +118,7 @@ (defun org-wl-folder-type (folder) "Return symbol that indicates the type of FOLDER. FOLDER is the wanderlust folder name. The first character of the -folder name determines the the folder type." +folder name determines the folder type." (let* ((indicator (substring folder 0 1)) (type (cdr (assoc indicator org-wl-folder-types)))) ;; maybe access or file folder === modified file 'lisp/org/org.el' --- lisp/org/org.el 2011-03-06 02:43:19 +0000 +++ lisp/org/org.el 2011-05-10 13:57:12 +0000 @@ -6496,7 +6496,7 @@ that copy, use org-occur and incremental search to find a location. When pressing RET or `Q', the command returns to the original buffer in which the visibility is still unchanged. After RET is will also jump to -the location selected in the indirect buffer and expose the +the location selected in the indirect buffer and expose the headline hierarchy above." (interactive "P") (let* ((org-refile-targets `((nil . (:maxlevel . ,org-goto-max-level)))) @@ -15746,7 +15746,7 @@ Even though the matchers for math are configurable, this function assumes that \\begin, \\(, \\[, and $$ are always used. Only the single dollar delimiters are skipped when they have been removed by customization. -The return value is nil, or a cons cell with the delimiter and +The return value is nil, or a cons cell with the delimiter and the position of this delimiter. This function does a reasonably good job, but can locally be fooled by === modified file 'lisp/progmodes/js.el' --- lisp/progmodes/js.el 2011-04-22 18:44:26 +0000 +++ lisp/progmodes/js.el 2011-05-10 13:57:12 +0000 @@ -3347,7 +3347,7 @@ ;; Important to fontify the whole buffer syntactically! If we don't, ;; then we might have regular expression literals that aren't marked ;; as strings, which will screw up parse-partial-sexp, scan-lists, - ;; etc. and and produce maddening "unbalanced parenthesis" errors. + ;; etc. and produce maddening "unbalanced parenthesis" errors. ;; When we attempt to find the error and scroll to the portion of ;; the buffer containing the problem, JIT-lock will apply the ;; correct syntax to the regular expresion literal and the problem === modified file 'lisp/progmodes/vhdl-mode.el' --- lisp/progmodes/vhdl-mode.el 2011-02-28 01:07:29 +0000 +++ lisp/progmodes/vhdl-mode.el 2011-05-10 13:57:12 +0000 @@ -1937,7 +1937,7 @@ comment -- a line containing only a comment arglist-intro -- the first line in an argument list arglist-cont -- subsequent argument list lines when no - arguments follow on the same line as the + arguments follow on the same line as the arglist opening paren arglist-cont-nonempty -- subsequent argument list lines when at least one argument follows on the same === modified file 'lisp/textmodes/artist.el' --- lisp/textmodes/artist.el 2011-03-02 03:48:01 +0000 +++ lisp/textmodes/artist.el 2011-05-10 13:57:12 +0000 @@ -1942,7 +1942,7 @@ ;; ;; Example: In the figure below, the `X' is the very last ;; character in the buffer ("a non-empty line at the - ;; end"). Suppose point is at at P. Then (forward-line 1) + ;; end"). Suppose point is at P. Then (forward-line 1) ;; returns 0 and puts point after the `X'. ;; ;; --------top of buffer-------- @@ -4030,7 +4030,7 @@ (defun artist-draw-region-trim-line-endings (min-y max-y) "Trim lines in current draw-region from MIN-Y to MAX-Y. Trimming here means removing white space at end of a line." - ;; Safetyc check: switch min-y and max-y if if max-y is smaller + ;; Safety check: switch min-y and max-y if max-y is smaller (if (< max-y min-y) (let ((tmp min-y)) (setq min-y max-y) === modified file 'lisp/textmodes/reftex-dcr.el' --- lisp/textmodes/reftex-dcr.el 2011-01-25 04:08:28 +0000 +++ lisp/textmodes/reftex-dcr.el 2011-05-10 13:57:12 +0000 @@ -34,7 +34,7 @@ (defun reftex-view-crossref (&optional arg auto-how fail-quietly) "View cross reference of macro at point. Point must be on the KEY -argument. When at at `\\ref' macro, show corresponding `\\label' +argument. When at a `\\ref' macro, show corresponding `\\label' definition, also in external documents (`xr'). When on a label, show a locations where KEY is referenced. Subsequent calls find additional locations. When on a `\\cite', show the associated `\\bibitem' macro or === modified file 'src/xdisp.c' --- src/xdisp.c 2011-04-29 17:56:27 +0000 +++ src/xdisp.c 2011-05-10 13:57:12 +0000 @@ -254,7 +254,7 @@ still left to right, i.e. the iterator "thinks" the first character is at the leftmost pixel position. The iterator does not know that PRODUCE_GLYPHS reverses the order of the glyphs that the iterator - delivers. This is important when functions from the the move_it_* + delivers. This is important when functions from the move_it_* family are used to get to certain screen position or to match screen coordinates with buffer coordinates: these functions use the iterator geometry, which is left to right even in R2L paragraphs. @@ -26254,7 +26254,7 @@ { result->x = right->x; - /* The right end of the intersection is the minimum of the + /* The right end of the intersection is the minimum of the right ends of left and right. */ result->width = (min (left->x + left->width, right->x + right->width) - result->x); ------------------------------------------------------------ revno: 104187 author: Julien Danjou committer: Katsumi Yamaoka branch nick: trunk timestamp: Tue 2011-05-10 13:20:21 +0000 message: shr.el (shr-put-color-1): Do not bug out when old-props is a face symbol and not a list. diff: === modified file 'lisp/gnus/ChangeLog' --- lisp/gnus/ChangeLog 2011-05-10 07:30:49 +0000 +++ lisp/gnus/ChangeLog 2011-05-10 13:20:21 +0000 @@ -1,3 +1,8 @@ +2011-05-10 Julien Danjou + + * shr.el (shr-put-color-1): Do not bug out when old-props is a face + symbol and not a list. + 2011-05-10 Katsumi Yamaoka * gnus-art.el (gnus-article-mode): Move binding of === modified file 'lisp/gnus/shr.el' --- lisp/gnus/shr.el 2011-05-10 03:14:44 +0000 +++ lisp/gnus/shr.el 2011-05-10 13:20:21 +0000 @@ -716,7 +716,8 @@ (defun shr-put-color-1 (start end type color) (let* ((old-props (get-text-property start 'face)) - (do-put (not (memq type old-props))) + (do-put (and (listp old-props) + (not (memq type old-props)))) change) (while (< start end) (setq change (next-single-property-change start 'face nil end)) @@ -724,7 +725,8 @@ (put-text-property start change 'face (nconc (list type color) old-props))) (setq old-props (get-text-property change 'face)) - (setq do-put (not (memq type old-props))) + (setq do-put (and (listp old-props) + (not (memq type old-props)))) (setq start change)) (when (and do-put (> end start)) ------------------------------------------------------------ revno: 104186 fixes bug(s): http://debbugs.gnu.org/8640 committer: Juanma Barranquero branch nick: trunk timestamp: Tue 2011-05-10 12:31:33 +0200 message: src/image.c (Finit_image_library): Return t for built-in image types (bug#8640). diff: === modified file 'src/ChangeLog' --- src/ChangeLog 2011-05-09 11:29:51 +0000 +++ src/ChangeLog 2011-05-10 10:31:33 +0000 @@ -1,3 +1,8 @@ +2011-05-10 Juanma Barranquero + + * image.c (Finit_image_library): Return t for built-in image types, + like pbm and xbm. (Bug#8640) + 2011-05-09 Andreas Schwab * w32menu.c (set_frame_menubar): Fix submenu allocation. === modified file 'src/image.c' --- src/image.c 2011-05-06 06:30:56 +0000 +++ src/image.c 2011-05-10 10:31:33 +0000 @@ -8609,6 +8609,10 @@ return XCDR (tested); #endif + /* Types pbm and xbm are built-in and always available. */ + if (EQ (type, Qpbm) || EQ (type, Qxbm)) + return Qt; + #if defined (HAVE_XPM) || defined (HAVE_NS) if (EQ (type, Qxpm)) return CHECK_LIB_AVAILABLE (&xpm_type, init_xpm_functions, libraries); @@ -8641,10 +8645,8 @@ #if defined (HAVE_IMAGEMAGICK) if (EQ (type, Qimagemagick)) - { - return CHECK_LIB_AVAILABLE (&imagemagick_type, init_imagemagick_functions, - libraries); - } + return CHECK_LIB_AVAILABLE (&imagemagick_type, init_imagemagick_functions, + libraries); #endif #ifdef HAVE_GHOSTSCRIPT ------------------------------------------------------------ revno: 104185 committer: Glenn Morris branch nick: trunk timestamp: Tue 2011-05-10 06:18:34 -0400 message: Auto-commit of generated files. diff: === modified file 'autogen/configure' --- autogen/configure 2011-05-06 10:19:05 +0000 +++ autogen/configure 2011-05-10 10:18:34 +0000 @@ -11199,23 +11199,23 @@ else PKG_CONFIG_MIN_VERSION=0.9.0 if $PKG_CONFIG --atleast-pkgconfig-version $PKG_CONFIG_MIN_VERSION; then - { $as_echo "$as_me:${as_lineno-$LINENO}: checking for gnutls >= 2.2.4" >&5 -$as_echo_n "checking for gnutls >= 2.2.4... " >&6; } + { $as_echo "$as_me:${as_lineno-$LINENO}: checking for gnutls >= 2.6.0" >&5 +$as_echo_n "checking for gnutls >= 2.6.0... " >&6; } - if $PKG_CONFIG --exists "gnutls >= 2.2.4" 2>&5; then + if $PKG_CONFIG --exists "gnutls >= 2.6.0" 2>&5; then { $as_echo "$as_me:${as_lineno-$LINENO}: result: yes" >&5 $as_echo "yes" >&6; } succeeded=yes { $as_echo "$as_me:${as_lineno-$LINENO}: checking LIBGNUTLS_CFLAGS" >&5 $as_echo_n "checking LIBGNUTLS_CFLAGS... " >&6; } - LIBGNUTLS_CFLAGS=`$PKG_CONFIG --cflags "gnutls >= 2.2.4"|sed -e 's,///*,/,g'` + LIBGNUTLS_CFLAGS=`$PKG_CONFIG --cflags "gnutls >= 2.6.0"|sed -e 's,///*,/,g'` { $as_echo "$as_me:${as_lineno-$LINENO}: result: $LIBGNUTLS_CFLAGS" >&5 $as_echo "$LIBGNUTLS_CFLAGS" >&6; } { $as_echo "$as_me:${as_lineno-$LINENO}: checking LIBGNUTLS_LIBS" >&5 $as_echo_n "checking LIBGNUTLS_LIBS... " >&6; } - LIBGNUTLS_LIBS=`$PKG_CONFIG --libs "gnutls >= 2.2.4"|sed -e 's,///*,/,g'` + LIBGNUTLS_LIBS=`$PKG_CONFIG --libs "gnutls >= 2.6.0"|sed -e 's,///*,/,g'` { $as_echo "$as_me:${as_lineno-$LINENO}: result: $LIBGNUTLS_LIBS" >&5 $as_echo "$LIBGNUTLS_LIBS" >&6; } else @@ -11225,7 +11225,7 @@ LIBGNUTLS_LIBS="" ## If we have a custom action on failure, don't print errors, but ## do set a variable so people can do so. - LIBGNUTLS_PKG_ERRORS=`$PKG_CONFIG --errors-to-stdout --print-errors "gnutls >= 2.2.4"` + LIBGNUTLS_PKG_ERRORS=`$PKG_CONFIG --errors-to-stdout --print-errors "gnutls >= 2.6.0"` fi @@ -21589,7 +21589,7 @@ echo " Does Emacs use -ldbus? ${HAVE_DBUS}" echo " Does Emacs use -lgconf? ${HAVE_GCONF}" echo " Does Emacs use -lselinux? ${HAVE_LIBSELINUX}" -echo " Does Emacs use -lgnutls? ${HAVE_GNUTLS}" +echo " Does Emacs use -lgnutls (2.6.x or higher)? ${HAVE_GNUTLS}" echo " Does Emacs use -lxml2? ${HAVE_LIBXML2}" echo " Does Emacs use -lfreetype? ${HAVE_FREETYPE}" ------------------------------------------------------------ revno: 104184 committer: Leo Liu branch nick: trunk timestamp: Tue 2011-05-10 16:20:21 +0800 message: Add a new footnote style unicode See also the discussion thread in: http://thread.gmane.org/gmane.emacs.devel/139221 diff: === modified file 'lisp/ChangeLog' --- lisp/ChangeLog 2011-05-10 08:14:42 +0000 +++ lisp/ChangeLog 2011-05-10 08:20:21 +0000 @@ -1,6 +1,10 @@ 2011-05-10 Leo Liu * mail/footnote.el: Convert to utf-8 encoding. + (footnote-unicode-string, footnote-unicode-regexp): New variable. + (Footnote-unicode): New function. + (footnote-style-alist): Add unicode style to the list. + (footnote-style): Doc fix. 2011-05-10 Glenn Morris Stefan Monnier === modified file 'lisp/mail/footnote.el' --- lisp/mail/footnote.el 2011-05-10 08:14:42 +0000 +++ lisp/mail/footnote.el 2011-05-10 08:20:21 +0000 @@ -291,6 +291,25 @@ (string (aref footnote-latin-string (mod (1- n) (length footnote-latin-string))))) +;; Unicode + +(defconst footnote-unicode-string "⁰¹²³⁴⁵⁶⁷⁸⁹" + "String of unicode footnoting characters.") + +(defconst footnote-unicode-regexp (concat "[" footnote-unicode-string "]+") + "Regexp for unicode footnoting characters.") + +(defun Footnote-unicode (n) + "Unicode footnote style. +Use unicode characters for footnoting." + (let (modulus result done) + (while (not done) + (setq modulus (mod n 10) + n (truncate n 10)) + (and (zerop n) (setq done t)) + (push (aref footnote-unicode-string modulus) result)) + (apply #'string result))) + ;;; list of all footnote styles (defvar footnote-style-alist `((numeric Footnote-numeric ,footnote-numeric-regexp) @@ -298,7 +317,8 @@ (english-upper Footnote-english-upper ,footnote-english-upper-regexp) (roman-lower Footnote-roman-lower ,footnote-roman-lower-regexp) (roman-upper Footnote-roman-upper ,footnote-roman-upper-regexp) - (latin Footnote-latin ,footnote-latin-regexp)) + (latin Footnote-latin ,footnote-latin-regexp) + (unicode Footnote-unicode ,footnote-unicode-regexp)) "Styles of footnote tags available. By default only boring Arabic numbers, English letters and Roman Numerals are available. @@ -313,8 +333,12 @@ roman-lower == i, ii, iii, iv, v, ... roman-upper == I, II, III, IV, V, ... latin == ¹ ² ³ º ª § ¶ +unicode == ¹, ², ³, ... See also variables `footnote-start-tag' and `footnote-end-tag'. +Note: some characters in the unicode style may not show up +properly if the default font does not contain those characters. + Customizing this variable has no effect on buffers already displaying footnotes. To change the style of footnotes in such a buffer use the command `Footnote-set-style'." ------------------------------------------------------------ revno: 104183 committer: Leo Liu branch nick: trunk timestamp: Tue 2011-05-10 16:14:42 +0800 message: Convert mail/footnote.el to utf-8 encoding diff: === modified file 'lisp/ChangeLog' --- lisp/ChangeLog 2011-05-10 02:31:42 +0000 +++ lisp/ChangeLog 2011-05-10 08:14:42 +0000 @@ -1,3 +1,7 @@ +2011-05-10 Leo Liu + + * mail/footnote.el: Convert to utf-8 encoding. + 2011-05-10 Glenn Morris Stefan Monnier === modified file 'lisp/mail/footnote.el' --- lisp/mail/footnote.el 2011-01-25 04:08:28 +0000 +++ lisp/mail/footnote.el 2011-05-10 08:14:42 +0000 @@ -1,4 +1,4 @@ -;;; footnote.el --- footnote support for message mode -*- coding: iso-latin-1;-*- +;;; footnote.el --- footnote support for message mode -*- coding: utf-8;-*- ;; Copyright (C) 1997, 2000-2011 Free Software Foundation, Inc. @@ -278,7 +278,7 @@ ;; Latin-1 -(defconst footnote-latin-string "" +(defconst footnote-latin-string "¹²³ºª§¶" "String of Latin-1 footnoting characters.") ;; Note not [...]+, because this style cycles. @@ -312,7 +312,7 @@ english-upper == A, B, C, ... roman-lower == i, ii, iii, iv, v, ... roman-upper == I, II, III, IV, V, ... -latin == +latin == ¹ ² ³ º ª § ¶ See also variables `footnote-start-tag' and `footnote-end-tag'. Customizing this variable has no effect on buffers already ------------------------------------------------------------ revno: 104182 committer: Katsumi Yamaoka branch nick: trunk timestamp: Tue 2011-05-10 07:30:49 +0000 message: gnus-art.el (gnus-article-mode): Move binding of shr-put-image-function here from gnus-article-prepare-display. diff: === modified file 'lisp/gnus/ChangeLog' --- lisp/gnus/ChangeLog 2011-05-10 03:14:44 +0000 +++ lisp/gnus/ChangeLog 2011-05-10 07:30:49 +0000 @@ -1,5 +1,8 @@ 2011-05-10 Katsumi Yamaoka + * gnus-art.el (gnus-article-mode): Move binding of + shr-put-image-function here from gnus-article-prepare-display. + * shr.el (shr-put-image-function): New variable. (shr-image-fetched, shr-image-displayer, shr-tag-img): Funcall it. (shr-put-image): Return scaled image. === modified file 'lisp/gnus/gnus-art.el' --- lisp/gnus/gnus-art.el 2011-05-10 03:14:44 +0000 +++ lisp/gnus/gnus-art.el 2011-05-10 07:30:49 +0000 @@ -4418,6 +4418,7 @@ (gnus-run-hooks 'gnus-article-menu-hook))) (defvar bookmark-make-record-function) +(defvar shr-put-image-function) (defun gnus-article-mode () "Major mode for displaying an article. @@ -4461,6 +4462,8 @@ ;; Prevent Emacs 22 from displaying non-break space with `nobreak-space' ;; face. (set (make-local-variable 'nobreak-char-display) nil) + ;; Enable `gnus-article-remove-images' to delete images shr.el renders. + (set (make-local-variable 'shr-put-image-function) 'gnus-shr-put-image) (setq cursor-in-non-selected-windows nil) (gnus-set-default-directory) (buffer-disable-undo) @@ -4656,8 +4659,6 @@ (gnus-run-hooks 'gnus-article-prepare-hook) t)))))) -(defvar shr-put-image-function) - ;;;###autoload (defun gnus-article-prepare-display () "Make the current buffer look like a nice article." @@ -4671,7 +4672,6 @@ (setq buffer-read-only nil gnus-article-wash-types nil gnus-article-image-alist nil) - (set (make-local-variable 'shr-put-image-function) 'gnus-shr-put-image) (gnus-run-hooks 'gnus-tmp-internal-hook) (when gnus-display-mime-function (funcall gnus-display-mime-function)))) ------------------------------------------------------------ revno: 104181 committer: Katsumi Yamaoka branch nick: trunk timestamp: Tue 2011-05-10 03:14:44 +0000 message: shr.el (shr-put-image-function): New variable. (shr-image-fetched, shr-image-displayer, shr-tag-img): Funcall it. (shr-put-image): Return scaled image. gnus-art.el (gnus-shr-put-image): New function. (gnus-article-prepare-display): Bind shr-put-image-function to it. gnus-html.el (gnus-html-wash-images): Register scaled images, not original ones, as deletable. diff: === modified file 'lisp/gnus/ChangeLog' --- lisp/gnus/ChangeLog 2011-05-09 22:27:17 +0000 +++ lisp/gnus/ChangeLog 2011-05-10 03:14:44 +0000 @@ -1,3 +1,15 @@ +2011-05-10 Katsumi Yamaoka + + * shr.el (shr-put-image-function): New variable. + (shr-image-fetched, shr-image-displayer, shr-tag-img): Funcall it. + (shr-put-image): Return scaled image. + + * gnus-art.el (gnus-shr-put-image): New function. + (gnus-article-prepare-display): Bind shr-put-image-function to it. + + * gnus-html.el (gnus-html-wash-images): Register scaled images, not + original ones, as deletable. + 2011-05-09 Stefan Monnier * nntp.el (nntp-open-connection): Set TCP keepalive option. === modified file 'lisp/gnus/gnus-art.el' --- lisp/gnus/gnus-art.el 2011-05-02 22:41:38 +0000 +++ lisp/gnus/gnus-art.el 2011-05-10 03:14:44 +0000 @@ -4656,6 +4656,8 @@ (gnus-run-hooks 'gnus-article-prepare-hook) t)))))) +(defvar shr-put-image-function) + ;;;###autoload (defun gnus-article-prepare-display () "Make the current buffer look like a nice article." @@ -4669,6 +4671,7 @@ (setq buffer-read-only nil gnus-article-wash-types nil gnus-article-image-alist nil) + (set (make-local-variable 'shr-put-image-function) 'gnus-shr-put-image) (gnus-run-hooks 'gnus-tmp-internal-hook) (when gnus-display-mime-function (funcall gnus-display-mime-function)))) @@ -6139,6 +6142,15 @@ (not gnus-inhibit-hiding)) (gnus-article-hide-headers))) +(declare-function shr-put-image "shr" (data alt)) + +(defun gnus-shr-put-image (data alt) + "Put image DATA with a string ALT. Enable image to be deleted." + (let ((image (shr-put-image data (propertize (or alt "*") + 'gnus-image-category 'shr)))) + (when image + (gnus-add-image 'shr image)))) + ;;; Article savers. (defun gnus-output-to-file (file-name) === modified file 'lisp/gnus/gnus-html.el' --- lisp/gnus/gnus-html.el 2011-05-02 22:41:38 +0000 +++ lisp/gnus/gnus-html.el 2011-05-10 03:14:44 +0000 @@ -215,16 +215,16 @@ (mm-with-part handle (buffer-string)) nil t)))) (if image - (progn - (gnus-put-image - (gnus-rescale-image - image (gnus-html-maximum-image-size)) - (gnus-string-or (prog1 - (buffer-substring start end) - (delete-region start end)) - "*") - 'cid) - (gnus-add-image 'cid image)) + (gnus-add-image + 'cid + (gnus-put-image + (gnus-rescale-image + image (gnus-html-maximum-image-size)) + (gnus-string-or (prog1 + (buffer-substring start end) + (delete-region start end)) + "*") + 'cid)) (widget-convert-button 'link start end :action 'gnus-html-insert-image === modified file 'lisp/gnus/shr.el' --- lisp/gnus/shr.el 2011-05-07 10:41:20 +0000 +++ lisp/gnus/shr.el 2011-05-10 03:14:44 +0000 @@ -87,6 +87,9 @@ This is used for cid: URLs, and the function is called with the cid: URL as the argument.") +(defvar shr-put-image-function 'shr-put-image + "Function called to put image and alt string.") + (defface shr-strike-through '((t (:strike-through t))) "Font for elements." :group 'shr) @@ -500,10 +503,11 @@ (inhibit-read-only t)) (delete-region start end) (goto-char start) - (shr-put-image data alt))))))) + (funcall shr-put-image-function data alt))))))) (kill-buffer (current-buffer))) (defun shr-put-image (data alt) + "Put image DATA with a string ALT. Return image." (if (display-graphic-p) (let ((image (ignore-errors (shr-rescale-image data)))) @@ -513,7 +517,8 @@ (when (and (> (current-column) 0) (> (car (image-size image t)) 400)) (insert "\n")) - (insert-image image (or alt "*")))) + (insert-image image (or alt "*"))) + image) (insert alt))) (defun shr-rescale-image (data) @@ -576,8 +581,8 @@ (substring url (match-end 0))))) (when image (goto-char start) - (shr-put-image image - (buffer-substring-no-properties start end)) + (funcall shr-put-image-function + image (buffer-substring-no-properties start end)) (delete-region (point) end)))) (url-retrieve url 'shr-image-fetched (list (current-buffer) start end) @@ -864,7 +869,7 @@ (if (or (not shr-content-function) (not (setq image (funcall shr-content-function url)))) (insert alt) - (shr-put-image image alt)))) + (funcall shr-put-image-function image alt)))) ((or shr-inhibit-images (and shr-blocked-images (string-match shr-blocked-images url))) @@ -874,7 +879,7 @@ (shr-insert (truncate-string-to-width alt 8)) (shr-insert alt)))) ((url-is-cached (shr-encode-url url)) - (shr-put-image (shr-get-image-data url) alt)) + (funcall shr-put-image-function (shr-get-image-data url) alt)) (t (insert alt) (funcall