<?xml version="1.0" encoding="UTF-8"?>
<rdf:RDF xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" xmlns="http://purl.org/rss/1.0/" xmlns:taxo="http://purl.org/rss/1.0/modules/taxonomy/" xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:syn="http://purl.org/rss/1.0/modules/syndication/" xmlns:admin="http://webns.net/mvcb/">
  <channel rdf:about="http://blog.gmane.org/gmane.emacs.sources">
    <title>gmane.emacs.sources</title>
    <link>http://blog.gmane.org/gmane.emacs.sources</link>
    <description/>
    <syn:updatePeriod>hourly</syn:updatePeriod>
    <syn:updateFrequency>1</syn:updateFrequency>
    <syn:updateBase>1901-01-01T00:00+00:00</syn:updateBase>
    <items>
      <rdf:Seq>
        <rdf:li rdf:resource="http://permalink.gmane.org/gmane.emacs.sources/3796"/>
        <rdf:li rdf:resource="http://permalink.gmane.org/gmane.emacs.sources/3795"/>
        <rdf:li rdf:resource="http://permalink.gmane.org/gmane.emacs.sources/3794"/>
        <rdf:li rdf:resource="http://permalink.gmane.org/gmane.emacs.sources/3793"/>
        <rdf:li rdf:resource="http://permalink.gmane.org/gmane.emacs.sources/3792"/>
        <rdf:li rdf:resource="http://permalink.gmane.org/gmane.emacs.sources/3791"/>
        <rdf:li rdf:resource="http://permalink.gmane.org/gmane.emacs.sources/3790"/>
        <rdf:li rdf:resource="http://permalink.gmane.org/gmane.emacs.sources/3789"/>
        <rdf:li rdf:resource="http://permalink.gmane.org/gmane.emacs.sources/3788"/>
        <rdf:li rdf:resource="http://permalink.gmane.org/gmane.emacs.sources/3787"/>
        <rdf:li rdf:resource="http://permalink.gmane.org/gmane.emacs.sources/3786"/>
        <rdf:li rdf:resource="http://permalink.gmane.org/gmane.emacs.sources/3785"/>
        <rdf:li rdf:resource="http://permalink.gmane.org/gmane.emacs.sources/3784"/>
        <rdf:li rdf:resource="http://permalink.gmane.org/gmane.emacs.sources/3783"/>
        <rdf:li rdf:resource="http://permalink.gmane.org/gmane.emacs.sources/3782"/>
        <rdf:li rdf:resource="http://permalink.gmane.org/gmane.emacs.sources/3781"/>
        <rdf:li rdf:resource="http://permalink.gmane.org/gmane.emacs.sources/3780"/>
        <rdf:li rdf:resource="http://permalink.gmane.org/gmane.emacs.sources/3779"/>
        <rdf:li rdf:resource="http://permalink.gmane.org/gmane.emacs.sources/3778"/>
        <rdf:li rdf:resource="http://permalink.gmane.org/gmane.emacs.sources/3777"/>
      </rdf:Seq>
    </items>
    <image rdf:resource="http://gmane.org/img/gmane-25t.png"/>
    <textinput rdf:resource=""/>
  </channel>
  <image rdf:about="http://gmane.org/img/gmane-25t.png">
    <title>Gmane</title>
    <url>http://gmane.org/img/gmane-25t.png</url>
    <link>http://gmane.org</link>
  </image>
  <item rdf:about="http://permalink.gmane.org/gmane.emacs.sources/3796">
    <title>Milonga v1.1</title>
    <link>http://permalink.gmane.org/gmane.emacs.sources/3796</link>
    <description>&lt;pre&gt;
  Hello,

Milonga 1.1 is released (this is actually the first public announcement).

Milonga is a customizable theme for Emacs, based on the Tango color
palette. The specificity of Milonga is in the way it is
programmed. Every basic color in the palette has a corresponding
foreground and background face, and every themed face inherits from one
or two of them instead of having its color hard-wired. This means that
if you want to change one of the original colors throughout the theme,
you only need to customize one (or two) faces.

