diff options
| -rw-r--r-- | lisp/ChangeLog | 21 | ||||
| -rw-r--r-- | lisp/emacs-lisp/edebug.el | 2 | ||||
| -rw-r--r-- | lisp/emacs-lisp/smie.el | 16 | ||||
| -rw-r--r-- | lisp/gnus/ChangeLog | 17 | ||||
| -rw-r--r-- | lisp/gnus/gnus-sum.el | 6 | ||||
| -rw-r--r-- | lisp/gnus/message.el | 10 | ||||
| -rw-r--r-- | lisp/net/rcirc.el | 2 | ||||
| -rw-r--r-- | lisp/progmodes/grep.el | 6 | ||||
| -rw-r--r-- | lisp/server.el | 230 | ||||
| -rw-r--r-- | lisp/vc/vc-dir.el | 6 |
10 files changed, 176 insertions, 140 deletions
diff --git a/lisp/ChangeLog b/lisp/ChangeLog index c942f9c52ca..392510c63d0 100644 --- a/lisp/ChangeLog +++ b/lisp/ChangeLog | |||
| @@ -1,5 +1,26 @@ | |||
| 1 | 2011-02-11 Juanma Barranquero <lekktu@gmail.com> | ||
| 2 | |||
| 3 | * net/rcirc.el (rcirc-send-ctcp): Remove spurious arg to `format'. | ||
| 4 | |||
| 1 | 2011-02-10 Stefan Monnier <monnier@iro.umontreal.ca> | 5 | 2011-02-10 Stefan Monnier <monnier@iro.umontreal.ca> |
| 2 | 6 | ||
| 7 | * server.el (server-process-filter): Use pcase. | ||
| 8 | |||
| 9 | * emacs-lisp/smie.el (smie-blink-matching-open): Don't use `pos' in two | ||
| 10 | conflicting ways. | ||
| 11 | (smie-indent--parent): Extend to "parent of arg". | ||
| 12 | (smie-indent-inside-string): New function. | ||
| 13 | (smie-indent-functions): Use it. | ||
| 14 | |||
| 15 | * vc/vc-dir.el (vc-dir-refresh): Reorder operations to try and avoid | ||
| 16 | bzr locking race condition. | ||
| 17 | |||
| 18 | * emacs-lisp/edebug.el (edebug-instrument-function): Check a marker is | ||
| 19 | still valid before using it. | ||
| 20 | |||
| 21 | * progmodes/grep.el (grep-mode-font-lock-keywords): Adjust to | ||
| 22 | `message' -> `compilation-message' rename (bug#8004). | ||
| 23 | |||
| 3 | Move keymap initialization into declaration. | 24 | Move keymap initialization into declaration. |
| 4 | * textmodes/enriched.el (enriched-mode-map): | 25 | * textmodes/enriched.el (enriched-mode-map): |
| 5 | * textmodes/bib-mode.el (bib-mode-map): | 26 | * textmodes/bib-mode.el (bib-mode-map): |
diff --git a/lisp/emacs-lisp/edebug.el b/lisp/emacs-lisp/edebug.el index f281521841c..70a7983dbea 100644 --- a/lisp/emacs-lisp/edebug.el +++ b/lisp/emacs-lisp/edebug.el | |||
| @@ -3394,7 +3394,7 @@ go to the end of the last sexp, or if that is the same point, then step." | |||
| 3394 | ;; Return the function symbol, or nil if not instrumented. | 3394 | ;; Return the function symbol, or nil if not instrumented. |
| 3395 | (let ((func-marker (get func 'edebug))) | 3395 | (let ((func-marker (get func 'edebug))) |
| 3396 | (cond | 3396 | (cond |
| 3397 | ((markerp func-marker) | 3397 | ((and (markerp func-marker) (marker-buffer func-marker)) |
| 3398 | ;; It is uninstrumented, so instrument it. | 3398 | ;; It is uninstrumented, so instrument it. |
| 3399 | (with-current-buffer (marker-buffer func-marker) | 3399 | (with-current-buffer (marker-buffer func-marker) |
| 3400 | (goto-char func-marker) | 3400 | (goto-char func-marker) |
diff --git a/lisp/emacs-lisp/smie.el b/lisp/emacs-lisp/smie.el index 702e8d880ba..e81a8b37981 100644 --- a/lisp/emacs-lisp/smie.el +++ b/lisp/emacs-lisp/smie.el | |||
| @@ -915,7 +915,7 @@ This uses SMIE's tables and is expected to be placed on `post-self-insert-hook'. | |||
| 915 | ;; anything else than this trigger char, lest we'd blink | 915 | ;; anything else than this trigger char, lest we'd blink |
| 916 | ;; both when inserting the trigger char and when | 916 | ;; both when inserting the trigger char and when |
| 917 | ;; inserting a subsequent trigger char like SPC. | 917 | ;; inserting a subsequent trigger char like SPC. |
| 918 | (or (eq (point) pos) | 918 | (or (eq (char-before) last-command-event) |
| 919 | (not (memq (char-before) | 919 | (not (memq (char-before) |
| 920 | smie-blink-matching-triggers))) | 920 | smie-blink-matching-triggers))) |
| 921 | (or smie-blink-matching-inners | 921 | (or smie-blink-matching-inners |
| @@ -998,7 +998,10 @@ the beginning of a line." | |||
| 998 | (unless (numberp (cadr (assoc tok smie-grammar))) | 998 | (unless (numberp (cadr (assoc tok smie-grammar))) |
| 999 | (goto-char pos)) | 999 | (goto-char pos)) |
| 1000 | (setq smie--parent | 1000 | (setq smie--parent |
| 1001 | (smie-backward-sexp 'halfsexp)))))) | 1001 | (or (smie-backward-sexp 'halfsexp) |
| 1002 | (let (res) | ||
| 1003 | (while (null (setq res (smie-backward-sexp)))) | ||
| 1004 | (list nil (point) (nth 2 res))))))))) | ||
| 1002 | 1005 | ||
| 1003 | (defun smie-rule-parent-p (&rest parents) | 1006 | (defun smie-rule-parent-p (&rest parents) |
| 1004 | "Return non-nil if the current token's parent is among PARENTS. | 1007 | "Return non-nil if the current token's parent is among PARENTS. |
| @@ -1403,6 +1406,10 @@ should not be computed on the basis of the following token." | |||
| 1403 | (and (nth 4 (syntax-ppss)) | 1406 | (and (nth 4 (syntax-ppss)) |
| 1404 | 'noindent)) | 1407 | 'noindent)) |
| 1405 | 1408 | ||
| 1409 | (defun smie-indent-inside-string () | ||
| 1410 | (and (nth 3 (syntax-ppss)) | ||
| 1411 | 'noindent)) | ||
| 1412 | |||
| 1406 | (defun smie-indent-after-keyword () | 1413 | (defun smie-indent-after-keyword () |
| 1407 | ;; Indentation right after a special keyword. | 1414 | ;; Indentation right after a special keyword. |
| 1408 | (save-excursion | 1415 | (save-excursion |
| @@ -1476,8 +1483,9 @@ should not be computed on the basis of the following token." | |||
| 1476 | 1483 | ||
| 1477 | (defvar smie-indent-functions | 1484 | (defvar smie-indent-functions |
| 1478 | '(smie-indent-fixindent smie-indent-bob smie-indent-close | 1485 | '(smie-indent-fixindent smie-indent-bob smie-indent-close |
| 1479 | smie-indent-comment smie-indent-comment-continue smie-indent-comment-close | 1486 | smie-indent-comment smie-indent-comment-continue smie-indent-comment-close |
| 1480 | smie-indent-comment-inside smie-indent-keyword smie-indent-after-keyword | 1487 | smie-indent-comment-inside smie-indent-inside-string |
| 1488 | smie-indent-keyword smie-indent-after-keyword | ||
| 1481 | smie-indent-exps) | 1489 | smie-indent-exps) |
| 1482 | "Functions to compute the indentation. | 1490 | "Functions to compute the indentation. |
| 1483 | Each function is called with no argument, shouldn't move point, and should | 1491 | Each function is called with no argument, shouldn't move point, and should |
diff --git a/lisp/gnus/ChangeLog b/lisp/gnus/ChangeLog index ba4d270951b..8781ab3c0ec 100644 --- a/lisp/gnus/ChangeLog +++ b/lisp/gnus/ChangeLog | |||
| @@ -1,3 +1,12 @@ | |||
| 1 | 2011-02-10 Stefan Monnier <monnier@iro.umontreal.ca> | ||
| 2 | |||
| 3 | * message.el (message-bury): Don't pop up a new window when selected | ||
| 4 | window is dedicated. | ||
| 5 | |||
| 6 | 2011-02-10 Antoine Levitt <antoine.levitt@gmail.com> (tiny change) | ||
| 7 | |||
| 8 | * gnus-sum.el (gnus-summary-save-parts): Use read-directory-name. | ||
| 9 | |||
| 1 | 2011-02-09 Lars Ingebrigtsen <larsi@gnus.org> | 10 | 2011-02-09 Lars Ingebrigtsen <larsi@gnus.org> |
| 2 | 11 | ||
| 3 | * nntp.el (nntp-retrieve-group-data-early-disabled): Disable the async | 12 | * nntp.el (nntp-retrieve-group-data-early-disabled): Disable the async |
| @@ -22,7 +31,7 @@ | |||
| 22 | (nnimap-update-info): Clean up slightly. | 31 | (nnimap-update-info): Clean up slightly. |
| 23 | (nnimap-quirk): Add quirk for Gmail IMAP which bugs out on NUL | 32 | (nnimap-quirk): Add quirk for Gmail IMAP which bugs out on NUL |
| 24 | characters. | 33 | characters. |
| 25 | (nnimap-process-quirk): Renamed function to avoid collision. | 34 | (nnimap-process-quirk): Rename function to avoid collision. |
| 26 | (nnimap-update-info): Fix macrology bug-out. | 35 | (nnimap-update-info): Fix macrology bug-out. |
| 27 | (nnimap-update-info): Simplify split history test. | 36 | (nnimap-update-info): Simplify split history test. |
| 28 | 37 | ||
| @@ -43,7 +52,7 @@ | |||
| 43 | * message.el (message-setup-1): Remove the read-only stuff, since it | 52 | * message.el (message-setup-1): Remove the read-only stuff, since it |
| 44 | doesn't work under XEmacs, for some reason. | 53 | doesn't work under XEmacs, for some reason. |
| 45 | 54 | ||
| 46 | * gnus-sum.el (gnus-user-date): Renamed back from | 55 | * gnus-sum.el (gnus-user-date): Rename back from |
| 47 | gnus-summary-user-date since user code refers to it. | 56 | gnus-summary-user-date since user code refers to it. |
| 48 | 57 | ||
| 49 | * shr.el (shr-render-td): Store the actual background colour used. | 58 | * shr.el (shr-render-td): Store the actual background colour used. |
| @@ -228,8 +237,8 @@ | |||
| 228 | 237 | ||
| 229 | 2011-01-28 Daiki Ueno <ueno@unixuser.org> | 238 | 2011-01-28 Daiki Ueno <ueno@unixuser.org> |
| 230 | 239 | ||
| 231 | * mml2015.el (mml2015-epg-sign, mml2015-epg-encrypt): Give | 240 | * mml2015.el (mml2015-epg-sign, mml2015-epg-encrypt): |
| 232 | mml2015-signers higher precedence over mml2015-sign-with-sender. | 241 | Give mml2015-signers higher precedence over mml2015-sign-with-sender. |
| 233 | 242 | ||
| 234 | 2011-01-27 Lars Ingebrigtsen <larsi@gnus.org> | 243 | 2011-01-27 Lars Ingebrigtsen <larsi@gnus.org> |
| 235 | 244 | ||
diff --git a/lisp/gnus/gnus-sum.el b/lisp/gnus/gnus-sum.el index 8221667ab65..8fac5021df3 100644 --- a/lisp/gnus/gnus-sum.el +++ b/lisp/gnus/gnus-sum.el | |||
| @@ -12087,9 +12087,9 @@ If REVERSE, save parts that do not match TYPE." | |||
| 12087 | gnus-summary-save-parts-default-mime) | 12087 | gnus-summary-save-parts-default-mime) |
| 12088 | 'gnus-summary-save-parts-type-history) | 12088 | 'gnus-summary-save-parts-type-history) |
| 12089 | (setq gnus-summary-save-parts-last-directory | 12089 | (setq gnus-summary-save-parts-last-directory |
| 12090 | (read-file-name "Save to directory: " | 12090 | (read-directory-name "Save to directory: " |
| 12091 | gnus-summary-save-parts-last-directory | 12091 | gnus-summary-save-parts-last-directory |
| 12092 | nil t)) | 12092 | nil t)) |
| 12093 | current-prefix-arg)) | 12093 | current-prefix-arg)) |
| 12094 | (gnus-summary-iterate n | 12094 | (gnus-summary-iterate n |
| 12095 | (let ((gnus-display-mime-function nil) | 12095 | (let ((gnus-display-mime-function nil) |
diff --git a/lisp/gnus/message.el b/lisp/gnus/message.el index e30f7f2c973..42b61950986 100644 --- a/lisp/gnus/message.el +++ b/lisp/gnus/message.el | |||
| @@ -4011,11 +4011,11 @@ Instead, just auto-save the buffer and then bury it." | |||
| 4011 | 4011 | ||
| 4012 | (defun message-bury (buffer) | 4012 | (defun message-bury (buffer) |
| 4013 | "Bury this mail BUFFER." | 4013 | "Bury this mail BUFFER." |
| 4014 | (let ((newbuf (other-buffer buffer))) | 4014 | (if message-return-action |
| 4015 | (bury-buffer buffer) | 4015 | (progn |
| 4016 | (if message-return-action | 4016 | (bury-buffer buffer) |
| 4017 | (apply (car message-return-action) (cdr message-return-action)) | 4017 | (apply (car message-return-action) (cdr message-return-action))) |
| 4018 | (switch-to-buffer newbuf)))) | 4018 | (with-current-buffer buffer (bury-buffer)))) |
| 4019 | 4019 | ||
| 4020 | (defun message-send (&optional arg) | 4020 | (defun message-send (&optional arg) |
| 4021 | "Send the message in the current buffer. | 4021 | "Send the message in the current buffer. |
diff --git a/lisp/net/rcirc.el b/lisp/net/rcirc.el index 8e4ded624de..c3e4f3d6169 100644 --- a/lisp/net/rcirc.el +++ b/lisp/net/rcirc.el | |||
| @@ -720,7 +720,7 @@ Function is called with PROCESS, COMMAND, SENDER, ARGS and LINE.") | |||
| 720 | (defun rcirc-send-ctcp (process target request &optional args) | 720 | (defun rcirc-send-ctcp (process target request &optional args) |
| 721 | (let ((args (if args (concat " " args) ""))) | 721 | (let ((args (if args (concat " " args) ""))) |
| 722 | (rcirc-send-privmsg process target | 722 | (rcirc-send-privmsg process target |
| 723 | (format "\C-a%s%s\C-a" request args "")))) | 723 | (format "\C-a%s%s\C-a" request args)))) |
| 724 | 724 | ||
| 725 | (defun rcirc-buffer-process (&optional buffer) | 725 | (defun rcirc-buffer-process (&optional buffer) |
| 726 | "Return the process associated with channel BUFFER. | 726 | "Return the process associated with channel BUFFER. |
diff --git a/lisp/progmodes/grep.el b/lisp/progmodes/grep.el index 4bab8a18dee..32ab52228f9 100644 --- a/lisp/progmodes/grep.el +++ b/lisp/progmodes/grep.el | |||
| @@ -388,13 +388,13 @@ Notice that using \\[next-error] or \\[compile-goto-error] modifies | |||
| 388 | 1 grep-error-face) | 388 | 1 grep-error-face) |
| 389 | ;; remove match from grep-regexp-alist before fontifying | 389 | ;; remove match from grep-regexp-alist before fontifying |
| 390 | ("^Grep[/a-zA-z]* started.*" | 390 | ("^Grep[/a-zA-z]* started.*" |
| 391 | (0 '(face nil message nil help-echo nil mouse-face nil) t)) | 391 | (0 '(face nil compilation-message nil help-echo nil mouse-face nil) t)) |
| 392 | ("^Grep[/a-zA-z]* finished \\(?:(\\(matches found\\))\\|with \\(no matches found\\)\\).*" | 392 | ("^Grep[/a-zA-z]* finished \\(?:(\\(matches found\\))\\|with \\(no matches found\\)\\).*" |
| 393 | (0 '(face nil message nil help-echo nil mouse-face nil) t) | 393 | (0 '(face nil compilation-message nil help-echo nil mouse-face nil) t) |
| 394 | (1 compilation-info-face nil t) | 394 | (1 compilation-info-face nil t) |
| 395 | (2 compilation-warning-face nil t)) | 395 | (2 compilation-warning-face nil t)) |
| 396 | ("^Grep[/a-zA-z]* \\(exited abnormally\\|interrupt\\|killed\\|terminated\\)\\(?:.*with code \\([0-9]+\\)\\)?.*" | 396 | ("^Grep[/a-zA-z]* \\(exited abnormally\\|interrupt\\|killed\\|terminated\\)\\(?:.*with code \\([0-9]+\\)\\)?.*" |
| 397 | (0 '(face nil message nil help-echo nil mouse-face nil) t) | 397 | (0 '(face nil compilation-message nil help-echo nil mouse-face nil) t) |
| 398 | (1 grep-error-face) | 398 | (1 grep-error-face) |
| 399 | (2 grep-error-face nil t)) | 399 | (2 grep-error-face nil t)) |
| 400 | ("^.+?-[0-9]+-.*\n" (0 grep-context-face)) | 400 | ("^.+?-[0-9]+-.*\n" (0 grep-context-face)) |
diff --git a/lisp/server.el b/lisp/server.el index 62c59b41cee..df8cae0a6af 100644 --- a/lisp/server.el +++ b/lisp/server.el | |||
| @@ -937,126 +937,122 @@ The following commands are accepted by the client: | |||
| 937 | tty-type ; string. | 937 | tty-type ; string. |
| 938 | files | 938 | files |
| 939 | filepos | 939 | filepos |
| 940 | command-line-args-left | 940 | args-left) |
| 941 | arg) | ||
| 942 | ;; Remove this line from STRING. | 941 | ;; Remove this line from STRING. |
| 943 | (setq string (substring string (match-end 0))) | 942 | (setq string (substring string (match-end 0))) |
| 944 | (setq command-line-args-left | 943 | (setq args-left |
| 945 | (mapcar 'server-unquote-arg (split-string request " " t))) | 944 | (mapcar 'server-unquote-arg (split-string request " " t))) |
| 946 | (while (setq arg (pop command-line-args-left)) | 945 | (while args-left |
| 947 | (cond | 946 | (pcase (pop args-left) |
| 948 | ;; -version CLIENT-VERSION: obsolete at birth. | 947 | ;; -version CLIENT-VERSION: obsolete at birth. |
| 949 | ((and (equal "-version" arg) command-line-args-left) | 948 | (`"-version" (pop args-left)) |
| 950 | (pop command-line-args-left)) | 949 | |
| 951 | 950 | ;; -nowait: Emacsclient won't wait for a result. | |
| 952 | ;; -nowait: Emacsclient won't wait for a result. | 951 | (`"-nowait" (setq nowait t)) |
| 953 | ((equal "-nowait" arg) (setq nowait t)) | 952 | |
| 954 | 953 | ;; -current-frame: Don't create frames. | |
| 955 | ;; -current-frame: Don't create frames. | 954 | (`"-current-frame" (setq use-current-frame t)) |
| 956 | ((equal "-current-frame" arg) (setq use-current-frame t)) | 955 | |
| 957 | 956 | ;; -display DISPLAY: | |
| 958 | ;; -display DISPLAY: | 957 | ;; Open X frames on the given display instead of the default. |
| 959 | ;; Open X frames on the given display instead of the default. | 958 | (`"-display" |
| 960 | ((and (equal "-display" arg) command-line-args-left) | 959 | (setq display (pop args-left)) |
| 961 | (setq display (pop command-line-args-left)) | 960 | (if (zerop (length display)) (setq display nil))) |
| 962 | (if (zerop (length display)) (setq display nil))) | 961 | |
| 963 | 962 | ;; -parent-id ID: | |
| 964 | ;; -parent-id ID: | 963 | ;; Open X frame within window ID, via XEmbed. |
| 965 | ;; Open X frame within window ID, via XEmbed. | 964 | (`"-parent-id" |
| 966 | ((and (equal "-parent-id" arg) command-line-args-left) | 965 | (setq parent-id (pop args-left)) |
| 967 | (setq parent-id (pop command-line-args-left)) | 966 | (if (zerop (length parent-id)) (setq parent-id nil))) |
| 968 | (if (zerop (length parent-id)) (setq parent-id nil))) | 967 | |
| 969 | 968 | ;; -window-system: Open a new X frame. | |
| 970 | ;; -window-system: Open a new X frame. | 969 | (`"-window-system" |
| 971 | ((equal "-window-system" arg) | 970 | (setq dontkill t) |
| 972 | (setq dontkill t) | 971 | (setq tty-name 'window-system)) |
| 973 | (setq tty-name 'window-system)) | 972 | |
| 974 | 973 | ;; -resume: Resume a suspended tty frame. | |
| 975 | ;; -resume: Resume a suspended tty frame. | 974 | (`"-resume" |
| 976 | ((equal "-resume" arg) | 975 | (lexical-let ((terminal (process-get proc 'terminal))) |
| 977 | (lexical-let ((terminal (process-get proc 'terminal))) | 976 | (setq dontkill t) |
| 978 | (setq dontkill t) | 977 | (push (lambda () |
| 979 | (push (lambda () | 978 | (when (eq (terminal-live-p terminal) t) |
| 980 | (when (eq (terminal-live-p terminal) t) | 979 | (resume-tty terminal))) |
| 981 | (resume-tty terminal))) | 980 | commands))) |
| 982 | commands))) | 981 | |
| 983 | 982 | ;; -suspend: Suspend the client's frame. (In case we | |
| 984 | ;; -suspend: Suspend the client's frame. (In case we | 983 | ;; get out of sync, and a C-z sends a SIGTSTP to |
| 985 | ;; get out of sync, and a C-z sends a SIGTSTP to | 984 | ;; emacsclient.) |
| 986 | ;; emacsclient.) | 985 | (`"-suspend" |
| 987 | ((equal "-suspend" arg) | 986 | (lexical-let ((terminal (process-get proc 'terminal))) |
| 988 | (lexical-let ((terminal (process-get proc 'terminal))) | 987 | (setq dontkill t) |
| 989 | (setq dontkill t) | 988 | (push (lambda () |
| 990 | (push (lambda () | 989 | (when (eq (terminal-live-p terminal) t) |
| 991 | (when (eq (terminal-live-p terminal) t) | 990 | (suspend-tty terminal))) |
| 992 | (suspend-tty terminal))) | 991 | commands))) |
| 993 | commands))) | 992 | |
| 994 | 993 | ;; -ignore COMMENT: Noop; useful for debugging emacsclient. | |
| 995 | ;; -ignore COMMENT: Noop; useful for debugging emacsclient. | 994 | ;; (The given comment appears in the server log.) |
| 996 | ;; (The given comment appears in the server log.) | 995 | (`"-ignore" |
| 997 | ((and (equal "-ignore" arg) command-line-args-left | 996 | (setq dontkill t) |
| 998 | (setq dontkill t) | 997 | (pop args-left)) |
| 999 | (pop command-line-args-left))) | 998 | |
| 1000 | 999 | ;; -tty DEVICE-NAME TYPE: Open a new tty frame at the client. | |
| 1001 | ;; -tty DEVICE-NAME TYPE: Open a new tty frame at the client. | 1000 | (`"-tty" |
| 1002 | ((and (equal "-tty" arg) | 1001 | (setq tty-name (pop args-left) |
| 1003 | (cdr command-line-args-left)) | 1002 | tty-type (pop args-left) |
| 1004 | (setq tty-name (pop command-line-args-left) | 1003 | dontkill (or dontkill |
| 1005 | tty-type (pop command-line-args-left) | 1004 | (not use-current-frame)))) |
| 1006 | dontkill (or dontkill | 1005 | |
| 1007 | (not use-current-frame)))) | 1006 | ;; -position LINE[:COLUMN]: Set point to the given |
| 1008 | 1007 | ;; position in the next file. | |
| 1009 | ;; -position LINE[:COLUMN]: Set point to the given | 1008 | (`"-position" |
| 1010 | ;; position in the next file. | 1009 | (if (not (string-match "\\+\\([0-9]+\\)\\(?::\\([0-9]+\\)\\)?" |
| 1011 | ((and (equal "-position" arg) | 1010 | (car args-left))) |
| 1012 | command-line-args-left | 1011 | (error "Invalid -position command in client args")) |
| 1013 | (string-match "\\+\\([0-9]+\\)\\(?::\\([0-9]+\\)\\)?" | 1012 | (let ((arg (pop args-left))) |
| 1014 | (car command-line-args-left))) | 1013 | (setq filepos |
| 1015 | (setq arg (pop command-line-args-left)) | 1014 | (cons (string-to-number (match-string 1 arg)) |
| 1016 | (setq filepos | 1015 | (string-to-number (or (match-string 2 arg) |
| 1017 | (cons (string-to-number (match-string 1 arg)) | 1016 | "")))))) |
| 1018 | (string-to-number (or (match-string 2 arg) ""))))) | 1017 | |
| 1019 | 1018 | ;; -file FILENAME: Load the given file. | |
| 1020 | ;; -file FILENAME: Load the given file. | 1019 | (`"-file" |
| 1021 | ((and (equal "-file" arg) | 1020 | (let ((file (pop args-left))) |
| 1022 | command-line-args-left) | 1021 | (if coding-system |
| 1023 | (let ((file (pop command-line-args-left))) | 1022 | (setq file (decode-coding-string file coding-system))) |
| 1024 | (if coding-system | 1023 | (setq file (expand-file-name file dir)) |
| 1025 | (setq file (decode-coding-string file coding-system))) | 1024 | (push (cons file filepos) files) |
| 1026 | (setq file (expand-file-name file dir)) | 1025 | (server-log (format "New file: %s %s" |
| 1027 | (push (cons file filepos) files) | 1026 | file (or filepos "")) proc)) |
| 1028 | (server-log (format "New file: %s %s" | 1027 | (setq filepos nil)) |
| 1029 | file (or filepos "")) proc)) | 1028 | |
| 1030 | (setq filepos nil)) | 1029 | ;; -eval EXPR: Evaluate a Lisp expression. |
| 1031 | 1030 | (`"-eval" | |
| 1032 | ;; -eval EXPR: Evaluate a Lisp expression. | 1031 | (if use-current-frame |
| 1033 | ((and (equal "-eval" arg) | 1032 | (setq use-current-frame 'always)) |
| 1034 | command-line-args-left) | 1033 | (lexical-let ((expr (pop args-left))) |
| 1035 | (if use-current-frame | 1034 | (if coding-system |
| 1036 | (setq use-current-frame 'always)) | 1035 | (setq expr (decode-coding-string expr coding-system))) |
| 1037 | (lexical-let ((expr (pop command-line-args-left))) | 1036 | (push (lambda () (server-eval-and-print expr proc)) |
| 1038 | (if coding-system | 1037 | commands) |
| 1039 | (setq expr (decode-coding-string expr coding-system))) | 1038 | (setq filepos nil))) |
| 1040 | (push (lambda () (server-eval-and-print expr proc)) | 1039 | |
| 1041 | commands) | 1040 | ;; -env NAME=VALUE: An environment variable. |
| 1042 | (setq filepos nil))) | 1041 | (`"-env" |
| 1043 | 1042 | (let ((var (pop args-left))) | |
| 1044 | ;; -env NAME=VALUE: An environment variable. | 1043 | ;; XXX Variables should be encoded as in getenv/setenv. |
| 1045 | ((and (equal "-env" arg) command-line-args-left) | 1044 | (process-put proc 'env |
| 1046 | (let ((var (pop command-line-args-left))) | 1045 | (cons var (process-get proc 'env))))) |
| 1047 | ;; XXX Variables should be encoded as in getenv/setenv. | 1046 | |
| 1048 | (process-put proc 'env | 1047 | ;; -dir DIRNAME: The cwd of the emacsclient process. |
| 1049 | (cons var (process-get proc 'env))))) | 1048 | (`"-dir" |
| 1050 | 1049 | (setq dir (pop args-left)) | |
| 1051 | ;; -dir DIRNAME: The cwd of the emacsclient process. | 1050 | (if coding-system |
| 1052 | ((and (equal "-dir" arg) command-line-args-left) | 1051 | (setq dir (decode-coding-string dir coding-system))) |
| 1053 | (setq dir (pop command-line-args-left)) | 1052 | (setq dir (command-line-normalize-file-name dir))) |
| 1054 | (if coding-system | 1053 | |
| 1055 | (setq dir (decode-coding-string dir coding-system))) | 1054 | ;; Unknown command. |
| 1056 | (setq dir (command-line-normalize-file-name dir))) | 1055 | (arg (error "Unknown command: %s" arg)))) |
| 1057 | |||
| 1058 | ;; Unknown command. | ||
| 1059 | (t (error "Unknown command: %s" arg)))) | ||
| 1060 | 1056 | ||
| 1061 | (setq frame | 1057 | (setq frame |
| 1062 | (cond | 1058 | (cond |
diff --git a/lisp/vc/vc-dir.el b/lisp/vc/vc-dir.el index 5f386bcee76..38fbaaedd32 100644 --- a/lisp/vc/vc-dir.el +++ b/lisp/vc/vc-dir.el | |||
| @@ -1061,6 +1061,9 @@ Throw an error if another update process is in progress." | |||
| 1061 | (unless (vc-dir-fileinfo->directory info) | 1061 | (unless (vc-dir-fileinfo->directory info) |
| 1062 | (setf (vc-dir-fileinfo->needs-update info) t) nil)) | 1062 | (setf (vc-dir-fileinfo->needs-update info) t) nil)) |
| 1063 | vc-ewoc) | 1063 | vc-ewoc) |
| 1064 | ;; Bzr has serious locking problems, so setup the headers first (this is | ||
| 1065 | ;; synchronous) rather than doing it while dir-status is running. | ||
| 1066 | (ewoc-set-hf vc-ewoc (vc-dir-headers backend def-dir) "") | ||
| 1064 | (lexical-let ((buffer (current-buffer))) | 1067 | (lexical-let ((buffer (current-buffer))) |
| 1065 | (with-current-buffer vc-dir-process-buffer | 1068 | (with-current-buffer vc-dir-process-buffer |
| 1066 | (cd def-dir) | 1069 | (cd def-dir) |
| @@ -1081,8 +1084,7 @@ Throw an error if another update process is in progress." | |||
| 1081 | (vc-dir-refresh-files | 1084 | (vc-dir-refresh-files |
| 1082 | (mapcar 'vc-dir-fileinfo->name remaining) | 1085 | (mapcar 'vc-dir-fileinfo->name remaining) |
| 1083 | 'up-to-date) | 1086 | 'up-to-date) |
| 1084 | (setq mode-line-process nil))))))))) | 1087 | (setq mode-line-process nil)))))))))))) |
| 1085 | (ewoc-set-hf vc-ewoc (vc-dir-headers backend def-dir) "")))) | ||
| 1086 | 1088 | ||
| 1087 | (defun vc-dir-show-fileentry (file) | 1089 | (defun vc-dir-show-fileentry (file) |
| 1088 | "Insert an entry for a specific file into the current *VC-dir* listing. | 1090 | "Insert an entry for a specific file into the current *VC-dir* listing. |