]> code.delx.au - gnu-emacs/blobdiff - lisp/help-fns.el
Merge from emacs--rel--22
[gnu-emacs] / lisp / help-fns.el
index b3e4e65883943aa15eee0a602992e132350c17b1..d251ab0e3496b904a9c342a93ee10a99be57138f 100644 (file)
@@ -8,10 +8,10 @@
 
 ;; This file is part of GNU Emacs.
 
-;; GNU Emacs is free software; you can redistribute it and/or modify
+;; GNU Emacs 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 3, or (at your option)
-;; any later version.
+;; the Free Software Foundation, either version 3 of the License, or
+;; (at your option) any later version.
 
 ;; GNU Emacs is distributed in the hope that it will be useful,
 ;; but WITHOUT ANY WARRANTY; without even the implied warranty of
@@ -19,9 +19,7 @@
 ;; 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
-;; Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor,
-;; Boston, MA 02110-1301, USA.
+;; along with GNU Emacs.  If not, see <http://www.gnu.org/licenses/>.
 
 ;;; Commentary:
 
@@ -151,9 +149,11 @@ KIND should be `var' for a variable or `subr' for a subroutine."
                          (if (member file build-files)
                              (throw 'loop file)
                            (goto-char pnt))))))))
-       (if (string-match "\\.\\(o\\|obj\\)\\'" file)
-           (setq file (replace-match ".c" t t file)))
-       (if (string-match "\\.c\\'" file)
+       (if (string-match "^ns.*\\(\\.o\\|obj\\)\\'" file)
+           (setq file (replace-match ".m" t t file 1))
+         (if (string-match "\\.\\(o\\|obj\\)\\'" file)
+             (setq file (replace-match ".c" t t file))))
+       (if (string-match "\\.\\(c\\|m\\)\\'" file)
            (concat "src/" file)
          file)))))
 
@@ -445,8 +445,8 @@ face (according to `face-differs-from-default-p')."
   "Return the bound variable symbol found at or before point.
 Return 0 if there is no such symbol.
 If ANY-SYMBOL is non-nil, don't insist the symbol be bound."
-  (or (condition-case ()
-         (with-syntax-table emacs-lisp-mode-syntax-table
+  (with-syntax-table emacs-lisp-mode-syntax-table
+    (or (condition-case ()
            (save-excursion
              (or (not (zerop (skip-syntax-backward "_w")))
                  (eq (char-syntax (following-char)) ?w)
@@ -454,17 +454,17 @@ If ANY-SYMBOL is non-nil, don't insist the symbol be bound."
                  (forward-sexp -1))
              (skip-chars-forward "'")
              (let ((obj (read (current-buffer))))
-               (and (symbolp obj) (boundp obj) obj))))
-       (error nil))
-      (let* ((str (find-tag-default))
-            (sym (if str (intern-soft str))))
-       (if (and sym (or any-symbol (boundp sym)))
-           sym
-         (save-match-data
-           (when (and str (string-match "\\`\\W*\\(.*?\\)\\W*\\'" str))
-             (setq sym (intern-soft (match-string 1 str)))
-             (and (or any-symbol (boundp sym)) sym)))))
-      0))
+               (and (symbolp obj) (boundp obj) obj)))
+          (error nil))
+        (let* ((str (find-tag-default))
+               (sym (if str (intern-soft str))))
+          (if (and sym (or any-symbol (boundp sym)))
+              sym
+            (save-match-data
+              (when (and str (string-match "\\`\\W*\\(.*?\\)\\W*\\'" str))
+                (setq sym (intern-soft (match-string 1 str)))
+                (and (or any-symbol (boundp sym)) sym)))))
+        0)))
 
 (defun describe-variable-custom-version-info (variable)
   (let ((custom-version (get variable 'custom-version))
@@ -476,7 +476,9 @@ If ANY-SYMBOL is non-nil, don't insist the symbol be bound."
                      custom-version))
       (when cpv
        (let* ((package (car-safe cpv))
-              (version (car (cdr-safe cpv)))
+              (version (if (listp (cdr-safe cpv))
+                           (car (cdr-safe cpv))
+                         (cdr-safe cpv)))
               (pkg-versions (assq package customize-package-emacs-version-alist))
               (emacsv (cdr (assoc version pkg-versions))))
          (if (and package version)