gnus-start.el (gnus-activate-group): Take an optional parameter to say that you don't want to call gnus-request-group with don-check, but do check the reponse. This is for virtual groups only.
pop3.el (pop3-streaming-movemail): Return t for success; imap.el (imap-log): New convenience function used throughout instead of repeating the same code all over the place.
pop3-set-process-query-on-exit-flag: New function that's an alias to set-process-query-on-exit-flag, or process-kill-without-query for XEmacs and old Emacsen.
mail-source.el (mail-source-delete-crash-box): Always move the crash box to the Incoming file. Fixes mistake in previous checkin; Do incremental NOV updates when scanning new male. (nnml-save-incremental-nov, nnml-open-incremental-nov, nnml-add-incremental-nov): New functions to do "incremental" nov updates, where we just append to the end of the existing nov files without reading/writing them in full.
pop3.el (pop3-write-to-file): Don't output messages when saving; mail-source.el (mail-source-delete-crash-box): Really only check the incoming files once in a while; nnml.el (nnml-save-nov): Message around nnml-save-nov so that the culprit is more visible; pop3.el (pop3-send-streaming-command): Off-by-one error on the request loop (for debugging purposes) removed.
gnus-start.el: White space clean up; mail-source.el (mail-source-fetch-pop): Use streaming pop3 retrieval; pop3.el (pop3-streaming-movemail): Respect pop3-leave-mail-on-server; pop3.el (pop3-logon): Fix up unbound variable typo; mail-source.el (mail-source-delete-crash-box): Only check the incoming files for deletion once per day to save a lot of file accesses.
pop3.el (pop3-movemail): Use erase-buffer instead of looping and deleting regions, which seems rather odd; gnus-start.el (gnus-get-unread-articles): Protect against groups that come from no known methods.
Rewrite the Gnus group activation method to be more efficient; nnmh.el (nnmh-request-list-1): Fix up the recursion behavior; Add more changes related to the new methodology for requesting backend data.
* progmodes/compile.el (compilation-error-regexp-alist-alist):
Remove ruby regexp; handle Ruby errors with gcc-include and gnu.
Recognize leading tab in gcc-include regexp. Ignore names with
leading "from" or "in" in gnu regexp (Bug#6937).
Stefan Monnier [Sat, 4 Sep 2010 18:47:29 +0000 (20:47 +0200)]
Avoid global recursive calls to kill-buffer-hooks, and fit into 80 cols.
* lisp/textmodes/ispell.el (ispell-process-buffer-name): Remove.
(ispell-start-process): Avoid setq and simplify logic.
(ispell-init-process): Setup kill-buffer-hook locally when needed.
(kill-buffer-hook): Don't use it globally with code that uses
expand-file-name since that may call kill-buffer via
code_conversion_restore.
* emacs-lisp/package.el (package--download-one-archive): Ensure
that archive-contents is valid before saving it.
(package-activate-1, package-mark-obsolete, define-package)
(package-compute-transaction, package-list-maybe-add): Use push.
(gnus-article-copy-string): Say what data we copied; (gnus-html-wash-tags): Remove even more white space around <pre_int>; (gnus-agent-load-alist): Check whether the agentview files exist before trying to read them.
Eli Zaretskii [Sat, 4 Sep 2010 15:16:08 +0000 (18:16 +0300)]
Fix display of composed R2L text on MS-Windows.
w32uniscribe.c (uniscribe_shape): Update commentary. Don't
try to reorder grapheme clusters, since LGSTRING should always
hold them in the logical order.
(uniscribe_encode_char, uniscribe_shape): Force ScriptShape to
return glyph codes in the logical order.
mm-util.el: Just return the image directories, not all directories in the path in addition to the image directories; Maintain a cache of the image directories. This means that the `g' command in Gnus doesn't have to stat dozens of directories each time; nnmh.el: Only recurse down into subdirectories if the link count is more than 2. This results in a 100x speed up on my nnmh spool, and that's from an SSD disk, and not over nfs.
gnus-html.el: Remove more white space before <pre_int> image spacers; Decode entities at the end. So that entities inside the tags don't mess up the rest of the "parsing".
gnus-agent.el: Change the default so that nnimap methods aren't agentized by default. There's apparently many problems related to agent/imap behaviour; gnus-art.el: Don't reuse the 'gnus-data text property, but use a new property. This avoids stomping over other functions that use this for other things; gnus-html.el: Add a new `i' command to insert images.
gnus-html: Comment fix.; gnus-art.el: Provide an `u' command on urls and the like that copies the string over to the kill ring; Also have the `u' command work for HTML links.
Stefan Monnier [Fri, 3 Sep 2010 13:28:09 +0000 (15:28 +0200)]
Use SMIE's blink-paren for octave-mode.
* lisp/progmodes/octave-mod.el (octave-font-lock-close-quotes):
Backslashes do not escape single-quotes, single-quotes do.
(octave-block-else-regexp, octave-block-end-regexp)
(octave-block-match-alist): Remove.
(octave-smie-bnf-table): New var, with old content.
(octave-smie-op-levels): Use it.
(octave-smie-closer-alist): New var.
(octave-mode): Use it. Setup smie-blink-matching and electric-indent.
(octave-blink-matching-block-open): Remove.
(octave-reindent-then-newline-and-indent, octave-electric-semi)
(octave-electric-space): Let self-insert-command run expand-abbrev and
blink parens.
Stefan Monnier [Fri, 3 Sep 2010 13:06:51 +0000 (15:06 +0200)]
* lisp/electric.el (electricity): New group.
(electric-indent-chars): New var.
(electric-indent-post-self-insert-function): New fun.
(electric-indent-mode): New minor mode.
(electric-pair-skip-self): New custom.
(electric-pair-post-self-insert-function): New function.
(electric-pair-mode): New minor mode.
Stefan Monnier [Fri, 3 Sep 2010 11:26:08 +0000 (13:26 +0200)]
* lisp/calc/calc-aent.el (calcAlg-blink-matching-check): New fun, to replace
calcAlg-blink-matching-open.
(calc-alg-ent-map, calc-alg-ent-esc-map): Initialize in the declaration.
(calc-do-alg-entry): Only touch the part of the keymap that varies.
Use the new blink-matching-check-function.
Stefan Monnier [Fri, 3 Sep 2010 11:18:45 +0000 (13:18 +0200)]
Provide blink-matching support to SMIE.
* lisp/emacs-lisp/smie.el (smie-bnf-closer-alist): New function.
(smie-blink-matching-triggers, smie-blink-matching-inners): New vars.
(smie-blink-matching-check, smie-blink-matching-open): New functions.
message.el (message-generate-hashcash): Change default to 'opportunistic if hashcash is installed; gnus-html.el (gnus-html-put-image): Only call image-size once, since it's somewhat time-consuming on remote X servers.
Stefan Monnier [Thu, 2 Sep 2010 21:57:08 +0000 (23:57 +0200)]
Add blink-matching-check-function and misc cleanups.
* lisp/simple.el (newline): Eliminate optimization.
Use post-self-insert-hook to set hard-newline and things before
running post-self-insert-hook.
(blink-matching-check-mismatch): New function.
(blink-matching-check-function): New variable.
(blink-matching-open): Use them.
Skip back forward over prefix chars skipped by forward-sexp.
Don't check if the parens are backslash escaped.
(blink-paren-post-self-insert-function): Check backslash escaping here.
ispell.el: better `default-directory' and kill-ispell-on-exit handling
* textmodes/ispell.el (ispell-init-process): Use "~/" as
`default-directory' unless using Ispell per-directory personal
dictionaries and not in a mini-buffer under XEmacs.
(kill-buffer-hook): Do not kill ispell process on exit when
`ispell-process-directory' is "~/". (Bug#6143)
gnus-html.el (gnus-html-wash-tags): Don't show images that are really small. They're probably tracking images; nntp.el (nntp-request-set-mark): Refuse to do marks if nntp-marks-file-name is nil.
gnus-html.el (gnus-html-wash-tags): "A" is also used for links, just like "a", it seems like; (gnus-html-image-url-blocked-p): Take a parameter for blocked-images since it needs to be picked from the correct buffer.
gnus-html.el: Rescale images in article buffers for Emacs versions that support this. This is currently only Emacs 24 compiled with imagemagick support.