diff options
| author | Eric Abrahamsen <eric@ericabrahamsen.net> | 2018-11-16 12:53:56 -0800 |
|---|---|---|
| committer | Eric Abrahamsen <eric@ericabrahamsen.net> | 2019-08-03 14:52:56 -0700 |
| commit | cb12a84f2c519a48dd87453c925e3bc36d9944db (patch) | |
| tree | 69d5c1c16b8ba0bd2c23fccb2b5b642f7228f818 /lisp/gnus/gnus-cache.el | |
| parent | c6b4eed80ae3529ada01ca6a5ef5d5b196e97bde (diff) | |
| download | emacs-cb12a84f2c519a48dd87453c925e3bc36d9944db.tar.gz | |
Remove Gnus group name encoding/decoding
This completes the process started in c1b63af445. Gnus group names are
now fully decoded inside the Gnus system.
* lisp/gnus/gnus-agent.el (gnus-agent-file-coding-system): Change
default to utf-8-emacs.
(gnus-agent-decoded-group-names, gnus-agent-decoded-group-name):
Remove variable and function. Remove all usage in this file.
* lisp/gnus/gnus-cache.el (gnus-cache-decoded-group-names,
gnus-cache-unified-group-names, gnus-cache-decoded-group-name):
Remove these variables and function. Remove all usage in this file.
* lisp/gnus/gnus-group.el (gnus-tmp-decoded-group): Remove this
variable, gnus-tmp-group is now decoded.
(gnus-group-completing-read): Don't encode or decode group names
here.
(gnus-group-make-group): Remove ENCODED argument.
* lisp/gnus/gnus-srvr.el (gnus-browse-foreign-server): Decode group
names here.
* lisp/gnus/gnus-start.el (gnus-make-hashtable-from-newsrc-alist):
check for encoded group names and decode.
(gnus-active-to-gnus-format): Make sure incoming group names are
decoded.
(gnus-read-newsrc-el-file): Check for encoded group names in
gnus-topic-alist.
* lisp/gnus/nnagent.el: Don't use a unibyte buffer.
* lisp/gnus/nnheader.el (nnheader-file-coding-system): Switch default
from 'raw-text to 'undecided, on the assumption that 'undecided will
probably write 'utf-8-emacs unless the user has arranged things
otherwise.
* lisp/gnus/nnimap.el (nnimap-decode-gnus-group,
nnimap-encode-gnus-group): Remove functions and their use.
* lisp/gnus/nnmail.el (nnmail-parse-active): Remove encoding.
(nnmail-active-file-coding-system): Default to 'utf-8-emacs instead
of 'raw-text.
(nnmail-group-names-not-encoded-p): Obsolete this variable; stop
using it.
* lisp/gnus/gnus-art.el:
* lisp/gnus/gnus-cus.el:
* lisp/gnus/gnus-msg.el:
* lisp/gnus/gnus-start.el:
* lisp/gnus/gnus-sum.el:
* lisp/gnus/gnus.el:
* lisp/gnus/nnml.el:
* lisp/gnus/message.el:
* lisp/gnus/nnrss.el: Stop using gnus-group-decoded-name in all these
files.
Diffstat (limited to 'lisp/gnus/gnus-cache.el')
| -rw-r--r-- | lisp/gnus/gnus-cache.el | 41 |
1 files changed, 1 insertions, 40 deletions
diff --git a/lisp/gnus/gnus-cache.el b/lisp/gnus/gnus-cache.el index afe8a8a416c..f43c4344dc2 100644 --- a/lisp/gnus/gnus-cache.el +++ b/lisp/gnus/gnus-cache.el @@ -430,41 +430,7 @@ Returns the list of articles removed." (and unread (memq 'unread class)) (and (not unread) (not ticked) (not dormant) (memq 'read class)))) -(defvar gnus-cache-decoded-group-names nil - "Alist of original group names and decoded group names. -Decoding is done according to `gnus-group-name-charset-method-alist' -or `gnus-group-name-charset-group-alist'.") - -(defvar gnus-cache-unified-group-names nil - "Alist of unified decoded group names and original group names. -A group name is decoded according to -`gnus-group-name-charset-method-alist' or -`gnus-group-name-charset-group-alist' first, and is encoded and -decoded again according to `nnmail-pathname-coding-system', -`file-name-coding-system', or `default-file-name-coding-system'. - -It is used when asking for an original group name from a cache -directory name, in which non-ASCII characters might have been unified -into the ones of a certain charset particularly if the `utf-8' coding -system for example was used.") - -(defun gnus-cache-decoded-group-name (group) - "Return a decoded group name of GROUP." - (or (cdr (assoc group gnus-cache-decoded-group-names)) - (let ((decoded (gnus-group-decoded-name group)) - (coding (or nnmail-pathname-coding-system - file-name-coding-system - default-file-name-coding-system))) - (push (cons group decoded) gnus-cache-decoded-group-names) - (push (cons (decode-coding-string - (encode-coding-string decoded coding) - coding) - group) - gnus-cache-unified-group-names) - decoded))) - (defun gnus-cache-file-name (group article) - (setq group (gnus-cache-decoded-group-name group)) (expand-file-name (if (stringp article) article (int-to-string article)) (file-name-as-directory @@ -733,12 +699,7 @@ If LOW, update the lower bound instead." (push (pop files) alphs))) ;; If we have nums, then this is probably a valid group. (when (setq nums (sort nums '<)) - ;; Use non-decoded group name. - ;; FIXME: this is kind of a workaround. The active file should - ;; be updated at the time articles are cached. It will make - ;; `gnus-cache-unified-group-names' needless. - (puthash (or (cdr (assoc group gnus-cache-unified-group-names)) - group) + (puthash group (cons (car nums) (car (last nums))) gnus-cache-active-hashtb)) ;; Go through all the other files. |
