Mercurial > emacs
annotate lisp/progmodes/autoconf.el @ 110410:f2e111723c3a
Merge changes made in Gnus trunk.
Reimplement nnimap, and do tweaks to the rest of the code to support that.
* gnus-int.el (gnus-finish-retrieve-group-infos)
(gnus-retrieve-group-data-early): New functions.
* gnus-range.el (gnus-range-nconcat): New function.
* gnus-start.el (gnus-get-unread-articles): Support early retrieval of
data.
(gnus-read-active-for-groups): Support finishing the early retrieval of
data.
* gnus-sum.el (gnus-summary-move-article): Pass the move-to group name
if the move is internal, so that nnimap can do fast internal moves.
* gnus.el (gnus-article-special-mark-lists): Add uid/active tuples, for
nnimap usage.
* nnimap.el: Rewritten.
* nnmail.el (nnmail-inhibit-default-split-group): New internal variable
to allow the mail splitting to not return a default group. This is
useful for nnimap, which will leave unmatched mail in the inbox.
* utf7.el (utf7-encode): Autoload.
Implement shell connection.
* nnimap.el (nnimap-open-shell-stream): New function.
(nnimap-open-connection): Use it.
Get the number of lines by using BODYSTRUCTURE.
(nnimap-transform-headers): Get the number of lines in each message.
(nnimap-retrieve-headers): Query for BODYSTRUCTURE so that we get the
number of lines.
Not all servers return UIDNEXT. Work past this problem.
Remove junk from end of file.
Fix typo in "bogus" section.
Make capabilties be case-insensitive.
Require cl when compiling.
Don't bug out if the LIST command doesn't have any parameters.
2010-09-17 Knut Anders Hatlen <kahatlen@gmail.com> (tiny change)
* nnimap.el (nnimap-get-groups): Don't bug out if the LIST command
doesn't have any parameters.
(mm-text-html-renderer): Document gnus-article-html.
2010-09-17 Julien Danjou <julien@danjou.info> (tiny fix)
* mm-decode.el (mm-text-html-renderer): Document gnus-article-html.
* dgnushack.el: Define netrc-credentials.
If the user doesn't have a /etc/services, supply some sensible port defaults.
Have `unseen-or-unread' select an unread unseen article first.
(nntp-open-server): Return whether the open was successful or not.
Throughout all files, replace (save-excursion (set-buffer ...)) with (with-current-buffer ... ).
Save result so that it doesn't say "failed" all the time.
Add ~/.authinfo to the default, since that's probably most useful for users.
Don't use the "finish" method when we're reading from the agent.
Add some more nnimap-relevant agent stuff to nnagent.el.
* nnimap.el (nnimap-with-process-buffer): Removed.
Revert one line that was changed by mistake in the last checkin.
(nnimap-open-connection): Don't error out when we can't make a connection
nnimap-related changes to avoid bugging out if we can't contact a server.
* gnus-start.el (gnus-get-unread-articles): Don't try to scan groups
from methods that are denied.
* nnimap.el (nnimap-possibly-change-group): Return nil if we can't log
in.
(nnimap-finish-retrieve-group-infos): Make sure we're not waiting for
nothing.
* gnus-sum.el (gnus-select-newsgroup): Indent.
author | Katsumi Yamaoka <yamaoka@jpl.org> |
---|---|
date | Sat, 18 Sep 2010 10:02:19 +0000 |
parents | b10051866f51 |
children | b47e85affa59 |
rev | line source |
---|---|
38436
b174db545cfd
Some fixes to follow coding conventions.
Pavel Janík <Pavel@Janik.cz>
parents:
28028
diff
changeset
|
1 ;;; autoconf.el --- mode for editing Autoconf configure.in files |
28028 | 2 |
106815 | 3 ;; Copyright (C) 2000, 2001, 2002, 2003, 2004, 2005, 2006, 2007, 2008, 2009, 2010 |
64699
629afbe74e61
Update copyright for release of 22.1 for progmodes directory.
Nick Roberts <nickrob@snap.net.nz>
parents:
64085
diff
changeset
|
4 ;; Free Software Foundation, Inc. |
28028 | 5 |
6 ;; Author: Dave Love <fx@gnu.org> | |
7 ;; Keywords: languages | |
8 | |
9 ;; This file is part of GNU Emacs. | |
10 | |
94673
52b7a8c22af5
Switch to recommended form of GPLv3 permissions notice.
Glenn Morris <rgm@gnu.org>
parents:
93975
diff
changeset
|
11 ;; GNU Emacs is free software: you can redistribute it and/or modify |
28028 | 12 ;; it under the terms of the GNU General Public License as published by |
94673
52b7a8c22af5
Switch to recommended form of GPLv3 permissions notice.
Glenn Morris <rgm@gnu.org>
parents:
93975
diff
changeset
|
13 ;; the Free Software Foundation, either version 3 of the License, or |
52b7a8c22af5
Switch to recommended form of GPLv3 permissions notice.
Glenn Morris <rgm@gnu.org>
parents:
93975
diff
changeset
|
14 ;; (at your option) any later version. |
28028 | 15 |
16 ;; GNU Emacs is distributed in the hope that it will be useful, | |
17 ;; but WITHOUT ANY WARRANTY; without even the implied warranty of | |
18 ;; MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the | |
19 ;; GNU General Public License for more details. | |
20 | |
21 ;; You should have received a copy of the GNU General Public License | |
94673
52b7a8c22af5
Switch to recommended form of GPLv3 permissions notice.
Glenn Morris <rgm@gnu.org>
parents:
93975
diff
changeset
|
22 ;; along with GNU Emacs. If not, see <http://www.gnu.org/licenses/>. |
28028 | 23 |
24 ;;; Commentary: | |
25 | |
26 ;; Provides fairly minimal font-lock, imenu and indentation support | |
27 ;; for editing configure.in files. Only Autoconf syntax is processed. | |
28 ;; There is no attempt to deal with shell text -- probably that will | |
29 ;; always lose. | |
30 | |
31 ;; This is specialized for configure.in files. It doesn't inherit the | |
32 ;; general M4 stuff from M4 mode. | |
33 | |
34 ;; There is also an autoconf-mode.el in existence. That appears to be | |
35 ;; for editing the Autoconf M4 source, rather than configure.in files. | |
36 | |
37 ;;; Code: | |
38 | |
65224
87efa9b46716
(font-lock-syntactic-keywords): Add defvar.
Juanma Barranquero <lekktu@gmail.com>
parents:
64699
diff
changeset
|
39 (defvar font-lock-syntactic-keywords) |
87efa9b46716
(font-lock-syntactic-keywords): Add defvar.
Juanma Barranquero <lekktu@gmail.com>
parents:
64699
diff
changeset
|
40 |
28028 | 41 (defvar autoconf-mode-map (make-sparse-keymap)) |
42 | |
43 (defvar autoconf-mode-hook nil | |
44 "Hook run by `autoconf-mode'.") | |
45 | |
46 (defconst autoconf-definition-regexp | |
84368
e7118f2331c7
(autoconf-definition-regexp):
Thien-Thi Nguyen <ttn@gnuvola.org>
parents:
78234
diff
changeset
|
47 "AC_\\(SUBST\\|DEFINE\\(_UNQUOTED\\)?\\)(\\[*\\(\\sw+\\)\\]*") |
28028 | 48 |
49 (defvar autoconf-font-lock-keywords | |
68747
d8d4d5dad20e
(autoconf-font-lock-keywords): Check start boundary of symbols.
Masatake YAMATO <jet@gyve.org>
parents:
65224
diff
changeset
|
50 `(("\\_<A[CHMS]_\\sw+" . font-lock-keyword-face) |
28028 | 51 (,autoconf-definition-regexp |
52 3 font-lock-function-name-face) | |
53 ;; Are any other M4 keywords really appropriate for configure.in, | |
54 ;; given that we do `dnl'? | |
55 ("changequote" . font-lock-keyword-face))) | |
56 | |
57 (defvar autoconf-mode-syntax-table | |
58 (let ((table (make-syntax-table))) | |
59 (modify-syntax-entry ?\" "." table) | |
60 (modify-syntax-entry ?\n ">" table) | |
61 (modify-syntax-entry ?# "<" table) | |
62 table)) | |
63 | |
64 (defvar autoconf-imenu-generic-expression | |
65 (list (list nil autoconf-definition-regexp 3))) | |
66 | |
67 ;; It's not clear how best to implement this. | |
68 (defun autoconf-current-defun-function () | |
69 "Function to use for `add-log-current-defun-function' in Autoconf mode. | |
70 This version looks back for an AC_DEFINE or AC_SUBST. It will stop | |
71 searching backwards at another AC_... command." | |
72 (save-excursion | |
50982
5ba37a8fa075
(autoconf-current-defun-function): Copy the syntax table before modifying it.
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
40538
diff
changeset
|
73 (with-syntax-table (copy-syntax-table autoconf-mode-syntax-table) |
28028 | 74 (modify-syntax-entry ?_ "w") |
75 (if (re-search-backward autoconf-definition-regexp | |
76 (save-excursion (beginning-of-defun) (point)) | |
77 t) | |
78 (match-string-no-properties 3))))) | |
79 | |
80 ;;;###autoload | |
81 (defun autoconf-mode () | |
82 "Major mode for editing Autoconf configure.in files." | |
83 (interactive) | |
84 (kill-all-local-variables) | |
85 (use-local-map autoconf-mode-map) | |
86 (setq major-mode 'autoconf-mode) | |
87 (setq mode-name "Autoconf") | |
88 (set-syntax-table autoconf-mode-syntax-table) | |
89 (set (make-local-variable 'parens-require-spaces) nil) ; for M4 arg lists | |
90 (set (make-local-variable 'defun-prompt-regexp) | |
91 "^[ \t]*A[CM]_\\(\\sw\\|\\s_\\)+") | |
92 (set (make-local-variable 'comment-start) "dnl ") | |
40538
4b57ae8d5508
(autoconf-mode): Fix comment-start-skip.
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
38436
diff
changeset
|
93 (set (make-local-variable 'comment-start-skip) "\\(?:\\<dnl\\|#\\) +") |
110305
b10051866f51
New syntax-propertize functionality.
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
106815
diff
changeset
|
94 (set (make-local-variable 'syntax-propertize-function) |
b10051866f51
New syntax-propertize functionality.
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
106815
diff
changeset
|
95 (syntax-propertize-rules ("\\<dnl\\>" (0 "<")))) |
28028 | 96 (set (make-local-variable 'font-lock-defaults) |
97 `(autoconf-font-lock-keywords nil nil (("_" . "w")))) | |
98 (set (make-local-variable 'imenu-generic-expression) | |
99 autoconf-imenu-generic-expression) | |
100 (set (make-local-variable 'imenu-syntax-alist) '(("_" . "w"))) | |
101 (set (make-local-variable 'indent-line-function) #'indent-relative) | |
102 (set (make-local-variable 'add-log-current-defun-function) | |
103 #'autoconf-current-defun-function) | |
62772
f2892faa87d4
* progmodes/ada-mode.el (ada-mode):
Lute Kamstra <lute@gnu.org>
parents:
57792
diff
changeset
|
104 (run-mode-hooks 'autoconf-mode-hook)) |
28028 | 105 |
106 (provide 'autoconf-mode) | |
104495
4659ddbe20bf
* progmodes/autoconf.el: Provide autoconf as well.
Chong Yidong <cyd@stupidchicken.com>
parents:
100908
diff
changeset
|
107 (provide 'autoconf) |
28028 | 108 |
93975
1e3a407766b9
Fix up comment convention on the arch-tag lines.
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
87649
diff
changeset
|
109 ;; arch-tag: 4f44778f-2ab3-49a1-a103-f0acb9df2de4 |
28028 | 110 ;;; autoconf.el ends here |