Using saved parent location: http://bzr.savannah.gnu.org/r/emacs/trunk/ Now on revision 103231. ------------------------------------------------------------ revno: 103231 committer: Paul Eggert branch nick: trunk timestamp: Fri 2011-02-11 21:13:34 -0800 message: Port to Solaris 10, which doesn't support FC_HINT_STYLE. diff: === modified file 'src/ChangeLog' --- src/ChangeLog 2011-02-11 15:40:19 +0000 +++ src/ChangeLog 2011-02-12 05:13:34 +0000 @@ -1,3 +1,11 @@ +2011-02-12 Paul Eggert + + Port to Solaris 10, which doesn't support FC_HINT_STYLE. + * xftfont.c (FC_HINT_STYLE): #define to "hintstyle" if not + defined. + * xsettings.c (parse_settings, apply_xft_settings): Don't assume + FC_HINT_STYLE is supported. + 2011-02-11 Jan Djärv * xterm.c (x_set_frame_alpha): Access data before it is free:d. === modified file 'src/xftfont.c' --- src/xftfont.c 2011-02-05 22:30:14 +0000 +++ src/xftfont.c 2011-02-12 05:13:34 +0000 @@ -187,17 +187,20 @@ double dpi; FcPatternGetBool (pat, FC_ANTIALIAS, 0, &b); - if (! b) + if (! b) { FcPatternDel (match, FC_ANTIALIAS); FcPatternAddBool (match, FC_ANTIALIAS, FcFalse); } FcPatternGetBool (pat, FC_HINTING, 0, &b); - if (! b) + if (! b) { FcPatternDel (match, FC_HINTING); FcPatternAddBool (match, FC_HINTING, FcFalse); } +#ifndef FC_HINT_STYLE +# define FC_HINT_STYLE "hintstyle" +#endif if (FcResultMatch == FcPatternGetInteger (pat, FC_HINT_STYLE, 0, &i)) { FcPatternDel (match, FC_HINT_STYLE); @@ -781,4 +784,3 @@ register_font_driver (&xftfont_driver, NULL); } - === modified file 'src/xsettings.c' --- src/xsettings.c 2011-01-25 04:08:28 +0000 +++ src/xsettings.c 2011-02-12 05:13:34 +0000 @@ -75,7 +75,7 @@ SEEN_FONT = 0x40, SEEN_TB_STYLE = 0x80, }; -struct xsettings +struct xsettings { #ifdef HAVE_XFT FcBool aa, hinting; @@ -104,7 +104,7 @@ gpointer user_data) { GConfValue *v = gconf_entry_get_value (entry); - + if (!v) return; if (v->type == GCONF_VALUE_STRING) { @@ -196,7 +196,7 @@ 4 CARD32 last-change-serial and then the value, For string: - + bytes type what ------------------------------------ 4 CARD32 n = value-length @@ -280,7 +280,7 @@ (strcmp (XSETTINGS_FONT_NAME, name) == 0) || (strcmp (XSETTINGS_TOOL_BAR_STYLE, name) == 0); - switch (type) + switch (type) { case 0: /* Integer */ if (bytes_parsed+4 > bytes) return BadLength; @@ -310,14 +310,14 @@ case 2: /* RGB value */ /* No need to parse this */ if (bytes_parsed+8 > bytes) return BadLength; - bytes_parsed += 8; /* 4 values (r, b, g, alpha), 2 bytes each. */ + bytes_parsed += 8; /* 4 values (r, b, g, alpha), 2 bytes each. */ break; default: /* Parse Error */ return BadValue; } - if (want_this) + if (want_this) { ++settings_seen; if (strcmp (name, XSETTINGS_FONT_NAME) == 0) @@ -341,6 +341,7 @@ settings->seen |= SEEN_HINTING; settings->hinting = ival != 0; } +# ifdef FC_HINT_STYLE else if (strcmp (name, "Xft/HintStyle") == 0) { settings->seen |= SEEN_HINTSTYLE; @@ -355,6 +356,7 @@ else settings->seen &= ~SEEN_HINTSTYLE; } +# endif else if (strcmp (name, "Xft/RGBA") == 0) { settings->seen |= SEEN_RGBA; @@ -442,7 +444,9 @@ pat); FcPatternGetBool (pat, FC_ANTIALIAS, 0, &oldsettings.aa); FcPatternGetBool (pat, FC_HINTING, 0, &oldsettings.hinting); +# ifdef FC_HINT_STYLE FcPatternGetInteger (pat, FC_HINT_STYLE, 0, &oldsettings.hintstyle); +# endif FcPatternGetInteger (pat, FC_LCD_FILTER, 0, &oldsettings.lcdfilter); FcPatternGetInteger (pat, FC_RGBA, 0, &oldsettings.rgba); FcPatternGetDouble (pat, FC_DPI, 0, &oldsettings.dpi); @@ -488,6 +492,7 @@ if (strlen (buf) > 0) strcat (buf, ", "); sprintf (buf+strlen (buf), "LCDFilter: %d", oldsettings.lcdfilter); +# ifdef FC_HINT_STYLE if ((settings->seen & SEEN_HINTSTYLE) != 0 && oldsettings.hintstyle != settings->hintstyle) { @@ -496,6 +501,7 @@ ++changed; oldsettings.hintstyle = settings->hintstyle; } +# endif if (strlen (buf) > 0) strcat (buf, ", "); sprintf (buf+strlen (buf), "Hintstyle: %d", oldsettings.hintstyle); @@ -508,7 +514,7 @@ FcPatternAddDouble (pat, FC_DPI, settings->dpi); ++changed; oldsettings.dpi = settings->dpi; - + /* Change the DPI on this display and all frames on the display. */ dpyinfo->resy = dpyinfo->resx = settings->dpi; FOR_EACH_FRAME (tail, frame) @@ -565,7 +571,7 @@ if (settings.seen & SEEN_FONT) { - if (!current_font || strcmp (current_font, settings.font) != 0) + if (!current_font || strcmp (current_font, settings.font) != 0) { free (current_font); current_font = settings.font; @@ -774,4 +780,3 @@ Fprovide (intern_c_string ("dynamic-setting"), Qnil); } - ------------------------------------------------------------ revno: 103230 committer: Chong Yidong branch nick: trunk timestamp: Fri 2011-02-11 20:31:35 -0500 message: lisp/gnus/mml2015.el (mml2015-signers): Minor doc fix. diff: === modified file 'lisp/gnus/mml2015.el' --- lisp/gnus/mml2015.el 2011-01-28 01:34:09 +0000 +++ lisp/gnus/mml2015.el 2011-02-12 01:31:35 +0000 @@ -116,7 +116,7 @@ :type 'integer) (defcustom mml2015-signers nil - "A list of your own key ID which will be used to sign a message. + "A list of your own key ID(s) which will be used to sign a message. If set, it overrides the setting of `mml2015-sign-with-sender'." :group 'mime-security :type '(repeat (string :tag "Key ID"))) ------------------------------------------------------------ revno: 103229 author: Phil Hagelberg committer: Chong Yidong branch nick: trunk timestamp: Fri 2011-02-11 20:18:15 -0500 message: Allow packages to be reinstalled. * emacs-lisp/package.el (package--write-file-no-coding): Remove EXCL arg. (package-unpack-single): Don't use it. diff: === modified file 'lisp/ChangeLog' --- lisp/ChangeLog 2011-02-12 01:12:53 +0000 +++ lisp/ChangeLog 2011-02-12 01:18:15 +0000 @@ -1,3 +1,9 @@ +2011-02-12 Phil Hagelberg + + * emacs-lisp/package.el: Allow packages to be reinstalled. + (package--write-file-no-coding): Remove EXCL arg. + (package-unpack-single): Don't use it. + 2011-02-12 Karl Pflästerer (tiny change) * vc/vc-svn.el: Adapt to Subversion change, with no .svn directory === modified file 'lisp/emacs-lisp/package.el' --- lisp/emacs-lisp/package.el 2011-02-02 17:59:44 +0000 +++ lisp/emacs-lisp/package.el 2011-02-12 01:18:15 +0000 @@ -577,23 +577,22 @@ (let ((load-path (cons pkg-dir load-path))) (byte-recompile-directory pkg-dir 0 t))))) -(defun package--write-file-no-coding (file-name excl) +(defun package--write-file-no-coding (file-name) (let ((buffer-file-coding-system 'no-conversion)) - (write-region (point-min) (point-max) file-name nil nil nil excl))) + (write-region (point-min) (point-max) file-name))) (defun package-unpack-single (file-name version desc requires) "Install the contents of the current buffer as a package." ;; Special case "package". (if (string= file-name "package") (package--write-file-no-coding - (expand-file-name (concat file-name ".el") package-user-dir) - nil) + (expand-file-name (concat file-name ".el") package-user-dir)) (let* ((pkg-dir (expand-file-name (concat file-name "-" version) package-user-dir)) (el-file (expand-file-name (concat file-name ".el") pkg-dir)) (pkg-file (expand-file-name (concat file-name "-pkg.el") pkg-dir))) (make-directory pkg-dir t) - (package--write-file-no-coding el-file 'excl) + (package--write-file-no-coding el-file) (let ((print-level nil) (print-length nil)) (write-region ------------------------------------------------------------ revno: 103228 author: Karl Pflästerer committer: Chong Yidong branch nick: trunk timestamp: Fri 2011-02-11 20:12:53 -0500 message: Adapt to Subversion change, with no .svn directory in each sub directory. http://lists.gnu.org/archive/html/emacs-devel/2011-02/msg00357.html * vc/vc-svn.el (vc-svn-registered): Use vc-svn-root. (vc-svn-root): New function. Make vc-svn-responsible-p an alias. (vc-svn-repository-hostname): Use "svn info". diff: === modified file 'lisp/ChangeLog' --- lisp/ChangeLog 2011-02-11 18:25:06 +0000 +++ lisp/ChangeLog 2011-02-12 01:12:53 +0000 @@ -1,3 +1,11 @@ +2011-02-12 Karl Pflästerer (tiny change) + + * vc/vc-svn.el: Adapt to Subversion change, with no .svn directory + in each sub directory. + (vc-svn-registered): Use vc-svn-root. + (vc-svn-root): New function. Make vc-svn-responsible-p an alias. + (vc-svn-repository-hostname): Use "svn info". + 2011-02-11 Deniz Dogan * simple.el (delete-trailing-whitespace): New optional buffer === modified file 'lisp/vc/vc-svn.el' --- lisp/vc/vc-svn.el 2011-01-26 08:36:39 +0000 +++ lisp/vc/vc-svn.el 2011-02-12 01:12:53 +0000 @@ -117,17 +117,13 @@ ;;;###autoload (getenv "SVN_ASP_DOT_NET_HACK")) ;;;###autoload "_svn") ;;;###autoload (t ".svn")))) -;;;###autoload (when (file-readable-p (expand-file-name -;;;###autoload (concat admin-dir "/entries") -;;;###autoload (file-name-directory f))) +;;;###autoload (when (vc-find-root f admin-dir) ;;;###autoload (load "vc-svn") ;;;###autoload (vc-svn-registered f)))) (defun vc-svn-registered (file) "Check if FILE is SVN registered." - (when (file-readable-p (expand-file-name (concat vc-svn-admin-directory - "/entries") - (file-name-directory file))) + (when (vc-svn-root file) (with-temp-buffer (cd (file-name-directory file)) (let* (process-file-side-effects @@ -275,14 +271,12 @@ to the SVN command." (apply 'vc-svn-command nil 0 files "add" (vc-switches 'SVN 'register))) -(defun vc-svn-responsible-p (file) - "Return non-nil if SVN thinks it is responsible for FILE." - (file-directory-p (expand-file-name vc-svn-admin-directory - (if (file-directory-p file) - file - (file-name-directory file))))) - -(defalias 'vc-svn-could-register 'vc-svn-responsible-p +(defun vc-svn-root (file) + (vc-find-root file vc-svn-admin-directory)) + +(defalias 'vc-svn-responsible-p 'vc-svn-root) + +(defalias 'vc-svn-could-register 'vc-svn-root "Return non-nil if FILE could be registered in SVN. This is only possible if SVN is responsible for FILE's directory.") @@ -594,20 +588,10 @@ (defun vc-svn-repository-hostname (dirname) (with-temp-buffer - (let ((coding-system-for-read - (or file-name-coding-system - default-file-name-coding-system))) - (vc-insert-file (expand-file-name (concat vc-svn-admin-directory - "/entries") - dirname))) + (let (process-file-side-effects) + (vc-svn-command t t dirname "info" "--xml")) (goto-char (point-min)) - (when (re-search-forward - ;; Old `svn' used name="svn:this_dir", newer use just name="". - (concat "name=\"\\(?:svn:this_dir\\)?\"[\n\t ]*" - "\\(?:[-a-z]+=\"[^\"]*\"[\n\t ]*\\)*?" - "url=\"\\(?1:[^\"]+\\)\"" - ;; Yet newer ones don't use XML any more. - "\\|^\ndir\n[0-9]+\n\\(?1:.*\\)") nil t) + (when (re-search-forward "\\(.*\\)" nil t) ;; This is not a hostname but a URL. This may actually be considered ;; as a feature since it allows vc-svn-stay-local to specify different ;; behavior for different modules on the same server. ------------------------------------------------------------ revno: 103227 committer: Deniz Dogan branch nick: emacs-trunk timestamp: Fri 2011-02-11 19:25:06 +0100 message: * lisp/simple.el (delete-trailing-whitespace): New optional buffer bound parameters. diff: === modified file 'lisp/ChangeLog' --- lisp/ChangeLog 2011-02-11 17:35:37 +0000 +++ lisp/ChangeLog 2011-02-11 18:25:06 +0000 @@ -1,3 +1,8 @@ +2011-02-11 Deniz Dogan + + * simple.el (delete-trailing-whitespace): New optional buffer + bound parameters. + 2011-02-11 Bastien Guerry * files.el (basic-save-buffer): save unmodified buffers when === modified file 'lisp/simple.el' --- lisp/simple.el 2011-02-01 21:22:21 +0000 +++ lisp/simple.el 2011-02-11 18:25:06 +0000 @@ -614,22 +614,30 @@ (if (looking-at "^[ \t]*\n\\'") (delete-region (point) (point-max))))) -(defun delete-trailing-whitespace () +(defun delete-trailing-whitespace (&optional start end) "Delete all the trailing whitespace across the current buffer. All whitespace after the last non-whitespace character in a line is deleted. This respects narrowing, created by \\[narrow-to-region] and friends. -A formfeed is not considered whitespace by this function." - (interactive "*") +A formfeed is not considered whitespace by this function. +If the region is active, only delete whitespace within the region." + (interactive (progn + (barf-if-buffer-read-only) + (if (use-region-p) + (list (region-beginning) (region-end)) + (list nil nil)))) (save-match-data (save-excursion - (goto-char (point-min)) - (while (re-search-forward "\\s-$" nil t) - (skip-syntax-backward "-" (save-excursion (forward-line 0) (point))) - ;; Don't delete formfeeds, even if they are considered whitespace. - (save-match-data - (if (looking-at ".*\f") - (goto-char (match-end 0)))) - (delete-region (point) (match-end 0)))))) + (let ((end-marker (copy-marker (or end (point-max)))) + (start (or start (point-min)))) + (goto-char start) + (while (re-search-forward "\\s-$" end-marker t) + (skip-syntax-backward "-" (save-excursion (forward-line 0) (point))) + ;; Don't delete formfeeds, even if they are considered whitespace. + (save-match-data + (if (looking-at ".*\f") + (goto-char (match-end 0)))) + (delete-region (point) (match-end 0))) + (set-marker end-marker nil))))) (defun newline-and-indent () "Insert a newline, then indent according to major mode. ------------------------------------------------------------ revno: 103226 committer: Bastien Guerry branch nick: trunk timestamp: Fri 2011-02-11 18:35:37 +0100 message: Save unmodified buffers when buffer-file-name doesn't exist. * files.el (basic-save-buffer): save unmodified buffers when the file pointed by buffer-file-name doesn't exist. diff: === modified file 'lisp/ChangeLog' --- lisp/ChangeLog 2011-02-11 06:19:34 +0000 +++ lisp/ChangeLog 2011-02-11 17:35:37 +0000 @@ -1,3 +1,8 @@ +2011-02-11 Bastien Guerry + + * files.el (basic-save-buffer): save unmodified buffers when + the file pointed by buffer-file-name doesn't exist. + 2011-02-11 Deniz Dogan * net/rcirc.el (defun-rcirc-join): Accept multiple channels. === modified file 'lisp/files.el' --- lisp/files.el 2011-02-01 21:37:12 +0000 +++ lisp/files.el 2011-02-11 17:35:37 +0000 @@ -4309,7 +4309,11 @@ ;; In an indirect buffer, save its base buffer instead. (if (buffer-base-buffer) (set-buffer (buffer-base-buffer))) - (if (buffer-modified-p) + (if (or (buffer-modified-p) + ;; handle the case when no modification has been made but + ;; the file disappeared since visited + (and buffer-file-name + (not (file-exists-p buffer-file-name)))) (let ((recent-save (recent-auto-save-p)) setmodes) ;; If buffer has no file name, ask user for one. ------------------------------------------------------------ revno: 103225 committer: Jan D. branch nick: trunk timestamp: Fri 2011-02-11 16:40:19 +0100 message: * xterm.c (x_set_frame_alpha): Access data before it is free:d. Make sure we don't do x_catch_errors twice. diff: === modified file 'src/ChangeLog' --- src/ChangeLog 2011-02-10 03:20:52 +0000 +++ src/ChangeLog 2011-02-11 15:40:19 +0000 @@ -1,3 +1,8 @@ +2011-02-11 Jan Djärv + + * xterm.c (x_set_frame_alpha): Access data before it is free:d. + Make sure we don't do x_catch_errors twice. + 2011-02-10 Glenn Morris * Makefile.in (really-lwlib): Depend on globals.h, for parallel builds. === modified file 'src/xterm.c' --- src/xterm.c 2011-02-06 03:13:16 +0000 +++ src/xterm.c 2011-02-11 15:40:19 +0000 @@ -488,17 +488,16 @@ if (rc == Success && actual != None) { + unsigned long value = *(unsigned long *)data; XFree ((void *) data); - if (*(unsigned long *)data == opac) + if (value == opac) { x_uncatch_errors (); return; } } - x_uncatch_errors (); } - x_catch_errors (dpy); XChangeProperty (dpy, win, dpyinfo->Xatom_net_wm_window_opacity, XA_CARDINAL, 32, PropModeReplace, (unsigned char *) &opac, 1L); ------------------------------------------------------------ revno: 103224 committer: Deniz Dogan branch nick: emacs-trunk timestamp: Fri 2011-02-11 07:19:34 +0100 message: * lisp/net/rcirc.el (defun-rcirc-join): Accept multiple channels. diff: === modified file 'lisp/ChangeLog' --- lisp/ChangeLog 2011-02-11 03:54:12 +0000 +++ lisp/ChangeLog 2011-02-11 06:19:34 +0000 @@ -1,3 +1,7 @@ +2011-02-11 Deniz Dogan + + * net/rcirc.el (defun-rcirc-join): Accept multiple channels. + 2011-02-11 Glenn Morris * emacs-lisp/cl-specs.el (multiple-value-bind): Fix debug spec. === modified file 'lisp/net/rcirc.el' --- lisp/net/rcirc.el 2011-02-11 00:49:28 +0000 +++ lisp/net/rcirc.el 2011-02-11 06:19:34 +0000 @@ -2098,14 +2098,18 @@ (when (not existing-buffer) (rcirc-cmd-whois nick)))) -(defun-rcirc-command join (channel) - "Join CHANNEL." - (interactive "sJoin channel: ") - (let ((buffer (rcirc-get-buffer-create process - (car (split-string channel))))) - (rcirc-send-string process (concat "JOIN " channel)) +(defun-rcirc-command join (channels) + "Join CHANNELS. +CHANNELS is a comma- or space-separated string of channel names." + (interactive "sJoin channels: ") + (let* ((split-channels (split-string channels "[ ,]" t)) + (buffers (mapcar (lambda (ch) + (rcirc-get-buffer-create process ch)) + split-channels))) + (rcirc-send-string process (concat "JOIN " channels)) (when (not (eq (selected-window) (minibuffer-window))) - (switch-to-buffer buffer)))) + (dolist (b buffers) ;; order the new channel buffers in the buffer list + (switch-to-buffer b))))) ;; TODO: /part #channel reason, or consider removing #channel altogether (defun-rcirc-command part (channel)