[Top][All Lists]
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[Orgmode] error when M-x org-publish RET blog RET
From: |
David O'Toole |
Subject: |
[Orgmode] error when M-x org-publish RET blog RET |
Date: |
Fri, 31 Aug 2007 03:34:27 -0400 |
User-agent: |
Gnus/5.110006 (No Gnus v0.6) Emacs/22.1.50 (gnu/linux) |
When I attempt to publish my blog I get the backtrace below. Sometimes
it happens, sometimes it doesn't. As far as I can tell, org-blog is
working ok, and I haven't made changes to it recently.
I'm on org 5.05 and you can find org-blog at
http://dto.freeshell.org/e/org-blog.el
---------------------------
byte-code("ÆÇ\n\"fÈ ÉÈ\"\f ÊËÌ\"(ÍO
= ÍOPÍÆO ÍOÈ
OÎÏÉÈ\"\"ÎÐÑÉÒ\"!ÈÓO\"RÍÆO n
PÇÔP\" ÕP *" [b r org-maybe-keyword-time-regexp s
org-clock-string org-export-with-timestamps nil string-match 1 match-string
throw exit "" 0 format "@<span class=\"timestamp-kwd\">%s @</span>" " @<span
class=\"timestamp\">%s@</span>" org-translate-time 3 -1 "\\S-" "@<br/>"] 9)
org-html-handle-time-stamps("")
byte-code("ÆÇ \"ÈcÉ Ê !˱ÌÍÉ\"\nTÆÎ \"T4ÏÐcÊÑÒ
\"address@hidden"OÉÈcÌÍÉ\"ÔÕÖ #É×Ø`ÙZÏ#pÑÒ!ÚÛ! address@hidden@˱u
Üc)ÌÍÉ\"ÆÝ \"ªÞcÌÍÉ\"Æß \"ýàÈÚáâÑÒ \"!ãQÏ address@hidden
!ååÚæÑÒ \"çQÏ $ªÚáâÑÒ \"!èÑÒ \"é°Ï $ªê !ë !ÕAÆB
A#WÕAà\"Ñà \"#ìCÑí \"Dî
4Ñî \"EàDCïDQFDFESEF?GE\\FHGðH!ñ
IòÆóH\"HÕÉOH*ôHõQHCìªöâñ
I÷øD!*J\"ùHú°KDCûíLÏ=ÂL×G×ðD!×ôCïDõ°KDCïDQMüMùHú°KDCý\nCïDQMüMùHú°KDCþ!DNÿN!OÉPQÉRñ
IrÆsN\"HÑÒN\"RÚtÏÉN$NuS![SNT\"\\ÏUðN!QOrvN!tNPVêÆwP\"êPÕOxPPRÂÆyR\"ÂÆzR\"ÂÆ{R\"ÂP|âøR!!QPÆóH\"êÚtÏH$HÆwH\"êÚtÏH$H*Q
LÏ=L G ôPõQüPùHú°KUHK-DC}D~Cïñ IøD!*°KÚKÏ
$AKG\\AÆW \"à ÕàOÑà \"X| ùÑà \" àÉO°Y¼Æ
\"¼Ñà
\"ZÚ ÑÒ \"Z%Ï $)Æ \"\\ ÒÒZ![Ñà
\"\\Æ]\\\"êÚtÏ\\$\\[^_]Xú`T`a+b% address@hidden@address@hidden
\"R cÏRf²Æ \"²gxÏgÉhi address@hidden"RÉghhii
hi\"cRÆkÏ=À åkUÏ åkUÞ å ! \"ô !lmà
Ñà \"ÕOn îÉOÆ
\")oÕ'c@&address@hidden@WyÏp address@hidden@address@hidden@Vµ
m cmbBblcBcÏaÑnÇ cÑpÑ Æ¡ \"ôÚÑÒ \"¢ì£ï¤Ï $Æ¥
\" Y-Ʀ \"- ÑÒ \"ZÚ§Z$Ï $)ƨ \"BÚ©Ï $MqM ©P
豃" [inquote line org-export-with-fixed-width infixed lines par string-match
"^\\*+ " "</pre>\n" nil org-html-protect "\n" throw nextline "^[
]*:\\(.*\\)" t "<pre>\n" match-string 1 "^[ ]*\\(:.*\\)" get-text-property
0 org-protected re-search-backward "\\(<p>\\)\\([ \n]*\\)\\=" 100
replace-match "\\2\n" "<p>\n" "^[ ]*-\\{5,\\}[ ]*$" "\n<hr/>\n"
"<<<?\\([^<>]*\\)>>>?\\((INVISIBLE)\\)?[ ]*\n?" 2 "@<a name=\""
org-solidify-link-text "\">\\nbsp@</a>" string-to-char 42 "@<span
class=\"target\">" "@</span> " "\" class=\"target\">" "@</a> "
org-html-handle-time-stamps org-html-expand "internal" 3 5 ":" org-file-image-p
match-data ...] 10)
org-export-as-html(nil nil nil string :body-only)
org-export-region-as-html(1 4562 :body-only string)
(save-current-buffer (set-buffer temp-buffer) (insert description)
(org-export-region-as-html (point-min) (point-max) :body-only (quote string)))
(with-current-buffer temp-buffer (insert description)
(org-export-region-as-html (point-min) (point-max) :body-only (quote string)))
(unwind-protect (with-current-buffer temp-buffer (insert description)
(org-export-region-as-html ... ... :body-only ...)) (and (buffer-name
temp-buffer) (kill-buffer temp-buffer)))
(let ((temp-buffer ...)) (unwind-protect (with-current-buffer temp-buffer ...
...) (and ... ...)))
(with-temp-buffer (insert description) (org-export-region-as-html (point-min)
(point-max) :body-only (quote string)))
(let ((description-html ...)) (format " <item>\n <title>%s</title>\n
<description>%s</description>\n <pubDate>%s</pubDate>\n <guid
isPermaLink=\"true\">%s</guid>\n </item>\n" title description-html pubdate
permalink))
org-blog-rss-item("deep into the zone"
"http://dto.freeshell.org/blog/blog-2007-08-31-0328.html" "\n\nI've been coding
a bit this evening, and making a few\nmuch-needed changes to my setup.\n\nFor
example, I will stop using the arrow keys. This will be a\nchallenge because I
have been trained to use the arrow keys basically\nsince birth. I'm using them
right now, and I hate how tiny they are on\nthis machine. But I've heard that
switching to the \"real\" cursor\nmotion keys Emacs provides, however painful
the process, is much\nbetter for a user's long-term agility and joint
health.\n\nI'm also going to make capslock into an extra control key. I hear
it's\na good thing, and closer to the spirit of Emacs because of\nthose
[[http://en.wikipedia.org/wiki/Space-cadet_keyboard][old-fashioned keyboards.]]
While my new \"thin client\" laptop\n(i.e. cheap X terminal) is the best
computer input/output device I\nhave ever used, its keyboard layout does have a
few cramped\nareas---especially in the corners. (Besides, capslock-as-control
is\nthe only way I can actually imagine myself using the standard
cursor\nmotion keys.)\n\nNext, I would like to learn about the various
structural movement and\nmanipulation facilities of Emacs. After almost four
years as a gung-ho\nemacs-for-everything student at Emacs University, I still
navigate\naround mostly with just C-a, C-e, and the arrow keys. So I took
a\nlook at what's out there and found a project called
[[http://emacs-versor.sourceforge.net/][emacs-versor]] (for\n\"versatile
cursor\"). Apparently it's funded by something called the\nScience Foundation
Ireland. They have a slideshow and I was quite\nintrigued. I will try it out
and let you know what I think.\n\nI've been quite impressed with some of the
[[http://emacs-versor.sourceforge.net/][emacs screencasts]] out\nthere. I've
decided to start making my own. There's a program
called\n[[http://recordmydesktop.iovar.org/about.php][recordmydesktop]] that
can create ogg videos with synced audio from a\nmicrophone and it looks simple
to set up. I think making a few\nscreencasts could make it really easy for
people to discover and\nevaluate the zillions of different Emacs packages out
there, because\nscreencasts show you how it will look /after/ you have invested
the\ntime to learn the package in question. For example I never really
knew\nhow cool [[http://emacswiki.org/cgi-bin/wiki/ArtistMode][artist-mode]]
was until I saw [[http://www.cinsk.org/emacs/emacs-artist.html][this
screencast]].\n\nAnd if they want to download the package it would be great if
they\ncould get it from [[http://tromey.com/elpa/][the Emacs Lisp Package
Archive.]] I'll be putting all\nmy code in there soon, and I hope other
developers to support them.\n\nYes this is a big todo-list. But that's what
org-mode and caffiene are\nfor.\n\nIn other news, I have switched to
[[http://en.wikipedia.org/wiki/Stumpwm][the stump window manager]].
It's\nmodeled after Emacs (it even has a mode-line!) and I can use\n
[[http://en.wikipedia.org/wiki/Common_Lisp][Common Lisp]] to make it do
whatever I want. \nStep one would be making it behave properly with
[[http://en.wikipedia.org/wiki/Ardour_%28audio_processor%29][Ardour]].\n\nI use
org-mode and tramp to publish my website to the server. I\nrecently updated my
Emacs installation from CVS HEAD and noticed that\nthe tramp stuff is suddenly
a lot faster. It used to take several\nminutes to publish my site when I had a
lot of changes, especially if\nbinaries had been updated. Now it usually
finishes in less than thirty\nseconds. It's great to see this.\n\nI can only
listen to certain types of music while programming. I can't\ndeal with any
vocals at all, and the more hypnotic it is, the\nbetter. Right now I'm
listening to a record called /Snd./ (This is\nalso the name of a powerful
[[http://ccrma.stanford.edu/software/snd/][emacs-like audio processing
system]].) The\nartists are known as /Microstoria./ I would describe their
music as\n\"intimate multilayered envelopes of sound being spun by a
punched-card\nloom\". The melodies shift and evolve instead of repeating. There
is no\npercussion and no reverberation. (The lack of reverb sets this
album\napart from most ambient music.)\n\nEven more difficult to explain are
the band [[http://en.wikipedia.org/wiki/Main_(band)][Main]]. Instead of
intimacy,\nthey evoke a quite intriguing sense of open space (not
necessarily\ninhabited.) Harmonium-like drones appear, but melodies and
harmonies\nare scarce on their double-album /Hz./ Instead they play
contrasting\ntimbres off one another and confront the listener with
unrecognizable\nsounds.\n\nThis post was too long half an hour ago. I think
I'll quit here and\nget some hacking done...\n" "Fri, 31 Aug 2007 03:28:00
-0400")
(cons (org-blog-rss-item post-title (concat blog-base-url ... ".html")
post-content post-time) blog-rss-feed)
(setq blog-rss-feed (cons (org-blog-rss-item post-title ... post-content
post-time) blog-rss-feed))
(push (org-blog-rss-item post-title (concat blog-base-url ... ".html")
post-content post-time) blog-rss-feed)
(progn (push (org-blog-rss-item post-title ... post-content post-time)
blog-rss-feed))
(if rss (progn (push ... blog-rss-feed)))
(when rss (push (org-blog-rss-item post-title ... post-content post-time)
blog-rss-feed))
(progn (when rss (push ... blog-rss-feed)) (if (< count num-posts) (progn ...
... ...) (progn ... ... ...)))
(if (not (string= basename index-filename)) (progn (when rss ...) (if ... ...
...)))
(when (not (string= basename index-filename)) (when rss (push ...
blog-rss-feed)) (if (< count num-posts) (progn ... ... ...) (progn ... ...
...)))
(let ((basename ...) (post-title nil) (post-time ...) (post-description nil))
(with-temp-buffer (insert-file-contents p) (let ... ...) (goto-char ...)
(re-search-forward "#\\+TITLE: \\(.*\\)$" nil t) (setf post-title ...)
(re-search-forward "#\\+DESCRIPTION: \\(.*\\)$" nil t) (setf post-description
...) (setf post-content ...)) (when (not ...) (when rss ...) (if ... ... ...))
(setq count (+ 1 count)))
(while (setq p (pop posts)) (let (... ... ... ...) (with-temp-buffer ... ...
... ... ... ... ... ...) (when ... ... ...) (setq count ...)))
(save-current-buffer (set-buffer temp-buffer) (while (setq p ...) (let ...
... ... ...)) (when rss (push ... blog-rss-feed) (with-temp-buffer ... ...
...)) (goto-char (point-min)) (while (search-forward "#+TITLE: " nil t)
(replace-match "** " nil t)) (when index-title (goto-char ...) (insert ...))
(write-file index-file) (kill-buffer (current-buffer)))
(with-current-buffer temp-buffer (while (setq p ...) (let ... ... ... ...))
(when rss (push ... blog-rss-feed) (with-temp-buffer ... ... ...)) (goto-char
(point-min)) (while (search-forward "#+TITLE: " nil t) (replace-match "** " nil
t)) (when index-title (goto-char ...) (insert ...)) (write-file index-file)
(kill-buffer (current-buffer)))
(unwind-protect (with-current-buffer temp-buffer (while ... ...) (when rss
... ...) (goto-char ...) (while ... ...) (when index-title ... ...) (write-file
index-file) (kill-buffer ...)) (and (buffer-name temp-buffer) (kill-buffer
temp-buffer)))
(let ((temp-buffer ...)) (unwind-protect (with-current-buffer temp-buffer ...
... ... ... ... ... ...) (and ... ...)))
(with-temp-buffer (while (setq p ...) (let ... ... ... ...)) (when rss (push
... blog-rss-feed) (with-temp-buffer ... ... ...)) (goto-char (point-min))
(while (search-forward "#+TITLE: " nil t) (replace-match "** " nil t)) (when
index-title (goto-char ...) (insert ...)) (write-file index-file) (kill-buffer
(current-buffer)))
(let* ((posts ...) (base-directory ...) (blog-base-url ...) (blog-title ...)
(publishing-directory ...) (blog-description ...) (blog-rss-feed nil) (rss ...)
(post-content nil) (index-file ...) (index-buffer ...) (num-posts ...)
(index-title ...) (count 0) (p nil)) (message "RSS = %S" rss) (if index-buffer
(kill-buffer index-buffer)) (when rss (push ... blog-rss-feed))
(with-temp-buffer (while ... ...) (when rss ... ...) (goto-char ...) (while ...
...) (when index-title ... ...) (write-file index-file) (kill-buffer ...)))
org-publish-blog-index((:base-directory "~/blog/" :base-extension "org"
:preamble "<div class=\"menu\" style=\"float: right;\">\n<a
href=\"/notebook\">home</a> - <a
href=\"/notebook/PageIndex.html\">index</a></div>" :blog-base-url
"http://dto.freeshell.org/blog/" :blog-title "dto.freeshell.org blog"
:blog-description "David O'Toole's web log." :blog-export-rss t
:publishing-directory "/ssh:address@hidden:~/html/blog/" :publishing-function
org-publish-org-to-html :auto-preamble t :auto-postamble nil :auto-index t
:index-function org-publish-blog-index :index-filename "index.org" :index-title
"Welcome to the dto.freeshell.org blog" :index-posts 8) "index.org")
funcall(org-publish-blog-index (:base-directory "~/blog/" :base-extension
"org" :preamble "<div class=\"menu\" style=\"float: right;\">\n<a
href=\"/notebook\">home</a> - <a
href=\"/notebook/PageIndex.html\">index</a></div>" :blog-base-url
"http://dto.freeshell.org/blog/" :blog-title "dto.freeshell.org blog"
:blog-description "David O'Toole's web log." :blog-export-rss t
:publishing-directory "/ssh:address@hidden:~/html/blog/" :publishing-function
org-publish-org-to-html :auto-preamble t :auto-postamble nil :auto-index t
:index-function org-publish-blog-index :index-filename "index.org" :index-title
"Welcome to the dto.freeshell.org blog" :index-posts 8) "index.org")
(if index-p (funcall index-function plist index-filename))
(let* ((exclude-regexp ...) (publishing-function ...) (index-p ...)
(index-filename ...) (index-function ...) (preparation-function ...) (f nil))
(when preparation-function (funcall preparation-function)) (if index-p (funcall
index-function plist index-filename)) (let (...) (while ... ...)))
org-publish-plist((:base-directory "~/blog/" :base-extension "org" :preamble
"<div class=\"menu\" style=\"float: right;\">\n<a href=\"/notebook\">home</a> -
<a href=\"/notebook/PageIndex.html\">index</a></div>" :blog-base-url
"http://dto.freeshell.org/blog/" :blog-title "dto.freeshell.org blog"
:blog-description "David O'Toole's web log." :blog-export-rss t
:publishing-directory "/ssh:address@hidden:~/html/blog/" :publishing-function
org-publish-org-to-html :auto-preamble t :auto-postamble nil :auto-index t
:index-function org-publish-blog-index :index-filename "index.org" :index-title
"Welcome to the dto.freeshell.org blog" :index-posts 8))
mapcar(org-publish-plist ((:base-directory "~/blog/" :base-extension "org"
:preamble "<div class=\"menu\" style=\"float: right;\">\n<a
href=\"/notebook\">home</a> - <a
href=\"/notebook/PageIndex.html\">index</a></div>" :blog-base-url
"http://dto.freeshell.org/blog/" :blog-title "dto.freeshell.org blog"
:blog-description "David O'Toole's web log." :blog-export-rss t
:publishing-directory "/ssh:address@hidden:~/html/blog/" :publishing-function
org-publish-org-to-html :auto-preamble t :auto-postamble nil :auto-index t
:index-function org-publish-blog-index :index-filename "index.org" :index-title
"Welcome to the dto.freeshell.org blog" :index-posts 8)))
(let ((org-publish-use-timestamps-flag ...) (plists ...)) (mapcar (quote
org-publish-plist) plists))
(save-window-excursion (let (... ...) (mapcar ... plists)))
org-publish("blog" nil)
call-interactively(org-publish)
execute-extended-command(nil)
call-interactively(execute-extended-command)
recursive-edit()
byte-code("Æ @Ç=!ÈÉÊ\"ËÉ!A@)¢Ì=!ÈÍÊ\"Î!Ï Ð
!\fcÑed\"VWebÒ¥y`dbÒ¥Zy`|)ÓcebÔÕÖ \"× ÔØ!ÙÊÔØ!Ú +Ù" [unread-command-char
debugger-args x debugger-buffer noninteractive debugger-batch-max-lines -1
debug backtrace-debug 4 t backtrace-frame lambda 5 pop-to-buffer debugger-mode
debugger-setup-buffer count-lines 2 "...\n" message "%s" buffer-string
kill-emacs "" nil recursive-edit middlestart buffer-read-only standard-output]
4)
debug(error (wrong-type-argument stringp nil))
string-match(nil "")
byte-code("ÆÇ\n\"fÈ ÉÈ\"\f ÊËÌ\"(ÍO
= ÍOPÍÆO ÍOÈ
OÎÏÉÈ\"\"ÎÐÑÉÒ\"!ÈÓO\"RÍÆO n
PÇÔP\" ÕP *" [b r org-maybe-keyword-time-regexp s
org-clock-string org-export-with-timestamps nil string-match 1 match-string
throw exit "" 0 format "@<span class=\"timestamp-kwd\">%s @</span>" " @<span
class=\"timestamp\">%s@</span>" org-translate-time 3 -1 "\\S-" "@<br/>"] 9)
org-html-handle-time-stamps("")
byte-code("ÆÇ \"ÈcÉ Ê !˱ÌÍÉ\"\nTÆÎ \"T4ÏÐcÊÑÒ
\"address@hidden"OÉÈcÌÍÉ\"ÔÕÖ #É×Ø`ÙZÏ#pÑÒ!ÚÛ! address@hidden@˱u
Üc)ÌÍÉ\"ÆÝ \"ªÞcÌÍÉ\"Æß \"ýàÈÚáâÑÒ \"!ãQÏ address@hidden
!ååÚæÑÒ \"çQÏ $ªÚáâÑÒ \"!èÑÒ \"é°Ï $ªê !ë !ÕAÆB
A#WÕAà\"Ñà \"#ìCÑí \"Dî
4Ñî \"EàDCïDQFDFESEF?GE\\FHGðH!ñ
IòÆóH\"HÕÉOH*ôHõQHCìªöâñ
I÷øD!*J\"ùHú°KDCûíLÏ=ÂL×G×ðD!×ôCïDõ°KDCïDQMüMùHú°KDCý\nCïDQMüMùHú°KDCþ!DNÿN!OÉPQÉRñ
IrÆsN\"HÑÒN\"RÚtÏÉN$NuS![SNT\"\\ÏUðN!QOrvN!tNPVêÆwP\"êPÕOxPPRÂÆyR\"ÂÆzR\"ÂÆ{R\"ÂP|âøR!!QPÆóH\"êÚtÏH$HÆwH\"êÚtÏH$H*Q
LÏ=L G ôPõQüPùHú°KUHK-DC}D~Cïñ IøD!*°KÚKÏ
$AKG\\AÆW \"à ÕàOÑà \"X| ùÑà \" àÉO°Y¼Æ
\"¼Ñà
\"ZÚ ÑÒ \"Z%Ï $)Æ \"\\ ÒÒZ![Ñà
\"\\Æ]\\\"êÚtÏ\\$\\[^_]Xú`T`a+b% address@hidden@address@hidden
\"R cÏRf²Æ \"²gxÏgÉhi address@hidden"RÉghhii
hi\"cRÆkÏ=À åkUÏ åkUÞ å ! \"ô !lmà
Ñà \"ÕOn îÉOÆ
\")oÕ'c@&address@hidden@WyÏp address@hidden@address@hidden@Vµ
m cmbBblcBcÏaÑnÇ cÑpÑ Æ¡ \"ôÚÑÒ \"¢ì£ï¤Ï $Æ¥
\" Y-Ʀ \"- ÑÒ \"ZÚ§Z$Ï $)ƨ \"BÚ©Ï $MqM ©P
豃" [inquote line org-export-with-fixed-width infixed lines par string-match
"^\\*+ " "</pre>\n" nil org-html-protect "\n" throw nextline "^[
]*:\\(.*\\)" t "<pre>\n" match-string 1 "^[ ]*\\(:.*\\)" get-text-property
0 org-protected re-search-backward "\\(<p>\\)\\([ \n]*\\)\\=" 100
replace-match "\\2\n" "<p>\n" "^[ ]*-\\{5,\\}[ ]*$" "\n<hr/>\n"
"<<<?\\([^<>]*\\)>>>?\\((INVISIBLE)\\)?[ ]*\n?" 2 "@<a name=\""
org-solidify-link-text "\">\\nbsp@</a>" string-to-char 42 "@<span
class=\"target\">" "@</span> " "\" class=\"target\">" "@</a> "
org-html-handle-time-stamps org-html-expand "internal" 3 5 ":" org-file-image-p
match-data ...] 10)
org-export-as-html(nil nil nil string :body-only)
org-export-region-as-html(1 4562 :body-only string)
(save-current-buffer (set-buffer temp-buffer) (insert description)
(org-export-region-as-html (point-min) (point-max) :body-only (quote string)))
(with-current-buffer temp-buffer (insert description)
(org-export-region-as-html (point-min) (point-max) :body-only (quote string)))
(unwind-protect (with-current-buffer temp-buffer (insert description)
(org-export-region-as-html ... ... :body-only ...)) (and (buffer-name
temp-buffer) (kill-buffer temp-buffer)))
(let ((temp-buffer ...)) (unwind-protect (with-current-buffer temp-buffer ...
...) (and ... ...)))
(with-temp-buffer (insert description) (org-export-region-as-html (point-min)
(point-max) :body-only (quote string)))
(let ((description-html ...)) (format " <item>\n <title>%s</title>\n
<description>%s</description>\n <pubDate>%s</pubDate>\n <guid
isPermaLink=\"true\">%s</guid>\n </item>\n" title description-html pubdate
permalink))
org-blog-rss-item("deep into the zone"
"http://dto.freeshell.org/blog/blog-2007-08-31-0328.html" "\n\nI've been coding
a bit this evening, and making a few\nmuch-needed changes to my setup.\n\nFor
example, I will stop using the arrow keys. This will be a\nchallenge because I
have been trained to use the arrow keys basically\nsince birth. I'm using them
right now, and I hate how tiny they are on\nthis machine. But I've heard that
switching to the \"real\" cursor\nmotion keys Emacs provides, however painful
the process, is much\nbetter for a user's long-term agility and joint
health.\n\nI'm also going to make capslock into an extra control key. I hear
it's\na good thing, and closer to the spirit of Emacs because of\nthose
[[http://en.wikipedia.org/wiki/Space-cadet_keyboard][old-fashioned keyboards.]]
While my new \"thin client\" laptop\n(i.e. cheap X terminal) is the best
computer input/output device I\nhave ever used, its keyboard layout does have a
few cramped\nareas---especially in the corners. (Besides, capslock-as-control
is\nthe only way I can actually imagine myself using the standard
cursor\nmotion keys.)\n\nNext, I would like to learn about the various
structural movement and\nmanipulation facilities of Emacs. After almost four
years as a gung-ho\nemacs-for-everything student at Emacs University, I still
navigate\naround mostly with just C-a, C-e, and the arrow keys. So I took
a\nlook at what's out there and found a project called
[[http://emacs-versor.sourceforge.net/][emacs-versor]] (for\n\"versatile
cursor\"). Apparently it's funded by something called the\nScience Foundation
Ireland. They have a slideshow and I was quite\nintrigued. I will try it out
and let you know what I think.\n\nI've been quite impressed with some of the
[[http://emacs-versor.sourceforge.net/][emacs screencasts]] out\nthere. I've
decided to start making my own. There's a program
called\n[[http://recordmydesktop.iovar.org/about.php][recordmydesktop]] that
can create ogg videos with synced audio from a\nmicrophone and it looks simple
to set up. I think making a few\nscreencasts could make it really easy for
people to discover and\nevaluate the zillions of different Emacs packages out
there, because\nscreencasts show you how it will look /after/ you have invested
the\ntime to learn the package in question. For example I never really
knew\nhow cool [[http://emacswiki.org/cgi-bin/wiki/ArtistMode][artist-mode]]
was until I saw [[http://www.cinsk.org/emacs/emacs-artist.html][this
screencast]].\n\nAnd if they want to download the package it would be great if
they\ncould get it from [[http://tromey.com/elpa/][the Emacs Lisp Package
Archive.]] I'll be putting all\nmy code in there soon, and I hope other
developers to support them.\n\nYes this is a big todo-list. But that's what
org-mode and caffiene are\nfor.\n\nIn other news, I have switched to
[[http://en.wikipedia.org/wiki/Stumpwm][the stump window manager]].
It's\nmodeled after Emacs (it even has a mode-line!) and I can use\n
[[http://en.wikipedia.org/wiki/Common_Lisp][Common Lisp]] to make it do
whatever I want. \nStep one would be making it behave properly with
[[http://en.wikipedia.org/wiki/Ardour_%28audio_processor%29][Ardour]].\n\nI use
org-mode and tramp to publish my website to the server. I\nrecently updated my
Emacs installation from CVS HEAD and noticed that\nthe tramp stuff is suddenly
a lot faster. It used to take several\nminutes to publish my site when I had a
lot of changes, especially if\nbinaries had been updated. Now it usually
finishes in less than thirty\nseconds. It's great to see this.\n\nI can only
listen to certain types of music while programming. I can't\ndeal with any
vocals at all, and the more hypnotic it is, the\nbetter. Right now I'm
listening to a record called /Snd./ (This is\nalso the name of a powerful
[[http://ccrma.stanford.edu/software/snd/][emacs-like audio processing
system]].) The\nartists are known as /Microstoria./ I would describe their
music as\n\"intimate multilayered envelopes of sound being spun by a
punched-card\nloom\". The melodies shift and evolve instead of repeating. There
is no\npercussion and no reverberation. (The lack of reverb sets this
album\napart from most ambient music.)\n\nEven more difficult to explain are
the band [[http://en.wikipedia.org/wiki/Main_(band)][Main]]. Instead of
intimacy,\nthey evoke a quite intriguing sense of open space (not
necessarily\ninhabited.) Harmonium-like drones appear, but melodies and
harmonies\nare scarce on their double-album /Hz./ Instead they play
contrasting\ntimbres off one another and confront the listener with
unrecognizable\nsounds.\n\nThis post was too long half an hour ago. I think
I'll quit here and\nget some hacking done...\n" "Fri, 31 Aug 2007 03:28:00
-0400")
(cons (org-blog-rss-item post-title (concat blog-base-url ... ".html")
post-content post-time) blog-rss-feed)
(setq blog-rss-feed (cons (org-blog-rss-item post-title ... post-content
post-time) blog-rss-feed))
(push (org-blog-rss-item post-title (concat blog-base-url ... ".html")
post-content post-time) blog-rss-feed)
(progn (push (org-blog-rss-item post-title ... post-content post-time)
blog-rss-feed))
(if rss (progn (push ... blog-rss-feed)))
(when rss (push (org-blog-rss-item post-title ... post-content post-time)
blog-rss-feed))
(progn (when rss (push ... blog-rss-feed)) (if (< count num-posts) (progn ...
... ...) (progn ... ... ...)))
(if (not (string= basename index-filename)) (progn (when rss ...) (if ... ...
...)))
(when (not (string= basename index-filename)) (when rss (push ...
blog-rss-feed)) (if (< count num-posts) (progn ... ... ...) (progn ... ...
...)))
(let ((basename ...) (post-title nil) (post-time ...) (post-description nil))
(with-temp-buffer (insert-file-contents p) (let ... ...) (goto-char ...)
(re-search-forward "#\\+TITLE: \\(.*\\)$" nil t) (setf post-title ...)
(re-search-forward "#\\+DESCRIPTION: \\(.*\\)$" nil t) (setf post-description
...) (setf post-content ...)) (when (not ...) (when rss ...) (if ... ... ...))
(setq count (+ 1 count)))
(while (setq p (pop posts)) (let (... ... ... ...) (with-temp-buffer ... ...
... ... ... ... ... ...) (when ... ... ...) (setq count ...)))
(save-current-buffer (set-buffer temp-buffer) (while (setq p ...) (let ...
... ... ...)) (when rss (push ... blog-rss-feed) (with-temp-buffer ... ...
...)) (goto-char (point-min)) (while (search-forward "#+TITLE: " nil t)
(replace-match "** " nil t)) (when index-title (goto-char ...) (insert ...))
(write-file index-file) (kill-buffer (current-buffer)))
(with-current-buffer temp-buffer (while (setq p ...) (let ... ... ... ...))
(when rss (push ... blog-rss-feed) (with-temp-buffer ... ... ...)) (goto-char
(point-min)) (while (search-forward "#+TITLE: " nil t) (replace-match "** " nil
t)) (when index-title (goto-char ...) (insert ...)) (write-file index-file)
(kill-buffer (current-buffer)))
(unwind-protect (with-current-buffer temp-buffer (while ... ...) (when rss
... ...) (goto-char ...) (while ... ...) (when index-title ... ...) (write-file
index-file) (kill-buffer ...)) (and (buffer-name temp-buffer) (kill-buffer
temp-buffer)))
(let ((temp-buffer ...)) (unwind-protect (with-current-buffer temp-buffer ...
... ... ... ... ... ...) (and ... ...)))
(with-temp-buffer (while (setq p ...) (let ... ... ... ...)) (when rss (push
... blog-rss-feed) (with-temp-buffer ... ... ...)) (goto-char (point-min))
(while (search-forward "#+TITLE: " nil t) (replace-match "** " nil t)) (when
index-title (goto-char ...) (insert ...)) (write-file index-file) (kill-buffer
(current-buffer)))
(let* ((posts ...) (base-directory ...) (blog-base-url ...) (blog-title ...)
(publishing-directory ...) (blog-description ...) (blog-rss-feed nil) (rss ...)
(post-content nil) (index-file ...) (index-buffer ...) (num-posts ...)
(index-title ...) (count 0) (p nil)) (message "RSS = %S" rss) (if index-buffer
(kill-buffer index-buffer)) (when rss (push ... blog-rss-feed))
(with-temp-buffer (while ... ...) (when rss ... ...) (goto-char ...) (while ...
...) (when index-title ... ...) (write-file index-file) (kill-buffer ...)))
org-publish-blog-index((:base-directory "~/blog/" :base-extension "org"
:preamble "<div class=\"menu\" style=\"float: right;\">\n<a
href=\"/notebook\">home</a> - <a
href=\"/notebook/PageIndex.html\">index</a></div>" :blog-base-url
"http://dto.freeshell.org/blog/" :blog-title "dto.freeshell.org blog"
:blog-description "David O'Toole's web log." :blog-export-rss t
:publishing-directory "/ssh:address@hidden:~/html/blog/" :publishing-function
org-publish-org-to-html :auto-preamble t :auto-postamble nil :auto-index t
:index-function org-publish-blog-index :index-filename "index.org" :index-title
"Welcome to the dto.freeshell.org blog" :index-posts 8) "index.org")
funcall(org-publish-blog-index (:base-directory "~/blog/" :base-extension
"org" :preamble "<div class=\"menu\" style=\"float: right;\">\n<a
href=\"/notebook\">home</a> - <a
href=\"/notebook/PageIndex.html\">index</a></div>" :blog-base-url
"http://dto.freeshell.org/blog/" :blog-title "dto.freeshell.org blog"
:blog-description "David O'Toole's web log." :blog-export-rss t
:publishing-directory "/ssh:address@hidden:~/html/blog/" :publishing-function
org-publish-org-to-html :auto-preamble t :auto-postamble nil :auto-index t
:index-function org-publish-blog-index :index-filename "index.org" :index-title
"Welcome to the dto.freeshell.org blog" :index-posts 8) "index.org")
(if index-p (funcall index-function plist index-filename))
(let* ((exclude-regexp ...) (publishing-function ...) (index-p ...)
(index-filename ...) (index-function ...) (preparation-function ...) (f nil))
(when preparation-function (funcall preparation-function)) (if index-p (funcall
index-function plist index-filename)) (let (...) (while ... ...)))
org-publish-plist((:base-directory "~/blog/" :base-extension "org" :preamble
"<div class=\"menu\" style=\"float: right;\">\n<a href=\"/notebook\">home</a> -
<a href=\"/notebook/PageIndex.html\">index</a></div>" :blog-base-url
"http://dto.freeshell.org/blog/" :blog-title "dto.freeshell.org blog"
:blog-description "David O'Toole's web log." :blog-export-rss t
:publishing-directory "/ssh:address@hidden:~/html/blog/" :publishing-function
org-publish-org-to-html :auto-preamble t :auto-postamble nil :auto-index t
:index-function org-publish-blog-index :index-filename "index.org" :index-title
"Welcome to the dto.freeshell.org blog" :index-posts 8))
mapcar(org-publish-plist ((:base-directory "~/blog/" :base-extension "org"
:preamble "<div class=\"menu\" style=\"float: right;\">\n<a
href=\"/notebook\">home</a> - <a
href=\"/notebook/PageIndex.html\">index</a></div>" :blog-base-url
"http://dto.freeshell.org/blog/" :blog-title "dto.freeshell.org blog"
:blog-description "David O'Toole's web log." :blog-export-rss t
:publishing-directory "/ssh:address@hidden:~/html/blog/" :publishing-function
org-publish-org-to-html :auto-preamble t :auto-postamble nil :auto-index t
:index-function org-publish-blog-index :index-filename "index.org" :index-title
"Welcome to the dto.freeshell.org blog" :index-posts 8)))
(let ((org-publish-use-timestamps-flag ...) (plists ...)) (mapcar (quote
org-publish-plist) plists))
(save-window-excursion (let (... ...) (mapcar ... plists)))
org-publish("blog" nil)
call-interactively(org-publish)
execute-extended-command(nil)
call-interactively(execute-extended-command)
--
David O'Toole
address@hidden
http://dto.freeshell.org/notebook/
[Prev in Thread] |
Current Thread |
[Next in Thread] |
- [Orgmode] error when M-x org-publish RET blog RET,
David O'Toole <=