aboutsummaryrefslogtreecommitdiffstats
path: root/lisp
diff options
context:
space:
mode:
authorGlenn Morris2011-03-12 11:19:47 -0800
committerGlenn Morris2011-03-12 11:19:47 -0800
commit09d9db2c4921cb2eb0974892164dd03d6bffdd80 (patch)
tree7165f97f16ea0eaab567db2a45f69d1cdf66bdce /lisp
parent54ce11a161cd756047fccdfc128dc0527692ea06 (diff)
parent6efb972c00a9ea8ffa84118199aa59c2d3a3b50e (diff)
downloademacs-09d9db2c4921cb2eb0974892164dd03d6bffdd80.tar.gz
emacs-09d9db2c4921cb2eb0974892164dd03d6bffdd80.zip
Merge from emacs-23; up to 2010-06-03T22:16:02Z!dann@ics.uci.edu
Diffstat (limited to 'lisp')
-rw-r--r--lisp/ChangeLog17
-rw-r--r--lisp/ebuff-menu.el101
-rw-r--r--lisp/files.el10
-rw-r--r--lisp/server.el8
4 files changed, 83 insertions, 53 deletions
diff --git a/lisp/ChangeLog b/lisp/ChangeLog
index 5f5484af8f2..3b47dd24698 100644
--- a/lisp/ChangeLog
+++ b/lisp/ChangeLog
@@ -1,3 +1,20 @@
12011-03-12 Stefan Monnier <monnier@iro.umontreal.ca>
2
3 * ebuff-menu.el (electric-buffer-menu-mode-map): Move initialization
4 into declaration. Remove redundant and harmful binding.
5
62011-03-12 Eli Zaretskii <eliz@gnu.org>
7
8 * files.el (file-ownership-preserved-p): Pass `integer' as an
9 explicit 2nd argument to `file-attributes'. If the file's owner
10 is the Administrators group on Windows, and the current user is
11 Administrator, consider that a match.
12
13 * server.el (server-ensure-safe-dir): Consider server directory
14 safe on MS-Windows if its owner is the Administrators group while
15 the current Emacs user is Administrator. Use `=' to compare
16 numerical UIDs, since they could be integers or floats.
17
12011-03-12 Juanma Barranquero <lekktu@gmail.com> 182011-03-12 Juanma Barranquero <lekktu@gmail.com>
2 19
3 * vc/vc-bzr.el (vc-bzr-state): Handle bzr 2.3.0 (follow-up to bug#8170). 20 * vc/vc-bzr.el (vc-bzr-state): Handle bzr 2.3.0 (follow-up to bug#8170).
diff --git a/lisp/ebuff-menu.el b/lisp/ebuff-menu.el
index dd589cb58f7..a906cf8516a 100644
--- a/lisp/ebuff-menu.el
+++ b/lisp/ebuff-menu.el
@@ -34,7 +34,56 @@
34;; this depends on the format of list-buffers (from src/buffer.c) and 34;; this depends on the format of list-buffers (from src/buffer.c) and
35;; on stuff in lisp/buff-menu.el 35;; on stuff in lisp/buff-menu.el
36 36
37(defvar electric-buffer-menu-mode-map nil) 37(defvar electric-buffer-menu-mode-map
38 (let ((map (make-keymap)))
39 (fillarray (car (cdr map)) 'Electric-buffer-menu-undefined)
40 (define-key map "\e" nil)
41 (define-key map "\C-z" 'suspend-frame)
42 (define-key map "v" 'Electric-buffer-menu-mode-view-buffer)
43 (define-key map (char-to-string help-char) 'Helper-help)
44 (define-key map "?" 'Helper-describe-bindings)
45 (define-key map "\C-c" nil)
46 (define-key map "\C-c\C-c" 'Electric-buffer-menu-quit)
47 (define-key map "\C-]" 'Electric-buffer-menu-quit)
48 (define-key map "q" 'Electric-buffer-menu-quit)
49 (define-key map " " 'Electric-buffer-menu-select)
50 (define-key map "\C-m" 'Electric-buffer-menu-select)
51 (define-key map "\C-l" 'recenter)
52 (define-key map "s" 'Buffer-menu-save)
53 (define-key map "d" 'Buffer-menu-delete)
54 (define-key map "k" 'Buffer-menu-delete)
55 (define-key map "\C-d" 'Buffer-menu-delete-backwards)
56 ;; (define-key map "\C-k" 'Buffer-menu-delete)
57 (define-key map "\177" 'Buffer-menu-backup-unmark)
58 (define-key map "~" 'Buffer-menu-not-modified)
59 (define-key map "u" 'Buffer-menu-unmark)
60 (let ((i ?0))
61 (while (<= i ?9)
62 (define-key map (char-to-string i) 'digit-argument)
63 (define-key map (concat "\e" (char-to-string i)) 'digit-argument)
64 (setq i (1+ i))))
65 (define-key map "-" 'negative-argument)
66 (define-key map "\e-" 'negative-argument)
67 (define-key map "m" 'Buffer-menu-mark)
68 (define-key map "\C-u" 'universal-argument)
69 (define-key map "\C-p" 'previous-line)
70 (define-key map "\C-n" 'next-line)
71 (define-key map "p" 'previous-line)
72 (define-key map "n" 'next-line)
73 (define-key map "\C-v" 'scroll-up)
74 (define-key map "\ev" 'scroll-down)
75 (define-key map ">" 'scroll-right)
76 (define-key map "<" 'scroll-left)
77 (define-key map "\e\C-v" 'scroll-other-window)
78 (define-key map "\e>" 'end-of-buffer)
79 (define-key map "\e<" 'beginning-of-buffer)
80 (define-key map "\e\e" nil)
81 (define-key map "\e\e\e" 'Electric-buffer-menu-quit)
82 ;; This binding prevents the "escape => ESC" function-key-map mapping from
83 ;; kicking in!
84 ;; (define-key map [escape escape escape] 'Electric-buffer-menu-quit)
85 (define-key map [mouse-2] 'Electric-buffer-menu-mouse-select)
86 map))
38 87
39(defvar electric-buffer-menu-mode-hook nil 88(defvar electric-buffer-menu-mode-hook nil
40 "Normal hook run by `electric-buffer-list'.") 89 "Normal hook run by `electric-buffer-list'.")
@@ -167,55 +216,7 @@ Entry to this mode via command `electric-buffer-list' calls the value of
167;; generally the same as Buffer-menu-mode-map 216;; generally the same as Buffer-menu-mode-map
168;; (except we don't indirect to global-map) 217;; (except we don't indirect to global-map)
169(put 'Electric-buffer-menu-undefined 'suppress-keymap t) 218(put 'Electric-buffer-menu-undefined 'suppress-keymap t)
170(if electric-buffer-menu-mode-map 219
171 nil
172 (let ((map (make-keymap)))
173 (fillarray (car (cdr map)) 'Electric-buffer-menu-undefined)
174 (define-key map "\e" nil)
175 (define-key map "\C-z" 'suspend-frame)
176 (define-key map "v" 'Electric-buffer-menu-mode-view-buffer)
177 (define-key map (char-to-string help-char) 'Helper-help)
178 (define-key map "?" 'Helper-describe-bindings)
179 (define-key map "\C-c" nil)
180 (define-key map "\C-c\C-c" 'Electric-buffer-menu-quit)
181 (define-key map "\C-]" 'Electric-buffer-menu-quit)
182 (define-key map "q" 'Electric-buffer-menu-quit)
183 (define-key map " " 'Electric-buffer-menu-select)
184 (define-key map "\C-m" 'Electric-buffer-menu-select)
185 (define-key map "\C-l" 'recenter)
186 (define-key map "s" 'Buffer-menu-save)
187 (define-key map "d" 'Buffer-menu-delete)
188 (define-key map "k" 'Buffer-menu-delete)
189 (define-key map "\C-d" 'Buffer-menu-delete-backwards)
190 ;(define-key map "\C-k" 'Buffer-menu-delete)
191 (define-key map "\177" 'Buffer-menu-backup-unmark)
192 (define-key map "~" 'Buffer-menu-not-modified)
193 (define-key map "u" 'Buffer-menu-unmark)
194 (let ((i ?0))
195 (while (<= i ?9)
196 (define-key map (char-to-string i) 'digit-argument)
197 (define-key map (concat "\e" (char-to-string i)) 'digit-argument)
198 (setq i (1+ i))))
199 (define-key map "-" 'negative-argument)
200 (define-key map "\e-" 'negative-argument)
201 (define-key map "m" 'Buffer-menu-mark)
202 (define-key map "\C-u" 'universal-argument)
203 (define-key map "\C-p" 'previous-line)
204 (define-key map "\C-n" 'next-line)
205 (define-key map "p" 'previous-line)
206 (define-key map "n" 'next-line)
207 (define-key map "\C-v" 'scroll-up)
208 (define-key map "\ev" 'scroll-down)
209 (define-key map ">" 'scroll-right)
210 (define-key map "<" 'scroll-left)
211 (define-key map "\e\C-v" 'scroll-other-window)
212 (define-key map "\e>" 'end-of-buffer)
213 (define-key map "\e<" 'beginning-of-buffer)
214 (define-key map "\e\e" nil)
215 (define-key map "\e\e\e" 'Electric-buffer-menu-quit)
216 (define-key map [escape escape escape] 'Electric-buffer-menu-quit)
217 (define-key map [mouse-2] 'Electric-buffer-menu-mouse-select)
218 (setq electric-buffer-menu-mode-map map)))
219 220
220(defun Electric-buffer-menu-exit () 221(defun Electric-buffer-menu-exit ()
221 (interactive) 222 (interactive)
diff --git a/lisp/files.el b/lisp/files.el
index ffc0b33119f..198d5ca87de 100644
--- a/lisp/files.el
+++ b/lisp/files.el
@@ -3895,11 +3895,17 @@ See also `file-name-version-regexp'."
3895 (let ((handler (find-file-name-handler file 'file-ownership-preserved-p))) 3895 (let ((handler (find-file-name-handler file 'file-ownership-preserved-p)))
3896 (if handler 3896 (if handler
3897 (funcall handler 'file-ownership-preserved-p file) 3897 (funcall handler 'file-ownership-preserved-p file)
3898 (let ((attributes (file-attributes file))) 3898 (let ((attributes (file-attributes file 'integer)))
3899 ;; Return t if the file doesn't exist, since it's true that no 3899 ;; Return t if the file doesn't exist, since it's true that no
3900 ;; information would be lost by an (attempted) delete and create. 3900 ;; information would be lost by an (attempted) delete and create.
3901 (or (null attributes) 3901 (or (null attributes)
3902 (= (nth 2 attributes) (user-uid))))))) 3902 (= (nth 2 attributes) (user-uid))
3903 ;; Files created on Windows by Administrator (RID=500)
3904 ;; have the Administrators group (RID=544) recorded as
3905 ;; their owner. Rewriting them will still preserve the
3906 ;; owner.
3907 (and (eq system-type 'windows-nt)
3908 (= (user-uid) 500) (= (nth 2 attributes) 544)))))))
3903 3909
3904(defun file-name-sans-extension (filename) 3910(defun file-name-sans-extension (filename)
3905 "Return FILENAME sans final \"extension\". 3911 "Return FILENAME sans final \"extension\".
diff --git a/lisp/server.el b/lisp/server.el
index df8cae0a6af..cb1903ad96c 100644
--- a/lisp/server.el
+++ b/lisp/server.el
@@ -485,7 +485,13 @@ See variable `server-auth-dir' for details."
485 (file-name-as-directory dir)) 485 (file-name-as-directory dir))
486 :warning) 486 :warning)
487 (throw :safe t)) 487 (throw :safe t))
488 (unless (eql uid (user-uid)) ; is the dir ours? 488 (unless (or (= uid (user-uid)) ; is the dir ours?
489 (and w32
490 ;; Files created on Windows by
491 ;; Administrator (RID=500) have
492 ;; the Administrators (RID=544)
493 ;; group recorded as the owner.
494 (= uid 544) (= (user-uid) 500)))
489 (throw :safe nil)) 495 (throw :safe nil))
490 (when w32 ; on NTFS? 496 (when w32 ; on NTFS?
491 (throw :safe t)) 497 (throw :safe t))