emacs-orgmode
[Top][All Lists]
Advanced

[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!QOrvN!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\"c‚RÆkÏ=Àåk“Uρåk•Uށ偘! \"ô   !lš”mà…Ñà      \"՛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!QOrvN!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\"c‚RÆkÏ=Àåk“Uρåk•Uށ偘! \"ô   !lš”mà…Ñà      \"՛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/

reply via email to

[Prev in Thread] Current Thread [Next in Thread]