Now on revision 111274. ------------------------------------------------------------ revno: 111274 committer: Dmitry Antipov branch nick: trunk timestamp: Thu 2012-12-20 09:05:41 +0400 message: * vc/ediff-ptch.el (ediff-map-patch-buffer): Use `point-min-marker'. Adjust comment. diff: === modified file 'lisp/ChangeLog' --- lisp/ChangeLog 2012-12-19 19:51:40 +0000 +++ lisp/ChangeLog 2012-12-20 05:05:41 +0000 @@ -1,3 +1,8 @@ +2012-12-20 Dmitry Antipov + + * vc/ediff-ptch.el (ediff-map-patch-buffer): Use `point-min-marker'. + Adjust comment. + 2012-12-19 Jonas Bernoulli * emacs-lisp/lisp-mnt.el (lm-section-end): Always end before the === modified file 'lisp/vc/ediff-ptch.el' --- lisp/vc/ediff-ptch.el 2012-01-19 07:21:25 +0000 +++ lisp/vc/ediff-ptch.el 2012-12-20 05:05:41 +0000 @@ -190,15 +190,15 @@ ;; We usually come up with two candidates and ediff-file-name-sans-prefix ;; resolves this later. ;; -;; The marker `marker1' delimits the beginning of the corresponding patch and -;; `marker2' does it for the end. +;; The marker `mark1' delimits the beginning of the corresponding patch and +;; `mark2' does it for the end. ;; The result of ediff-map-patch-buffer is a list, which is then assigned ;; to ediff-patch-map. ;; The function returns the number of elements in the list ediff-patch-map (defun ediff-map-patch-buffer (buf) (ediff-with-current-buffer buf (let ((count 0) - (mark1 (move-marker (make-marker) (point-min))) + (mark1 (point-min-marker)) (mark1-end (point-min)) (possible-file-names '("/dev/null" . "/dev/null")) mark2-end mark2 filenames ------------------------------------------------------------ revno: 111273 committer: Michael Albinus branch nick: trunk timestamp: Wed 2012-12-19 22:32:56 +0100 message: * NEWS: Tramp implements `file-acl' and `set-file-acl'. diff: === modified file 'etc/ChangeLog' --- etc/ChangeLog 2012-12-19 20:40:50 +0000 +++ etc/ChangeLog 2012-12-19 21:32:56 +0000 @@ -1,3 +1,7 @@ +2012-12-19 Michael Albinus + + * NEWS: Tramp implements `file-acl' and `set-file-acl'. + 2012-12-19 Tassilo Horn * themes/tsdh-dark-theme.el (tsdh-dark): Add customizations of === modified file 'etc/NEWS' --- etc/NEWS 2012-12-17 19:14:34 +0000 +++ etc/NEWS 2012-12-19 21:32:56 +0000 @@ -130,6 +130,9 @@ *** New connection method "adb", which allows to access Android devices by the Android Debug Bridge. The variable `tramp-adb-sdk-dir' must be set to the Android SDK installation directory. ++++ +*** Handlers for `file-acl' and `set-file-acl' for remote machines +which support POSIX ACLs. ** Woman ------------------------------------------------------------ revno: 111272 committer: Michael Albinus branch nick: trunk timestamp: Wed 2012-12-19 22:25:58 +0100 message: * files.texi (Magic File Names): Add `file-acl', `file-selinux-context', `set-file-acl' and `set-file-selinux-context'. Make the list consistent. diff: === modified file 'doc/lispref/ChangeLog' --- doc/lispref/ChangeLog 2012-12-19 19:51:40 +0000 +++ doc/lispref/ChangeLog 2012-12-19 21:25:58 +0000 @@ -1,3 +1,9 @@ +2012-12-19 Michael Albinus + + * files.texi (Magic File Names): Add `file-acl', + `file-selinux-context', `set-file-acl' and + `set-file-selinux-context'. Make the list consistent. + 2012-12-19 Jonas Bernoulli * tips.texi (Library Headers): New header keyword `Homepage'. === modified file 'doc/lispref/files.texi' --- doc/lispref/files.texi 2012-12-17 19:14:34 +0000 +++ doc/lispref/files.texi 2012-12-19 21:25:58 +0000 @@ -2764,9 +2764,12 @@ @code{dired-compress-file}, @code{dired-uncache},@* @code{expand-file-name}, @code{file-accessible-directory-p}, +@code{file-acl}, @code{file-attributes}, @code{file-directory-p}, +@code{file-equal-p}, @code{file-executable-p}, @code{file-exists-p}, +@code{file-in-directory-p}, @code{file-local-copy}, @code{file-remote-p}, @code{file-modes}, @code{file-name-all-completions}, @code{file-name-as-directory}, @@ -2775,9 +2778,10 @@ @code{file-name-nondirectory}, @code{file-name-sans-versions}, @code{file-newer-than-file-p}, @code{file-ownership-preserved-p}, -@code{file-readable-p}, @code{file-regular-p}, @code{file-in-directory-p}, +@code{file-readable-p}, @code{file-regular-p}, +@code{file-selinux-context}, @code{file-symlink-p}, @code{file-truename}, @code{file-writable-p}, -@code{file-equal-p}, @code{find-backup-file-name}, +@code{find-backup-file-name}, @c Not sure why it was here: @code{find-file-noselect},@* @code{get-file-buffer}, @code{insert-directory}, @@ -2788,7 +2792,8 @@ @code{make-directory-internal}, @code{make-symbolic-link},@* @code{process-file}, -@code{rename-file}, @code{set-file-modes}, @code{set-file-times}, +@code{rename-file}, @code{set-file-acl}, @code{set-file-modes}, +@code{set-file-selinux-context}, @code{set-file-times}, @code{set-visited-file-modtime}, @code{shell-command}, @code{start-file-process}, @code{substitute-in-file-name},@* @@ -2811,9 +2816,12 @@ @code{dired-compress-file}, @code{dired-uncache}, @code{expand-file-name}, @code{file-accessible-direc@discretionary{}{}{}tory-p}, +@code{file-acl}, @code{file-attributes}, @code{file-direct@discretionary{}{}{}ory-p}, +@code{file-equal-p}, @code{file-executable-p}, @code{file-exists-p}, +@code{file-in-directory-p}, @code{file-local-copy}, @code{file-remote-p}, @code{file-modes}, @code{file-name-all-completions}, @code{file-name-as-directory}, @@ -2822,18 +2830,22 @@ @code{file-name-nondirec@discretionary{}{}{}tory}, @code{file-name-sans-versions}, @code{file-newer-than-file-p}, @code{file-ownership-pre@discretionary{}{}{}served-p}, -@code{file-readable-p}, @code{file-regular-p}, @code{file-symlink-p}, -@code{file-truename}, @code{file-writable-p}, +@code{file-readable-p}, @code{file-regular-p}, +@code{file-selinux-context}, +@code{file-symlink-p}, @code{file-truename}, @code{file-writable-p}, @code{find-backup-file-name}, @c Not sure why it was here: @code{find-file-noselect}, @code{get-file-buffer}, @code{insert-directory}, @code{insert-file-contents}, -@code{load}, @code{make-direc@discretionary{}{}{}tory}, +@code{load}, +@code{make-auto-save-file-name}, +@code{make-direc@discretionary{}{}{}tory}, @code{make-direc@discretionary{}{}{}tory-internal}, @code{make-symbolic-link}, @code{process-file}, -@code{rename-file}, @code{set-file-modes}, +@code{rename-file}, @code{set-file-acl}, @code{set-file-modes}, +@code{set-file-selinux-context}, @code{set-file-times}, @code{set-visited-file-modtime}, @code{shell-command}, @code{start-file-process}, @code{substitute-in-file-name}, ------------------------------------------------------------ revno: 111271 committer: Tassilo Horn branch nick: trunk timestamp: Wed 2012-12-19 21:40:50 +0100 message: * themes/tsdh-dark-theme.el (tsdh-dark): Add customizations of many new faces. diff: === modified file 'etc/ChangeLog' --- etc/ChangeLog 2012-12-14 18:59:00 +0000 +++ etc/ChangeLog 2012-12-19 20:40:50 +0000 @@ -1,3 +1,8 @@ +2012-12-19 Tassilo Horn + + * themes/tsdh-dark-theme.el (tsdh-dark): Add customizations of + many new faces. + 2012-12-14 Paul Eggert Fix permissions bugs with setgid directories etc. (Bug#13125) === modified file 'etc/themes/tsdh-dark-theme.el' --- etc/themes/tsdh-dark-theme.el 2012-06-03 14:37:13 +0000 +++ etc/themes/tsdh-dark-theme.el 2012-12-19 20:40:50 +0000 @@ -26,42 +26,91 @@ (custom-theme-set-faces 'tsdh-dark '(default ((t (:background "gray20" :foreground "white smoke")))) - '(compilation-mode-line-fail ((t (:foreground "red")))) - '(compilation-mode-line-run ((t (:foreground "dark orange")))) - '(compilation-mode-line-exit ((t (:foreground "sea green")))) - '(diff-added ((t (:inherit diff-changed :background "dark green")))) - '(diff-changed ((t (:background "midnight blue")))) - '(diff-indicator-added ((t (:inherit diff-indicator-changed)))) - '(diff-indicator-changed ((t (:weight bold)))) - '(diff-indicator-removed ((t (:inherit diff-indicator-changed)))) - '(diff-removed ((t (:inherit diff-changed :background "dark red")))) - '(dired-directory ((t (:inherit font-lock-function-name-face :weight bold)))) + '(diff-added ((t (:inherit diff-changed :background "dark green"))) t) + '(diff-changed ((t (:background "midnight blue"))) t) + '(diff-indicator-added ((t (:inherit diff-indicator-changed))) t) + '(diff-indicator-changed ((t (:weight bold))) t) + '(diff-indicator-removed ((t (:inherit diff-indicator-changed))) t) + '(diff-removed ((t (:inherit diff-changed :background "dark red"))) t) + '(dired-directory ((t (:foreground "DodgerBlue" :weight bold)))) + '(error ((t (:foreground "deep pink" :weight bold)))) + '(font-lock-builtin-face ((t (:foreground "chartreuse2")))) + '(font-lock-comment-face ((t (:foreground "peru")))) + '(font-lock-constant-face ((t (:foreground "dodger blue")))) + '(font-lock-doc-face ((t (:foreground "indian red")))) + '(font-lock-function-name-face ((t (:foreground "spring green")))) + '(font-lock-keyword-face ((t (:foreground "light sea green" :weight bold)))) + '(font-lock-preprocessor-face ((t (:foreground "cornflower blue")))) + '(font-lock-string-face ((t (:foreground "light salmon")))) + '(font-lock-type-face ((t (:foreground "medium purple")))) + '(font-lock-variable-name-face ((t (:foreground "yellow green")))) + '(font-lock-warning-face ((t (:foreground "hot pink")))) '(gnus-button ((t (:inherit button)))) - '(gnus-header-name ((t (:box (:line-width 1 :style released-button) :weight bold)))) - '(header-line ((t (:inherit mode-line :inverse-video t)))) - '(hl-line ((t (:background "grey28")))) - '(message-header-subject ((t (:foreground "SkyBlue")))) + '(gnus-cite-1 ((t (:foreground "dark turquoise"))) t) + '(gnus-group-mail-1 ((t (:inherit gnus-group-mail-1-empty :weight bold)))) + '(gnus-group-mail-1-empty ((t (:foreground "#00CC00")))) + '(gnus-group-mail-3 ((t (:inherit gnus-group-mail-3-empty :weight bold)))) + '(gnus-group-mail-3-empty ((t (:foreground "#009999")))) + '(gnus-group-news-3 ((t (:inherit gnus-group-news-3-empty :weight bold)))) + '(gnus-group-news-3-empty ((t (:foreground "light green")))) + '(gnus-header-content ((t (:foreground "#A64B00")))) + '(gnus-header-name ((t (:weight bold)))) + '(gnus-header-subject ((t (:foreground "#A64B00" :weight bold)))) + '(gnus-summary-high-ancient ((t (:foreground "#A64B00" :weight bold)))) + '(gnus-summary-low-ancient ((t (:foreground "medium turquoise" :slant italic)))) + '(gnus-summary-low-read ((t (:foreground "dark sea green" :slant italic)))) + '(header-line ((t (:inverse-video t :box (:line-width -1 :color "red" :style released-button))))) + '(helm-header ((t (:background "DeepSkyBlue4" :weight bold)))) + '(highlight ((t (:background "sea green")))) + '(hl-line ((t (:background "grey25")))) + '(hl-paren-face ((t (:weight bold))) t) + '(lusty-file-face ((t (:foreground "SpringGreen1"))) t) + '(menu ((t (:background "gray30" :foreground "gray70")))) '(minibuffer-prompt ((t (:background "yellow" :foreground "medium blue" :box (:line-width -1 :color "red" :style released-button) :weight bold)))) - '(mode-line ((t (:box (:line-width -1 :color "red" :style released-button) :family "DejaVu Sans")))) - '(mode-line-inactive ((t (:inherit mode-line :foreground "gray")))) - '(org-agenda-date ((t (:inherit org-agenda-structure)))) - '(org-agenda-date-today ((t (:inherit org-agenda-date :underline t)))) - '(org-agenda-date-weekend ((t (:inherit org-agenda-date :foreground "dark green")))) - '(org-agenda-structure ((t (:foreground "SkyBlue" :weight bold)))) - '(org-hide ((t (:foreground "gray30")))) + '(mode-line ((t (:box (:line-width 1 :color "red") :family "DejaVu Sans")))) + '(mode-line-inactive ((t (:inherit mode-line :foreground "dim gray")))) + '(org-agenda-date ((t (:inherit org-agenda-structure))) t) + '(org-agenda-date-today ((t (:inherit org-agenda-date :underline t))) t) + '(org-agenda-date-weekend ((t (:inherit org-agenda-date :foreground "green"))) t) + '(org-agenda-done ((t (:foreground "#269926")))) + '(org-agenda-restriction-lock ((t (:background "#FFB273")))) + '(org-agenda-structure ((t (:foreground "#4671D5" :weight bold)))) + '(org-date ((t (:foreground "medium sea green" :underline t)))) + '(org-done ((t (:foreground "#008500" :weight bold)))) + '(org-drawer ((t (:foreground "#2A4480")))) + '(org-ellipsis ((t (:foreground "#FF7400" :underline t)))) + '(org-footnote ((t (:foreground "#1240AB" :underline t)))) + '(org-hide ((t (:foreground "gray20")))) + '(org-level-1 ((t (:inherit outline-1 :box nil)))) + '(org-level-2 ((t (:inherit outline-2 :box nil)))) + '(org-level-3 ((t (:inherit outline-3 :box nil)))) + '(org-level-4 ((t (:inherit outline-4 :box nil)))) + '(org-level-5 ((t (:inherit outline-5 :box nil)))) + '(org-level-6 ((t (:inherit outline-6 :box nil)))) + '(org-level-7 ((t (:inherit outline-7 :box nil)))) + '(org-level-8 ((t (:inherit outline-8 :box nil)))) + '(org-scheduled-previously ((t (:foreground "#FF7400")))) '(org-tag ((t (:weight bold)))) - '(outline-1 ((t (:inherit font-lock-function-name-face :weight bold)))) - '(outline-2 ((t (:inherit font-lock-variable-name-face :weight bold)))) - '(outline-3 ((t (:inherit font-lock-keyword-face :weight bold)))) - '(outline-4 ((t (:inherit font-lock-comment-face :weight bold)))) - '(outline-5 ((t (:inherit font-lock-type-face :weight bold)))) - '(outline-6 ((t (:inherit font-lock-constant-face :weight bold)))) - '(outline-7 ((t (:inherit font-lock-builtin-face :weight bold)))) - '(outline-8 ((t (:inherit font-lock-string-face :weight bold)))) - '(rcirc-my-nick ((t (:foreground "LightSkyBlue" :weight bold)))) - '(region ((t (:background "SteelBlue4")))) - '(show-paren-match ((t (:background "DarkGreen")))) - '(show-paren-mismatch ((t (:background "deep pink")))) + '(org-todo ((t (:foreground "#FF6961" :weight bold)))) + '(outline-1 ((t (:foreground "cyan1" :box (:line-width 1 :color "gainsboro") :weight bold)))) + '(outline-2 ((t (:foreground "SeaGreen1" :box (:line-width 1 :color "gainsboro") :weight bold)))) + '(outline-3 ((t (:foreground "cyan3" :box (:line-width 1 :color "gainsboro") :weight bold)))) + '(outline-4 ((t (:foreground "SeaGreen3" :box (:line-width 1 :color "gainsboro") :weight bold)))) + '(outline-5 ((t (:foreground "LightGoldenrod1" :box (:line-width 1 :color "gainsboro") :weight bold)))) + '(outline-6 ((t (:foreground "light salmon" :box (:line-width 1 :color "gainsboro") :weight bold)))) + '(outline-7 ((t (:foreground "pale goldenrod" :box (:line-width 1 :color "gainsboro") :weight bold)))) + '(outline-8 ((t (:foreground "OliveDrab1" :box (:line-width 1 :color "gainsboro") :weight bold)))) + '(rcirc-my-nick ((t (:foreground "SpringGreen1" :weight bold))) t) + '(rcirc-other-nick ((t (:foreground "dodger blue"))) t) + '(rcirc-track-keyword ((t (:foreground "DodgerBlue" :weight bold))) t) + '(rcirc-track-nick ((t (:background "yellow" :foreground "DodgerBlue" :weight bold))) t) + '(region ((t (:background "SeaGreen4")))) + '(scroll-bar ((t (:background "gray20" :foreground "dark turquoise")))) + '(secondary-selection ((t (:background "#333366" :foreground "#f6f3e8")))) + '(show-paren-match ((t (:background "DeepSkyBlue4")))) + '(show-paren-mismatch ((t (:background "dark magenta")))) + '(th-sentence-hl-face ((t (:weight bold)))) + '(widget-field ((t (:box (:line-width 2 :color "grey75" :style pressed-button))))) '(window-number-face ((t (:foreground "red" :weight bold))))) (provide-theme 'tsdh-dark) ------------------------------------------------------------ revno: 111270 fixes bug: http://debbugs.gnu.org/cgi/bugreport.cgi?bug=13207 author: Jonas Bernoulli committer: Stefan Monnier branch nick: trunk timestamp: Wed 2012-12-19 14:51:40 -0500 message: * lisp/emacs-lisp/lisp-mnt.el (lm-section-end): Always end before the following non-comment text. (lm-header-multiline): Continuation lines need to be indented more than the first line. (lm-homepage): New function. (lm-with-file): Don't be confused if narrowing is in effect. * doc/lispref/tips.texi (Library Headers): New header keyword `Homepage'. Make continuation lines syntax more precise. diff: === modified file 'doc/lispref/ChangeLog' --- doc/lispref/ChangeLog 2012-12-17 19:14:34 +0000 +++ doc/lispref/ChangeLog 2012-12-19 19:51:40 +0000 @@ -1,3 +1,8 @@ +2012-12-19 Jonas Bernoulli + + * tips.texi (Library Headers): New header keyword `Homepage'. + Make continuation lines syntax more precise. + 2012-12-17 Eli Zaretskii * files.texi (File Attributes, Changing Files): Update to include === modified file 'doc/lispref/tips.texi' --- doc/lispref/tips.texi 2012-12-05 22:27:56 +0000 +++ doc/lispref/tips.texi 2012-12-19 19:51:40 +0000 @@ -942,6 +942,7 @@ ;; Created: 14 Jul 2010 @group ;; Keywords: languages +;; Homepage: http://example.com/foo ;; This file is not part of GNU Emacs. @@ -980,8 +981,7 @@ @item Author This line states the name and email address of at least the principal author of the library. If there are multiple authors, list them on -continuation lines led by @code{;;} and whitespace (this is easier -for tools to parse than having more than one author on one line). +continuation lines led by @code{;;} and a tab or at least two spaces. We recommend including a contact email address, of the form @samp{<@dots{}>}. For example: @@ -1028,6 +1028,9 @@ the place to write arbitrary keywords that describe their package, rather than just the relevant Finder keywords. +@item Homepage +This line states the homepage of the library. + @item Package-Version If @samp{Version} is not suitable for use by the package manager, then a package can define @samp{Package-Version}; it will be used instead. === modified file 'lisp/ChangeLog' --- lisp/ChangeLog 2012-12-19 19:41:43 +0000 +++ lisp/ChangeLog 2012-12-19 19:51:40 +0000 @@ -1,4 +1,11 @@ -2012-12-19 Stefan Monnier +2012-12-19 Jonas Bernoulli + + * emacs-lisp/lisp-mnt.el (lm-section-end): Always end before the + following non-comment text (bug#13207). + (lm-header-multiline): Continuation lines need to be indented more than + the first line. + (lm-homepage): New function. + (lm-with-file): Don't be confused if narrowing is in effect. * vc/diff-mode.el (diff-post-command-hook): Don't ignore changes at the very beginning of a hunk (e.g. killing the first line). === modified file 'lisp/emacs-lisp/lisp-mnt.el' --- lisp/emacs-lisp/lisp-mnt.el 2012-01-19 07:21:25 +0000 +++ lisp/emacs-lisp/lisp-mnt.el 2012-12-19 19:51:40 +0000 @@ -208,10 +208,10 @@ The HEADER is the section string marking the beginning of the section. If the given section does not exist, return nil. -The end of the section is defined as the beginning of the next -section of the same level or lower. The function -`lisp-outline-level' is used to compute the level of a section. -If no such section exists, return the end of the buffer." +The section ends before the first non-comment text or the next +section of the same level or lower; whatever comes first. The +function `lisp-outline-level' is used to compute the level of +a section." (require 'outline) ;; for outline-regexp. (let ((start (lm-section-start header))) (when start @@ -229,9 +229,15 @@ (beginning-of-line) (lisp-outline-level)) level))) - (if next-section-found - (line-beginning-position) - (point-max))))))) + (min (if next-section-found + (progn (beginning-of-line 0) + (unless (looking-at " ") + (beginning-of-line 2)) + (point)) + (point-max)) + (progn (goto-char start) + (while (forward-comment 1)) + (point)))))))) (defsubst lm-code-start () "Return the buffer location of the `Code' start marker." @@ -282,13 +288,8 @@ (when res (setq res (list res)) (forward-line 1) - (while (and (or (looking-at (concat lm-header-prefix "[\t ]+")) - (and (not (looking-at - (lm-get-header-re "\\sw\\(\\sw\\|\\s_\\)*"))) - (looking-at lm-header-prefix))) - (goto-char (match-end 0)) - (looking-at ".+")) - (setq res (cons (match-string-no-properties 0) res)) + (while (looking-at "^;+\\(\t\\|[\t\s]\\{2,\\}\\)\\(.+\\)") + (push (match-string-no-properties 2) res) (forward-line 1))) (nreverse res)))) @@ -306,10 +307,13 @@ (emacs-lisp-mode) ,@body) (save-excursion - ;; Switching major modes is too drastic, so just switch - ;; temporarily to the Emacs Lisp mode syntax table. - (with-syntax-table emacs-lisp-mode-syntax-table - ,@body)))))) + (save-restriction + (widen) + (goto-char (point-min)) + ;; Switching major modes is too drastic, so just switch + ;; temporarily to the Emacs Lisp mode syntax table. + (with-syntax-table emacs-lisp-mode-syntax-table + ,@body))))))) ;; Fixme: Probably this should be amalgamated with copyright.el; also ;; we need a check for ranges in copyright years. @@ -489,6 +493,14 @@ (when start (buffer-substring-no-properties start (lm-commentary-end)))))) +(defun lm-homepage (&optional file) + "Return the homepage in file FILE, or current buffer if FILE is nil." + (let ((page (lm-with-file file + (lm-header "\\(?:x-\\)?\\(?:homepage\\|url\\)")))) + (if (and page (string-match "^<.+>$" page)) + (substring page 1 -1) + page))) + ;;; Verification and synopses (defun lm-insert-at-column (col &rest strings) ------------------------------------------------------------ revno: 111269 committer: Stefan Monnier branch nick: trunk timestamp: Wed 2012-12-19 14:41:43 -0500 message: * lisp/vc/diff-mode.el (diff-post-command-hook): Don't ignore changes at the very beginning of a hunk (e.g. killing the first line). diff: === modified file 'lisp/ChangeLog' --- lisp/ChangeLog 2012-12-19 13:01:16 +0000 +++ lisp/ChangeLog 2012-12-19 19:41:43 +0000 @@ -1,3 +1,8 @@ +2012-12-19 Stefan Monnier + + * vc/diff-mode.el (diff-post-command-hook): Don't ignore changes at the + very beginning of a hunk (e.g. killing the first line). + 2012-12-19 Michael Albinus * net/tramp-sh.el (tramp-sh-handle-file-acl): Delete empty lines === modified file 'lisp/vc/diff-mode.el' --- lisp/vc/diff-mode.el 2012-11-19 18:40:18 +0000 +++ lisp/vc/diff-mode.el 2012-12-19 19:41:43 +0000 @@ -1298,7 +1298,7 @@ (re-search-forward diff-context-mid-hunk-header-re nil t))))) (when (and ;; Don't try to fixup changes in the hunk header. - (> (car diff-unhandled-changes) start) + (>= (car diff-unhandled-changes) start) ;; Don't try to fixup changes in the mid-hunk header either. (or (not mid) (< (cdr diff-unhandled-changes) (match-beginning 0)) ------------------------------------------------------------ revno: 111268 committer: Dmitry Antipov branch nick: trunk timestamp: Wed 2012-12-19 19:52:48 +0400 message: * coding.c (Fdetect_coding_region): Do not check start and end with CHECK_NUMBER_COERCE_MARKER since validate_region does that itself. (code_convert_region): Likewise. diff: === modified file 'src/ChangeLog' --- src/ChangeLog 2012-12-18 19:05:56 +0000 +++ src/ChangeLog 2012-12-19 15:52:48 +0000 @@ -1,3 +1,9 @@ +2012-12-19 Dmitry Antipov + + * coding.c (Fdetect_coding_region): Do not check start and end with + CHECK_NUMBER_COERCE_MARKER since validate_region does that itself. + (code_convert_region): Likewise. + 2012-12-18 Eli Zaretskii * w32.c (acl_get_file, acl_set_file): Run the file name through === modified file 'src/coding.c' --- src/coding.c 2012-10-30 03:10:52 +0000 +++ src/coding.c 2012-12-19 15:52:48 +0000 @@ -8426,9 +8426,6 @@ ptrdiff_t from, to; ptrdiff_t from_byte, to_byte; - CHECK_NUMBER_COERCE_MARKER (start); - CHECK_NUMBER_COERCE_MARKER (end); - validate_region (&start, &end); from = XINT (start), to = XINT (end); from_byte = CHAR_TO_BYTE (from); @@ -8872,8 +8869,6 @@ ptrdiff_t from, from_byte, to, to_byte; Lisp_Object src_object; - CHECK_NUMBER_COERCE_MARKER (start); - CHECK_NUMBER_COERCE_MARKER (end); if (NILP (coding_system)) coding_system = Qno_conversion; else ------------------------------------------------------------ revno: 111267 committer: Paul Eggert branch nick: trunk timestamp: Wed 2012-12-19 05:56:49 -0800 message: Spelling fix. diff: === modified file 'src/window.c' --- src/window.c 2012-12-17 19:17:06 +0000 +++ src/window.c 2012-12-19 13:56:49 +0000 @@ -280,7 +280,7 @@ if (BUFFERP (w->buffer)) { struct buffer *b = XBUFFER (w->buffer); - + if (b->base_buffer) b = b->base_buffer; b->window_count += arg; @@ -530,7 +530,7 @@ } /* Select window with a minimum of fuss, i.e. don't record the change anywhere - (not even for rediaplay's benefit), and assume that the window's frame is + (not even for redisplay's benefit), and assume that the window's frame is already selected. */ void select_window_1 (Lisp_Object window, bool inhibit_point_swap) ------------------------------------------------------------ revno: 111266 committer: Michael Albinus branch nick: trunk timestamp: Wed 2012-12-19 14:01:16 +0100 message: * net/tramp-sh.el (tramp-sh-handle-file-acl): Delete empty lines and text properties from returned ACL string. (tramp-sh-handle-set-file-acl): Do not use additional parentheses for "setfacl" command. diff: === modified file 'lisp/ChangeLog' --- lisp/ChangeLog 2012-12-18 13:37:06 +0000 +++ lisp/ChangeLog 2012-12-19 13:01:16 +0000 @@ -1,3 +1,10 @@ +2012-12-19 Michael Albinus + + * net/tramp-sh.el (tramp-sh-handle-file-acl): Delete empty lines + and text properties from returned ACL string. + (tramp-sh-handle-set-file-acl): Do not use additional parentheses + for "setfacl" command. + 2012-12-18 Michael Albinus * net/tramp.el (tramp-error-with-buffer): Give a hint to use === modified file 'lisp/net/tramp-sh.el' --- lisp/net/tramp-sh.el 2012-12-17 14:38:07 +0000 +++ lisp/net/tramp-sh.el 2012-12-19 13:01:16 +0000 @@ -1549,7 +1549,9 @@ "getfacl -ac %s 2>/dev/null" (tramp-shell-quote-argument localname)))) (with-current-buffer (tramp-get-connection-buffer v) - (buffer-string)))))) + (goto-char (point-max)) + (delete-blank-lines) + (substring-no-properties (buffer-string))))))) (defun tramp-sh-handle-set-file-acl (filename acl-string) "Like `set-file-acl' for Tramp files." @@ -1557,11 +1559,8 @@ (if (and (stringp acl-string) (tramp-remote-acl-p v) (tramp-send-command-and-check - v - (format "setfacl --set-file=- %s <<'EOF'\n%s\nEOF\n" - (tramp-shell-quote-argument localname) - acl-string) - t)) + v (format "setfacl --set-file=- %s <<'EOF'\n%s\nEOF\n" + (tramp-shell-quote-argument localname) acl-string))) (tramp-set-file-property v localname "file-acl" acl-string) (tramp-set-file-property v localname "file-acl-string" 'undef))) ;; We always return nil. ------------------------------------------------------------ revno: 111265 committer: Eli Zaretskii branch nick: trunk timestamp: Tue 2012-12-18 21:05:56 +0200 message: Follow symlinks in MS-Windows emulations of ACL functions. src/w32.c (acl_get_file, acl_set_file): Run the file name through map_w32_filename, and resolve any symlinks in the file name, like Posix platforms do. (acl_set_file): Call revert_to_self, if any privileges were enabled. diff: === modified file 'src/ChangeLog' --- src/ChangeLog 2012-12-17 20:59:04 +0000 +++ src/ChangeLog 2012-12-18 19:05:56 +0000 @@ -1,3 +1,11 @@ +2012-12-18 Eli Zaretskii + + * w32.c (acl_get_file, acl_set_file): Run the file name through + map_w32_filename, and resolve any symlinks in the file name, like + Posix platforms do. + (acl_set_file): Call revert_to_self, if any privileges were + enabled. + 2012-12-17 Juanma Barranquero * makefile.w32-in ($(BLD)/editfns.$(O), $(BLD)/fileio.$(O)) === modified file 'src/w32.c' --- src/w32.c 2012-12-17 19:14:34 +0000 +++ src/w32.c 2012-12-18 19:05:56 +0000 @@ -4518,7 +4518,7 @@ errno = EINVAL; else { - /* Copy the link target name, in wide characters, fro + /* Copy the link target name, in wide characters, from reparse_data, then convert it to multibyte encoding in the current locale's codepage. */ WCHAR *lwname; @@ -4766,6 +4766,7 @@ acl_get_file (const char *fname, acl_type_t type) { PSECURITY_DESCRIPTOR psd = NULL; + const char *filename; if (type == ACL_TYPE_ACCESS) { @@ -4776,6 +4777,12 @@ DACL_SECURITY_INFORMATION ; int e = errno; + filename = map_w32_filename (fname, NULL); + if ((volume_info.flags & FILE_SUPPORTS_REPARSE_POINTS) != 0) + fname = chase_symlinks (filename); + else + fname = filename; + errno = 0; if (!get_file_security (fname, si, psd, 0, &sd_len) && errno != ENOTSUP) @@ -4819,6 +4826,7 @@ BOOL dflt; BOOL dacl_present; int e; + const char *filename; if (acl_valid (acl) != 0 || (type != ACL_TYPE_DEFAULT && type != ACL_TYPE_ACCESS)) @@ -4833,6 +4841,12 @@ return -1; } + filename = map_w32_filename (fname, NULL); + if ((volume_info.flags & FILE_SUPPORTS_REPARSE_POINTS) != 0) + fname = chase_symlinks (filename); + else + fname = filename; + if (get_security_descriptor_owner ((PSECURITY_DESCRIPTOR)acl, &psid, &dflt) && psid) flags |= OWNER_SECURITY_INFORMATION; @@ -4866,10 +4880,13 @@ errno = 0; set_file_security ((char *)fname, flags, (PSECURITY_DESCRIPTOR)acl); err = GetLastError (); - if (st >= 2) - restore_privilege (&old2); - if (st >= 1) - restore_privilege (&old1); + if (st) + { + if (st >= 2) + restore_privilege (&old2); + restore_privilege (&old1); + revert_to_self (); + } if (errno == ENOTSUP) ;