Milonga provides the `milonga-theme' Custom group from which you may
access the aforementioned core faces.


Get it at: http://www.lrde.epita.fr/~didier/software/elisp.php#milonga

&lt;/pre&gt;</description>
    <dc:creator>Didier Verna</dc:creator>
    <dc:date>2013-05-03T16:59:17</dc:date>
  </item>
  <item rdf:about="http://permalink.gmane.org/gmane.emacs.sources/3795">
    <title>Re: skeleton-complete.el</title>
    <link>http://permalink.gmane.org/gmane.emacs.sources/3795</link>
    <description>&lt;pre&gt;

I have not used auto-complete myself, so I am not sure. (I test drived
it a bit, then still turned back to the old style hippie-expand, maybe
I'll give it another try when I'm free:-)

Thanks for the idea though!
&lt;/pre&gt;</description>
    <dc:creator>Bao Haojun</dc:creator>
    <dc:date>2013-04-22T01:17:18</dc:date>
  </item>
  <item rdf:about="http://permalink.gmane.org/gmane.emacs.sources/3794">
    <title>Re: skeleton-complete.el</title>
    <link>http://permalink.gmane.org/gmane.emacs.sources/3794</link>
    <description>&lt;pre&gt;

Sounds useful.  Would be great if you can integrate it into
auto-complete[1] mode, where the completion list will pop up and disappear
automatically without typing extra key to trigger.


Footnotes: 
[1]  http://cx4a.org/software/auto-complete/

&lt;/pre&gt;</description>
    <dc:creator>William Xu</dc:creator>
    <dc:date>2013-04-17T02:38:48</dc:date>
  </item>
  <item rdf:about="http://permalink.gmane.org/gmane.emacs.sources/3793">
    <title>skeleton-complete.el</title>
    <link>http://permalink.gmane.org/gmane.emacs.sources/3793</link>
    <description>&lt;pre&gt;Dear fellow Emacsians,

I'd like you to try my elisp package: skeleton-complete.el, which works
by regexp rewriting and text matching. It is greatly inspired by
hippie-expand and ecomplete.el and anything.el. With it you can type a
minimum and complete with the existing texts in your buffers.

For e.g., I can type =hex= (here the `=' character is for org-mode
mark-up, meaning verbatim) and press =M-g &amp;lt;return&amp;gt;= and get
`hippie-expand'; or I can type =p:,= and press =M-s &amp;lt;return&amp;gt;= to get
=package: skeleton-complete.el,= (which appeared already in the 3rd line
of this article).

In the first case, =hex= is rewritten as a regexp =h.*e.*x= and it
matched the *identifier* =hippie-expand=. In the second case, =p:,= is
rewritten as a regexp of a different flavor: =p.*?:.*?,= and it matched
the *string* in the 3rd line.

The code is at [[https://github.com/baohaojun/skeleton-complete]], there
is a more detailed description at
[[http://baohaojun.github.io/skeleton-complete.html]]. And it is also
being discussed at [[http://redd.it/1cg7ue]].

Any suggestions/improvements are very welcome!

&lt;/pre&gt;</description>
    <dc:creator>Bao Haojun</dc:creator>
    <dc:date>2013-04-16T11:44:37</dc:date>
  </item>
  <item rdf:about="http://permalink.gmane.org/gmane.emacs.sources/3792">
    <title>Re: jumpc version 2</title>
    <link>http://permalink.gmane.org/gmane.emacs.sources/3792</link>
    <description>&lt;pre&gt;

I'll take the patch please.
&lt;/pre&gt;</description>
    <dc:creator>Ivan Kanis</dc:creator>
    <dc:date>2013-04-11T13:03:12</dc:date>
  </item>
  <item rdf:about="http://permalink.gmane.org/gmane.emacs.sources/3791">
    <title>wacspace.el</title>
    <link>http://permalink.gmane.org/gmane.emacs.sources/3791</link>
    <description>&lt;pre&gt;Dear Emacsians,

I'd like to announce my first elisp package: wacspace.el, the WACky
WorkSPACE manager for emACS. Wacspace automatically sets up your
windows/buffers/frames based on the buffer you're visiting and a
configuration you specify. It will also save/restore workspaces
automatically. It's available on Melpa and Marmalade--you can find out
more at https://github.com/shosti/wacspace.el. Any
suggestions/improvements are very welcome!

Best,
Emanuel
&lt;/pre&gt;</description>
    <dc:creator>Emanuel Evans</dc:creator>
    <dc:date>2013-04-10T19:57:47</dc:date>
  </item>
  <item rdf:about="http://permalink.gmane.org/gmane.emacs.sources/3790">
    <title>Re: jumpc version 2</title>
    <link>http://permalink.gmane.org/gmane.emacs.sources/3790</link>
    <description>&lt;pre&gt;On Sun, 07 Apr 2013 16:35:17 +0200 Ivan Kanis &amp;lt;banana&amp;lt; at &amp;gt;kanis.fr&amp;gt; wrote: 

IK&amp;gt; Changes:
IK&amp;gt;  - don't force vim key bindings (requested by Ted)
IK&amp;gt;  - insert a jump moves the index back to top of list
IK&amp;gt;  - remove debugging message

Very nice, thank you.  Almost perfect, but can you please add
`next-error' bindings?  It's very easy, you just bind
`next-error-function' appropriately.  For examples, see
`occur-next-error' or `compilation-next-error-function'.  Then the
user's keybindings for `next-error' and `previous-error' can take over,
e.g. "keypad /" and "keypad *" for me.

If you prefer I can give you a patch for this.

Thanks
Ted
&lt;/pre&gt;</description>
    <dc:creator>Ted Zlatanov</dc:creator>
    <dc:date>2013-04-07T17:14:42</dc:date>
  </item>
  <item rdf:about="http://permalink.gmane.org/gmane.emacs.sources/3789">
    <title>jumpc version 2</title>
    <link>http://permalink.gmane.org/gmane.emacs.sources/3789</link>
    <description>&lt;pre&gt;Changes:

 - don't force vim key bindings (requested by Ted)
 - insert a jump moves the index back to top of list
 - remove debugging message
&lt;/pre&gt;</description>
    <dc:creator>Ivan Kanis</dc:creator>
    <dc:date>2013-04-07T14:35:17</dc:date>
  </item>
  <item rdf:about="http://permalink.gmane.org/gmane.emacs.sources/3788">
    <title>Re: jumpc version 1, jump to previous insertion points</title>
    <link>http://permalink.gmane.org/gmane.emacs.sources/3788</link>
    <description>&lt;pre&gt;On Sun, 31 Mar 2013 09:41:53 +0200 Ivan Kanis &amp;lt;banana&amp;lt; at &amp;gt;kanis.fr&amp;gt; wrote: 

IK&amp;gt; It implements the jump cursor feature found in vim.
...
IK&amp;gt; ;; Jumps are remembered in a jump list. With the C-o and C-i
IK&amp;gt; ;; command you can go to cursor positions before older jumps, and back
IK&amp;gt; ;; again. Thus you can move up and down the list.

Hi Ivan,

This is a nice package.  I hope it goes into the GNU ELPA.

I think C-o and C-i are maybe too aggressive as general keybindings.
Could you consider providing `next-error' and `previous-error' bindings
(which the user typically sets to something sensible) instead or in
addition to the default keybindings?

