Commit graph

52603 commits

Author SHA1 Message Date
Stefan Monnier
d779e73c22 * lisp/emacs-lisp/bytecomp.el (byte-compile-catch)
(byte-compile-unwind-protect, byte-compile-track-mouse)
(byte-compile-condition-case, byte-compile-save-window-excursion):
Provide a :fun-body alternative, so that info can be propagated from the
surrounding context, as is the case for lexical scoping.

* lisp/emacs-lisp/cconv.el (cconv-mutated, cconv-captured)
(cconv-captured+mutated, cconv-lambda-candidates): Fix up declaration.
(cconv-freevars): Minor cleanup.  Fix handling of the error var in
condition-case.
2011-02-10 18:37:03 -05:00
Igor Kuzmin
94d11cb577 * lisp/emacs-lisp/cconv.el: New file.
* lisp/emacs-lisp/bytecomp.el: Use cconv.
(byte-compile-file-form, byte-compile):
Call cconv-closure-convert-toplevel when requested.
* lisp/server.el:
* lisp/mpc.el:
* lisp/emacs-lisp/pcase.el:
* lisp/doc-view.el:
* lisp/dired.el: Use lexical-binding.
2011-02-10 13:53:49 -05:00
Stefan Monnier
8f1d2ef658 Merge from trunk 2011-02-01 12:09:25 -05:00
Stefan Monnier
1dc4075fa8 Fix last-minute typo in last change. 2011-01-31 12:11:11 -05:00
Stefan Monnier
9e11271c55 * lisp/progmodes/compile.el (compilation--flush-directory-cache):
New function, extracted from compilation--remove-properties.
(compilation--remove-properties, compilation--parse-region): Use it.
(compilation--previous-directory): Handle one more case.
(compilation-enable-debug-messages): Remove.
(compilation-parse-errors, compilation--flush-parse): Just remove the
left over debug messages.
2011-01-31 12:09:42 -05:00
Sam Steingold
038714abef * lisp/progmodes/compile.el (compilation-enable-debug-messages):
Add a variable to make the parsing messages introduced in
2011-01-28T22:12:05Z!monnier@iro.umontreal.ca optional.
(compilation-parse-errors, compilation--flush-parse): Use it.
2011-01-31 11:49:44 -05:00
Deniz Dogan
186ecaf1a6 * lisp/net/rcirc.el: Clean log filenames (Bug#7933).
(rcirc-log-write): Use convert-standard-filename.
(rcirc-log-filename-function): Documentation updates.
2011-01-31 16:19:57 +01:00
Lars Ingebrigtsen
0c74b83871 gnus-art.el (article-date-ut): Replace infinitely many Date headers with a single one when called interactively. 2011-01-31 12:29:31 +00:00
Lars Ingebrigtsen
5b9b62f152 gnus-art.el (article-transform-date): Fix infinite recursion. 2011-01-31 10:49:39 +00:00
Lars Ingebrigtsen
32a400d4e1 gnus-art.el (article-transform-date): Rewrite to still work when there are several rfc2822 parts. 2011-01-31 07:27:07 +00:00
Lars Ingebrigtsen
0832490d44 nnimap.el (nnimap-wait-for-response): Wait for results in a more secure manner.
gnus-art.el (article-update-date-lapsed): Try to avoid having point move around by not using save-window-excursion.  It seems to work...
2011-01-31 04:41:38 +00:00
Lars Ingebrigtsen
1d88c091cc nntp.el (nntp-retrieve-group-data-early, nntp-finish-retrieve-group-infos): Implement the asynchronous data fetching functions. 2011-01-31 03:35:09 +00:00
Katsumi Yamaoka
5fe1831191 gnus-art.el (article-make-date-line): Fix last change. 2011-01-31 02:55:13 +00:00
Katsumi Yamaoka
c475337385 gnus-art.el (article-make-date-line): Work for user-defined format. 2011-01-31 02:49:29 +00:00
Lars Ingebrigtsen
e389d61f82 gnus-start.el (gnus-read-active-for-groups): Read the active files thoroughly for all backends that have no known groups. This should allow new nnml methods to retrieve mail.
gnus-group.el (gnus-group-jump-to-group): Allow jumping to groups that Gnus doesn't know exists again.
2011-01-31 02:19:13 +00:00
Lars Ingebrigtsen
12e3ca0a34 gnus-art.el: Rewrite the Date header formatting functionality.
The user can now have infinitely many Date headers.
 This change should be pretty much backwards-compatible, even though
 many customisation variables have been removed.

gnus.texi (Customizing Articles): Document the new way of customizing
 the date headers(s).
2011-01-31 02:01:24 +00:00
Jan Djärv
253f7d1bc5 Implement C-c m in report-emacs-bug (insert to mailer) for OSX.
* mail/emacsbug.el (report-emacs-bug-insert-to-mailer): Check
report-emacs-bug-can-use-osx-open and use that if t.
(report-emacs-bug-can-use-osx-open): New function.
(report-emacs-bug): Rename can-xdg-email to can-insert-mail.
Check report-emacs-bug-can-use-osx-open also for can-insert-mail.
2011-01-30 19:59:58 +01:00
Andreas Schwab
09aa1eb8ee Regenerate ldefs-boot.el 2011-01-30 12:58:09 +01:00
Lars Ingebrigtsen
7920f98294 nnmail.el (nnmail-article-group): A better test for fanciness. 2011-01-30 03:00:34 +00:00
Lars Ingebrigtsen
fe72c8fa4e nnmail.el (nnmail-article-group): Check for a direct fancy split method.
gnus.texi (Client-Side IMAP Splitting): Add a complete nnimap fancy splitting example.
2011-01-30 02:51:45 +00:00
Lars Ingebrigtsen
228724bc63 nnimap.el (nnimap-request-head): Protect against not finding the article by Message-ID. 2011-01-30 01:46:32 +00:00
Chong Yidong
a2b6e5d60b Refresh Dired and VC-dir buffers after vc-pull and vc-merge.
* vc/vc-dispatcher.el (vc-set-async-update): New function for
updating Dired or VC-dir buffers after async command completes.

* vc/vc-bzr.el (vc-bzr-async-command): Return the process buffer.
(vc-bzr-pull, vc-bzr-merge-branch): Use vc-set-async-update.

* vc/vc-git.el (vc-git-merge-branch): Add FETCH_HEAD to branch
completions if it exists.  Use vc-set-async-update.
(vc-git-pull): Use vc-set-async-update.

* vc/vc-hg.el (vc-hg-pull): Fix default-contents arg to
read-shell-command.  Use vc-set-async-update.
(vc-hg-merge-branch): Use vc-set-async-update.
2011-01-29 16:19:21 -05:00
Daiki Ueno
8907f7b936 Don't throw an error when any of encryption subkeys are expired.
* epg.el (epg--status-KEYEXPIRED, epg--status-KEYREVOKED): Don't
presume KEYEXPIRED and KEYREVOKED to be a fatal error status
(Bug#7931).
2011-01-29 20:05:35 +09:00
Stefan Monnier
e52f87a1c0 * lisp/progmodes/compile.el: Avoid an N² behavior in grep.
(compilation--previous-directory): New fun.
(compilation--previous-directory-cache): New var.
(compilation--remove-properties): Flush it.
(compilation-directory-properties, compilation-error-properties):
Use the new fun to speed up looking for the current directory.
2011-01-29 01:08:24 -05:00
Chong Yidong
659114fdba Rudimentary support for vc-pull and vc-merge in Git and Mercurial.
* lisp/vc/vc.el (vc-pull): Make vc-update an alias for this, instead of
the other way around.

* lisp/vc/vc-git.el (vc-git-branches, vc-git-pull)
(vc-git-merge-branch): New functions.
(vc-git-history): New var.

* lisp/vc/vc-hg.el (vc-hg-history): New var.
(vc-hg-pull): Perform default pull if called via Lisp by vc-pull.
(vc-hg-merge-branch): New function.
2011-01-28 22:12:32 -05:00
Lars Ingebrigtsen
bc68bd3998 gnus-art.el (article-update-date-lapsed): Try a better way to really keep point at the "same place". 2011-01-29 02:29:38 +00:00
Chong Yidong
9bfe578343 Convert vc-bzr-async-command into a general vc-do-async-command facility.
* vc/vc-dispatcher.el (vc-do-async-command): New function.

* vc/vc-bzr.el (vc-bzr-async-command): Convert into a wrapper for
vc-do-async-command.

* vc/vc-bzr.el (vc-bzr-pull, vc-bzr-merge-branch): Callers changed.
2011-01-28 18:10:55 -05:00
Gnus developers
54b6f6edb8 Merge changes made in Gnus trunk.
gnus-win.el: Remove dead function gnus-window-configuration-element.
 (gnus-all-windows-visible-p): Remove old compatibility code.
 (gnus-window-top-edge): Add docstring.
gnus-sum.el (gnus-select-newsgroup): Don't try to alter the active data if the group is unactivated.
2011-01-28 23:07:38 +00:00
Stefan Monnier
9ffae6d024 * progmodes/compile.el: Don't use font-lock any more. 2011-01-28 17:12:05 -05:00
Stefan Monnier
55fb901352 * lisp/progmodes/compile.el: Don't use font-lock any more.
(compilation-error-regexp-alist-alist): Change handling of makepp
so it preserves the warning/error distinction on subsequent files.
Simplify various rules.
(compilation-directory-properties): Use font-lock-face.
Add a compilation-message property.
(compilation-internal-error-properties): Use font-lock-face.
Don't set the compilation-debug property here.
(compilation--put-prop, compilation--remove-properties)
(compilation--parse-region, compilation--ensure-parse)
(compilation--ensure-parse): New functions.
(compilation-parse-errors): New function, largely inspired of
compilation-mode-font-lock-keywords.  Set compilation-debug here.
(compilation--parsed): New var.
(compilation--flush-parse): Use compilation--ensure-parse.
(compilation-start): Don't call font-lock.
(compilation-turn-on-font-lock): Remove.
(compilation-setup): Don't set font-lock-extra-managed-props not change
other font-lock settings, other than keywords.
Don't activate font-lock-mode.
Set change-major-mode-hook and before-change-functions.
(compilation--unsetup): Remove properties and hooks.
(compilation-next-single-property-change): New function.
(compilation-next-error): Use it to parse when needed.
(compile-goto-error): Parse buffer as needed.
(compilation--compat-error-properties): Don't need a dummy `face'
property any more.
2011-01-28 17:06:20 -05:00
Stefan Monnier
8fe5238438 * lisp/progmodes/compile.el: Use accessors for clarity and fix omake hack.
(compilation-process-setup-function): Fix docstring's false promises.
(compilation-error-regexp-alist-alist): Catch omake's continuous
recompilation message and avoid reuse of old markers.
(compilation-parse-errors-function): Declare obsolete.
(compilation-buffer-modtime): Remove.
(compilation--make-cdrloc, compilation--loc->col)
(compilation--loc->line, compilation--loc->file-struct)
(compilation--loc->marker, compilation--loc->visited)
(compilation--make-file-struct, compilation--file-struct->file-spec)
(compilation--file-struct->formats)
(compilation--file-struct->loc-tree): New macros.  Use them.
(compilation--message): New defstruct.  Use them.
(compilation-next-error-function): Don't mess with timestamps to try
and guess when to reparse.
2011-01-28 16:42:34 -05:00
Leo Liu
b1ea593c81 Fix help-mode highlighting of advice warning (Bug#6304).
* emacs-lisp/advice.el (ad-make-advised-docstring): Don't apply
highlighting to the "this function is advisted" message.

* help-mode.el (help-mode-finish): Apply highlighting here, to
avoid clobbering by substitute-command-keys (Bug#6304).
2011-01-28 16:42:11 -05:00
Chong Yidong
40e22d80ae Fix for woman escape sequence processing (Bug#7843).
* lisp/woman.el (woman0-roff-buffer): Process roff escape sequences
occurring prior to the first request.
2011-01-28 16:20:40 -05:00
Stefan Monnier
5e853d0190 * lisp/textmodes/tex-mode.el: Get rid of compilation-parse-errors-function
(tex-old-error-file-name): New function,
extracted from tex-compilation-parse-errors.
(tex-compilation-parse-errors): Remove.
(tex-error-regexp-alist): New var.
(tex-shell): Use it to avoid compilation-parse-errors-function.
2011-01-28 16:16:04 -05:00
Stefan Monnier
07b741a76a Minor cleanup for compile.el and grep.el.
* lisp/progmodes/compile.el: Cleanup text-properties namespace by using
`compilation-message' instead of `message', `compilation-directory'
instead of `directory', and `compilation-debug' instead of `debug'.
(compilation-last-buffer, compilation-parsing-end)
(compilation-error-list, compilation-old-error-list): Move to the
compatibility part of the code.
(compilation-error-properties): If `file' is a function, let it return
a file name.
(compilation-mode-font-lock-keywords): Be more conservative with the
omake "^ *" pattern prefix, to try and minimize the risk of
pathologically slow regexp matching.
(compilation-start): Use inhibit-read-only.
(compilation--unsetup): New function.
(compilation-shell-minor-mode, compilation-minor-mode): Use it.
(compilation-filter): Minor tweaks.
(compilation-next-error-function): Try and avoid abusing variable names.
(compilation--flush-file-structure): New fun.
(compilation-fake-loc): Use it for cleaner behavior when file is reused.
(debug-ignored-errors): Add "Moved past last ...".
(compilation--compat-error-properties)
(compilation--compat-parse-errors): Rename by doubling the "-".

* lisp/progmodes/grep.el (grep-regexp-alist): Tighten regexp.
(grep-mode-font-lock-keywords): Remove regexp that seems like
a left-over from before we used compile.el.
(grep-mode-font-lock-keywords): Call syntax-ppss-flush-cache when
modifying the buffer within with-silent-modifications.
2011-01-28 16:11:19 -05:00
Stefan Monnier
01c63f4ce4 Port features from the previous prolog.el to the new one.
* lisp/progmodes/prolog.el (prolog-system): Add GNU and ECLiPSe options.
(prolog-program-name, prolog-program-switches, prolog-consult-string)
(prolog-compile-string, prolog-prompt-regexp): Get rid of the <foo>-i
variable and use a function to compute the value dynamically.
(prolog-prompt-regexp): Add regexp for GNU Prolog.
(prolog-continued-prompt-regexp): Remove, unused.
(prolog-find-value-by-system): Try and use the value of prolog-system
in the *prolog* buffer if it helps.
(prolog-mode-keybindings-common): Bind C-c C-z unconditionally...
(prolog-zip-on): ..and check prolog-system and version here instead.
(prolog-inferior-self-insert-command): New command.
(prolog-inferior-mode-map): Use it.
(prolog-inferior-error-regexp-alist): New var.
(prolog-inferior-mode): Use it, along with compilation-shell-minor-mode.
(prolog-input-filter): Use derived-mode-p.
(prolog-inferior-guess-flavor): New function.
(prolog-ensure-process): Use it.  Use make-comint-in-buffer rather than
make-comint to avoid running comint-mode twice.
(prolog-inferior-buffer): New fun.
(prolog-old-process-region, prolog-old-process-file):
Don't call prolog-bsts here...
(prolog-build-prolog-command): ...do it here instead.
(prolog-old-process-region, prolog-old-process-file):
Use compilation-fake-loc and compilation-forget-errors.
(prolog-consult-compile-region): Use bolp.
2011-01-28 14:46:58 -05:00
Chong Yidong
2f224f0b1a * image-mode.el (image-display-size): Doc fix (Bug#7820). 2011-01-28 14:13:01 -05:00
Chong Yidong
2e804fc7e7 Update autoloads. 2011-01-28 11:58:04 -05:00
Julien Danjou
584cbd9e0f gnus-group.el (gnus-group-jump-to-group): Set must match to t. 2011-01-28 11:27:24 +00:00
Lars Ingebrigtsen
9da02ea1b0 gnus-int.el (gnus-request-marks): Call *-request-marks instead of the older request-update-info. 2011-01-28 02:07:48 +00:00
Lars Ingebrigtsen
d6f13ac876 gnus-art.el (article-make-date-line): Limit the length a bit more.
gnus.texi (Article Date): Document gnus-article-update-lapsed-header.
2011-01-28 01:41:15 +00:00
Daiki Ueno
bb760c5da8 mml2015.el (mml2015-epg-sign, mml2015-epg-encrypt): Give mml2015-signers higher precedence over mml2015-sign-with-sender. 2011-01-28 01:34:09 +00:00
Gnus developers
5d85ab5e40 gnus-group.el (gnus-group-refresh-group): Refresh even non-visible groups. This makes the nndraft:queue group pop up if it's not already there.
mml2015.el (mml2015-epg-sign): Add missing paren.
2011-01-28 00:14:08 +00:00
Lars Ingebrigtsen
8937ef6e5e gnus-sum.el (gnus-summary-read-group-1): Fix the "contains no messages" logic, which was reversed. 2011-01-27 23:56:27 +00:00
Gnus developers
19cc66979d Merge changes made in Gnus trunk.
mml2015.el (mml2015-epg-sign): Add and use mml2015-sign-with-sender.
 (mml2015-epg-encrypt): Use mml2015-sign-with-sender.
gnus-art.el (article-update-date-lapsed): Ensure that point stays at the "same place" even if point is on the line being replaced.
 (article-update-date-lapsed): Allow updating both the combined lapsed and the lapsed headers.
 (article-update-date-lapsed): Skip past all the X-Sent/Date headers.
 (article-make-date-line): Limit the number of segments dynamically to avoid too-long lines.
2011-01-27 23:42:38 +00:00
Sam Steingold
db0e305dc0 * lisp/midnight.el (clean-buffer-list-kill-never-buffer-names): Remove
"*server*" which is never created by emacs server.
2011-01-27 14:45:44 -05:00
Deniz Dogan
27bbeb296e * vc/vc-bzr.el (vc-bzr-diff): Don't pass --diff-options unless
there are some diff switches.
2011-01-27 18:51:06 +01:00
Stefan Monnier
89fdaac7aa * lisp/progmodes/ruby-mode.el (ruby-syntax-propertize-function):
Copy change made to ruby-font-lock-syntactic-keywords.
2011-01-27 12:07:48 -05:00
Stefan Monnier
153c5428d2 * lisp/htmlfontify.el: Make it obey the font-lock-face text property.
Miscellaneous cleanup such as:
- Don't hide expressions after a closing paren.
- Move initial setq into let.
- Hoist common parts out of ifs.
(hfy-p-to-face, hfy-p-to-face-lennart): Remove.
(hfy-face-at): Use get-text-property instead.
(hfy-prop-invisible-p): Use invisible-p if available.
(htmlfontify-manual): Use \\[...].
(hfy-html-quote-regex): Use [...].
(hfy-combined-face-spec): Simplify.
(hfy-compile-face-map): Don't presume point-min==1.
(hfy-css-name, hfy-buffer, htmlfontify-buffer): Use \' rather than $ to
match end of string.
(hfy-text-p): η-reduce.
(hfy-tags-for-file): Receive cache-hash directly.
(hfy-mark-tag-names): Adjust call.
2011-01-27 12:04:07 -05:00
Katsumi Yamaoka
14596870e2 shr.el (shr-expand-newlines, shr-previous-newline-padding-width): Use plist-get instead of the cl function getf. 2011-01-27 13:20:55 +00:00