Commit graph

293 commits

Author SHA1 Message Date
Lars Ingebrigtsen
216b9b2dbf Revert "Make nnimap support IMAP namespaces"
This reverts commit 7b5b3ddb2d.

Insufficiently tested before committing -- bugs out several places
when not using namespaces.
2018-07-23 09:01:24 +02:00
Nikolaus Rath
7b5b3ddb2d Make nnimap support IMAP namespaces
* lisp/gnus/nnimap.el (nnimap-use-namespaces): Introduc new
server variable.
(nnimap-group-to-imap, nnimap-get-groups): Transform IMAP group
names to Gnus group name by stripping / prefixing personal
namespace prefix.
(nnimap-open-connection-1): Ask server for namespaces and store them.

* lisp/gnus/nnimap.el (nnimap-request-group-scan)
(nnimap-request-create-group, nnimap-request-delete-group)
(nnimap-request-rename-group, nnimap-request-move-article)
(nnimap-process-expiry-targets)
(nnimap-request-update-group-status)
(nnimap-request-accept-article, nnimap-request-list)
(nnimap-retrieve-group-data-early, nnimap-change-group)
(nnimap-split-incoming-mail): Use nnimap-group-to-imap.
(nnimap-group-to-imap): New function to map Gnus group names to
IMAP folder names.
2018-07-22 15:33:38 +02:00
Noam Postavsky
97d5d1a1f4 Move tls.el and starttls.el to lisp/obsolete/ (Bug#31457)
* lisp/obsolete/tls.el: Moved from lisp/net/tls.el.
* lisp/gnus/nnimap.el:
* lisp/url/url-http.el: Don't require tls, since it's obsolete.
* lisp/net/network-stream.el: Only require tls if we actually try to
use it (i.e., when (gnutls-available-p) returns nil).  Declare some
functions to fix compilation warnings.

* lisp/obsolete/starttls.el: Moved from lisp/net/starttls.el.
* lisp/net/sieve-manage.el:
* lisp/net/network-stream.el: Don't require `starttls' at the
top-level, declare the variables and functions used instead.
(network-stream-open-starttls): Only require `starttls' if
needed (i.e., gnutls-available-p fails).

* etc/NEWS: Announce obsoletion.
2018-06-18 20:01:44 -04:00
Lars Ingebrigtsen
de28ae70ef Make nnimap parse pathological spam headers better
* lisp/gnus/nnimap.el (nnimap-transform-headers): Unfold certain
pathological IMAP headers more correctly (bug#25502).  Perhaps
this function should be re-implemented.
2018-04-13 19:28:17 +02:00
Lars Ingebrigtsen
bd7601f21b (nnimap-sequence): Add comment
* lisp/gnus/nnimap.el (nnimap-sequence): Add comment.
2018-04-13 16:50:45 +02:00
Lars Ingebrigtsen
c7abc5760b Tweak nnimap sequence numbers to avoid reuse
* lisp/gnus/nnimap.el (nnimap-sequence): Start the sequence at a
higher number to avoid reusing the sequence number used by
`open-network-stream' (bug#30022).
2018-04-13 13:41:31 +02:00
Jonathan Marten
7643fbb452 From: Lars Ingebrigtsen <larsi@gnus.org>
* lisp/gnus/nnimap.el (nnimap-login): Allow anonymous logins
(bug#24704).

Copyright-paperwork-exempt: yes
2018-04-12 22:24:11 +02:00
Lars Ingebrigtsen
4616ddc131 Ensure that non-QRESYNC nnimap can proceed after a QRESYNC fail
* lisp/gnus/nnimap.el (nnimap-update-info): If we don't have a
start-article in the non-QRESYNC case, then the start has to be 1
(bug#23241).
2018-04-12 18:12:03 +02:00
Glenn Morris
4a05f85f5a gnus: replace cl with cl-lib
* lisp/gnus/gnus-agent.el, lisp/gnus/gnus-art.el:
* lisp/gnus/gnus-async.el, lisp/gnus/gnus-cache.el:
* lisp/gnus/gnus-demon.el, lisp/gnus/gnus-group.el:
* lisp/gnus/gnus-icalendar.el, lisp/gnus/gnus-logic.el:
* lisp/gnus/gnus-msg.el, lisp/gnus/gnus-picon.el:
* lisp/gnus/gnus-registry.el, lisp/gnus/gnus-salt.el:
* lisp/gnus/gnus-score.el, lisp/gnus/gnus-spec.el:
* lisp/gnus/gnus-srvr.el, lisp/gnus/gnus-start.el:
* lisp/gnus/gnus-sum.el, lisp/gnus/gnus-topic.el:
* lisp/gnus/gnus-util.el, lisp/gnus/gnus-uu.el, lisp/gnus/gnus-win.el:
* lisp/gnus/mail-source.el, lisp/gnus/mm-decode.el:
* lisp/gnus/mm-encode.el, lisp/gnus/mm-url.el, lisp/gnus/mm-view.el:
* lisp/gnus/mml-smime.el, lisp/gnus/mml.el, lisp/gnus/mml2015.el:
* lisp/gnus/nnbabyl.el, lisp/gnus/nndoc.el, lisp/gnus/nneething.el:
* lisp/gnus/nnheader.el, lisp/gnus/nnimap.el, lisp/gnus/nnmail.el:
* lisp/gnus/nnmaildir.el, lisp/gnus/nnoo.el, lisp/gnus/nnrss.el:
* lisp/gnus/nnspool.el, lisp/gnus/nntp.el, lisp/gnus/nnvirtual.el:
* lisp/gnus/nnweb.el, lisp/gnus/spam.el: Replace cl with cl-lib.
* lisp/gnus/canlock.el, lisp/gnus/gnus-bcklg.el:
* lisp/gnus/gnus-cite.el, lisp/gnus/gnus-cloud.el:
* lisp/gnus/gnus-draft.el, lisp/gnus/gnus-dup.el:
* lisp/gnus/gnus-fun.el, lisp/gnus/gnus-html.el:
* lisp/gnus/gnus-int.el, lisp/gnus/gnus-kill.el, lisp/gnus/gnus-ml.el:
* lisp/gnus/gnus-mlspl.el, lisp/gnus/gnus-range.el:
* lisp/gnus/gnus-undo.el, lisp/gnus/gnus-vm.el:
* lisp/gnus/mm-partial.el, lisp/gnus/mm-uu.el, lisp/gnus/mml1991.el:
* lisp/gnus/nnagent.el, lisp/gnus/nndiary.el, lisp/gnus/nndir.el:
* lisp/gnus/nndraft.el, lisp/gnus/nnfolder.el, lisp/gnus/nngateway.el:
* lisp/gnus/nnmairix.el, lisp/gnus/nnmbox.el, lisp/gnus/nnmh.el:
* lisp/gnus/nnml.el, lisp/gnus/score-mode.el, lisp/gnus/smiley.el:
No need for cl.
2018-03-23 16:14:47 -04:00
Paul Eggert
5c7dd8a783 Update copyright year to 2018
Run admin/update-copyright.
2018-01-01 00:57:59 -08:00
Eric Abrahamsen
1ca9ae7069 Require subr-x when compiling nnimap.el
* lisp/gnus/nnimap.el (require): For the when-let* macro.
2017-10-15 20:21:35 -07:00
Paul Eggert
bc511a64f6 Prefer HTTPS to FTP and HTTP in documentation
Most of this change is to boilerplate commentary such as license URLs.
This change was prompted by ftp://ftp.gnu.org's going-away party,
planned for November.  Change these FTP URLs to https://ftp.gnu.org
instead.  Make similar changes for URLs to other organizations moving
away from FTP.  Also, change HTTP to HTTPS for URLs to gnu.org and
fsf.org when this works, as this will further help defend against
man-in-the-middle attacks (for this part I omitted the MS-DOS and
MS-Windows sources and the test tarballs to keep the workload down).
HTTPS is not fully working to lists.gnu.org so I left those URLs alone
for now.
2017-09-13 15:54:37 -07:00
Mark Oteiza
370d0e7aa7 Update uses of if-let and when-let
* lisp/dom.el (dom-previous-sibling):
* lisp/emacs-lisp/package.el (package--with-work-buffer):
(package--sort-deps-in-alist, package--sort-by-dependence):
(package-install-from-archive, package-install):
(package-menu-execute, package-menu--populate-new-package-list):
* lisp/filenotify.el (file-notify--rm-descriptor):
(file-notify--event-watched-file, file-notify--event-file-name):
(file-notify--event-file1-name, file-notify-rm-watch):
(file-notify-valid-p):
* lisp/gnus/message.el (message-toggle-image-thumbnails):
* lisp/gnus/nnimap.el (nnimap-request-move-article):
* lisp/ibuf-ext.el (ibuffer-repair-saved-filters):
* lisp/mpc.el (mpc-format):
* lisp/net/eww.el (eww-tag-meta, eww-process-text-input):
(eww-save-history):
* lisp/net/shr.el (shr-tag-base, shr-tag-object, shr-make-table-1):
* lisp/progmodes/prog-mode.el (prettify-symbols--post-command-hook):
* lisp/svg.el (svg-remove):
* lisp/textmodes/css-mode.el (css--named-color):
(css--colon-inside-funcall):
* lisp/textmodes/sgml-mode.el (html-current-buffer-classes):
(html-current-buffer-ids): Use if-let* and when-let* instead.
2017-09-12 13:18:10 -04:00
Lars Ingebrigtsen
aeecbc09ad Fix typo in last checkin
* lisp/gnus/nnimap.el (nnimap-shell-program): Document
nnimap-shell-program (bug#20651).
2017-01-26 19:46:27 +01:00
Lars Ingebrigtsen
a1cb68be6c Document nnimap-shell-program
* lisp/gnus/nnimap.el (nnimap-shell-program): Document
nnimap-shell-program (bug#20651).
2017-01-26 19:46:27 +01:00
Lars Ingebrigtsen
f580ea195b Revert "nnimap.el: support additional expunge options"
This reverts commit 4e9baea6ab.

The patch broke fetching new mail:

Debugger entered--Lisp error: (error "Format specifier doesn’t match argument type")
  format("%d .*\n" (t ("OK" ("HIGHESTMODSEQ" "914696") "Expunge" "completed.") ("VANISHED" "1825937") ("0" "RECENT")))
  (looking-at (format "%d .*\n" sequence))
  (not (looking-at (format "%d .*\n" sequence)))
  (progn (while (and (not (bobp)) (progn (forward-line -1) (looking-at "\\*\\|[0-9]+ OK NOOP")))) (not (looking-at (format "%d .*\n" sequence))))
2017-01-25 01:18:43 +01:00
Nikolaus Rath
4e9baea6ab nnimap.el: support additional expunge options
* lisp/gnus/nnimap.el (nnimap-close-group)
(nnimap-request-expire-articles, nnimap-delete-article)
(nnimap-request-scan): add new 'never, 'immediate, and 'on-exit
settings for nnimap-expunge (bug#20670).
2017-01-25 00:46:13 +01:00
Paul Eggert
bcf244ef9b Merge from origin/emacs-25
2e2a806 Fix copyright years by hand
5badc81 Update copyright year to 2017
2017-01-01 01:10:47 -08:00
Paul Eggert
5badc81c1c Update copyright year to 2017
Run admin/update-copyright.
2016-12-31 19:42:26 -08:00
Lars Magne Ingebrigtsen
d5427e71da Disable MOVE more for Dovecot
* lisp/gnus/nnimap.el (nnimap-process-expiry-targets): Also
disable MOVE when expirying.
(nnimap-split-incoming-mail): And when splitting mail.
2016-03-14 20:23:30 +01:00
Lars Magne Ingebrigtsen
8ed27bdf88 Don't use MOVE on Dovecot
* lisp/gnus/nnimap.el (nnimap-request-move-article): Don't use
MOVE on Dovecot, since it's broken in many versions.
(nnimap-quirks): Mark MOVE on Dovecot as non-working.
2016-03-14 20:21:24 +01:00
Lars Ingebrigtsen
a0844f15ca Clean up nnimap-request-move-article slightly
* lisp/gnus/nnheader.el (subr-x): Require.

* lisp/gnus/nnimap.el (nnimap-request-move-article): Clean up
the code slightly.
2016-02-14 15:41:02 +11:00
Lars Ingebrigtsen
598ff2349e Use open-network-stream instead of open-protocol-stream
* lisp/gnus/nnimap.el: Use open-network-stream instead of
open-protocol-stream.

* lisp/gnus/nntp.el: Ditto.

* lisp/gnus/pop3.el: Ditto.

* lisp/gnus/sieve-manage.el: Ditto.

* lisp/net/network-stream.el (open-protocol-stream): Make obsolete.
2016-02-14 15:08:40 +11:00
Lars Ingebrigtsen
2366c7036d Remove compat code in Gnus backends
* lisp/gnus/nndiary.el (nndiary-error): Remove.

* lisp/gnus/nndraft.el (nndraft-request-associate-buffer): Ditto.

* lisp/gnus/nnfolder.el (nnfolder-read-folder): Ditto.

* lisp/gnus/nnheader.el (nnheader-find-file-noselect): Ditto.

* lisp/gnus/nnimap.el (nnimap-log-buffer): Remove compat code.
2016-02-14 14:50:03 +11:00
Lars Ingebrigtsen
9efc29a2df Remove several gnus-util compat functions
* lisp/gnus/gnus-util.el (gnus-set-process-query-on-exit-flag): Remove.
(gnus-read-shell-command): Remove.
(gnus-match-substitute-replacement): Remove.
(gnus-string-match-p): Remove.
(gnus-string-prefix-p): Remove.
2016-02-13 17:40:34 +11:00
Lars Ingebrigtsen
bfee9fab2f Remove the gnus-float-time alias
* lisp/gnus/gnus-util.el (gnus-completion-styles): Remove
compat code.
(gnus-float-time): Remove.
2016-02-13 17:27:26 +11:00
Andreas Schwab
5a327bd99c Revert "Fix gnus-group-get-new-news-this-group on group with closed server"
This reverts commit 9dc77e37aa.

This makes nnimap groups not be activated.
2016-02-13 14:41:23 +11:00
Andreas Schwab
85a2753d96 Revert "Fix gnus-group-get-new-news-this-group on group with closed server"
This reverts commit 9dc77e37aa.

	* lisp/gnus/nnimap.el (nnimap-change-group): Revert last
	change.  (Bug#22634)
2016-02-12 11:41:29 +01:00
Lars Ingebrigtsen
9f7711815b Remove XEmacs compat code from Gnus backends
* lisp/gnus/mm-view.el (mm-inline-image-xemacs): Remove.
(mm-inline-image): Rename from mm-inline-image-emacs.

* lisp/gnus/mml.el: Remove XEmacs compat code.

* lisp/gnus/nnheader.el: Remove XEmacs compat code.

* lisp/gnus/nnimap.el (nnimap-open-connection-1): Remove
XEmacs compat code.

* lisp/gnus/nnir.el (nnir-run-gmane): Remove XEmacs compat code.

* lisp/gnus/nnmail.el (nnmail-pathname-coding-system): Remove
XEmacs compat code.

* lisp/gnus/nnmairix.el: Remove XEmacs compat code.

* lisp/gnus/nnrss.el: Remove XEmacs compat code.

* lisp/gnus/nntp.el: Remove XEmacs compat code.
2016-02-12 15:02:32 +11:00
Lars Ingebrigtsen
37cf4454b1 Remove XEmacs compat functions from mm-util.el
* lisp/gnus/mm-util.el (mm-special-display-p): Remove.
(mm-decode-coding-string, mm-encode-coding-string)
(mm-decode-coding-region, mm-encode-coding-region): Remove.
(mm-string-to-multibyte): Remove.
(mm-char-or-char-int-p): Remove.
(mm-ucs-to-char): Remove compat versions of the function.
(mm-read-coding-system): Remove.
(mm-coding-system-p): Remove compat code.
(mm-enrich-utf-8-by-mule-ucs): Remove.
(mm-enable-multibyte, mm-disable-multibyte): Remove compat versions.
(mm-delete-duplicates): Remove.
(mm-multibyte-p): Remove compat versions.
(mm-xemacs-find-mime-charset-1): Remove.
(mm-xemacs-find-mime-charset): Remove.
(mm-make-temp-file): Made obsolete.
(mm-find-buffer-file-coding-system): Remove XEmacs compat.
2016-02-12 14:39:30 +11:00
Andreas Schwab
9dc77e37aa Fix gnus-group-get-new-news-this-group on group with closed server
* lisp/gnus/nnimap.el (nnimap-change-group): Lookup server
method and pass to nnimap-open-server.
2016-02-07 13:30:43 +01:00
OGAWA Hirofumi
691feae283 Be consistent when using encoded strings in nnimap data
* lisp/gnus/nnimap.el (nnimap-encode-gnus-group): New function
(nnimap-request-list): Use it.
(nnimap-request-newgroups): Ditto.

Copyright-paperwork-exempt: yes
2016-02-06 15:49:32 +11:00
Paul Eggert
0e963201d0 Update copyright year to 2016
Run admin/update-copyright.
2016-01-01 01:34:24 -08:00
Eric Abrahamsen
3fb7881a0e nnimap.el: Handle nil arg to nnimap-request-group
* lisp/gnus/nnimap.el (nnimap-request-group):  Handle nil "info" arg.
This arg isn't always passed in, check it's not nil before making it
into a list.  The active arg will also be nil if the group is new,
check for that.
2015-09-06 12:47:43 +00:00
Nikolaus Rath
fc9206b73a nnimap.el: Use IMAP MOVE extension if available
* lisp/gnus/nnimap.el (nnimap-request-move-article)
(nnimap-process-expiry-targets, nnimap-split-incoming-mail):
Use MOVE extension if available.
2015-08-02 22:33:38 +00:00
Nikolaus Rath
b0aa05907f nnimap.el: Explicitly ask for server capabilities
* lisp/gnus/nnimap.el (nnimap-open-connection-1): Don't assume full
capabilities will be returned in the login-result.
2015-08-02 22:28:21 +00:00
Katsumi Yamaoka
f90fe8e76f * lisp/gnus/nnimap.el: Fix my last bogus change
Reinstall Stefan Monnier's change that was made in
<83d824bc40>.
2015-07-15 23:06:57 +00:00
Nikolaus Rath
8f1df3c40d nnimap.el: Fix IMAP message size parsing
* lisp/gnus/nnimap.el (nnimap-transform-headers):
Don't assume that UID comes before RFC822.SIZE.
2015-07-11 06:01:43 +00:00
Stefan Monnier
83d824bc40 * lisp/gnus/nnimap.el: Clean up "unused var" warnings
(auth-source-creation-prompts): Declare.
(nnimap-retrieve-headers, nnimap-status-message)
(nnimap-request-create-group, nnimap-request-delete-group)
(nnimap-close-group, nnimap-request-move-article)
(nnimap-request-accept-article, nnimap-request-newgroups)
(nnimap-request-post, nnimap-dummy-active-number)
(nnimap-save-mail-spec, nnimap-get-groups): Add _ to unused vars.
(nnimap-parse-flags): Remove unused var `p'.
(nnimap-retrieve-group-data-early): Remove unused var `groups'.
(nnimap-flags-to-marks): Remove unused var `totalp'.
2015-07-10 16:17:13 -04:00
Nikolaus Rath
0bec5a22ce nnimap.el: Handle plain value for nnimap-stream
* lisp/gnus/nnimap.el (nnimap-open-connection-1): Always query
capabilities, so that a 'plain value for the `nnimap-stream' server
variable is handled correctly.

* doc/misc/gnus.texi (Customizing the IMAP Connection):
Document the 'plain option.
2015-07-09 03:54:03 +00:00
Eric Abrahamsen
adef5b0df4 nnimap.el: Remove unused let variables
* lisp/gnus/nnimap.el (nnimap-request-group): Variables are not used.
2015-07-08 22:28:24 +00:00
Paul Eggert
85aa6ede9f Use \r rather than ^M in string literals
This is less likely to cause problems on platforms that
use CRLF (or CR!) termination for lines.
2015-05-30 09:44:38 -07:00
Eric Abrahamsen
b28753b55c lisp/gnus/nnimap.el: Don't split imap messages back into original group 2015-03-24 22:12:58 +00:00
Katsumi Yamaoka
746d2923d6 lisp/gnus/nnimap.el (nnimap-get-groups): Fix XEmacs compilation 2015-02-18 23:06:12 +00:00
Eric Abrahamsen
0a1c83457d Handle unquoted IMAP group names
* lisp/gnus/nnimap.el (nnimap-get-groups): Correctly read unquoted
group names from the server LIST response.
2015-02-18 22:25:22 +00:00
Lars Magne Ingebrigtsen
0d38b2f403 Don't mark nnimap articles as read on a server hangup
* lisp/gnus/nnimap.el (nnimap-retrieve-headers): If the server closes connection
during header retrieval, error out instead of interpreting the data in
the buffer as the only messages there.  This way, we don't mark
articles as read on a server hangup (bug#19035).
2015-02-15 23:11:41 +00:00
Lars Magne Ingebrigtsen
f518a387c9 lisp/gnus/nnimap.el (nnimap-request-group-scan): Further `M-g' group fixes 2015-02-05 04:02:46 +00:00
Vincent Bernat
2c6d035968 [Gnus] Make `M-g' in the group buffer work again
* gnus-int.el (gnus-request-group-scan): Use the correct function name.
* nnimap.el (nnimap-request-group-scan): Fix the function name.
2015-02-05 03:59:47 +00:00
Lars Magne Ingebrigtsen
0c7b0967d2 lisp/gnus/nnimap.el (nnimap-request-group): Make it possible to enter nnimap groups again 2015-01-29 14:02:04 +00:00
Lars Magne Ingebrigtsen
cfb1887189 lisp/gnus/nnimap.el (nnimap-request-group): nnimap group activation problems fixed 2015-01-29 09:20:48 +00:00