aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorStefan Monnier2013-06-05 15:57:10 -0400
committerStefan Monnier2013-06-05 15:57:10 -0400
commitfccdc796cfccb428a3535943faa08f4323cacc4b (patch)
treef381e2a3171c37aa78aec63a39b29b6df82f339c
parent398b4366647e54babb1c743728fddbc909678904 (diff)
downloademacs-fccdc796cfccb428a3535943faa08f4323cacc4b.tar.gz
emacs-fccdc796cfccb428a3535943faa08f4323cacc4b.zip
* lisp/autorevert.el (auto-revert-notify-handler): Use memq.
Hide assertion failure. * lisp/skeleton.el: Use cl-lib. (skeleton-further-elements): Use defvar-local. (skeleton-insert): Use cl-progv.
-rw-r--r--lisp/ChangeLog9
-rw-r--r--lisp/autorevert.el12
-rw-r--r--lisp/skeleton.el12
3 files changed, 23 insertions, 10 deletions
diff --git a/lisp/ChangeLog b/lisp/ChangeLog
index acc7d6566d3..7de7b079570 100644
--- a/lisp/ChangeLog
+++ b/lisp/ChangeLog
@@ -1,3 +1,12 @@
12013-06-05 Stefan Monnier <monnier@iro.umontreal.ca>
2
3 * autorevert.el (auto-revert-notify-handler): Use memq.
4 Hide assertion failure.
5
6 * skeleton.el: Use cl-lib.
7 (skeleton-further-elements): Use defvar-local.
8 (skeleton-insert): Use cl-progv.
9
12013-06-05 Teodor Zlatanov <tzz@lifelogs.com> 102013-06-05 Teodor Zlatanov <tzz@lifelogs.com>
2 11
3 * progmodes/prog-mode.el (prog-prettify-symbols) 12 * progmodes/prog-mode.el (prog-prettify-symbols)
diff --git a/lisp/autorevert.el b/lisp/autorevert.el
index 90dda93a166..4a6d4cb4cc0 100644
--- a/lisp/autorevert.el
+++ b/lisp/autorevert.el
@@ -578,7 +578,7 @@ will use an up-to-date value of `auto-revert-interval'"
578 ((featurep 'w32notify) (nth 2 event))))) 578 ((featurep 'w32notify) (nth 2 event)))))
579 579
580(defun auto-revert-notify-handler (event) 580(defun auto-revert-notify-handler (event)
581 "Handle an event returned from file notification." 581 "Handle an EVENT returned from file notification."
582 (when (auto-revert-notify-event-p event) 582 (when (auto-revert-notify-event-p event)
583 (let* ((descriptor (auto-revert-notify-event-descriptor event)) 583 (let* ((descriptor (auto-revert-notify-event-descriptor event))
584 (action (auto-revert-notify-event-action event)) 584 (action (auto-revert-notify-event-action event))
@@ -591,10 +591,12 @@ will use an up-to-date value of `auto-revert-interval'"
591 (cl-assert descriptor) 591 (cl-assert descriptor)
592 (cond 592 (cond
593 ((featurep 'gfilenotify) 593 ((featurep 'gfilenotify)
594 (cl-assert (or (eq 'attribute-changed action) 594 (cl-assert (memq action '(attribute-changed changed created deleted
595 (eq 'changed action) 595 ;; FIXME: I keep getting this action, so I
596 (eq 'created action) 596 ;; added it here, but I have no idea what
597 (eq 'deleted action)))) 597 ;; I'm doing. --Stef
598 changes-done-hint))
599 t))
598 ((featurep 'inotify) 600 ((featurep 'inotify)
599 (cl-assert (or (memq 'attrib action) 601 (cl-assert (or (memq 'attrib action)
600 (memq 'create action) 602 (memq 'create action)
diff --git a/lisp/skeleton.el b/lisp/skeleton.el
index 01288b89132..a7eae7464e2 100644
--- a/lisp/skeleton.el
+++ b/lisp/skeleton.el
@@ -31,6 +31,8 @@
31 31
32;;; Code: 32;;; Code:
33 33
34(eval-when-compile (require 'cl-lib))
35
34;; page 1: statement skeleton language definition & interpreter 36;; page 1: statement skeleton language definition & interpreter
35;; page 2: paired insertion 37;; page 2: paired insertion
36;; page 3: mirror-mode, an example for setting up paired insertion 38;; page 3: mirror-mode, an example for setting up paired insertion
@@ -84,13 +86,11 @@ The variables `v1' and `v2' are still set when calling this.")
84 "When non-nil, indent rigidly under current line for element `\\n'. 86 "When non-nil, indent rigidly under current line for element `\\n'.
85Else use mode's `indent-line-function'.") 87Else use mode's `indent-line-function'.")
86 88
87(defvar skeleton-further-elements () 89(defvar-local skeleton-further-elements ()
88 "A buffer-local varlist (see `let') of mode specific skeleton elements. 90 "A buffer-local varlist (see `let') of mode specific skeleton elements.
89These variables are bound while interpreting a skeleton. Their value may 91These variables are bound while interpreting a skeleton. Their value may
90in turn be any valid skeleton element if they are themselves to be used as 92in turn be any valid skeleton element if they are themselves to be used as
91skeleton elements.") 93skeleton elements.")
92(make-variable-buffer-local 'skeleton-further-elements)
93
94 94
95(defvar skeleton-subprompt 95(defvar skeleton-subprompt
96 (substitute-command-keys 96 (substitute-command-keys
@@ -260,8 +260,10 @@ When done with skeleton, but before going back to `_'-point call
260 skeleton-modified skeleton-point resume: help input v1 v2) 260 skeleton-modified skeleton-point resume: help input v1 v2)
261 (setq skeleton-positions nil) 261 (setq skeleton-positions nil)
262 (unwind-protect 262 (unwind-protect
263 (eval `(let ,skeleton-further-elements 263 (cl-progv
264 (skeleton-internal-list skeleton str))) 264 (mapcar #'car skeleton-further-elements)
265 (mapcar (lambda (x) (eval (cadr x))) skeleton-further-elements)
266 (skeleton-internal-list skeleton str))
265 (run-hooks 'skeleton-end-hook) 267 (run-hooks 'skeleton-end-hook)
266 (sit-for 0) 268 (sit-for 0)
267 (or (pos-visible-in-window-p beg) 269 (or (pos-visible-in-window-p beg)