Thanks
Ted
&lt;/pre&gt;</description>
    <dc:creator>Ted Zlatanov</dc:creator>
    <dc:date>2013-04-05T14:03:21</dc:date>
  </item>
  <item rdf:about="http://permalink.gmane.org/gmane.emacs.sources/3787">
    <title>Re: pcmpl-tlmgr: shell completion for the TeX Live Manager</title>
    <link>http://permalink.gmane.org/gmane.emacs.sources/3787</link>
    <description>&lt;pre&gt;
You can a slightly updated version here:
https://github.com/leoliu/pcmpl-tlmgr

Leo
&lt;/pre&gt;</description>
    <dc:creator>Leo Liu</dc:creator>
    <dc:date>2013-04-03T07:39:15</dc:date>
  </item>
  <item rdf:about="http://permalink.gmane.org/gmane.emacs.sources/3786">
    <title>pcmpl-tlmgr: shell completion for the TeX Live Manager</title>
    <link>http://permalink.gmane.org/gmane.emacs.sources/3786</link>
    <description>&lt;pre&gt;A little package to make using tlmgr easier in emacs.

_______________________________________________
gnu-emacs-sources mailing list
gnu-emacs-sources&amp;lt; at &amp;gt;gnu.org
https://lists.gnu.org/mailman/listinfo/gnu-emacs-sources
&lt;/pre&gt;</description>
    <dc:creator>Leo Liu</dc:creator>
    <dc:date>2013-04-02T09:27:08</dc:date>
  </item>
  <item rdf:about="http://permalink.gmane.org/gmane.emacs.sources/3785">
    <title>psgml fixed to work with Emacs 24</title>
    <link>http://permalink.gmane.org/gmane.emacs.sources/3785</link>
    <description>&lt;pre&gt;
I am happy to announce that a psgml version that works with Emacs 24
(and which I have called version 1.4.0) is available at:

http://www.fsavigny.de/gpled-software/psgml-1.4.0.tar.gz

There are absolutely nil functional changes or additions; the only
things that have been changed compared to version 1.3.2 have to do
with Elisp syntax that is no longer allowed. (See ChangeLog.)

Please send any comments to my E-mail address.

Best regards,

Florian
&lt;/pre&gt;</description>
    <dc:creator>Florian v. Savigny</dc:creator>
    <dc:date>2013-04-01T10:02:30</dc:date>
  </item>
  <item rdf:about="http://permalink.gmane.org/gmane.emacs.sources/3784">
    <title>jumpc version 1, jump to previous insertion points</title>
    <link>http://permalink.gmane.org/gmane.emacs.sources/3784</link>
    <description>&lt;pre&gt;It implements the jump cursor feature found in vim.
&lt;/pre&gt;</description>
    <dc:creator>Ivan Kanis</dc:creator>
    <dc:date>2013-03-31T07:41:53</dc:date>
  </item>
  <item rdf:about="http://permalink.gmane.org/gmane.emacs.sources/3783">
    <title>Re: Year calendar view version 2</title>
    <link>http://permalink.gmane.org/gmane.emacs.sources/3783</link>
    <description>&lt;pre&gt;Hi Ivan,

Ivan Kanis &amp;lt;banana&amp;lt; at &amp;gt;kanis.fr&amp;gt; writes:


Great, thanks!


This is one line in my .emacs, can live with it:

