commit 2401274b239e837ec274b373ba0f2848faaea7b2 (HEAD, refs/remotes/origin/master) Author: Stefan Monnier Date: Wed Mar 11 11:06:11 2015 -0400 * international/quail.el (quail-input-method): Use with-silent-modifications diff --git a/lisp/ChangeLog b/lisp/ChangeLog index c5d2e6c..35689c1 100644 --- a/lisp/ChangeLog +++ b/lisp/ChangeLog @@ -1,5 +1,8 @@ 2015-03-11 Stefan Monnier + * international/quail.el (quail-input-method): + Use with-silent-modifications. + * simple.el (goto-history-element): Don't burp on t history. 2015-03-10 Paul Eggert diff --git a/lisp/international/quail.el b/lisp/international/quail.el index 2755fd6..5e422bf 100644 --- a/lisp/international/quail.el +++ b/lisp/international/quail.el @@ -202,7 +202,7 @@ It is an alist of translations and corresponding keys." See also the documentation of `quail-define-package'." (nth 11 quail-current-package)) (defsubst quail-overlay-plist () - "Return property list of an overly used in the current Quail package." + "Return property list of an overlay used in the current Quail package." (nth 12 quail-current-package)) (defsubst quail-update-translation-function () "Return a function for updating translation in the current Quail package." @@ -1335,9 +1335,7 @@ If STR has `advice' text property, append the following special event: overriding-local-map) (list key) (quail-setup-overlays (quail-conversion-keymap)) - (let ((modified-p (buffer-modified-p)) - (buffer-undo-list t) - (inhibit-modification-hooks t)) + (with-silent-modifications (unwind-protect (let ((input-string (if (quail-conversion-keymap) (quail-start-conversion key) @@ -1349,7 +1347,6 @@ If STR has `advice' text property, append the following special event: (list (aref input-string 0)) (quail-input-string-to-events input-string)))) (quail-delete-overlays) - (set-buffer-modified-p modified-p) ;; Run this hook only when the current input method doesn't require ;; conversion. When conversion is required, the conversion function ;; should run this hook at a proper timing. commit b90f502cc18b60644ce3898699589ecd9653b397 Author: Stefan Monnier Date: Wed Mar 11 11:00:25 2015 -0400 * lisp/gnus/registry.el (registry-db): Don't oset-default an instance slot. * lisp/gnus/gnus-registry.el (gnus-registry-handle-action) (gnus-registry-post-process-groups): Don't add-to-list on a local var. (gnus-registry-keywords): Make it do something. (gnus-registry-import-eld): Remove unused var `new-entry'. (gnus-registry-action): Remove unused var `to-name'. (gnus-registry-make-db): Prefer `make-instance' to avoid compiler warnings. (gnus-registry-load, gnus-registry-fixup-registry): Avoid `oset'. diff --git a/lisp/gnus/ChangeLog b/lisp/gnus/ChangeLog index 1744a13..64124bc 100644 --- a/lisp/gnus/ChangeLog +++ b/lisp/gnus/ChangeLog @@ -1,3 +1,17 @@ +2015-03-11 Stefan Monnier + + * gnus-registry.el (gnus-registry-handle-action) + (gnus-registry-post-process-groups): Don't add-to-list on a local var. + (gnus-registry-keywords): Make it do something. + (gnus-registry-import-eld): Remove unused var `new-entry'. + (gnus-registry-action): Remove unused var `to-name'. + (gnus-registry-make-db): Prefer `make-instance' to avoid + compiler warnings. + (gnus-registry-load, gnus-registry-fixup-registry): Avoid `oset'. + + * registry.el (registry-db): Don't oset-default an instance-allocated + slot. + 2015-03-10 Glenn Morris * message.el (message-valid-fqdn-regexp): Bump :version for diff --git a/lisp/gnus/gnus-registry.el b/lisp/gnus/gnus-registry.el index ac903a2..1d5887d 100644 --- a/lisp/gnus/gnus-registry.el +++ b/lisp/gnus/gnus-registry.el @@ -277,16 +277,16 @@ This can slow pruning down. Set to nil to perform no sorting." (defun gnus-registry-fixup-registry (db) (when db (let ((old (oref db tracked))) - (oset db precious + (setf (oref db precious) (append gnus-registry-extra-entries-precious '())) - (oset db max-size + (setf (oref db max-size) (or gnus-registry-max-entries most-positive-fixnum)) - (oset db prune-factor + (setf (oref db prune-factor) (or gnus-registry-prune-factor 0.1)) - (oset db tracked + (setf (oref db tracked) (append gnus-registry-track-extra '(mark group keyword))) (when (not (equal old (oref db tracked))) @@ -297,14 +297,13 @@ This can slow pruning down. Set to nil to perform no sorting." (defun gnus-registry-make-db (&optional file) (interactive "fGnus registry persistence file: \n") (gnus-registry-fixup-registry - (registry-db - "Gnus Registry" - :file (or file gnus-registry-cache-file) - ;; these parameters are set in `gnus-registry-fixup-registry' - :max-size most-positive-fixnum - :version registry-db-version - :precious nil - :tracked nil))) + (make-instance 'registry-db + :file (or file gnus-registry-cache-file) + ;; these parameters are set in `gnus-registry-fixup-registry' + :max-size most-positive-fixnum + :version registry-db-version + :precious nil + :tracked nil))) (defvar gnus-registry-db (gnus-registry-make-db) "The article registry by Message ID. See `registry-db'.") @@ -336,7 +335,7 @@ This is not required after changing `gnus-registry-cache-file'." old-file-name file))) (progn (gnus-registry-read old-file-name) - (oset gnus-registry-db :file file) + (setf (oref gnus-registry-db :file) file) (gnus-message 1 "Registry filename changed to %s" file)) (gnus-registry-remake-db t)))) (error @@ -398,8 +397,7 @@ This is not required after changing `gnus-registry-cache-file'." (sender (nth 0 (gnus-registry-extract-addresses (mail-header-from data-header)))) (from (gnus-group-guess-full-name-from-command-method from)) - (to (if to (gnus-group-guess-full-name-from-command-method to) nil)) - (to-name (if to to "the Bit Bucket"))) + (to (if to (gnus-group-guess-full-name-from-command-method to) nil))) (gnus-message 7 "Gnus registry: article %s %s from %s to %s" id (if method "respooling" "going") from to) @@ -455,7 +453,8 @@ This is not required after changing `gnus-registry-cache-file'." (let ((new (or (assq (first kv) entry) (list (first kv))))) (dolist (toadd (cdr kv)) - (add-to-list 'new toadd t)) + (unless (member toadd new) + (setq new (append new (list toadd))))) (setq entry (cons new (assq-delete-all (first kv) entry)))))) (gnus-message 10 "Gnus registry: new entry for %s is %S" @@ -699,7 +698,7 @@ possible. Uses `gnus-registry-split-strategy'." 10 "%s: stripped group %s to %s" log-agent group short-name)) - (add-to-list 'out short-name)) + (pushnew short-name out :test #'equal)) ;; else... (gnus-message 7 @@ -785,8 +784,9 @@ Overrides existing keywords with FORCE set non-nil." (gnus-registry-set-id-key id 'keyword words))))) (defun gnus-registry-keywords () - (let ((table (registry-lookup-secondary gnus-registry-db 'keyword))) - (when table (maphash (lambda (k v) k) table)))) + (let ((table (registry-lookup-secondary gnus-registry-db 'keyword)) + (ks ())) + (when table (maphash (lambda (k _v) (push k ks)) table) ks))) (defun gnus-registry-find-keywords (keyword) (interactive (list @@ -1104,7 +1104,6 @@ only the last one's marks are returned." (setq entry (car-safe old) old (cdr-safe old)) (let* ((id (car-safe entry)) - (new-entry (gnus-registry-get-or-make-entry id)) (rest (cdr-safe entry)) (groups (loop for p in rest when (stringp p) diff --git a/lisp/gnus/registry.el b/lisp/gnus/registry.el index 881eb9f..1c83b93 100644 --- a/lisp/gnus/registry.el +++ b/lisp/gnus/registry.el @@ -98,7 +98,12 @@ :type (or null float) :documentation "The registry version.") (max-size :initarg :max-size - ;; :initform most-positive-fixnum ;; see below + ;; EIEIO's :initform is not 100% compatible with CLOS in + ;; that if the form is an atom, it assumes it's constant + ;; value rather than an expression, so in order to get the value + ;; of `most-positive-fixnum', we need to use an + ;; expression that's not just a symbol. + :initform (symbol-value 'most-positive-fixnum) :type integer :custom integer :documentation "The maximum number of registry entries.") @@ -123,8 +128,6 @@ (data :initarg :data :type hash-table :documentation "The data hashtable."))) -;; Do this separately, since defclass doesn't allow expressions in :initform. -(oset-default 'registry-db max-size most-positive-fixnum) (defmethod initialize-instance :BEFORE ((this registry-db) slots) "Check whether a registry object needs to be upgraded." commit 41bba4b40f6e07924a3681ffeabb26ca48424095 Author: Stefan Monnier Date: Wed Mar 11 10:54:56 2015 -0400 * lisp/simple.el (goto-history-element): Don't burp on t history. diff --git a/lisp/ChangeLog b/lisp/ChangeLog index b25988d..c5d2e6c 100644 --- a/lisp/ChangeLog +++ b/lisp/ChangeLog @@ -1,3 +1,7 @@ +2015-03-11 Stefan Monnier + + * simple.el (goto-history-element): Don't burp on t history. + 2015-03-10 Paul Eggert Prefer "initialize" to "initialise" @@ -46,14 +50,14 @@ 2015-03-08 Dmitry Gutov - * progmodes/ruby-mode.el (ruby-font-lock-keywords): Use - `font-lock-constant-face' for nil, true and false. Highlight - `self' as a keyword. (Bug#17733) + * progmodes/ruby-mode.el (ruby-font-lock-keywords): + Use `font-lock-constant-face' for nil, true and false. + Highlight `self' as a keyword. (Bug#17733) 2015-03-08 Nobuyoshi Nakada - * progmodes/ruby-mode.el (ruby-syntax-before-regexp-re): Expect - beginning of regexp also after open brace or vertical bar. + * progmodes/ruby-mode.el (ruby-syntax-before-regexp-re): + Expect beginning of regexp also after open brace or vertical bar. (Bug#20026) 2015-03-07 Stefan Monnier @@ -277,8 +281,8 @@ 2015-03-03 Agustín Martín Domingo Improve string search in `flyspell-word-search-*`. (Bug#16800) - * textmodes/flyspell.el (flyspell-duplicate-distance): Limit - default search distance for duplicated words to 40000. + * textmodes/flyspell.el (flyspell-duplicate-distance): + Limit default search distance for duplicated words to 40000. (flyspell-word-search-backward, flyspell-word-search-forward): Search as full word with defined casechars, not as substring. diff --git a/lisp/simple.el b/lisp/simple.el index 1e64f99..4deb4cf 100644 --- a/lisp/simple.el +++ b/lisp/simple.el @@ -1940,7 +1940,9 @@ The argument NABS specifies the absolute history position." (user-error (if minibuffer-default "End of defaults; no next item" "End of history; no default available"))) - (if (> nabs (length (symbol-value minibuffer-history-variable))) + (if (> nabs (if (listp (symbol-value minibuffer-history-variable)) + (length (symbol-value minibuffer-history-variable)) + 0)) (user-error "Beginning of history; no preceding item")) (unless (memq last-command '(next-history-element previous-history-element))