소스 검색

Bugfix: Protect string-match against nil string.

Friedrich Delgado Friedrichs writes:

A while ago I had this problem:
org-infojs-handle-options: Wrong type argument: stringp, nil

I wonder if my patch ever reached the mailing list, or if it
was overlooked because it was too close to christmas:

Friedrich Delgado Friedrichs schrieb:
From 0fef25f56c837ae9f434449c6f30268e0474f7ab Mon Sep 17 00:00:00 2001
From: Friedrich Delgado Friedrichs <delgado@dfn-cert.de>
Date: Tue, 23 Dec 2008 12:10:42 +0100
Subject: [PATCH] fix string-match against nil when no in-file options are set for jsinfo

---
lisp/org-jsinfo.el |    3 ++-
1 files changed, 2 insertions(+), 1 deletions(-)

diff --git a/lisp/org-jsinfo.el b/lisp/org-jsinfo.el
index 8f2d7e8..19faa9e 100644
--- a/lisp/org-jsinfo.el
+++ b/lisp/org-jsinfo.el
@@ -140,7 +140,8 @@ Option settings will replace the %MANAGER-OPTIONS cookie."
            default (cdr (assoc opt org-infojs-options)))
      (and (symbolp default) (not (memq default '(t nil)))
           (setq default (plist-get exp-plist default)))
-      (if (string-match (format " %s:\\(\\S-+\\)" opt) v)
+      (if (and v
+               (string-match (format " %s:\\(\\S-+\\)" opt) v))
          (setq val (match-string 1 v))
        (setq val default))
      (cond
Carsten Dominik 16 년 전
부모
커밋
41bd25b724
2개의 변경된 파일4개의 추가작업 그리고 1개의 파일을 삭제
  1. 3 0
      lisp/ChangeLog
  2. 1 1
      lisp/org-jsinfo.el

+ 3 - 0
lisp/ChangeLog

@@ -1,5 +1,8 @@
 2009-01-08  Carsten Dominik  <carsten.dominik@gmail.com>
 
+	* org-jsinfo.el (org-infojs-handle-options): Catch the case if v
+	is nil.
+
 	* org-exp.el (org-export-normalize-links): Protect the main link,
 	to avoid special character processing.
 

+ 1 - 1
lisp/org-jsinfo.el

@@ -140,7 +140,7 @@ Option settings will replace the %MANAGER-OPTIONS cookie."
 	    default (cdr (assoc opt org-infojs-options)))
       (and (symbolp default) (not (memq default '(t nil)))
 	   (setq default (plist-get exp-plist default)))
-      (if (string-match (format " %s:\\(\\S-+\\)" opt) v)
+      (if (and v (string-match (format " %s:\\(\\S-+\\)" opt) v))
 	  (setq val (match-string 1 v))
 	(setq val default))
       (cond