aboutsummaryrefslogtreecommitdiffstats
path: root/lisp
diff options
context:
space:
mode:
authorJoakim Verona2012-03-26 23:32:56 +0200
committerJoakim Verona2012-03-26 23:32:56 +0200
commite28095d4fe09534832c171408fc6520b7d25957b (patch)
tree142e748041268ca6d4e7780f69b931528195176f /lisp
parent75da28a3845b9dfa4e730cfa19c14edc52cbb222 (diff)
parentf9210e18be29dd83fab9f4e260a29f6e6e5f0c62 (diff)
downloademacs-e28095d4fe09534832c171408fc6520b7d25957b.tar.gz
emacs-e28095d4fe09534832c171408fc6520b7d25957b.zip
upstream
Diffstat (limited to 'lisp')
-rw-r--r--lisp/ChangeLog16
-rw-r--r--lisp/emacs-lisp/bytecomp.el7
-rw-r--r--lisp/files.el6
-rw-r--r--lisp/startup.el9
-rw-r--r--lisp/vc/vc-git.el19
5 files changed, 48 insertions, 9 deletions
diff --git a/lisp/ChangeLog b/lisp/ChangeLog
index 5a0c33da3c8..93ae0f12862 100644
--- a/lisp/ChangeLog
+++ b/lisp/ChangeLog
@@ -1,3 +1,19 @@
12012-03-26 Stefan Monnier <monnier@iro.umontreal.ca>
2
3 * emacs-lisp/bytecomp.el (byte-compile-constants-vector): Allow more
4 than 197 variables.
5
62012-03-26 Ami Fischman <ami@fischman.org>
7
8 * vc/vc-git.el (vc-git-state): Avoid unnecessarily locking.
9
102012-03-26 Glenn Morris <rgm@gnu.org>
11
12 * files.el (save-buffers-kill-emacs): Doc fix.
13
14 * startup.el (normal-top-level, command-line, command-line-1):
15 Give them doc strings.
16
12012-03-25 Eli Zaretskii <eliz@gnu.org> 172012-03-25 Eli Zaretskii <eliz@gnu.org>
2 18
3 * makefile.w32-in (install): Use $(DIRNAME)_same-dir.tst instead 19 * makefile.w32-in (install): Use $(DIRNAME)_same-dir.tst instead
diff --git a/lisp/emacs-lisp/bytecomp.el b/lisp/emacs-lisp/bytecomp.el
index 2ee878e5213..93c6518d215 100644
--- a/lisp/emacs-lisp/bytecomp.el
+++ b/lisp/emacs-lisp/bytecomp.el
@@ -2694,7 +2694,8 @@ If FORM is a lambda or a macro, byte-compile it as a function."
2694 (limits '(5 ; Use the 1-byte varref codes, 2694 (limits '(5 ; Use the 1-byte varref codes,
2695 63 ; 1-constlim ; 1-byte byte-constant codes, 2695 63 ; 1-constlim ; 1-byte byte-constant codes,
2696 255 ; 2-byte varref codes, 2696 255 ; 2-byte varref codes,
2697 65535)) ; 3-byte codes for the rest. 2697 65535 ; 3-byte codes for the rest.
2698 65535)) ; twice since we step when we swap.
2698 limit) 2699 limit)
2699 (while (or rest other) 2700 (while (or rest other)
2700 (setq limit (car limits)) 2701 (setq limit (car limits))
@@ -2708,8 +2709,8 @@ If FORM is a lambda or a macro, byte-compile it as a function."
2708 (setcdr (car rest) (setq i (1+ i))) 2709 (setcdr (car rest) (setq i (1+ i)))
2709 (setq ret (cons (car rest) ret)))) 2710 (setq ret (cons (car rest) ret))))
2710 (setq rest (cdr rest))) 2711 (setq rest (cdr rest)))
2711 (setq limits (cdr limits) 2712 (setq limits (cdr limits) ;Step
2712 rest (prog1 other 2713 rest (prog1 other ;&Swap.
2713 (setq other rest)))) 2714 (setq other rest))))
2714 (apply 'vector (nreverse (mapcar 'car ret))))) 2715 (apply 'vector (nreverse (mapcar 'car ret)))))
2715 2716
diff --git a/lisp/files.el b/lisp/files.el
index 8c61c288be9..b3fc0766ac5 100644
--- a/lisp/files.el
+++ b/lisp/files.el
@@ -6290,7 +6290,11 @@ be a predicate function such as `yes-or-no-p'."
6290 6290
6291(defun save-buffers-kill-emacs (&optional arg) 6291(defun save-buffers-kill-emacs (&optional arg)
6292 "Offer to save each buffer, then kill this Emacs process. 6292 "Offer to save each buffer, then kill this Emacs process.
6293With prefix ARG, silently save all file-visiting buffers, then kill." 6293With prefix ARG, silently save all file-visiting buffers without asking.
6294If there are active processes where `process-query-on-exit-flag'
6295returns non-nil, asks whether processes should be killed.
6296Runs the members of `kill-emacs-query-functions' in turn and stops
6297if any returns nil. If `confirm-kill-emacs' is non-nil, calls it."
6294 (interactive "P") 6298 (interactive "P")
6295 (save-some-buffers arg t) 6299 (save-some-buffers arg t)
6296 (and (or (not (memq t (mapcar (function 6300 (and (or (not (memq t (mapcar (function
diff --git a/lisp/startup.el b/lisp/startup.el
index 41056f3907e..57d7a74e5ec 100644
--- a/lisp/startup.el
+++ b/lisp/startup.el
@@ -65,6 +65,8 @@ once you are familiar with the contents of the startup screen."
65 65
66(defvar startup-screen-inhibit-startup-screen nil) 66(defvar startup-screen-inhibit-startup-screen nil)
67 67
68;; FIXME? Why does this get such weirdly extreme treatment, when the
69;; more important inhibit-startup-screen does not.
68(defcustom inhibit-startup-echo-area-message nil 70(defcustom inhibit-startup-echo-area-message nil
69 "Non-nil inhibits the initial startup echo area message. 71 "Non-nil inhibits the initial startup echo area message.
70Setting this variable takes effect 72Setting this variable takes effect
@@ -464,6 +466,10 @@ DIRS are relative."
464 (setcdr tail (append (mapcar 'expand-file-name dirs) (cdr tail)))))) 466 (setcdr tail (append (mapcar 'expand-file-name dirs) (cdr tail))))))
465 467
466(defun normal-top-level () 468(defun normal-top-level ()
469 "Emacs calls this function when it first starts up.
470It sets `command-line-processed', processes the command-line,
471reads the initialization files, etc.
472It is the default value of the variable `top-level'."
467 (if command-line-processed 473 (if command-line-processed
468 (message "Back to top level.") 474 (message "Back to top level.")
469 (setq command-line-processed t) 475 (setq command-line-processed t)
@@ -701,6 +707,8 @@ opening the first frame (e.g. open a connection to an X server).")
701(defvar server-process) 707(defvar server-process)
702 708
703(defun command-line () 709(defun command-line ()
710 "A subroutine of `normal-top-level'.
711Amongst another things, it parses the command-line arguments."
704 (setq before-init-time (current-time) 712 (setq before-init-time (current-time)
705 after-init-time nil 713 after-init-time nil
706 command-line-default-directory default-directory) 714 command-line-default-directory default-directory)
@@ -2076,6 +2084,7 @@ A fancy display is used on graphic displays, normal otherwise."
2076(defalias 'display-splash-screen 'display-startup-screen) 2084(defalias 'display-splash-screen 'display-startup-screen)
2077 2085
2078(defun command-line-1 (args-left) 2086(defun command-line-1 (args-left)
2087 "A subroutine of `command-line'."
2079 (display-startup-echo-area-message) 2088 (display-startup-echo-area-message)
2080 (when (and pure-space-overflow 2089 (when (and pure-space-overflow
2081 (not noninteractive)) 2090 (not noninteractive))
diff --git a/lisp/vc/vc-git.el b/lisp/vc/vc-git.el
index 3ec32243796..bf7b7fb9e17 100644
--- a/lisp/vc/vc-git.el
+++ b/lisp/vc/vc-git.el
@@ -217,12 +217,21 @@ matching the resulting Git log output, and KEYWORDS is a list of
217 ;; operation. 217 ;; operation.
218 (if (not (vc-git-registered file)) 218 (if (not (vc-git-registered file))
219 'unregistered 219 'unregistered
220 (vc-git--call nil "add" "--refresh" "--" (file-relative-name file))
221 (let ((diff (vc-git--run-command-string 220 (let ((diff (vc-git--run-command-string
222 file "diff-index" "-z" "HEAD" "--"))) 221 file "diff-index" "-p" "--raw" "-z" "HEAD" "--")))
223 (if (and diff (string-match ":[0-7]\\{6\\} [0-7]\\{6\\} [0-9a-f]\\{40\\} [0-9a-f]\\{40\\} \\([ADMUT]\\)\0[^\0]+\0" 222 (if (and diff
224 diff)) 223 (string-match ":[0-7]\\{6\\} [0-7]\\{6\\} [0-9a-f]\\{40\\} [0-9a-f]\\{40\\} \\([ADMUT]\\)\0[^\0]+\0\\(\\(?:.\\|\n\\)*\\)\\'"
225 (vc-git--state-code (match-string 1 diff)) 224 diff))
225 (let ((diff-letter (match-string 1 diff))
226 (diff-contents (match-string 2 diff)))
227 (if (not (string-match "\n." diff-contents))
228 ;; Empty diff: file contents is the same as the HEAD
229 ;; revision, but timestamps are different (eg, file
230 ;; was "touch"ed). Update timestamp in index:
231 (prog1 'up-to-date
232 (vc-git--call nil "add" "--refresh" "--"
233 (file-relative-name file)))
234 (vc-git--state-code diff-letter)))
226 (if (vc-git--empty-db-p) 'added 'up-to-date))))) 235 (if (vc-git--empty-db-p) 'added 'up-to-date)))))
227 236
228(defun vc-git-working-revision (file) 237(defun vc-git-working-revision (file)