(define-key caly-calendar-mode-map "d" 'diary-view-entries)

Thanks again,

&lt;/pre&gt;</description>
    <dc:creator>Bastien</dc:creator>
    <dc:date>2013-03-16T15:43:16</dc:date>
  </item>
  <item rdf:about="http://permalink.gmane.org/gmane.emacs.sources/3782">
    <title>Year calendar view version 2</title>
    <link>http://permalink.gmane.org/gmane.emacs.sources/3782</link>
    <description>&lt;pre&gt;Hi Bastien,

Attached is version 2 of caly.el


Your wish has been granted.


I added that in the 'Maybe' section of the code. I won't do it.
&lt;/pre&gt;</description>
    <dc:creator>Ivan Kanis</dc:creator>
    <dc:date>2013-03-16T12:58:29</dc:date>
  </item>
  <item rdf:about="http://permalink.gmane.org/gmane.emacs.sources/3781">
    <title>Tramp 2.2.7</title>
    <link>http://permalink.gmane.org/gmane.emacs.sources/3781</link>
    <description>&lt;pre&gt;Hello,

The Tramp team is happy to announce the release of Tramp 2.2.7.

Tramp is a remote file editing package for Emacs and XEmacs.  Tramp uses
different methods like ssh or scp to access files on remote hosts as if
they were local files.  Access to the remote file system for editing
files, version control, directory editing and running processes on the
remote host are transparently enabled.

This release supports access to Android devices via the Android Debug
Bridge.  Read the manual for the new connection method "adb".

The connection methods "plink1", "ssh1", "ssh2", "scp1", "scp2", "scpc"
and "rsyncc" have been removed from Tramp.  The ssh option
"ControlMaster=auto" is set automatically in all ssh-based methods, when
possible.

Tramp 2.2.7 supports Emacs since version 22 and XEmacs since version
21.4.  It is merged into the Emacs 24 repository as well as into the
XEmacs package repository.

The download files are located at ftp://ftp.gnu.org/gnu/tramp/

Tramp's homepage is http://www.gnu.org/software/tramp/ (for Emacs) or
http://www.gnu.org/software/tramp/tramp-xemacs.html (for XEmacs),
respectively.

Best regards, Michael.
&lt;/pre&gt;</description>
    <dc:creator>Michael Albinus</dc:creator>
    <dc:date>2013-03-15T13:41:31</dc:date>
  </item>
  <item rdf:about="http://permalink.gmane.org/gmane.emacs.sources/3780">
    <title>showcss-mode</title>
    <link>http://permalink.gmane.org/gmane.emacs.sources/3780</link>
    <description>&lt;pre&gt;Showcss a minor mode that people who write html might find
useful.  

It displays the css for the class or id tags as you
navigate around an html file.  It reads the &amp;lt;link&amp;gt; tags or uses
magic comments to get the relevant css files.  If a match is
found, it opens another buffer and highlights the css there.

For more information and bug reports, go to: 
https://github.com/smmcg/showcss-mode


From the README:

1.1 Overview 
=============

Show CSS is a minor mode for emacs.

With showcss-mode turned on, as you navigate around an HTML file the
matching css for that element will be displayed in another buffer.

[http://i.imgur.com/a5PXBQG.gif]

In the current html buffer, if you move the cursor over a class=".*?"
or id=".*?" a buffer will open with the external css file loaded and
scrolled to the matching selector.

Show Css will look at the &amp;lt;link&amp;gt; tags and a custom comment tag to get
the location of external css files.

Show Css looks for a comment with this regex:
&amp;lt;!-- showcss: \\(.*?\\) --&amp;gt;

For example:
&amp;lt;!-- showcss: /home/user/projects/facebook/site/css/main.css --&amp;gt;
or
&amp;lt;!-- showcss: ./sass_files/main.sass--&amp;gt;

The comment is useful if you want to use sass files directly instead
of compiling them.  Also showcss-mode will only use local files.  So
if you use css on a remote server, you will need to use the showcss
tag in you html file and have it point to a local copy of that css.

*Tested on emacs 24.*

1.2 Usage 
==========

Put this in your init.el or .emacs file:

  (autoload 'showcss-mode "show_css"
     "Display the css of the class or id the cursor is at" t)

Personally, I find this mode to distracting to use all the time, so I
use this function to quickly toggle the mode on and off.

  (defun sm/toggle-showcss()
    "Toggle showcss-mode"
    (interactive)
    (if (or (string= major-mode "html-mode")
            (string= major-mode "nxml-mode")
            (string= major-mode "handlebars-mode"))
        (showcss-mode 'toggle)
      (message "Not in an html mode")))
  (global-set-key (kbd "C-c C-k") 'sm/toggle-showcss)


1.3 Customize options 
======================

&amp;lt;alt x&amp;gt;, customize-group, showcss
Here you can set the faces of the element highlights

1.4 Todo 
=========

  1) Show css from style attributes that have multiple classes.
     e.g. style="style1 style2 style3"


showcss-mode source:
==========================================================

;;; COPYRIGHT NOTICE
;;
;; Copyright (C) 2012 Sheldon McGrandle.
;;
;; This program is free software; you can redistribute it and/or modify
;; it under the terms of the GNU General Public License as published by
;; the Free Software Foundation; either version 2, or (at your option)
;; any later version.
;;
;; This program is distributed in the hope that it will be useful,
;; but WITHOUT ANY WARRANTY; without even the implied warranty of
;; MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
;; GNU General Public License for more details.
;;
;; You should have received a copy of the GNU General Public License
;; along with GNU Emacs; see the file COPYING.  If not, write to the
;; author of this program &amp;lt;mboyer&amp;lt; at &amp;gt;ireq-robot.hydro.qc.ca&amp;gt; or to the
;; Free Software Foundation, 675 Mass Ave, Cambridge, MA 02139, USA.

;; Send bug reports to Sheldon McGrandle &amp;lt;developer&amp;lt; at &amp;gt;rednemesis.com&amp;gt;


;;; DESCRIPTION AND USAGE
;;

;;; INSTALLATION
;;
;; Put this in your init.el or .emacs file:
;;
;;  (autoload 'showcss-mode "show_css"
;;     "Display the css of the class or id the cursor is at" t)




(defgroup showcss nil
  "Customize showcss"
  :prefix "showcss/"
  :group 'Text)

(defface showcss/css-face
  '((t :background "green"))
  "Highlight the matched selector in the css file"
  :group 'showcss)

(defface showcss/html-face
  '((t :background "green"))
  "Highlight the selector the cursor is in"
  :group 'showcss)

(defcustom showcss/use-html-tags
  t
  "Use the &amp;lt;link ...&amp;gt; tag in addition to the &amp;lt;!-- --&amp;gt; comments.
Turn off if you want to only comments to explicitly set the css
to view"
  :group 'showcss
  :type 'boolean)


(defvar showcss/last-css-overlay (make-overlay 0 0)
  "this is the last overlay set in the css file")
(make-variable-buffer-local 'showcss/last-css-overlay)

(defvar showcss/last-html-overlay (make-overlay 0 0)
  "this is the last overlay set in the html file")
(make-variable-buffer-local 'showcss/last-html-overlay)

(defvar showcss/css-buffer nil
  "The buffer that contains the css file")
(make-variable-buffer-local 'showcss/css-buffer)

(defvar showcss/html-buffer nil
  "The buffer that contains the html file")
(make-variable-buffer-local 'showcss/html-buffer)


(defun showcss/set-css-buffer()
  "showcss will look for css files in the following places:
1.  Look for the &amp;lt;!-- showcss: ... --&amp;gt; in the html file
2.  Look at the css declarations in the html &amp;lt;head&amp;gt;

Showcss will only use local files.  So if you use css on a remote
server, you will need to use the showcss tag in you html file and
have it point to a local copy of that css.

Find the name of the css file using this regex:
&amp;lt;!-- showcss: \\(.*?\\) --&amp;gt;
Eg:
&amp;lt;!-- showcss: /home/sm/projects/some project/site/css/main.css --&amp;gt;"

  (setq showcss/css-buffer nil)

  (let ((csslist nil))

    ;; get the &amp;lt;link&amp;gt; css
    (if showcss/use-html-tags
        (save-excursion
          (goto-char (point-min))
          (while (re-search-forward "&amp;lt;link\\(.\\|\n\\)*?&amp;gt;" nil t)
            (let ((tag-start (match-beginning 0))
                  (tag-end (match-end 0)))
              (goto-char tag-start)
              (if (re-search-forward "\\(type=\"text/css\"\\|rel=\"stylesheet\"\\)" tag-end t)
                  (progn
                    (goto-char tag-start)
                    (if (re-search-forward "href=\"\\([^:]*?\\)\"" tag-end t)
                        (let ((css-file
                               (file-truename (substring-no-properties (match-string 1)))))
                          (if (file-exists-p css-file)
                              (setq csslist (cons css-file csslist)))))))
              (goto-char tag-end)))))

    ;; get the &amp;lt;!-- showcss ... --&amp;gt; comment if any
    (save-excursion
      (goto-char (point-min))
      (while (re-search-forward "&amp;lt;!-- showcss: \\(.*?\\) --&amp;gt;" nil t)
        (if (file-exists-p (match-string 1))
            (setq csslist
                  (cons (substring-no-properties (match-string 1)) csslist)))))

    ;; load the css files into buffers
    (mapc (lambda (css-file)
            (setq showcss/css-buffer
                  (cons
                   (find-file-noselect css-file)
                   showcss/css-buffer)))
          csslist)))


(defun showcss/what-am-i()
  "What is the cursor on?  Should return class,
id, or nil and the class name or id name"
  ;(showcss/remove-highlights)
  ;(delete-overlay showcss/last-css-overlay)
  (let ((saved-point (point)))
    (save-excursion
    (re-search-backward "[ \t\n]" nil t)
    (if (re-search-forward " \\(\\(id\\|class\\)=\"\\(.*?\\)\"\\)" nil t 1)
        (progn
          (goto-char saved-point)
          ;; is the saved-point between (match-beginning 0) and (match-end 0)?
          (if (and (&amp;gt; saved-point (match-beginning 1))
                   (&amp;lt; saved-point (match-end 1)))
              (progn
                (showcss/highlight-html-selector (match-beginning 3) (match-end 3))
                ;; RETURN: (selector type, selector name)
                (list
                 (substring-no-properties (match-string 2))
                 (substring-no-properties (match-string 3))))

            ;; RETURN: (nil, nil)
            (list nil nil)))
      (list nil nil)))))


(defun showcss/scroll-to-selector (css-values)
  "Scroll the css file to show the selector"
  (let ((selector-type (nth 0 css-values))
        (selector-name (nth 1 css-values))
        (full-selector nil))

    (cond ((string= selector-type "class")
           (setq full-selector
                 (concat "." selector-name)))
          ((string= selector-type "id")
           (setq full-selector
                 (concat "#" selector-name)))
          (t
           (error (format "Wrong type of selector: %s" selector-type)))
          )
    (let ((full-re-selector (format "\\(%s\\)[ ,\n{]" full-selector))
          (html-buffer (current-buffer))
          (found nil))
      (catch 'break
        (dolist (css-buffer showcss/css-buffer found)
          (set-buffer css-buffer)
          (delete-overlay showcss/last-css-overlay)
          ;; save current point so that if search doesn't find
          ;; anything, we can return to last point so that the buffer
          ;; doesn't scroll to the top
          (let ((saved-point (point)))
            (goto-char (point-min))
            (if (re-search-forward full-re-selector nil t)
                (progn
                  (showcss/highlight-css-selector (match-beginning 1) (match-end 1))
                  (switch-to-buffer-other-window css-buffer)
                  (goto-char (match-beginning 1))
                  (switch-to-buffer-other-window html-buffer)
                  (message "")
                  (throw 'break t))
              (goto-char saved-point)
              (setq found nil)
              (message "Not found: %s" full-selector))))))))


(defun showcss/highlight-css-selector (start end)
  "Highlight the matched selector"
  (delete-overlay showcss/last-css-overlay)
  (let ((ov (make-overlay start end)))
    (overlay-put ov 'face 'showcss/css-face)
    (setq showcss/last-css-overlay ov)))


(defun showcss/highlight-html-selector (start end)
  "Highlight the current selector in the html file"
  (delete-overlay showcss/last-html-overlay)
  (let ((ov (make-overlay start end)))
    (overlay-put ov 'face 'showcss/html-face)
    (setq showcss/last-html-overlay ov)))


(defun showcss/remove-highlights()
  "remove all highlights from all buffers"
  (delete-overlay showcss/last-html-overlay)
  (dolist (css-buffer showcss/css-buffer)
    (set-buffer css-buffer)
    (delete-overlay showcss/last-css-overlay)))



(defun showcss/main()
  ""
  (let ((css-values (showcss/what-am-i)))
    ;; if is a selector:
    (if (or (string= (nth 0 css-values) "class")
            (string= (nth 0 css-values) "id"))
        (progn
          (showcss/scroll-to-selector css-values))
      ;; remove overlays
      (showcss/remove-highlights))))


(defun showcss/keymove()
  ""
  (if showcss-mode
      (showcss/main)))


(define-minor-mode showcss-mode
  "Display the css of the class or id the cursor is at"

  :init-value nil
  :lighter " Show"

  (if showcss-mode
      (progn
        ;; set the css buffer
        ;(setq showcss/html-buffer
              ;(current-buffer))
        (showcss/set-css-buffer)

        (defadvice next-line (after showcss/advise-main)
          "Advice around cursor movement"
          (showcss/keymove))
        (defadvice previous-line (after showcss/advise-main)
          "Advice around cursor movement"
          (showcss/keymove))
        (defadvice right-char (after showcss/advise-main)
          "Advice around cursor movement"
          (showcss/keymove))
        (defadvice left-char (after showcss/advise-main)
          "Advice around cursor movement"
          (showcss/keymove))
        (defadvice forward-word (after showcss/advise-main)
          "Advice around cursor movement"
          (showcss/keymove))
        (defadvice backward-word (after showcss/advise-main)
          "Advice around cursor movement"
          (showcss/keymove))

        (ad-activate 'next-line)
        (ad-activate 'previous-line)
        (ad-activate 'right-char)
        (ad-activate 'left-char)
        (ad-activate 'forward-word)
        (ad-activate 'backward-word))

    ;; else
    (showcss/remove-highlights)
    (ad-deactivate 'next-line)
    (ad-deactivate 'previous-line)
    (ad-deactivate 'right-char)
    (ad-deactivate 'forward-word)
    (ad-deactivate 'backward-word)
    (ad-deactivate 'left-char)))


(provide 'show_css)
&lt;/pre&gt;</description>
    <dc:creator>developer&lt; at &gt;rednemesis.com</dc:creator>
    <dc:date>2013-03-11T22:33:22</dc:date>
  </item>
  <item rdf:about="http://permalink.gmane.org/gmane.emacs.sources/3779">
    <title>showcss-mode</title>
    <link>http://permalink.gmane.org/gmane.emacs.sources/3779</link>
    <description>&lt;pre&gt;Showcss a minor mode that people who write html might find
usefull.  It displays the css for the class or id tags as you
navigate around an html file.  It reads the &amp;lt;link&amp;gt; tags or uses
magic comments to get the relevent css files.  If a match is
found, it opens another buffer and highlights the css there.

For more information, go to https://github.com/smmcg/showcss-mode

From the README:

Table of Contents
=================
1 Show CSS
    1.1 Overview
    1.2 Usage
    1.3 Customize options
    1.4 Todo

1 Show CSS
-----------

1.1 Overview
=============

Show CSS is a minor mode for emacs.

With showcss-mode turned on, as you navigate around an HTML file the
matching css for that element will be displayed in another buffer.

[http://i.imgur.com/kYjTqxk.png]

In the current html buffer, if you move the cursor over a class=".*?"
or id=".*?" a buffer will open with the external css file loaded and
scrolled to the matching selector.

Show Css will look at the &amp;lt;link&amp;gt; tags and a custom comment tag to get
the location of external css files.

Show Css looks for a comment with this regex:
&amp;lt;!-- showcss: \\(.*\\) --&amp;gt;

For example:
&amp;lt;!-- showcss: /home/user/projects/facebook/site/css/main.css --&amp;gt;
or
&amp;lt;!-- showcss: ./sass_files/main.sass--&amp;gt;

The comment is useful if you want to use sass files directly instead
of compiling them.  Also showcss-mode will only use local files.  So
if you use css on a remote server, you will need to use the showcss
tag in you html file and have it point to a local copy of that css.

*Tested on emacs 24.*

1.2 Usage
==========

Put this in your init.el or .emacs file:

  (autoload 'showcss-mode "show_css"
     "Display the css of the class or id the cursor is at" t)

Personally, I find this mode to distracting to use all the time, so I
use this function to quickly toggle the mode on and off.

  (defun sm/toggle-showcss()
    "Toggle showcss-mode"
    (interactive)
    (if (or (string= major-mode "html-mode")
            (string= major-mode "nxml-mode")
            (string= major-mode "handlebars-mode"))
        (showcss-mode 'toggle)
      (message "Not in an html mode")))
  (global-set-key (kbd "C-c C-k") 'sm/toggle-showcss)


1.3 Customize options
======================

&amp;lt;alt x&amp;gt;, customize-group, showcss

Here you can set the faces of the element highlights

1.4 Todo
=========

  1) Show css from style attributes that have multiple classes.
     e.g. style="style1 style2 style3"
&lt;/pre&gt;</description>
    <dc:creator>Sheldon McGrandle</dc:creator>
    <dc:date>2013-03-09T22:45:52</dc:date>
  </item>
  <item rdf:about="http://permalink.gmane.org/gmane.emacs.sources/3778">
    <title>Re: Year calendar view</title>
    <link>http://permalink.gmane.org/gmane.emacs.sources/3778</link>
    <description>&lt;pre&gt;

It will work with 24.3. Sorry, I won't invest the time to make it work
with older version.
&lt;/pre&gt;</description>
    <dc:creator>Ivan Kanis</dc:creator>
    <dc:date>2013-03-09T08:30:36</dc:date>
  </item>
  <item rdf:about="http://permalink.gmane.org/gmane.emacs.sources/3777">
    <title>Re: Year calendar view</title>
    <link>http://permalink.gmane.org/gmane.emacs.sources/3777</link>
    <description>&lt;pre&gt;

I got this error when running on emacs 24.2.2: 

Debugger entered--Lisp error: (void-variable calendar-month-header)
  (list calendar-month-header)
  (calendar-string-spread (list calendar-month-header) 32 calendar-month-digit-width)
  (insert (calendar-string-spread (list calendar-month-header) 32 calendar-month-digit-width))
  (let ((blank-days (mod (- (calendar-day-of-week (list month 1 year)) calendar-week-start-day) 7)) (last (calendar-last-day-of-month month year)) (trunc (min calendar-intermonth-spacing (1- calendar-left-margin))) (day 1) (row 0) string) (calendar-move-to-column indent) (insert (calendar-string-spread (list calendar-month-header) 32 calendar-month-digit-width)) (calendar-ensure-newline) (calendar-insert-at-column indent calendar-intermonth-header trunc) (dotimes (i 7) (insert (progn (setq string (calendar-day-name (mod (+ calendar-week-start-day i) 7) nil t)) (if enable-multibyte-characters (truncate-string-to-width string calendar-day-header-width) (substring string 0 calendar-day-header-width))) (make-string (- calendar-column-width calendar-day-header-width) 32))) (calendar-ensure-newl
 ine) (calendar-insert-at-column indent calendar-intermonth-text trunc) (insert (make-string (* blank-days calendar-column-width) 32)) (dotimes (i last) (setq day (1+ i)) (insert (format (format "%%%dd%%s" calendar-day-digit-width) day (make-string (- calendar-column-width calendar-day-digit-width) 32))) (set-text-properties (- (point) (1+ calendar-day-digit-width)) (1- (point)) (\` (mouse-face highlight help-echo (\, (eval calendar-date-echo-text)) date t))) (when (and (zerop (mod (+ day blank-days) 7)) (/= day last)) (calendar-ensure-newline) (setq row (1+ row)) (setq day (1+ day)) (calendar-insert-at-column indent calendar-intermonth-text trunc))) row)
  caly-calendar-generate-month(1 2013 5)
  (setq row (caly-calendar-generate-month month year (+ calendar-left-margin (* calendar-month-width i))))
  (while (&amp;lt; i --cl-dotimes-temp--) (setq row (caly-calendar-generate-month month year (+ calendar-left-margin (* calendar-month-width i)))) (calendar-increment-month month year 1) (when (&amp;gt; (% (1+ i) 3) 0) (forward-line (- (+ row 2))) (beginning-of-line)) (incf i))
  (let ((--cl-dotimes-temp-- 3) (i 0)) (while (&amp;lt; i --cl-dotimes-temp--) (setq row (caly-calendar-generate-month month year (+ calendar-left-margin (* calendar-month-width i)))) (calendar-increment-month month year 1) (when (&amp;gt; (% (1+ i) 3) 0) (forward-line (- (+ row 2))) (beginning-of-line)) (incf i)))
  (catch (quote --cl-block-nil--) (let ((--cl-dotimes-temp-- 3) (i 0)) (while (&amp;lt; i --cl-dotimes-temp--) (setq row (caly-calendar-generate-month month year (+ calendar-left-margin (* calendar-month-width i)))) (calendar-increment-month month year 1) (when (&amp;gt; (% (1+ i) 3) 0) (forward-line (- (+ row 2))) (beginning-of-line)) (incf i))))
  (cl-block-wrapper (catch (quote --cl-block-nil--) (let ((--cl-dotimes-temp-- 3) (i 0)) (while (&amp;lt; i --cl-dotimes-temp--) (setq row (caly-calendar-generate-month month year (+ calendar-left-margin (* calendar-month-width i)))) (calendar-increment-month month year 1) (when (&amp;gt; (% (1+ i) 3) 0) (forward-line (- (+ row 2))) (beginning-of-line)) (incf i)))))
  (block nil (let ((--cl-dotimes-temp-- 3) (i 0)) (while (&amp;lt; i --cl-dotimes-temp--) (setq row (caly-calendar-generate-month month year (+ calendar-left-margin (* calendar-month-width i)))) (calendar-increment-month month year 1) (when (&amp;gt; (% (1+ i) 3) 0) (forward-line (- (+ row 2))) (beginning-of-line)) (incf i))))
  (dotimes (i 3) (setq row (caly-calendar-generate-month month year (+ calendar-left-margin (* calendar-month-width i)))) (calendar-increment-month month year 1) (when (&amp;gt; (% (1+ i) 3) 0) (forward-line (- (+ row 2))) (beginning-of-line)))
  (while --cl-dolist-temp-- (setq month (car --cl-dolist-temp--)) (dotimes (i 3) (setq row (caly-calendar-generate-month month year (+ calendar-left-margin (* calendar-month-width i)))) (calendar-increment-month month year 1) (when (&amp;gt; (% (1+ i) 3) 0) (forward-line (- (+ row 2))) (beginning-of-line))) (goto-char (point-max)) (insert "\n\n") (add-to-list (quote mark) (point) t) (setq --cl-dolist-temp-- (cdr --cl-dolist-temp--)))
  (let ((--cl-dolist-temp-- (quote (1 4 7 10))) month) (while --cl-dolist-temp-- (setq month (car --cl-dolist-temp--)) (dotimes (i 3) (setq row (caly-calendar-generate-month month year (+ calendar-left-margin (* calendar-month-width i)))) (calendar-increment-month month year 1) (when (&amp;gt; (% (1+ i) 3) 0) (forward-line (- (+ row 2))) (beginning-of-line))) (goto-char (point-max)) (insert "\n\n") (add-to-list (quote mark) (point) t) (setq --cl-dolist-temp-- (cdr --cl-dolist-temp--))))
  (catch (quote --cl-block-nil--) (let ((--cl-dolist-temp-- (quote (1 4 7 10))) month) (while --cl-dolist-temp-- (setq month (car --cl-dolist-temp--)) (dotimes (i 3) (setq row (caly-calendar-generate-month month year (+ calendar-left-margin (* calendar-month-width i)))) (calendar-increment-month month year 1) (when (&amp;gt; (% (1+ i) 3) 0) (forward-line (- (+ row 2))) (beginning-of-line))) (goto-char (point-max)) (insert "\n\n") (add-to-list (quote mark) (point) t) (setq --cl-dolist-temp-- (cdr --cl-dolist-temp--)))))
  (cl-block-wrapper (catch (quote --cl-block-nil--) (let ((--cl-dolist-temp-- (quote (1 4 7 10))) month) (while --cl-dolist-temp-- (setq month (car --cl-dolist-temp--)) (dotimes (i 3) (setq row (caly-calendar-generate-month month year (+ calendar-left-margin ...))) (calendar-increment-month month year 1) (when (&amp;gt; (% ... 3) 0) (forward-line (- ...)) (beginning-of-line))) (goto-char (point-max)) (insert "\n\n") (add-to-list (quote mark) (point) t) (setq --cl-dolist-temp-- (cdr --cl-dolist-temp--))))))
  (block nil (let ((--cl-dolist-temp-- (quote (1 4 7 10))) month) (while --cl-dolist-temp-- (setq month (car --cl-dolist-temp--)) (dotimes (i 3) (setq row (caly-calendar-generate-month month year (+ calendar-left-margin (* calendar-month-width i)))) (calendar-increment-month month year 1) (when (&amp;gt; (% (1+ i) 3) 0) (forward-line (- (+ row 2))) (beginning-of-line))) (goto-char (point-max)) (insert "\n\n") (add-to-list (quote mark) (point) t) (setq --cl-dolist-temp-- (cdr --cl-dolist-temp--)))))
  (dolist (month (quote (1 4 7 10))) (dotimes (i 3) (setq row (caly-calendar-generate-month month year (+ calendar-left-margin (* calendar-month-width i)))) (calendar-increment-month month year 1) (when (&amp;gt; (% (1+ i) 3) 0) (forward-line (- (+ row 2))) (beginning-of-line))) (goto-char (point-max)) (insert "\n\n") (add-to-list (quote mark) (point) t))
  (let* ((today (calendar-current-date)) (today-month (nth 0 today)) (today-day (nth 1 today)) (today-year (nth 2 today)) (orig-calendar-buffer calendar-buffer) (mark (quote (1))) (count 0) row this-year year) (setq this-year (string-to-number (read-from-minibuffer "Enter year to display: " (int-to-string today-year))) year this-year) (when (get-buffer caly-buffer) (kill-buffer caly-buffer)) (switch-to-buffer (get-buffer-create caly-buffer)) (dolist (month (quote (1 4 7 10))) (dotimes (i 3) (setq row (caly-calendar-generate-month month year (+ calendar-left-margin (* calendar-month-width i)))) (calendar-increment-month month year 1) (when (&amp;gt; (% (1+ i) 3) 0) (forward-line (- (+ row 2))) (beginning-of-line))) (goto-char (point-max)) (insert "\n\n") (add-to-list (quote mark) (point) t)) (caly
 -calendar-mode) (setq displayed-year this-year) (setq calendar-buffer caly-buffer) (when calendar-mark-holidays-flag (dolist (month (quote (1 4 7 10))) (narrow-to-region (nth count mark) (nth (1+ count) mark)) (setq displayed-month (1+ month)) (calendar-mark-holidays) (setq count (1+ count)))) (widen) (if (= today-year this-year) (progn (setq count (/ today-month 3)) (narrow-to-region (nth count mark) (nth (1+ count) mark)) (setq displayed-month (+ (* (/ (- today-month 1) 3) 3) 2)) (calendar-cursor-to-visible-date today) (widen)) (goto-char (point-min))) (setq calendar-buffer orig-calendar-buffer) (other-window 1))
  caly()
  call-interactively(caly t nil)
  execute-extended-command(nil)
  call-interactively(execute-extended-command nil nil)

&lt;/pre&gt;</description>
    <dc:creator>William Xu</dc:creator>
    <dc:date>2013-03-08T14:57:12</dc:date>
  </item>
  <item rdf:about="http://permalink.gmane.org/gmane.emacs.sources/3775">
    <title>Re: use-package 1.0</title>
    <link>http://permalink.gmane.org/gmane.emacs.sources/3775</link>
    <description>&lt;pre&gt;

Yes, here is what I use:

    (require 'use-package)
    (eval-when-compile
      (setq use-package-verbose (null byte-compile-current-file)))

John
&lt;/pre&gt;</description>
    <dc:creator>John Wiegley</dc:creator>
    <dc:date>2013-02-12T22:35:14</dc:date>
  </item>
  <textinput rdf:about="http://search.gmane.org/?group=$group=gmane.emacs.sources">
    <title>Search Engine</title>
    <description>Search the mailing list at Gmane</description>
    <name>query</name>
    <link>http://search.gmane.org/?group=$group=gmane.emacs.sources</link>
  </textinput>
</rdf:RDF>
